Jump to content

BoonieQuafter-CrAfTeR

Members
  • Posts

    337
  • Joined

  • Last visited

Everything posted by BoonieQuafter-CrAfTeR

  1. also Why doesn't this work? protected void despawnEntity() { this.isBurning(); } } I set the entity on fire and it doesn't despawn.
  2. ok so how about now, it doesn't work so what am I doing wrong at this point. package com.OlympiansMod.entity; import com.OlympiansMod.Item.ModItems; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLiving; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.IRangedAttackMob; import net.minecraft.entity.SharedMonsterAttributes; import net.minecraft.entity.ai.EntityAIArrowAttack; import net.minecraft.entity.ai.EntityAIAttackOnCollide; import net.minecraft.entity.ai.EntityAIHurtByTarget; import net.minecraft.entity.ai.EntityAILookIdle; import net.minecraft.entity.ai.EntityAIMoveTowardsTarget; import net.minecraft.entity.ai.EntityAINearestAttackableTarget; import net.minecraft.entity.ai.EntityAISwimming; import net.minecraft.entity.ai.EntityAIWander; import net.minecraft.entity.ai.EntityAIWatchClosest; import net.minecraft.entity.boss.BossStatus; import net.minecraft.entity.boss.IBossDisplayData; import net.minecraft.entity.monster.EntityGolem; import net.minecraft.entity.monster.EntityMob; import net.minecraft.entity.monster.EntityWitch; import net.minecraft.entity.monster.IMob; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.projectile.EntityPotion; import net.minecraft.init.Items; import net.minecraft.item.ItemStack; import net.minecraft.potion.Potion; import net.minecraft.util.DamageSource; import net.minecraft.util.MathHelper; import net.minecraft.world.World; public class Zeus extends EntityGolem implements IBossDisplayData, IRangedAttackMob{ private EntityAIArrowAttack aiArrowAttack = new EntityAIArrowAttack(this, 1.0D, 20, 60, 15.0F); private EntityAIAttackOnCollide aiAttackOnCollide = new EntityAIAttackOnCollide(this, EntityPlayer.class, 1.2D, false); private long attackTimer; private static final String __OBFID = "CL_00001697"; public Zeus(World world) { super(world); { this.isImmuneToFire = true; this.setHealth(this.getMaxHealth()); this.experienceValue = 10000; this.setSize(1.1F, 2F); this.getNavigator().setAvoidsWater(true); this.tasks.addTask(1, new EntityAISwimming(this)); this.tasks.addTask(2, new EntityAIWander(this, 0.5D)); this.tasks.addTask(3, new EntityAIWatchClosest(this, EntityPlayer.class, 1.0F)); this.tasks.addTask(3, new EntityAILookIdle(this)); this.tasks.addTask(5, new EntityAIMoveTowardsTarget(this, 0.7D, 100.0F)); this.targetTasks.addTask(1, new EntityAIHurtByTarget(this, true)); this.targetTasks.addTask(2, new EntityAINearestAttackableTarget(this, EntityPlayer.class, 0, true)); this.targetTasks.addTask(3, new EntityAINearestAttackableTarget(this, EntityLiving.class, 0, false, true, IMob.mobSelector)); if (world != null && !world.isRemote) { this.setCombatTask(); } } } public void onLivingUpdate() { super.onLivingUpdate(); BossStatus.setBossStatus(this, true); { } { super.onLivingUpdate(); if (this.attackTimer > 0) { --this.attackTimer; } } } public boolean isAIEnabled(){ return true; } @Override protected void entityInit() { super.entityInit(); dataWatcher.addObject(21, (byte) 0); } public void setAggressive(boolean par2) { this.getDataWatcher().updateObject(21, Byte.valueOf((byte)(par2 ? 1 : 0))); } public boolean getAggressive() { return this.getDataWatcher().getWatchableObjectByte(21) == 1; } // protected void addRandomArmor() //{ // super.addRandomArmor(); //this.setCurrentItemOrArmor(0, new ItemStack(ModItems.MasterBolt)); //} protected void applyEntityAttributes(){ super.applyEntityAttributes(); this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(70.0D); this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(5000.0D); this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.5D); } public boolean attackEntityAsMob(Entity entity) { this.attackTimer = worldObj.getTotalWorldTime(); this.worldObj.setEntityState(this, (byte)4); boolean flag = entity.attackEntityFrom(DamageSource.causeMobDamage(this), (float)(10 + this.rand.nextInt(15))); this.playSound("mob.irongolem.throw", 1.0F, 1.0F); return flag; } public void setCombatTask() { { this.tasks.addTask(4, this.aiArrowAttack); } { this.tasks.addTask(4, this.aiAttackOnCollide); } } @Override public void attackEntityWithRangedAttack(EntityLivingBase entity, float par1) { if (!this.getAggressive()) { this.attackTimer = worldObj.getTotalWorldTime(); EntityMasterBolt Bolt = new EntityMasterBolt(this.worldObj, this); Bolt.rotationPitch -= -20.0F; double d0 = entity.posX + entity.motionX - this.posX; double d1 = entity.posY + (double)entity.getEyeHeight() - 1.900000023841858D - this.posY; double d2 = entity.posZ + entity.motionZ - this.posZ; float f1 = MathHelper.sqrt_double(d0 * d0 + d2 * d2); Bolt.setThrowableHeading(d0, d1 + (double)(f1 * 0.2F), d2, 0.75F, 8.0F); this.worldObj.spawnEntityInWorld(Bolt); } } @SideOnly(Side.CLIENT) public void handleHealthUpdate(byte p_70103_1_) { if (p_70103_1_ == 15) { worldObj.getTotalWorldTime(); for (int i = 0; i < this.rand.nextInt(35) + 10; ++i) { this.worldObj.spawnParticle("witchMagic", this.posX + this.rand.nextGaussian() * 0.12999999523162842D, this.boundingBox.maxY + 0.5D + this.rand.nextGaussian() * 0.12999999523162842D, this.posZ + this.rand.nextGaussian() * 0.12999999523162842D, 0.0D, 0.0D, 0.0D); } } else { super.handleHealthUpdate(p_70103_1_); } } @SideOnly(Side.CLIENT) public long getattackTimer() { return this.attackTimer = worldObj.getTotalWorldTime(); } }
  3. yes package com.OlympiansMod.entity; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityList; import net.minecraft.entity.EnumCreatureType; import net.minecraft.world.biome.BiomeGenBase; import com.OlympiansMod.Main.MainRegistry; import cpw.mods.fml.common.registry.EntityRegistry; public class MEntity { public static void MainRegistry(){ registerEntity(); } public static void registerEntity(){ createEntity(EntityGreekFire.class, "GreekFire"); createEntity(EntityBullet.class, "Bullet"); createEntity(EntitySGuardian.class, "SGuardian"); createEntity(EntitySGolem.class, "SGolem"); createEntity(EntityUndead.class, "Undead"); createEntity(EntityUndeadGreekArcher.class, "UndeadArcherGreek"); createEntity(EntityThunderBolt.class, "ThunderBolt"); createEntity(EntityMasterBolt.class, "MasterBolt"); createEntity(Zeus.class, "Zeus"); createEntity(Arachne.class, "Arachne"); createEntity(EntityCell.class, "EntityCell"); } public static void createEntity(Class entityClass, String entityName){ EntityRegistry.registerModEntity(EntityGreekFire.class, "GreekFire", 4013479, MainRegistry.modInstance, 1, 80, true); EntityRegistry.registerModEntity(EntityBullet.class, "Bullet", 302942, MainRegistry.modInstance, 1, 80, true); EntityRegistry.registerModEntity(EntitySGuardian.class, "SGaurdian", 301320, MainRegistry.modInstance, 80, 1, true); EntityRegistry.registerModEntity(EntitySGolem.class, "EntitySGolem", 420193, MainRegistry.modInstance, 80, 1, true); EntityRegistry.registerModEntity(EntityUndead.class, "UndeadRoman", 403998, MainRegistry.modInstance, 80, 1, true); EntityRegistry.registerModEntity(EntityUndeadGreekArcher.class, "UndeadArcherGreek", 403698, MainRegistry.modInstance, 80, 1, true); EntityRegistry.registerModEntity(EntityThunderBolt.class, "ThunderBolt", 413698, MainRegistry.modInstance, 80, 1, true); EntityRegistry.registerModEntity(EntityMasterBolt.class, "MasterBolt", 413798, MainRegistry.modInstance, 80, 1, true); EntityRegistry.registerModEntity(Zeus.class, "Zeus", 414798, MainRegistry.modInstance, 100, 1, true); EntityRegistry.registerModEntity(Arachne.class, "Arachne", 414799, MainRegistry.modInstance, 80, 1, true); EntityRegistry.registerModEntity(EntityCell.class, "EntityCell", 414789, MainRegistry.modInstance, 80, 1, true); } }
  4. so like this? package com.OlympiansMod.entity; import com.OlympiansMod.Item.ModItems; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLiving; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.IRangedAttackMob; import net.minecraft.entity.SharedMonsterAttributes; import net.minecraft.entity.ai.EntityAIArrowAttack; import net.minecraft.entity.ai.EntityAIAttackOnCollide; import net.minecraft.entity.ai.EntityAIHurtByTarget; import net.minecraft.entity.ai.EntityAILookIdle; import net.minecraft.entity.ai.EntityAIMoveTowardsTarget; import net.minecraft.entity.ai.EntityAINearestAttackableTarget; import net.minecraft.entity.ai.EntityAISwimming; import net.minecraft.entity.ai.EntityAIWander; import net.minecraft.entity.ai.EntityAIWatchClosest; import net.minecraft.entity.boss.BossStatus; import net.minecraft.entity.boss.IBossDisplayData; import net.minecraft.entity.monster.EntityGolem; import net.minecraft.entity.monster.EntityMob; import net.minecraft.entity.monster.EntityWitch; import net.minecraft.entity.monster.IMob; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.projectile.EntityPotion; import net.minecraft.init.Items; import net.minecraft.item.ItemStack; import net.minecraft.potion.Potion; import net.minecraft.util.DamageSource; import net.minecraft.util.MathHelper; import net.minecraft.world.World; public class Zeus extends EntityGolem implements IBossDisplayData, IRangedAttackMob{ private EntityAIArrowAttack aiArrowAttack = new EntityAIArrowAttack(this, 1.0D, 20, 60, 15.0F); private EntityAIAttackOnCollide aiAttackOnCollide = new EntityAIAttackOnCollide(this, EntityPlayer.class, 1.2D, false); private int TotalWorldTime; private static final String __OBFID = "CL_00001697"; public Zeus(World world) { super(world); { this.isImmuneToFire = true; this.setHealth(this.getMaxHealth()); this.experienceValue = 10000; this.setSize(1.1F, 2F); this.getNavigator().setAvoidsWater(true); this.tasks.addTask(1, new EntityAISwimming(this)); this.tasks.addTask(2, new EntityAIWander(this, 0.5D)); this.tasks.addTask(3, new EntityAIWatchClosest(this, EntityPlayer.class, 1.0F)); this.tasks.addTask(3, new EntityAILookIdle(this)); this.tasks.addTask(5, new EntityAIMoveTowardsTarget(this, 0.7D, 100.0F)); this.targetTasks.addTask(1, new EntityAIHurtByTarget(this, true)); this.targetTasks.addTask(2, new EntityAINearestAttackableTarget(this, EntityPlayer.class, 0, true)); this.targetTasks.addTask(3, new EntityAINearestAttackableTarget(this, EntityLiving.class, 0, false, true, IMob.mobSelector)); if (world != null && !world.isRemote) { this.setCombatTask(); } } } public void onLivingUpdate() { super.onLivingUpdate(); BossStatus.setBossStatus(this, true); { } { super.onLivingUpdate(); if (this.TotalWorldTime > 0) { --this.TotalWorldTime; } } } public boolean isAIEnabled(){ return true; } @Override protected void entityInit() { super.entityInit(); dataWatcher.addObject(21, (byte) 0); } public void setAggressive(boolean par2) { this.getDataWatcher().updateObject(21, Byte.valueOf((byte)(par2 ? 1 : 0))); } public boolean getAggressive() { return this.getDataWatcher().getWatchableObjectByte(21) == 1; } // protected void addRandomArmor() //{ // super.addRandomArmor(); //this.setCurrentItemOrArmor(0, new ItemStack(ModItems.MasterBolt)); //} protected void applyEntityAttributes(){ super.applyEntityAttributes(); this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(70.0D); this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(5000.0D); this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.5D); } public boolean attackEntityAsMob(Entity entity) { this.TotalWorldTime = 0; this.worldObj.setEntityState(this, (byte)4); boolean flag = entity.attackEntityFrom(DamageSource.causeMobDamage(this), (float)(10 + this.rand.nextInt(15))); this.playSound("mob.irongolem.throw", 1.0F, 1.0F); return flag; } public void setCombatTask() { { this.tasks.addTask(4, this.aiArrowAttack); } { this.tasks.addTask(4, this.aiAttackOnCollide); } } @Override public void attackEntityWithRangedAttack(EntityLivingBase entity, float par1) { if (!this.getAggressive()) { this.TotalWorldTime = 5; EntityMasterBolt Bolt = new EntityMasterBolt(this.worldObj, this); Bolt.rotationPitch -= -20.0F; double d0 = entity.posX + entity.motionX - this.posX; double d1 = entity.posY + (double)entity.getEyeHeight() - 1.900000023841858D - this.posY; double d2 = entity.posZ + entity.motionZ - this.posZ; float f1 = MathHelper.sqrt_double(d0 * d0 + d2 * d2); Bolt.setThrowableHeading(d0, d1 + (double)(f1 * 0.2F), d2, 0.75F, 8.0F); this.worldObj.spawnEntityInWorld(Bolt); } } @SideOnly(Side.CLIENT) public void handleHealthUpdate(byte p_70103_1_) { if (p_70103_1_ == 15) { this.TotalWorldTime = 1; for (int i = 0; i < this.rand.nextInt(35) + 10; ++i) { this.worldObj.spawnParticle("witchMagic", this.posX + this.rand.nextGaussian() * 0.12999999523162842D, this.boundingBox.maxY + 0.5D + this.rand.nextGaussian() * 0.12999999523162842D, this.posZ + this.rand.nextGaussian() * 0.12999999523162842D, 0.0D, 0.0D, 0.0D); } } else { super.handleHealthUpdate(p_70103_1_); } } @SideOnly(Side.CLIENT) public int getTotalWorldTime() { return this.TotalWorldTime; } }
  5. my code isn't working to spawn the entitys client side. public void setDead(){ if (!this.worldObj.isRemote){ for (int i = 0 ; i < 2 ; i++){ EntityCell cell = this.createInstance(); cell.setPosition(this.posX, this.posY, this.posZ); this.worldObj.spawnEntityInWorld(cell); } super.setDead(); } } public EntityCell createInstance() { return new EntityCell(this.worldObj); } any Ideas?
  6. lol I meant to take down this thread I already figured it out
  7. Just do this.. GameRegistry.addSmelting(Your.block, new ItemStack(WhatYouReceive, amount), XP.0f);
  8. yes its unanimous, OreDictionary.WILDCARD_VALUE allows you to craft things with damaged items
  9. basically I was trying to run my server for my mod, because I was like Why Not? so assuming it would work I started it, and it crashed because of my proxys I think. so here is the crash report and the other stuff, thanks! Crash Report [21:10:08] [main/INFO] [GradleStart]: Extra: [] [21:10:09] [main/INFO] [GradleStart]: Running with arguments: [--tweakClass, cpw.mods.fml.common.launcher.FMLServerTweaker, --tweakClass, net.minecraftforge.gradle.GradleStartCommon$GradleStartTweaker] [21:10:09] [main/INFO] [LaunchWrapper]: Loading tweak class name cpw.mods.fml.common.launcher.FMLServerTweaker [21:10:09] [main/INFO] [LaunchWrapper]: Using primary tweak class name cpw.mods.fml.common.launcher.FMLServerTweaker [21:10:09] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.gradle.GradleStartCommon$GradleStartTweaker [21:10:09] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.common.launcher.FMLServerTweaker [21:10:09] [main/INFO] [FML]: Forge Mod Loader version 7.10.85.1230 for Minecraft 1.7.10 loading [21:10:09] [main/INFO] [FML]: Java is Java HotSpot(TM) 64-Bit Server VM, version 1.8.0_45, running on Windows 8.1:amd64:6.3, installed at C:\Program Files\Java\jre1.8.0_45 [21:10:09] [main/INFO] [FML]: Managed to load a deobfuscated Minecraft name- we are in a deobfuscated environment. Skipping runtime deobfuscation [21:10:09] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.gradle.GradleStartCommon$GradleStartTweaker [21:10:09] [main/INFO] [GradleStart]: Injecting location in coremod cpw.mods.fml.relauncher.FMLCorePlugin [21:10:09] [main/INFO] [GradleStart]: Injecting location in coremod net.minecraftforge.classloading.FMLForgePlugin [21:10:09] [main/INFO] [LaunchWrapper]: Loading tweak class name cpw.mods.fml.common.launcher.FMLInjectionAndSortingTweaker [21:10:09] [main/INFO] [LaunchWrapper]: Loading tweak class name cpw.mods.fml.common.launcher.FMLDeobfTweaker [21:10:09] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.common.launcher.FMLInjectionAndSortingTweaker [21:10:09] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.common.launcher.FMLInjectionAndSortingTweaker [21:10:09] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper [21:10:10] [main/ERROR] [FML]: The binary patch set is missing. Either you are in a development environment, or things are not going to work! [21:10:23] [main/ERROR] [FML]: FML appears to be missing any signature data. This is not a good thing [21:10:23] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper [21:10:23] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.common.launcher.FMLDeobfTweaker [21:10:26] [main/INFO] [LaunchWrapper]: Loading tweak class name cpw.mods.fml.common.launcher.TerminalTweaker [21:10:26] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.common.launcher.TerminalTweaker [21:10:27] [main/INFO] [LaunchWrapper]: Launching wrapped minecraft {net.minecraft.server.MinecraftServer} [21:10:39] [main/WARN] [FML]: ============================================================= [21:10:39] [main/WARN] [FML]: MOD HAS DIRECT REFERENCE System.exit() THIS IS NOT ALLOWED REROUTING TO FML! [21:10:39] [main/WARN] [FML]: Offendor: net/minecraft/server/gui/MinecraftServerGui$1.windowClosing(Ljava/awt/event/WindowEvent;)V [21:10:39] [main/WARN] [FML]: Use FMLCommonHandler.exitJava instead [21:10:39] [main/WARN] [FML]: ============================================================= [21:10:39] [server thread/INFO]: Starting minecraft server version 1.7.10 [21:10:41] [server thread/INFO] [MinecraftForge]: Attempting early MinecraftForge initialization [21:10:41] [server thread/INFO] [FML]: MinecraftForge v10.13.2.1230 Initialized [21:10:41] [server thread/INFO] [FML]: Replaced 182 ore recipies [21:10:42] [server thread/INFO] [MinecraftForge]: Completed early MinecraftForge initialization [21:10:43] [server thread/INFO] [FML]: Searching C:\Users\Boone.mcfuzz\Desktop\Olympians Mod\eclipse\mods for mods [21:10:53] [server thread/INFO] [FML]: Forge Mod Loader has identified 4 mods to load [21:10:55] [server thread/INFO] [FML]: Attempting connection with missing mods [mcp, FML, Forge, theolympiansmod] at CLIENT [21:10:55] [server thread/INFO] [FML]: Attempting connection with missing mods [mcp, FML, Forge, theolympiansmod] at SERVER [21:10:56] [server thread/ERROR]: Encountered an unexpected exception java.lang.NoClassDefFoundError: net/minecraft/client/renderer/entity/Render at java.lang.Class.forName0(Native Method) ~[?:1.8.0_45] at java.lang.Class.forName(Unknown Source) ~[?:1.8.0_45] at cpw.mods.fml.common.ProxyInjector.inject(ProxyInjector.java:59) ~[ProxyInjector.class:?] at cpw.mods.fml.common.FMLModContainer.constructMod(FMLModContainer.java:492) ~[FMLModContainer.class:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_45] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_45] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_45] at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_45] at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74) ~[guava-17.0.jar:?] at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47) ~[guava-17.0.jar:?] at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322) ~[guava-17.0.jar:?] at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304) ~[guava-17.0.jar:?] at com.google.common.eventbus.EventBus.post(EventBus.java:275) ~[guava-17.0.jar:?] at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:208) ~[LoadController.class:?] at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:187) ~[LoadController.class:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_45] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_45] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_45] at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_45] at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74) ~[guava-17.0.jar:?] at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47) ~[guava-17.0.jar:?] at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322) ~[guava-17.0.jar:?] at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304) ~[guava-17.0.jar:?] at com.google.common.eventbus.EventBus.post(EventBus.java:275) ~[guava-17.0.jar:?] at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:118) ~[LoadController.class:?] at cpw.mods.fml.common.Loader.loadMods(Loader.java:492) ~[Loader.class:?] at cpw.mods.fml.server.FMLServerHandler.beginServerLoading(FMLServerHandler.java:87) ~[FMLServerHandler.class:?] at cpw.mods.fml.common.FMLCommonHandler.onServerStart(FMLCommonHandler.java:314) ~[FMLCommonHandler.class:?] at net.minecraft.server.dedicated.DedicatedServer.startServer(DedicatedServer.java:120) ~[DedicatedServer.class:?] at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:445) [MinecraftServer.class:?] at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:752) [MinecraftServer$2.class:?] Caused by: java.lang.ClassNotFoundException: net.minecraft.client.renderer.entity.Render at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:191) ~[launchwrapper-1.11.jar:?] at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_45] at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_45] ... 31 more Caused by: java.lang.RuntimeException: Attempted to load class net/minecraft/client/renderer/entity/Render for invalid side SERVER at cpw.mods.fml.common.asm.transformers.SideTransformer.transform(SideTransformer.java:50) ~[forgeSrc-1.7.10-10.13.2.1230.jar:?] at net.minecraft.launchwrapper.LaunchClassLoader.runTransformers(LaunchClassLoader.java:279) ~[launchwrapper-1.11.jar:?] at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:176) ~[launchwrapper-1.11.jar:?] at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_45] at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_45] ... 31 more [21:10:56] [server thread/ERROR]: This crash report has been saved to: C:\Users\Boone.mcfuzz\Desktop\Olympians Mod\eclipse\.\crash-reports\crash-2015-06-24_21.10.56-server.txt [21:10:56] [server thread/WARN] [FML]: Can't revert to frozen GameData state without freezing first. [21:10:56] [server thread/INFO] [FML]: Applying holder lookups [21:10:56] [server thread/INFO] [FML]: Holder lookups applied [21:10:56] [server thread/INFO] [FML]: The state engine was in incorrect state ERRORED and forced into state SERVER_STOPPED. Errors may have been discarded. [21:10:56] [server thread/INFO] [FML]: The state engine was in incorrect state ERRORED and forced into state AVAILABLE. Errors may have been discarded. Java HotSpot(TM) 64-Bit Server VM warning: Using incremental CMS is deprecated and will likely be removed in a future release Main Class package com.OlympiansMod.Main; import net.minecraft.client.renderer.entity.RenderSnowball; import net.minecraftforge.event.entity.living.LivingDeathEvent; import com.OlympiansMod.Block.ModBlocks; import com.OlympiansMod.Item.ModItems; import com.OlympiansMod.creativetabs.MCreativeTabs; import com.OlympiansMod.entity.EntityCell; import com.OlympiansMod.entity.EntityGreekFire; import com.OlympiansMod.entity.MEntity; import com.OlympiansMod.lib.Refstrings; import com.OlympiansMod.world.MWorld; import cpw.mods.fml.client.registry.RenderingRegistry; import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.Mod.EventHandler; import cpw.mods.fml.common.Mod.Instance; import cpw.mods.fml.common.SidedProxy; import cpw.mods.fml.common.event.FMLInitializationEvent; import cpw.mods.fml.common.event.FMLPostInitializationEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent; import cpw.mods.fml.common.eventhandler.SubscribeEvent; import cpw.mods.fml.common.registry.GameRegistry; @Mod(modid = Refstrings.MODID , name = Refstrings.NAME , version = Refstrings.VERSION) public class MainRegistry { @SidedProxy(clientSide = Refstrings.CLIENTSIDE , serverSide = Refstrings.SERVERSIDE) public static ServerProxy proxy; @Instance public static MainRegistry modInstance; @EventHandler public static void PreLoad(FMLPreInitializationEvent PreEvent) { MCreativeTabs.initialiseTabs(); ModBlocks.MainRegistry(); MEntity.MainRegistry(); ModItems.MainRegistry(); MWorld.MainRegistry(); CraftingManager.mainRegistry(); } @EventHandler public static void Load(FMLInitializationEvent event) { proxy.registerRenderInfo(); } @EventHandler public static void PostLoad(FMLPostInitializationEvent PostEvent) { } } Proxys package com.OlympiansMod.Main; import net.minecraft.client.renderer.entity.RenderSnowball; import com.OlympiansMod.Item.ModItems; import com.OlympiansMod.entity.EntityGreekFire; import cpw.mods.fml.client.registry.RenderingRegistry; public class ServerProxy { public void registerRenderInfo() { RenderingRegistry.registerEntityRenderingHandler(EntityGreekFire.class, new RenderSnowball(ModItems.GreekFire)); } } Cient(not sure why u would need it) package com.OlympiansMod.Main; import net.minecraft.client.renderer.entity.RenderSnowball; import net.minecraft.init.Items; import com.OlympiansMod.Item.ModItems; import com.OlympiansMod.entity.Arachne; import com.OlympiansMod.entity.ArachneModel; import com.OlympiansMod.entity.EntityBullet; import com.OlympiansMod.entity.EntityGreekFire; import com.OlympiansMod.entity.EntityMasterBolt; import com.OlympiansMod.entity.EntitySGolem; import com.OlympiansMod.entity.EntitySGuardian; import com.OlympiansMod.entity.EntityUndead; import com.OlympiansMod.entity.MasterBoltModel; import com.OlympiansMod.entity.RenderArachne; import com.OlympiansMod.entity.RenderMasterBolt; import com.OlympiansMod.entity.RenderSGolem; import com.OlympiansMod.entity.RenderSGuardian; import com.OlympiansMod.entity.RenderUndead; import com.OlympiansMod.entity.RenderZeus; import com.OlympiansMod.entity.SGolemModel; import com.OlympiansMod.entity.SGuardianModel; import com.OlympiansMod.entity.Undead; import com.OlympiansMod.entity.Zeus; import com.OlympiansMod.entity.ZeusModel; import cpw.mods.fml.client.registry.RenderingRegistry; public class ClientProxy extends ServerProxy{ public void registerRenderInfo(){ RenderingRegistry.registerEntityRenderingHandler(EntityGreekFire.class, new RenderSnowball(ModItems.GreekFire)); RenderingRegistry.registerEntityRenderingHandler(EntityBullet.class, new RenderSnowball(Items.blaze_powder)); RenderingRegistry.registerEntityRenderingHandler(EntitySGuardian.class, new RenderSGuardian(new SGuardianModel(), 0)); RenderingRegistry.registerEntityRenderingHandler(EntitySGolem.class, new RenderSGolem(new SGolemModel(), 0)); RenderingRegistry.registerEntityRenderingHandler(EntityUndead.class, new RenderUndead(new Undead(), 0)); RenderingRegistry.registerEntityRenderingHandler(Zeus.class, new RenderZeus(new ZeusModel(), 0)); RenderingRegistry.registerEntityRenderingHandler(Arachne.class, new RenderArachne(new ArachneModel(), 0)); RenderingRegistry.registerEntityRenderingHandler(EntityMasterBolt.class, new RenderMasterBolt(new MasterBoltModel(), 0)); } public int addArmor(String armor){ return RenderingRegistry.addNewArmourRendererPrefix(armor); } }
  10. dude learn how to code minecraft, + look at vanilla code. also why coding it in 1.6.4
  11. Hey guys, so I want to make an onDeath method in my entity class, basically when the entity dies it spawns two more of its self, so yeah what I have set up isn't really working at all, so I tried looking for a method in the EntityDragon. public void onDeathUpdate(World world, EntityPlayer player){ if(!world.isRemote){ for (int i = 0 ; i < 2 ; i++){ EntityCell cell = new EntityCell(world); cell.setPosition(player.posX, player.posY, player.posZ); world.spawnEntityInWorld(cell); } } } is there a method for a death event sorta thing. thanks
  12. I was wondering if anyone knows of a good tutorial for making an inventory slot gui, like a extra armour tab. thanks
  13. also I was wondering if there is an infinite time integer in minecraft
  14. so earlier I made a thread about attack animations, it did eventually get solved but im wondering, since there isn't any attack animations for ranged mobs, if its possible. I do know that it is, im pretty sure we have all seen them in other mods. how should I code this correctly? entity code: package com.OlympiansMod.entity; import com.OlympiansMod.Item.ModItems; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLiving; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.IRangedAttackMob; import net.minecraft.entity.SharedMonsterAttributes; import net.minecraft.entity.ai.EntityAIArrowAttack; import net.minecraft.entity.ai.EntityAIAttackOnCollide; import net.minecraft.entity.ai.EntityAIHurtByTarget; import net.minecraft.entity.ai.EntityAILookIdle; import net.minecraft.entity.ai.EntityAIMoveTowardsTarget; import net.minecraft.entity.ai.EntityAINearestAttackableTarget; import net.minecraft.entity.ai.EntityAISwimming; import net.minecraft.entity.ai.EntityAIWander; import net.minecraft.entity.ai.EntityAIWatchClosest; import net.minecraft.entity.boss.BossStatus; import net.minecraft.entity.boss.IBossDisplayData; import net.minecraft.entity.monster.EntityGolem; import net.minecraft.entity.monster.EntityMob; import net.minecraft.entity.monster.EntityWitch; import net.minecraft.entity.monster.IMob; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.projectile.EntityPotion; import net.minecraft.init.Items; import net.minecraft.item.ItemStack; import net.minecraft.potion.Potion; import net.minecraft.util.DamageSource; import net.minecraft.util.MathHelper; import net.minecraft.world.World; public class Zeus extends EntityGolem implements IBossDisplayData, IRangedAttackMob{ private EntityAIArrowAttack aiArrowAttack = new EntityAIArrowAttack(this, 1.0D, 20, 60, 15.0F); private EntityAIAttackOnCollide aiAttackOnCollide = new EntityAIAttackOnCollide(this, EntityPlayer.class, 1.2D, false); private int attackTimer; private static final String __OBFID = "CL_00001697"; public Zeus(World world) { super(world); { this.isImmuneToFire = true; this.setHealth(this.getMaxHealth()); this.experienceValue = 10000; this.setSize(1.1F, 2F); this.getNavigator().setAvoidsWater(true); this.tasks.addTask(1, new EntityAISwimming(this)); this.tasks.addTask(2, new EntityAIWander(this, 0.5D)); this.tasks.addTask(3, new EntityAIWatchClosest(this, EntityPlayer.class, 1.0F)); this.tasks.addTask(3, new EntityAILookIdle(this)); this.tasks.addTask(5, new EntityAIMoveTowardsTarget(this, 0.7D, 100.0F)); this.targetTasks.addTask(1, new EntityAIHurtByTarget(this, true)); this.targetTasks.addTask(2, new EntityAINearestAttackableTarget(this, EntityPlayer.class, 0, true)); this.targetTasks.addTask(3, new EntityAINearestAttackableTarget(this, EntityLiving.class, 0, false, true, IMob.mobSelector)); if (world != null && !world.isRemote) { this.setCombatTask(); } } } public void onLivingUpdate() { super.onLivingUpdate(); BossStatus.setBossStatus(this, true); { } { super.onLivingUpdate(); if (this.attackTimer > 0) { --this.attackTimer; } } } public boolean isAIEnabled(){ return true; } @Override protected void entityInit() { super.entityInit(); dataWatcher.addObject(21, (byte) 0); } public void setAggressive(boolean par2) { this.getDataWatcher().updateObject(21, Byte.valueOf((byte)(par2 ? 1 : 0))); } public boolean getAggressive() { return this.getDataWatcher().getWatchableObjectByte(21) == 1; } // protected void addRandomArmor() //{ // super.addRandomArmor(); //this.setCurrentItemOrArmor(0, new ItemStack(ModItems.MasterBolt)); //} protected void applyEntityAttributes(){ super.applyEntityAttributes(); this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(70.0D); this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(5000.0D); this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.5D); } public boolean attackEntityAsMob(Entity entity) { this.attackTimer = 0; this.worldObj.setEntityState(this, (byte)4); boolean flag = entity.attackEntityFrom(DamageSource.causeMobDamage(this), (float)(10 + this.rand.nextInt(15))); this.playSound("mob.irongolem.throw", 1.0F, 1.0F); return flag; } public void setCombatTask() { { this.tasks.addTask(4, this.aiArrowAttack); } { this.tasks.addTask(4, this.aiAttackOnCollide); } } @Override public void attackEntityWithRangedAttack(EntityLivingBase entity, float par1) { if (!this.getAggressive()) { this.attackTimer = 5; EntityMasterBolt Bolt = new EntityMasterBolt(this.worldObj, this); Bolt.rotationPitch -= -20.0F; double d0 = entity.posX + entity.motionX - this.posX; double d1 = entity.posY + (double)entity.getEyeHeight() - 1.900000023841858D - this.posY; double d2 = entity.posZ + entity.motionZ - this.posZ; float f1 = MathHelper.sqrt_double(d0 * d0 + d2 * d2); Bolt.setThrowableHeading(d0, d1 + (double)(f1 * 0.2F), d2, 0.75F, 8.0F); this.worldObj.spawnEntityInWorld(Bolt); } } @SideOnly(Side.CLIENT) public void handleHealthUpdate(byte p_70103_1_) { if (p_70103_1_ == 15) { this.attackTimer = 1; for (int i = 0; i < this.rand.nextInt(35) + 10; ++i) { this.worldObj.spawnParticle("witchMagic", this.posX + this.rand.nextGaussian() * 0.12999999523162842D, this.boundingBox.maxY + 0.5D + this.rand.nextGaussian() * 0.12999999523162842D, this.posZ + this.rand.nextGaussian() * 0.12999999523162842D, 0.0D, 0.0D, 0.0D); } } else { super.handleHealthUpdate(p_70103_1_); } } @SideOnly(Side.CLIENT) public int getAttackTimer() { return this.attackTimer; } } Model code: package com.OlympiansMod.entity; import net.minecraft.client.model.ModelBase; import net.minecraft.client.model.ModelRenderer; import net.minecraft.entity.Entity; import net.minecraft.util.MathHelper; public class ZeusModel extends ModelBase { protected ModelRenderer head; protected ModelRenderer body; protected ModelRenderer rightarm; protected ModelRenderer leftarm; protected ModelRenderer rightleg; protected ModelRenderer leftleg; public ZeusModel() { this.textureWidth = 64; this.textureHeight = 128; this.head = new ModelRenderer(this, 0, 0); this.head.mirror = true; this.head.addBox(-4F, -8F, -4F, 10, 10, 10); this.head.setRotationPoint(-1F, -10F, 0F); this.head.setTextureSize(64, 128); setRotation(this.head, 0F, 0F, 0F); this.body = new ModelRenderer(this, 2, 20); this.body.mirror = true; this.body.addBox(-4F, 0F, -2F, 12, 16, 6); this.body.setRotationPoint(-2F, -8F, 0F); this.body.setTextureSize(64, 128); setRotation(this.body, 0F, 0F, 0F); this.rightarm = new ModelRenderer(this, 40, 0); this.rightarm.mirror = true; this.rightarm.addBox(-3F, -2F, -2F, 6, 16, 6); this.rightarm.setRotationPoint(-9F, -6F, 0F); this.rightarm.setTextureSize(64, 128); setRotation(this.rightarm, 0F, 0F, 0F); this.leftarm = new ModelRenderer(this, 40, 22); this.leftarm.mirror = true; this.leftarm.addBox(-1F, -2F, -2F, 6, 16, 6); this.leftarm.setRotationPoint(7F, -6F, 0F); this.leftarm.setTextureSize(64, 128); setRotation(this.leftarm, 0F, 0F, 0F); this.rightleg = new ModelRenderer(this, 40, 44); this.rightleg.mirror = true; this.rightleg.addBox(-2F, 0F, -2F, 6, 16, 6); this.rightleg.setRotationPoint(-4F, 8F, 0F); this.rightleg.setTextureSize(64, 128); setRotation(this.rightleg, 0F, 0F, 0F); this.leftleg = new ModelRenderer(this, 40, 66); this.leftleg.mirror = true; this.leftleg.addBox(-2F, 0F, -2F, 6, 16, 6); this.leftleg.setRotationPoint(2F, 8F, 0F); this.leftleg.setTextureSize(64, 128); setRotation(this.leftleg, 0F, 0F, 0F); } public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { super.render(entity, f, f1, f2, f3, f4, f5); setRotationAngles(f, f1, f2, f3, f4, f5, entity); this.head.render(f5); this.body.render(f5); this.rightarm.render(f5); this.leftarm.render(f5); this.rightleg.render(f5); this.leftleg.render(f5); } public static void setRotation(ModelRenderer model, float x, float y, float z) { model.rotateAngleX = x; model.rotateAngleY = y; model.rotateAngleZ = z; } public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) { super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); this.head.rotateAngleY = f3 / (180F / (float)Math.PI); this.head.rotateAngleX = f4 / (180F / (float)Math.PI); rightleg.rotateAngleX = MathHelper.cos(f * 0.6662F) * 1.4F * f1; leftleg.rotateAngleX = MathHelper.cos(f * 0.6662F + (float)Math.PI) * 1.4F * f1; rightarm.rotateAngleX = MathHelper.cos(f * 0.6662F) * 1.4F * f1; leftarm.rotateAngleX = MathHelper.cos(f * 0.6662F + (float)Math.PI) * 1.4F * f1; Zeus zeus = (Zeus)entity; int i = zeus.getAttackTimer(); if (i > 0) { this.rightarm.rotateAngleX = MathHelper.cos(f * 0.6662F) * this.func_78172_a((float)i - f2, 10.0F); } } private float func_78172_a(float p_78172_1_, float p_78172_2_) { return (Math.abs(p_78172_1_ % p_78172_2_ - p_78172_2_ * 0.5F) - p_78172_2_ * 0.25F) / (p_78172_2_ * 0.25F); } }
  15. dude how are you spawning it? if your not spawning it serverside then it wont work.
  16. I looked at jabelar's tutorial, but there was no explanation on attacking animations, i will keep in mind the cycling process later though.
  17. ok so I ran it through the program and it still doesn't work.. package com.OlympiansMod.entity; import net.minecraft.client.model.ModelBase; import net.minecraft.client.model.ModelRenderer; import net.minecraft.entity.Entity; import net.minecraft.client.model.ModelBase; import net.minecraft.client.model.ModelRenderer; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.monster.EntityIronGolem; import net.minecraft.util.DamageSource; import net.minecraft.util.MathHelper; public class Undead extends ModelBase { protected ModelRenderer legR; protected ModelRenderer legL; protected ModelRenderer body; protected ModelRenderer armR; protected ModelRenderer forearmR; protected ModelRenderer armL; protected ModelRenderer forearmL; protected ModelRenderer head; public Undead() { this.textureWidth = 64; this.textureHeight = 64; this.legR = new ModelRenderer(this, 46, 0); this.legR.mirror = true; this.legR.addBox(0F, 0F, 0F, 4, 16, 4); this.legR.setRotationPoint(1F, 8F, -2F); this.legR.setTextureSize(64, 64); setRotation(this.legR, 0F, 0F, 0F); this.legL = new ModelRenderer(this, 30, 0); this.legL.mirror = true; this.legL.addBox(-3F, 0F, 0F, 4, 16, 4); this.legL.setRotationPoint(-1F, 8F, -1F); this.legL.setTextureSize(64, 64); setRotation(this.legL, 0F, 0F, 0F); this.body = new ModelRenderer(this, 0, 0); this.body.mirror = true; this.body.addBox(-4.5F, 0F, 0F, 10, 14, 5); this.body.setRotationPoint(-0.5F, -6F, -2.5F); this.body.setTextureSize(64, 64); setRotation(this.body, 0.0743572F, 0.1858931F, 0F); this.armR = new ModelRenderer(this, 0, 19); this.armR.mirror = true; this.armR.addBox(0F, 0F, 0F, 2, 7, 2); this.armR.setRotationPoint(5.3F, -6F, -2.5F); this.armR.setTextureSize(64, 64); setRotation(this.armR, 0.2033463F, 0.1289891F, -0.0743572F); this.forearmR = new ModelRenderer(this, 8, 19); this.forearmR.mirror = true; this.forearmR.addBox(0F, 0F, 0F, 2, 6, 2); this.forearmR.setRotationPoint(0.0F, 6.3F, 0.0F); this.forearmR.setTextureSize(64, 64); setRotation(this.forearmR, 0.0743572F, 0.0743654F, -0.0743572F); this.armL = new ModelRenderer(this, 0, 28); this.armL.mirror = true; this.armL.addBox(0F, 0F, 0F, 3, 7, 3); this.armL.setRotationPoint(-7.5F, -6.5F, -0.3333333F); this.armL.setTextureSize(64, 64); setRotation(this.armL, -0.0174533F, 0.0789013F, 0.0872665F); this.forearmL = new ModelRenderer(this, 12, 28); this.forearmL.mirror = true; this.forearmL.addBox(0F, 0F, 0F, 2, 6, 2); this.forearmL.setRotationPoint(0.5F, 6.3F, 0.3333333F); this.forearmL.setTextureSize(64, 64); setRotation(this.forearmL, -0.0652691F, 0.0743654F, 0.0827224F); this.head = new ModelRenderer(this, 30, 20); this.head.mirror = true; this.head.addBox(-2F, 0F, 0F, 5, 5, 5); this.head.setRotationPoint(-0.5F, -11F, -3F); this.head.setTextureSize(64, 64); setRotation(this.head, 0F, 0F, 0F); } public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { super.render(entity, f, f1, f2, f3, f4, f5); setRotationAngles(f, f1, f2, f3, f4, f5, entity); this.legR.render(f5); this.legL.render(f5); this.body.render(f5); this.armR.render(f5); this.forearmR.render(f5); this.armL.render(f5); this.forearmL.render(f5); this.head.render(f5); } public static void setRotation(ModelRenderer model, float x, float y, float z) { model.rotateAngleX = x; model.rotateAngleY = y; model.rotateAngleZ = z; } public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) { super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); this.head.rotateAngleY = f3 / (180F / (float)Math.PI); this.head.rotateAngleX = f4 / (180F / (float)Math.PI); legR.rotateAngleX = MathHelper.cos(f * 0.6662F) * 1.4F * f1; legL.rotateAngleX = MathHelper.cos(f * 0.6662F + (float)Math.PI) * 1.4F * f1; armR.rotateAngleX = MathHelper.cos(f * 0.6662F) * 1.4F * f1; armL.rotateAngleX = MathHelper.cos(f * 0.6662F + (float)Math.PI) * 1.4F * f1; armR.addChild(forearmR); armL.addChild(forearmL); forearmR.rotateAngleX = MathHelper.cos(f * 0.6662F) * 1.4F * f1; forearmL.rotateAngleX = MathHelper.cos(f * 0.6662F + (float)Math.PI) * 1.4F * f1; } public void setLivingAnimations(EntityLivingBase entity, float par2, float par3, float par4) { EntityUndead entityundead = (EntityUndead)entity; int i = entityundead.getAttackTimer(); if (i > 0) { this.armR.rotateAngleX = -2.0F + 1.5F * this.func_78172_a((float)i - par4, 10.0F); this.armL.rotateAngleX = -2.0F + 1.5F * this.func_78172_a((float)i - par4, 10.0F); } else { this.armR.rotateAngleX = (-0.2F + 1.5F * this.func_78172_a(par2, 13.0F)) * par3; this.armL.rotateAngleX = (-0.2F - 1.5F * this.func_78172_a(par2, 13.0F)) * par3; } } private float func_78172_a(float p_78172_1_, float p_78172_2_) { return (Math.abs(p_78172_1_ % p_78172_2_ - p_78172_2_ * 0.5F) - p_78172_2_ * 0.25F) / (p_78172_2_ * 0.25F); } }
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.