From 639724c474081548bc4586a19f0b3dcd221bd9b7 Mon Sep 17 00:00:00 2001 From: Hendrik Date: Sun, 23 Aug 2020 10:30:02 +0200 Subject: [PATCH] Auto-formatting, clean up and Jens AI --- .../mod/acgaming/spackenmobs/Spackenmobs.java | 64 +- .../acgaming/spackenmobs/SpackenmobsTab.java | 24 +- .../entities/EntityAIEatDroppedFish.java | 68 + .../spackenmobs/entities/EntityApoRed.java | 31 +- .../entities/EntityDrachenlord.java | 328 ++--- .../entities/EntityHolzstammhuhn.java | 89 +- .../spackenmobs/entities/EntityIslamist.java | 119 +- .../spackenmobs/entities/EntityJens.java | 230 +-- .../entities/EntityMarcellDAvis.java | 33 +- .../spackenmobs/entities/EntityMrBean.java | 33 +- .../spackenmobs/entities/EntitySchalker.java | 1258 ++++++++--------- .../entities/EntitySchalkerBullet.java | 571 ++++---- .../entities/EntitySmavaCreeper.java | 129 +- .../spackenmobs/entities/EntityWolfMZTE.java | 221 ++- .../acgaming/spackenmobs/items/ItemBase.java | 20 +- .../spackenmobs/items/ItemPotion.java | 17 +- .../spackenmobs/misc/BiomeHelper.java | 52 +- .../spackenmobs/misc/ModEntities.java | 27 +- .../acgaming/spackenmobs/misc/ModItems.java | 4 +- .../acgaming/spackenmobs/misc/ModPotions.java | 5 +- .../spackenmobs/misc/ModSoundEvents.java | 111 +- .../acgaming/spackenmobs/misc/RegHandler.java | 306 ++-- .../spackenmobs/misc/RegHandlerModels.java | 25 +- .../spackenmobs/render/ModelSchalker.java | 82 +- .../spackenmobs/render/RenderApoRed.java | 59 +- .../spackenmobs/render/RenderDrachenlord.java | 49 +- .../render/RenderHolzstammhuhn.java | 34 +- .../spackenmobs/render/RenderIslamist.java | 36 +- .../spackenmobs/render/RenderJens.java | 29 +- .../render/RenderMarcellDAvis.java | 51 +- .../spackenmobs/render/RenderMrBean.java | 51 +- .../spackenmobs/render/RenderSchalker.java | 321 ++--- .../render/RenderSmavaCreeper.java | 36 +- .../spackenmobs/render/RenderWolfMZTE.java | 72 +- 34 files changed, 2256 insertions(+), 2329 deletions(-) create mode 100644 src/main/java/mod/acgaming/spackenmobs/entities/EntityAIEatDroppedFish.java diff --git a/src/main/java/mod/acgaming/spackenmobs/Spackenmobs.java b/src/main/java/mod/acgaming/spackenmobs/Spackenmobs.java index 710e96f..1297ae3 100644 --- a/src/main/java/mod/acgaming/spackenmobs/Spackenmobs.java +++ b/src/main/java/mod/acgaming/spackenmobs/Spackenmobs.java @@ -1,4 +1,5 @@ package mod.acgaming.spackenmobs; + import mod.acgaming.spackenmobs.misc.ModEntities; import net.minecraft.creativetab.CreativeTabs; import net.minecraftforge.fml.common.Mod; @@ -11,38 +12,33 @@ import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; @Mod(modid = "spackenmobs", version = "1.0", acceptedMinecraftVersions = "[1.12.2]") -public class Spackenmobs -{ - public static final String MODID = "spackenmobs"; - public static final String VERSION = "1.0"; - - public static final CreativeTabs SPACKENMOBS_TAB = new SpackenmobsTab(); - - @Instance - public static Spackenmobs instance; - - @SideOnly(Side.CLIENT) - @EventHandler - public void preInitClient(FMLPreInitializationEvent event) - { - ModEntities.initModels(); - } - - @EventHandler - public void preInit(FMLPreInitializationEvent event) - { - - } - - @EventHandler - public void init(FMLInitializationEvent event) - { - - } - - @EventHandler - public void postInit(FMLPostInitializationEvent event) - { - - } +public class Spackenmobs { + public static final String MODID = "spackenmobs"; + public static final String VERSION = "1.0"; + + public static final CreativeTabs SPACKENMOBS_TAB = new SpackenmobsTab(); + + @Instance + public static Spackenmobs instance; + + @SideOnly(Side.CLIENT) + @EventHandler + public void preInitClient(FMLPreInitializationEvent event) { + ModEntities.initModels(); + } + + @EventHandler + public void preInit(FMLPreInitializationEvent event) { + + } + + @EventHandler + public void init(FMLInitializationEvent event) { + + } + + @EventHandler + public void postInit(FMLPostInitializationEvent event) { + + } } \ No newline at end of file diff --git a/src/main/java/mod/acgaming/spackenmobs/SpackenmobsTab.java b/src/main/java/mod/acgaming/spackenmobs/SpackenmobsTab.java index 1d6e907..18241f7 100644 --- a/src/main/java/mod/acgaming/spackenmobs/SpackenmobsTab.java +++ b/src/main/java/mod/acgaming/spackenmobs/SpackenmobsTab.java @@ -1,21 +1,19 @@ package mod.acgaming.spackenmobs; + import mod.acgaming.spackenmobs.misc.ModItems; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.ItemStack; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; -public class SpackenmobsTab extends CreativeTabs -{ - public SpackenmobsTab() - { - super(Spackenmobs.MODID); - } - - @SideOnly(Side.CLIENT) - @Override - public ItemStack getTabIconItem() - { - return new ItemStack(ModItems.RAM); - } +public class SpackenmobsTab extends CreativeTabs { + public SpackenmobsTab() { + super(Spackenmobs.MODID); + } + + @SideOnly(Side.CLIENT) + @Override + public ItemStack getTabIconItem() { + return new ItemStack(ModItems.RAM); + } } \ No newline at end of file diff --git a/src/main/java/mod/acgaming/spackenmobs/entities/EntityAIEatDroppedFish.java b/src/main/java/mod/acgaming/spackenmobs/entities/EntityAIEatDroppedFish.java new file mode 100644 index 0000000..9ae4c04 --- /dev/null +++ b/src/main/java/mod/acgaming/spackenmobs/entities/EntityAIEatDroppedFish.java @@ -0,0 +1,68 @@ +package mod.acgaming.spackenmobs.entities; + +import java.util.List; +import java.util.Random; + +import net.minecraft.entity.ai.EntityAIBase; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.item.ItemStack; +import net.minecraft.util.math.AxisAlignedBB; +import net.minecraft.world.World; + +public class EntityAIEatDroppedFish extends EntityAIBase { + private EntityJens jens; + private Random rand = new Random(); + private World world = null; + double searchDistance = 10.0D; + + public EntityAIEatDroppedFish(EntityJens jens) { + this.jens = jens; + this.world = jens.world; + } + + public EntityItem getNearbyFood() { + List items = getItems(); + for (EntityItem item : items) { + EntityItem stack = item; + if (items != null) { + return stack; + } + } + return null; + } + + List getItems() { + return this.world.getEntitiesWithinAABB(EntityItem.class, + new AxisAlignedBB(this.jens.posX - this.searchDistance, this.jens.posY - this.searchDistance, + this.jens.posZ - this.searchDistance, this.jens.posX + this.searchDistance, + this.jens.posY + this.searchDistance, this.jens.posZ + this.searchDistance)); + } + + @Override + public boolean shouldExecute() { + EntityItem getNearbyFood = getNearbyFood(); + if (getNearbyFood != null && !this.jens.isChild() && this.jens.yummy_in_tummy == false + && this.jens.isFishItem(getNearbyFood.getItem())) { + execute(this.jens, getNearbyFood); + } + return false; + } + + public boolean execute(EntityJens jens, EntityItem item) { + if (jens.getNavigator().tryMoveToXYZ(item.posX, item.posY, item.posZ, 1.25D)) { + if (jens.getDistance(item) < 1.0F) { + eatItem(item); + jens.digestFish(); + } + } + return true; + } + + public void eatItem(EntityItem item) { + ItemStack stack = item.getItem(); + stack.setCount(stack.getCount() - 1); + if (stack.getCount() == 0) { + item.setDead(); + } + } +} \ No newline at end of file diff --git a/src/main/java/mod/acgaming/spackenmobs/entities/EntityApoRed.java b/src/main/java/mod/acgaming/spackenmobs/entities/EntityApoRed.java index 0d3a18f..ae84ba1 100644 --- a/src/main/java/mod/acgaming/spackenmobs/entities/EntityApoRed.java +++ b/src/main/java/mod/acgaming/spackenmobs/entities/EntityApoRed.java @@ -1,29 +1,28 @@ package mod.acgaming.spackenmobs.entities; + import mod.acgaming.spackenmobs.misc.ModSoundEvents; import net.minecraft.entity.monster.EntitySkeleton; import net.minecraft.util.DamageSource; import net.minecraft.util.SoundEvent; import net.minecraft.world.World; -public class EntityApoRed extends EntitySkeleton -{ - public EntityApoRed(World worldIn) - { - super(worldIn); - } - - protected SoundEvent getAmbientSound() - { - return ModSoundEvents.ENTITY_APORED_AMBIENT; +public class EntityApoRed extends EntitySkeleton { + public EntityApoRed(World worldIn) { + super(worldIn); } - protected SoundEvent getHurtSound(DamageSource damageSourceIn) - { - return ModSoundEvents.ENTITY_APORED_HURT; + @Override + protected SoundEvent getAmbientSound() { + return ModSoundEvents.ENTITY_APORED_AMBIENT; } - protected SoundEvent getDeathSound() - { - return ModSoundEvents.ENTITY_APORED_DEATH; + @Override + protected SoundEvent getHurtSound(DamageSource damageSourceIn) { + return ModSoundEvents.ENTITY_APORED_HURT; + } + + @Override + protected SoundEvent getDeathSound() { + return ModSoundEvents.ENTITY_APORED_DEATH; } } \ No newline at end of file diff --git a/src/main/java/mod/acgaming/spackenmobs/entities/EntityDrachenlord.java b/src/main/java/mod/acgaming/spackenmobs/entities/EntityDrachenlord.java index 20e2764..038dd6b 100644 --- a/src/main/java/mod/acgaming/spackenmobs/entities/EntityDrachenlord.java +++ b/src/main/java/mod/acgaming/spackenmobs/entities/EntityDrachenlord.java @@ -1,4 +1,5 @@ package mod.acgaming.spackenmobs.entities; + import java.util.UUID; import javax.annotation.Nullable; @@ -29,232 +30,209 @@ import net.minecraft.world.EnumDifficulty; import net.minecraft.world.World; import net.minecraft.world.storage.loot.LootTableList; -public class EntityDrachenlord extends EntityZombie -{ - private static final UUID ATTACK_SPEED_BOOST_MODIFIER_UUID = UUID.fromString("49455A49-7EC5-45BA-B886-3B90B23A1718"); - private static final AttributeModifier ATTACK_SPEED_BOOST_MODIFIER = (new AttributeModifier(ATTACK_SPEED_BOOST_MODIFIER_UUID, "Attacking speed boost", 0.05D, 0)).setSaved(false); +public class EntityDrachenlord extends EntityZombie { + private static final UUID ATTACK_SPEED_BOOST_MODIFIER_UUID = UUID + .fromString("49455A49-7EC5-45BA-B886-3B90B23A1718"); + private static final AttributeModifier ATTACK_SPEED_BOOST_MODIFIER = (new AttributeModifier( + ATTACK_SPEED_BOOST_MODIFIER_UUID, "Attacking speed boost", 0.05D, 0)).setSaved(false); private int angerLevel; private int randomSoundDelay; private UUID angerTargetUUID; - public EntityDrachenlord(World worldIn) - { - super(worldIn); - this.isImmuneToFire = true; - } - - public void setRevengeTarget(@Nullable EntityLivingBase livingBase) - { - super.setRevengeTarget(livingBase); - - if (livingBase != null) - { - this.angerTargetUUID = livingBase.getUniqueID(); - } + public EntityDrachenlord(World worldIn) { + super(worldIn); + this.isImmuneToFire = true; } - protected void applyEntityAI() - { - this.targetTasks.addTask(1, new EntityDrachenlord.AIHurtByAggressor(this)); - this.targetTasks.addTask(2, new EntityDrachenlord.AITargetAggressor(this)); + @Override + public void setRevengeTarget(@Nullable EntityLivingBase livingBase) { + super.setRevengeTarget(livingBase); + + if (livingBase != null) { + this.angerTargetUUID = livingBase.getUniqueID(); + } } - protected void applyEntityAttributes() - { - super.applyEntityAttributes(); - this.getEntityAttribute(SPAWN_REINFORCEMENTS_CHANCE).setBaseValue(0.0D); - this.getEntityAttribute(SharedMonsterAttributes.MOVEMENT_SPEED).setBaseValue(0.23000000417232513D); - this.getEntityAttribute(SharedMonsterAttributes.ATTACK_DAMAGE).setBaseValue(5.0D); + @Override + protected void applyEntityAI() { + this.targetTasks.addTask(1, new EntityDrachenlord.AIHurtByAggressor(this)); + this.targetTasks.addTask(2, new EntityDrachenlord.AITargetAggressor(this)); } - protected void updateAITasks() - { - IAttributeInstance iattributeinstance = this.getEntityAttribute(SharedMonsterAttributes.MOVEMENT_SPEED); - - if (this.isAngry()) - { - if (!this.isChild() && !iattributeinstance.hasModifier(ATTACK_SPEED_BOOST_MODIFIER)) - { - iattributeinstance.applyModifier(ATTACK_SPEED_BOOST_MODIFIER); - } - - --this.angerLevel; - } - else if (iattributeinstance.hasModifier(ATTACK_SPEED_BOOST_MODIFIER)) - { - iattributeinstance.removeModifier(ATTACK_SPEED_BOOST_MODIFIER); - } - - if (this.randomSoundDelay > 0 && --this.randomSoundDelay == 0) - { - this.playSound(ModSoundEvents.ENTITY_DRACHENLORD_ANGRY, this.getSoundVolume() * 2.0F, 1.0F); - } - - if (this.angerLevel > 0 && this.angerTargetUUID != null && this.getRevengeTarget() == null) - { - EntityPlayer entityplayer = this.world.getPlayerEntityByUUID(this.angerTargetUUID); - this.setRevengeTarget(entityplayer); - this.attackingPlayer = entityplayer; - this.recentlyHit = this.getRevengeTimer(); - } - - super.updateAITasks(); + @Override + protected void applyEntityAttributes() { + super.applyEntityAttributes(); + this.getEntityAttribute(SPAWN_REINFORCEMENTS_CHANCE).setBaseValue(0.0D); + this.getEntityAttribute(SharedMonsterAttributes.MOVEMENT_SPEED).setBaseValue(0.23000000417232513D); + this.getEntityAttribute(SharedMonsterAttributes.ATTACK_DAMAGE).setBaseValue(5.0D); } - public boolean getCanSpawnHere() - { - return this.world.getDifficulty() != EnumDifficulty.PEACEFUL; + @Override + protected void updateAITasks() { + IAttributeInstance iattributeinstance = this.getEntityAttribute(SharedMonsterAttributes.MOVEMENT_SPEED); + + if (this.isAngry()) { + if (!this.isChild() && !iattributeinstance.hasModifier(ATTACK_SPEED_BOOST_MODIFIER)) { + iattributeinstance.applyModifier(ATTACK_SPEED_BOOST_MODIFIER); + } + + --this.angerLevel; + } else if (iattributeinstance.hasModifier(ATTACK_SPEED_BOOST_MODIFIER)) { + iattributeinstance.removeModifier(ATTACK_SPEED_BOOST_MODIFIER); + } + + if (this.randomSoundDelay > 0 && --this.randomSoundDelay == 0) { + this.playSound(ModSoundEvents.ENTITY_DRACHENLORD_ANGRY, this.getSoundVolume() * 2.0F, 1.0F); + } + + if (this.angerLevel > 0 && this.angerTargetUUID != null && this.getRevengeTarget() == null) { + EntityPlayer entityplayer = this.world.getPlayerEntityByUUID(this.angerTargetUUID); + this.setRevengeTarget(entityplayer); + this.attackingPlayer = entityplayer; + this.recentlyHit = this.getRevengeTimer(); + } + + super.updateAITasks(); } - public boolean isNotColliding() - { - return this.world.checkNoEntityCollision(this.getEntityBoundingBox(), this) && this.world.getCollisionBoxes(this, this.getEntityBoundingBox()).isEmpty() && !this.world.containsAnyLiquid(this.getEntityBoundingBox()); + @Override + public boolean getCanSpawnHere() { + return this.world.getDifficulty() != EnumDifficulty.PEACEFUL; } - public static void registerFixesPigZombie(DataFixer fixer) - { - EntityLiving.registerFixesMob(fixer, EntityDrachenlord.class); + @Override + public boolean isNotColliding() { + return this.world.checkNoEntityCollision(this.getEntityBoundingBox(), this) + && this.world.getCollisionBoxes(this, this.getEntityBoundingBox()).isEmpty() + && !this.world.containsAnyLiquid(this.getEntityBoundingBox()); } - public void writeEntityToNBT(NBTTagCompound compound) - { - super.writeEntityToNBT(compound); - compound.setShort("Anger", (short)this.angerLevel); - - if (this.angerTargetUUID != null) - { - compound.setString("HurtBy", this.angerTargetUUID.toString()); - } - else - { - compound.setString("HurtBy", ""); - } + public static void registerFixesPigZombie(DataFixer fixer) { + EntityLiving.registerFixesMob(fixer, EntityDrachenlord.class); } - public void readEntityFromNBT(NBTTagCompound compound) - { - super.readEntityFromNBT(compound); - this.angerLevel = compound.getShort("Anger"); - String s = compound.getString("HurtBy"); + @Override + public void writeEntityToNBT(NBTTagCompound compound) { + super.writeEntityToNBT(compound); + compound.setShort("Anger", (short) this.angerLevel); - if (!s.isEmpty()) - { - this.angerTargetUUID = UUID.fromString(s); - EntityPlayer entityplayer = this.world.getPlayerEntityByUUID(this.angerTargetUUID); - this.setRevengeTarget(entityplayer); - - if (entityplayer != null) - { - this.attackingPlayer = entityplayer; - this.recentlyHit = this.getRevengeTimer(); - } - } + if (this.angerTargetUUID != null) { + compound.setString("HurtBy", this.angerTargetUUID.toString()); + } else { + compound.setString("HurtBy", ""); + } } - public boolean attackEntityFrom(DamageSource source, float amount) - { - if (this.isEntityInvulnerable(source)) - { - return false; - } - else - { - Entity entity = source.getTrueSource(); + @Override + public void readEntityFromNBT(NBTTagCompound compound) { + super.readEntityFromNBT(compound); + this.angerLevel = compound.getShort("Anger"); + String s = compound.getString("HurtBy"); - if (entity instanceof EntityPlayer) - { - this.becomeAngryAt(entity); - } + if (!s.isEmpty()) { + this.angerTargetUUID = UUID.fromString(s); + EntityPlayer entityplayer = this.world.getPlayerEntityByUUID(this.angerTargetUUID); + this.setRevengeTarget(entityplayer); - return super.attackEntityFrom(source, amount); - } + if (entityplayer != null) { + this.attackingPlayer = entityplayer; + this.recentlyHit = this.getRevengeTimer(); + } + } } - private void becomeAngryAt(Entity p_70835_1_) - { - this.angerLevel = 400 + this.rand.nextInt(400); - this.randomSoundDelay = this.rand.nextInt(40); + @Override + public boolean attackEntityFrom(DamageSource source, float amount) { + if (this.isEntityInvulnerable(source)) { + return false; + } else { + Entity entity = source.getTrueSource(); - if (p_70835_1_ instanceof EntityLivingBase) - { - this.setRevengeTarget((EntityLivingBase)p_70835_1_); - } + if (entity instanceof EntityPlayer) { + this.becomeAngryAt(entity); + } + + return super.attackEntityFrom(source, amount); + } } - public boolean isAngry() - { - return this.angerLevel > 0; + private void becomeAngryAt(Entity p_70835_1_) { + this.angerLevel = 400 + this.rand.nextInt(400); + this.randomSoundDelay = this.rand.nextInt(40); + + if (p_70835_1_ instanceof EntityLivingBase) { + this.setRevengeTarget((EntityLivingBase) p_70835_1_); + } } - protected SoundEvent getAmbientSound() - { - return ModSoundEvents.ENTITY_DRACHENLORD_AMBIENT; + public boolean isAngry() { + return this.angerLevel > 0; } - protected SoundEvent getHurtSound(DamageSource damageSourceIn) - { - return ModSoundEvents.ENTITY_DRACHENLORD_HURT; + @Override + protected SoundEvent getAmbientSound() { + return ModSoundEvents.ENTITY_DRACHENLORD_AMBIENT; } - protected SoundEvent getDeathSound() - { - return ModSoundEvents.ENTITY_DRACHENLORD_DEATH; + @Override + protected SoundEvent getHurtSound(DamageSource damageSourceIn) { + return ModSoundEvents.ENTITY_DRACHENLORD_HURT; } + @Override + protected SoundEvent getDeathSound() { + return ModSoundEvents.ENTITY_DRACHENLORD_DEATH; + } + + @Override @Nullable - protected ResourceLocation getLootTable() - { - return LootTableList.ENTITIES_ZOMBIE_PIGMAN; + protected ResourceLocation getLootTable() { + return LootTableList.ENTITIES_ZOMBIE_PIGMAN; } - public boolean processInteract(EntityPlayer player, EnumHand hand) - { - return false; + @Override + public boolean processInteract(EntityPlayer player, EnumHand hand) { + return false; } - protected void setEquipmentBasedOnDifficulty(DifficultyInstance difficulty) - { - this.setItemStackToSlot(EntityEquipmentSlot.MAINHAND, new ItemStack(Items.GOLDEN_AXE)); + @Override + protected void setEquipmentBasedOnDifficulty(DifficultyInstance difficulty) { + this.setItemStackToSlot(EntityEquipmentSlot.MAINHAND, new ItemStack(Items.GOLDEN_AXE)); } - protected ItemStack getSkullDrop() - { - return ItemStack.EMPTY; + @Override + protected ItemStack getSkullDrop() { + return ItemStack.EMPTY; } - public boolean isPreventingPlayerRest(EntityPlayer playerIn) - { - return this.isAngry(); + @Override + public boolean isPreventingPlayerRest(EntityPlayer playerIn) { + return this.isAngry(); } - static class AIHurtByAggressor extends EntityAIHurtByTarget - { - public AIHurtByAggressor(EntityDrachenlord p_i45828_1_) - { - super(p_i45828_1_, true); - } + static class AIHurtByAggressor extends EntityAIHurtByTarget { + public AIHurtByAggressor(EntityDrachenlord p_i45828_1_) { + super(p_i45828_1_, true); + } - protected void setEntityAttackTarget(EntityCreature creatureIn, EntityLivingBase entityLivingBaseIn) - { - super.setEntityAttackTarget(creatureIn, entityLivingBaseIn); + @Override + protected void setEntityAttackTarget(EntityCreature creatureIn, EntityLivingBase entityLivingBaseIn) { + super.setEntityAttackTarget(creatureIn, entityLivingBaseIn); - if (creatureIn instanceof EntityDrachenlord) - { - ((EntityDrachenlord)creatureIn).becomeAngryAt(entityLivingBaseIn); - } - } - } + if (creatureIn instanceof EntityDrachenlord) { + ((EntityDrachenlord) creatureIn).becomeAngryAt(entityLivingBaseIn); + } + } + } - static class AITargetAggressor extends EntityAINearestAttackableTarget - { - public AITargetAggressor(EntityDrachenlord p_i45829_1_) - { - super(p_i45829_1_, EntityPlayer.class, true); - } + static class AITargetAggressor extends EntityAINearestAttackableTarget { + public AITargetAggressor(EntityDrachenlord p_i45829_1_) { + super(p_i45829_1_, EntityPlayer.class, true); + } - public boolean shouldExecute() - { - return ((EntityDrachenlord)this.taskOwner).isAngry() && super.shouldExecute(); - } - } + @Override + public boolean shouldExecute() { + return ((EntityDrachenlord) this.taskOwner).isAngry() && super.shouldExecute(); + } + } } \ No newline at end of file diff --git a/src/main/java/mod/acgaming/spackenmobs/entities/EntityHolzstammhuhn.java b/src/main/java/mod/acgaming/spackenmobs/entities/EntityHolzstammhuhn.java index 9d84f9c..4cb7478 100644 --- a/src/main/java/mod/acgaming/spackenmobs/entities/EntityHolzstammhuhn.java +++ b/src/main/java/mod/acgaming/spackenmobs/entities/EntityHolzstammhuhn.java @@ -1,4 +1,5 @@ package mod.acgaming.spackenmobs.entities; + import java.util.Set; import com.google.common.collect.Sets; @@ -25,57 +26,55 @@ import net.minecraft.util.SoundEvent; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; -public class EntityHolzstammhuhn extends EntityChicken -{ - private static final Set TEMPTATION_ITEMS = Sets.newHashSet(Items.STICK); - - public EntityHolzstammhuhn(World worldIn) - { - super(worldIn); - this.setSize(0.4F, 0.7F); - this.timeUntilNextEgg = this.rand.nextInt(6000) + 6000; - this.setPathPriority(PathNodeType.WATER, 0.0F); - } - - protected void initEntityAI() - { - this.tasks.addTask(0, new EntityAISwimming(this)); - this.tasks.addTask(1, new EntityAIPanic(this, 1.4D)); - this.tasks.addTask(2, new EntityAIMate(this, 1.0D)); - this.tasks.addTask(3, new EntityAITempt(this, 1.0D, false, TEMPTATION_ITEMS)); - this.tasks.addTask(4, new EntityAIFollowParent(this, 1.1D)); - this.tasks.addTask(5, new EntityAIWanderAvoidWater(this, 1.0D)); - this.tasks.addTask(6, new EntityAIWatchClosest(this, EntityPlayer.class, 6.0F)); - this.tasks.addTask(7, new EntityAILookIdle(this)); - } - - public boolean isBreedingItem(ItemStack stack) - { - return TEMPTATION_ITEMS.contains(stack.getItem()); - } - - protected SoundEvent getAmbientSound() - { - return SoundEvents.BLOCK_WOOD_PLACE; +public class EntityHolzstammhuhn extends EntityChicken { + private static final Set TEMPTATION_ITEMS = Sets.newHashSet(Items.STICK); + + public EntityHolzstammhuhn(World worldIn) { + super(worldIn); + this.setSize(0.4F, 0.7F); + this.timeUntilNextEgg = this.rand.nextInt(6000) + 6000; + this.setPathPriority(PathNodeType.WATER, 0.0F); } - protected SoundEvent getHurtSound(DamageSource damageSourceIn) - { - return SoundEvents.BLOCK_WOOD_HIT; + @Override + protected void initEntityAI() { + this.tasks.addTask(0, new EntityAISwimming(this)); + this.tasks.addTask(1, new EntityAIPanic(this, 1.4D)); + this.tasks.addTask(2, new EntityAIMate(this, 1.0D)); + this.tasks.addTask(3, new EntityAITempt(this, 1.0D, false, TEMPTATION_ITEMS)); + this.tasks.addTask(4, new EntityAIFollowParent(this, 1.1D)); + this.tasks.addTask(5, new EntityAIWanderAvoidWater(this, 1.0D)); + this.tasks.addTask(6, new EntityAIWatchClosest(this, EntityPlayer.class, 6.0F)); + this.tasks.addTask(7, new EntityAILookIdle(this)); } - protected SoundEvent getDeathSound() - { - return SoundEvents.BLOCK_WOOD_BREAK; + @Override + public boolean isBreedingItem(ItemStack stack) { + return TEMPTATION_ITEMS.contains(stack.getItem()); } - protected void playStepSound(BlockPos pos, Block blockIn) - { - this.playSound(SoundEvents.BLOCK_WOOD_STEP, 0.15F, 1.0F); + @Override + protected SoundEvent getAmbientSound() { + return SoundEvents.BLOCK_WOOD_PLACE; } - - public EntityHolzstammhuhn createChild(EntityAgeable ageable) - { - return new EntityHolzstammhuhn(this.world); + + @Override + protected SoundEvent getHurtSound(DamageSource damageSourceIn) { + return SoundEvents.BLOCK_WOOD_HIT; + } + + @Override + protected SoundEvent getDeathSound() { + return SoundEvents.BLOCK_WOOD_BREAK; + } + + @Override + protected void playStepSound(BlockPos pos, Block blockIn) { + this.playSound(SoundEvents.BLOCK_WOOD_STEP, 0.15F, 1.0F); + } + + @Override + public EntityHolzstammhuhn createChild(EntityAgeable ageable) { + return new EntityHolzstammhuhn(this.world); } } \ No newline at end of file diff --git a/src/main/java/mod/acgaming/spackenmobs/entities/EntityIslamist.java b/src/main/java/mod/acgaming/spackenmobs/entities/EntityIslamist.java index f1712c4..3a73bad 100644 --- a/src/main/java/mod/acgaming/spackenmobs/entities/EntityIslamist.java +++ b/src/main/java/mod/acgaming/spackenmobs/entities/EntityIslamist.java @@ -1,78 +1,71 @@ package mod.acgaming.spackenmobs.entities; + import mod.acgaming.spackenmobs.misc.ModSoundEvents; import net.minecraft.entity.monster.EntityCreeper; import net.minecraft.util.DamageSource; import net.minecraft.util.SoundEvent; import net.minecraft.world.World; -public class EntityIslamist extends EntityCreeper -{ +public class EntityIslamist extends EntityCreeper { private int lastActiveTime; private int timeSinceIgnited; private int fuseTime = 30; - private int explosionRadius = 3; - - public EntityIslamist(World worldIn) - { - super(worldIn); - this.setSize(0.6F, 1.7F); - } - - public void onUpdate() - { - if (this.isEntityAlive()) - { - this.lastActiveTime = this.timeSinceIgnited; - - if (this.hasIgnited()) - { - this.setCreeperState(1); - } - - int i = this.getCreeperState(); - - if (i > 0 && this.timeSinceIgnited == 0) - { - this.playSound(ModSoundEvents.ENTITY_ISLAMIST_FUSE, 1.0F, 0.5F); - } - - this.timeSinceIgnited += i; - - if (this.timeSinceIgnited < 0) - { - this.timeSinceIgnited = 0; - } - - if (this.timeSinceIgnited >= this.fuseTime) - { - this.timeSinceIgnited = this.fuseTime; - this.explode(); - } - } - - super.onUpdate(); - } - - private void explode() - { - if (!this.world.isRemote) - { - boolean flag = net.minecraftforge.event.ForgeEventFactory.getMobGriefingEvent(this.world, this); - float f = this.getPowered() ? 2.0F : 1.0F; - this.dead = true; - this.world.playSound(null, getPosition(), ModSoundEvents.ENTITY_ISLAMIST_BLOW, getSoundCategory(), 1.0F, 1.0F); - this.world.createExplosion(this, this.posX, this.posY, this.posZ, (float)this.explosionRadius * f, flag); - this.setDead(); - } + private int explosionRadius = 6; + + public EntityIslamist(World worldIn) { + super(worldIn); + this.setSize(0.6F, 1.7F); } - protected SoundEvent getHurtSound(DamageSource damageSourceIn) - { - return ModSoundEvents.ENTITY_ISLAMIST_HURT; + @Override + public void onUpdate() { + if (this.isEntityAlive()) { + this.lastActiveTime = this.timeSinceIgnited; + + if (this.hasIgnited()) { + this.setCreeperState(1); + } + + int i = this.getCreeperState(); + + if (i > 0 && this.timeSinceIgnited == 0) { + this.playSound(ModSoundEvents.ENTITY_ISLAMIST_FUSE, 1.0F, 0.5F); + } + + this.timeSinceIgnited += i; + + if (this.timeSinceIgnited < 0) { + this.timeSinceIgnited = 0; + } + + if (this.timeSinceIgnited >= this.fuseTime) { + this.timeSinceIgnited = this.fuseTime; + this.explode(); + } + } + + super.onUpdate(); } - - protected SoundEvent getAmbientSound() - { - return ModSoundEvents.ENTITY_ISLAMIST_AMBIENT; + + private void explode() { + if (!this.world.isRemote) { + boolean flag = net.minecraftforge.event.ForgeEventFactory.getMobGriefingEvent(this.world, this); + float f = this.getPowered() ? 2.0F : 1.0F; + this.dead = true; + this.world.playSound(null, getPosition(), ModSoundEvents.ENTITY_ISLAMIST_BLOW, getSoundCategory(), 1.0F, + 1.0F); + this.world.createExplosion(this, this.posX, this.posY, this.posZ, this.explosionRadius * f, flag); + this.setDead(); + } + } + + @Override + protected SoundEvent getHurtSound(DamageSource damageSourceIn) { + return ModSoundEvents.ENTITY_ISLAMIST_HURT; + } + + @Override + protected SoundEvent getAmbientSound() { + return ModSoundEvents.ENTITY_ISLAMIST_AMBIENT; } } \ No newline at end of file diff --git a/src/main/java/mod/acgaming/spackenmobs/entities/EntityJens.java b/src/main/java/mod/acgaming/spackenmobs/entities/EntityJens.java index 8133217..6a4d438 100644 --- a/src/main/java/mod/acgaming/spackenmobs/entities/EntityJens.java +++ b/src/main/java/mod/acgaming/spackenmobs/entities/EntityJens.java @@ -1,12 +1,15 @@ package mod.acgaming.spackenmobs.entities; + import java.util.Set; import com.google.common.collect.Sets; import mod.acgaming.spackenmobs.misc.ModItems; import mod.acgaming.spackenmobs.misc.ModSoundEvents; +import net.minecraft.client.Minecraft; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityAgeable; +import net.minecraft.entity.SharedMonsterAttributes; import net.minecraft.entity.ai.EntityAIFollowParent; import net.minecraft.entity.ai.EntityAILookIdle; import net.minecraft.entity.ai.EntityAIMate; @@ -26,114 +29,137 @@ import net.minecraft.util.EnumParticleTypes; import net.minecraft.util.SoundEvent; import net.minecraft.world.World; -public class EntityJens extends EntityAnimal -{ - private static final Set TEMPTATION_ITEMS = Sets.newHashSet(ModItems.RAM); - public boolean yummy_in_tummy = false; - public int time_until_surstroemming = 0; - - public EntityJens(World worldIn) - { - super(worldIn); - setSize(0.6F, 2.2F); - } - - protected void initEntityAI() - { - this.tasks.addTask(0, new EntityAISwimming(this)); - this.tasks.addTask(1, new EntityAIPanic(this, 1.25D)); - this.tasks.addTask(3, new EntityAIMate(this, 1.0D)); - this.tasks.addTask(4, new EntityAITempt(this, 1.2D, ModItems.RAM_ON_A_STICK, false)); - this.tasks.addTask(4, new EntityAITempt(this, 1.2D, false, TEMPTATION_ITEMS)); - this.tasks.addTask(5, new EntityAIFollowParent(this, 1.1D)); - this.tasks.addTask(6, new EntityAIWanderAvoidWater(this, 1.0D)); - this.tasks.addTask(7, new EntityAIWatchClosest(this, EntityPlayer.class, 6.0F)); - this.tasks.addTask(8, new EntityAILookIdle(this)); - } - - public boolean isBreedingItem(ItemStack stack) - { - return TEMPTATION_ITEMS.contains(stack.getItem()); - } - - public boolean canBeSteered() - { - Entity entity = this.getControllingPassenger(); +public class EntityJens extends EntityAnimal { + private static final Set TEMPTATION_ITEMS = Sets.newHashSet(ModItems.RAM); + private static final Set FISH_ITEMS = Sets.newHashSet(Items.FISH); - if (!(entity instanceof EntityPlayer)) - { - return false; - } - else - { - EntityPlayer entityplayer = (EntityPlayer)entity; - return entityplayer.getHeldItemMainhand().getItem() == ModItems.RAM_ON_A_STICK || entityplayer.getHeldItemOffhand().getItem() == ModItems.RAM_ON_A_STICK; - } + public boolean yummy_in_tummy = false; + public int time_until_surstroemming = 0; + + Minecraft MINECRAFT = Minecraft.getMinecraft(); + + public EntityJens(World worldIn) { + super(worldIn); + setSize(0.6F, 2.2F); } - - public EntityJens createChild(EntityAgeable ageable) - { - return new EntityJens(this.world); - } - + @Override - public boolean processInteract(EntityPlayer player, EnumHand hand) - { - ItemStack itemstack = player.getHeldItem(hand); - EnumParticleTypes enumparticletypes = EnumParticleTypes.HEART; - - if (itemstack.getItem() == Items.FISH && !player.capabilities.isCreativeMode && !this.isChild() && this.yummy_in_tummy == false) - { - player.playSound(ModSoundEvents.ENTITY_JENS_EAT, 1.0F, 1.0F); - itemstack.shrink(1); - this.yummy_in_tummy = true; - this.time_until_surstroemming = 100; - - for (int i = 0; i < 7; ++i) - { - double d0 = this.rand.nextGaussian() * 0.02D; - double d1 = this.rand.nextGaussian() * 0.02D; - double d2 = this.rand.nextGaussian() * 0.02D; - this.world.spawnParticle(enumparticletypes, this.posX + (double)(this.rand.nextFloat() * this.width * 2.0F) - (double)this.width, this.posY + 0.5D + (double)(this.rand.nextFloat() * this.height), this.posZ + (double)(this.rand.nextFloat() * this.width * 2.0F) - (double)this.width, d0, d1, d2); - } - return true; - } - else - { - return super.processInteract(player, hand); - } - } - - public void onLivingUpdate() - { - super.onLivingUpdate(); - - if (!this.world.isRemote && this.yummy_in_tummy == true && this.time_until_surstroemming > 0) - { - this.time_until_surstroemming--; - } - - if (!this.world.isRemote && this.yummy_in_tummy == true && this.time_until_surstroemming <= 0) - { - this.playSound(ModSoundEvents.ENTITY_JENS_POOP, 1.0F, (this.rand.nextFloat() - this.rand.nextFloat()) * 0.2F + 1.0F); - this.dropItem(ModItems.SURSTROEMMING, 1); - this.yummy_in_tummy = false; - this.time_until_surstroemming = 0; - } - } - - protected SoundEvent getAmbientSound() - { - return ModSoundEvents.ENTITY_JENS_AMBIENT; + protected void initEntityAI() { + this.tasks.addTask(0, new EntityAISwimming(this)); + this.tasks.addTask(1, new EntityAIPanic(this, 1.25D)); + this.tasks.addTask(2, new EntityAIEatDroppedFish(this)); + this.tasks.addTask(3, new EntityAIMate(this, 1.0D)); + this.tasks.addTask(4, new EntityAITempt(this, 1.2D, false, TEMPTATION_ITEMS)); + this.tasks.addTask(4, new EntityAITempt(this, 1.2D, ModItems.RAM_ON_A_STICK, false)); + this.tasks.addTask(5, new EntityAIFollowParent(this, 1.1D)); + this.tasks.addTask(6, new EntityAIWanderAvoidWater(this, 1.0D)); + this.tasks.addTask(7, new EntityAIWatchClosest(this, EntityPlayer.class, 6.0F)); + this.tasks.addTask(8, new EntityAILookIdle(this)); } - protected SoundEvent getHurtSound(DamageSource damageSourceIn) - { - return ModSoundEvents.ENTITY_JENS_HURT; + @Override + protected void applyEntityAttributes() { + super.applyEntityAttributes(); + this.getEntityAttribute(SharedMonsterAttributes.MAX_HEALTH).setBaseValue(10.0D); + this.getEntityAttribute(SharedMonsterAttributes.MOVEMENT_SPEED).setBaseValue(0.25D); } - protected SoundEvent getDeathSound() - { - return ModSoundEvents.ENTITY_JENS_DEATH; + @Override + public boolean isBreedingItem(ItemStack stack) { + return TEMPTATION_ITEMS.contains(stack.getItem()); + } + + public boolean isFishItem(ItemStack stack) { + return FISH_ITEMS.contains(stack.getItem()); + } + + @Override + public boolean canBeSteered() { + Entity entity = this.getControllingPassenger(); + + if (!(entity instanceof EntityPlayer)) { + return false; + } else { + EntityPlayer entityplayer = (EntityPlayer) entity; + return entityplayer.getHeldItemMainhand().getItem() == ModItems.RAM_ON_A_STICK + || entityplayer.getHeldItemOffhand().getItem() == ModItems.RAM_ON_A_STICK; + } + } + + @Override + public EntityJens createChild(EntityAgeable ageable) { + return new EntityJens(this.world); + } + + @Override + public boolean processInteract(EntityPlayer player, EnumHand hand) { + ItemStack itemstack = player.getHeldItem(hand); + + if (itemstack.getItem() == Items.FISH && !player.capabilities.isCreativeMode && !this.isChild() + && this.yummy_in_tummy == false) { + itemstack.shrink(1); + digestFish(); + return true; + } else { + return super.processInteract(player, hand); + } + } + + @Override + public void onLivingUpdate() { + super.onLivingUpdate(); + + if (!this.world.isRemote && this.yummy_in_tummy == true && this.time_until_surstroemming > 0) { + this.time_until_surstroemming--; + } + + if (!this.world.isRemote && this.yummy_in_tummy == true && this.time_until_surstroemming <= 0) { + for (int i = 0; i < 7; ++i) { + double d0 = this.rand.nextGaussian() * 0.02D; + double d1 = this.rand.nextGaussian() * 0.02D; + double d2 = this.rand.nextGaussian() * 0.02D; + MINECRAFT.world.spawnParticle(EnumParticleTypes.SMOKE_LARGE, + this.posX + this.rand.nextFloat() * this.width * 2.0F - this.width, + this.posY + 0.5D + this.rand.nextFloat() * this.height, + this.posZ + this.rand.nextFloat() * this.width * 2.0F - this.width, d0, d1, d2); + } + this.playSound(ModSoundEvents.ENTITY_JENS_POOP, 1.0F, + (this.rand.nextFloat() - this.rand.nextFloat()) * 0.2F + 1.0F); + this.dropItem(ModItems.SURSTROEMMING, 1); + this.yummy_in_tummy = false; + this.time_until_surstroemming = 0; + } + } + + public void digestFish() { + this.playSound(ModSoundEvents.ENTITY_JENS_EAT, 1.0F, 1.0F); + + this.yummy_in_tummy = true; + this.time_until_surstroemming = 200; + + for (int i = 0; i < 7; ++i) { + double d0 = this.rand.nextGaussian() * 0.02D; + double d1 = this.rand.nextGaussian() * 0.02D; + double d2 = this.rand.nextGaussian() * 0.02D; + MINECRAFT.world.spawnParticle(EnumParticleTypes.HEART, + this.posX + this.rand.nextFloat() * this.width * 2.0F - this.width, + this.posY + 0.5D + this.rand.nextFloat() * this.height, + this.posZ + this.rand.nextFloat() * this.width * 2.0F - this.width, d0, d1, d2); + } + } + + @Override + protected SoundEvent getAmbientSound() { + return ModSoundEvents.ENTITY_JENS_AMBIENT; + } + + @Override + protected SoundEvent getHurtSound(DamageSource damageSourceIn) { + return ModSoundEvents.ENTITY_JENS_HURT; + } + + @Override + protected SoundEvent getDeathSound() { + return ModSoundEvents.ENTITY_JENS_DEATH; } } \ No newline at end of file diff --git a/src/main/java/mod/acgaming/spackenmobs/entities/EntityMarcellDAvis.java b/src/main/java/mod/acgaming/spackenmobs/entities/EntityMarcellDAvis.java index 47c140c..8018265 100644 --- a/src/main/java/mod/acgaming/spackenmobs/entities/EntityMarcellDAvis.java +++ b/src/main/java/mod/acgaming/spackenmobs/entities/EntityMarcellDAvis.java @@ -1,30 +1,29 @@ package mod.acgaming.spackenmobs.entities; + import mod.acgaming.spackenmobs.misc.ModSoundEvents; import net.minecraft.entity.monster.EntityZombie; import net.minecraft.util.DamageSource; import net.minecraft.util.SoundEvent; import net.minecraft.world.World; -public class EntityMarcellDAvis extends EntityZombie -{ - public EntityMarcellDAvis(World worldIn) - { - super(worldIn); - this.setSize(0.6F, 1.95F); - } - - protected SoundEvent getAmbientSound() - { - return ModSoundEvents.ENTITY_MARCELLDAVIS_AMBIENT; +public class EntityMarcellDAvis extends EntityZombie { + public EntityMarcellDAvis(World worldIn) { + super(worldIn); + this.setSize(0.6F, 1.95F); } - protected SoundEvent getHurtSound(DamageSource damageSourceIn) - { - return ModSoundEvents.ENTITY_MARCELLDAVIS_HURT; + @Override + protected SoundEvent getAmbientSound() { + return ModSoundEvents.ENTITY_MARCELLDAVIS_AMBIENT; } - protected SoundEvent getDeathSound() - { - return ModSoundEvents.ENTITY_MARCELLDAVIS_DEATH; + @Override + protected SoundEvent getHurtSound(DamageSource damageSourceIn) { + return ModSoundEvents.ENTITY_MARCELLDAVIS_HURT; + } + + @Override + protected SoundEvent getDeathSound() { + return ModSoundEvents.ENTITY_MARCELLDAVIS_DEATH; } } \ No newline at end of file diff --git a/src/main/java/mod/acgaming/spackenmobs/entities/EntityMrBean.java b/src/main/java/mod/acgaming/spackenmobs/entities/EntityMrBean.java index 17b98cc..6569036 100644 --- a/src/main/java/mod/acgaming/spackenmobs/entities/EntityMrBean.java +++ b/src/main/java/mod/acgaming/spackenmobs/entities/EntityMrBean.java @@ -1,30 +1,29 @@ package mod.acgaming.spackenmobs.entities; + import mod.acgaming.spackenmobs.misc.ModSoundEvents; import net.minecraft.entity.monster.EntityZombie; import net.minecraft.util.DamageSource; import net.minecraft.util.SoundEvent; import net.minecraft.world.World; -public class EntityMrBean extends EntityZombie -{ - public EntityMrBean(World worldIn) - { - super(worldIn); - this.setSize(0.6F, 1.95F); - } - - protected SoundEvent getAmbientSound() - { - return ModSoundEvents.ENTITY_MRBEAN_AMBIENT; +public class EntityMrBean extends EntityZombie { + public EntityMrBean(World worldIn) { + super(worldIn); + this.setSize(0.6F, 1.95F); } - protected SoundEvent getHurtSound(DamageSource damageSourceIn) - { - return ModSoundEvents.ENTITY_MRBEAN_HURT; + @Override + protected SoundEvent getAmbientSound() { + return ModSoundEvents.ENTITY_MRBEAN_AMBIENT; } - protected SoundEvent getDeathSound() - { - return ModSoundEvents.ENTITY_MRBEAN_DEATH; + @Override + protected SoundEvent getHurtSound(DamageSource damageSourceIn) { + return ModSoundEvents.ENTITY_MRBEAN_HURT; + } + + @Override + protected SoundEvent getDeathSound() { + return ModSoundEvents.ENTITY_MRBEAN_DEATH; } } \ No newline at end of file diff --git a/src/main/java/mod/acgaming/spackenmobs/entities/EntitySchalker.java b/src/main/java/mod/acgaming/spackenmobs/entities/EntitySchalker.java index 5db7af5..c444ee1 100644 --- a/src/main/java/mod/acgaming/spackenmobs/entities/EntitySchalker.java +++ b/src/main/java/mod/acgaming/spackenmobs/entities/EntitySchalker.java @@ -1,4 +1,5 @@ package mod.acgaming.spackenmobs.entities; + import java.util.List; import java.util.UUID; @@ -8,8 +9,7 @@ import com.google.common.base.Optional; import com.google.common.base.Predicate; import mod.acgaming.spackenmobs.misc.ModSoundEvents; -import net.minecraft.block.BlockPistonBase; -import net.minecraft.block.BlockPistonExtension; +import net.minecraft.block.BlockDirectional; import net.minecraft.block.material.Material; import net.minecraft.block.state.IBlockState; import net.minecraft.entity.Entity; @@ -52,767 +52,689 @@ import net.minecraft.world.storage.loot.LootTableList; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; -public class EntitySchalker extends EntityGolem implements IMob -{ +public class EntitySchalker extends EntityGolem implements IMob { private static final UUID COVERED_ARMOR_BONUS_ID = UUID.fromString("7E0292F2-9434-48D5-A29F-9583AF7DF27F"); - private static final AttributeModifier COVERED_ARMOR_BONUS_MODIFIER = (new AttributeModifier(COVERED_ARMOR_BONUS_ID, "Covered armor bonus", 20.0D, 0)).setSaved(false); - protected static final DataParameter ATTACHED_FACE = EntityDataManager.createKey(EntitySchalker.class, DataSerializers.FACING); - protected static final DataParameter> ATTACHED_BLOCK_POS = EntityDataManager.>createKey(EntitySchalker.class, DataSerializers.OPTIONAL_BLOCK_POS); - protected static final DataParameter PEEK_TICK = EntityDataManager.createKey(EntitySchalker.class, DataSerializers.BYTE); - protected static final DataParameter COLOR = EntityDataManager.createKey(EntitySchalker.class, DataSerializers.BYTE); + private static final AttributeModifier COVERED_ARMOR_BONUS_MODIFIER = (new AttributeModifier(COVERED_ARMOR_BONUS_ID, + "Covered armor bonus", 20.0D, 0)).setSaved(false); + protected static final DataParameter ATTACHED_FACE = EntityDataManager + .createKey(EntitySchalker.class, DataSerializers.FACING); + protected static final DataParameter> ATTACHED_BLOCK_POS = EntityDataManager + .>createKey(EntitySchalker.class, DataSerializers.OPTIONAL_BLOCK_POS); + protected static final DataParameter PEEK_TICK = EntityDataManager.createKey(EntitySchalker.class, + DataSerializers.BYTE); + protected static final DataParameter COLOR = EntityDataManager.createKey(EntitySchalker.class, + DataSerializers.BYTE); public static final EnumDyeColor DEFAULT_COLOR = EnumDyeColor.PURPLE; private float prevPeekAmount; private float peekAmount; private BlockPos currentAttachmentPosition; private int clientSideTeleportInterpolation; - public EntitySchalker(World worldIn) - { - super(worldIn); - this.setSize(1.0F, 1.0F); - this.prevRenderYawOffset = 180.0F; - this.renderYawOffset = 180.0F; - this.isImmuneToFire = true; - this.currentAttachmentPosition = null; - this.experienceValue = 5; + public EntitySchalker(World worldIn) { + super(worldIn); + this.setSize(1.0F, 1.0F); + this.prevRenderYawOffset = 180.0F; + this.renderYawOffset = 180.0F; + this.isImmuneToFire = true; + this.currentAttachmentPosition = null; + this.experienceValue = 5; } - + + @Override @Nullable - public IEntityLivingData onInitialSpawn(DifficultyInstance difficulty, @Nullable IEntityLivingData livingdata) - { - this.renderYawOffset = 180.0F; - this.prevRenderYawOffset = 180.0F; - this.rotationYaw = 180.0F; - this.prevRotationYaw = 180.0F; - this.rotationYawHead = 180.0F; - this.prevRotationYawHead = 180.0F; - return super.onInitialSpawn(difficulty, livingdata); + public IEntityLivingData onInitialSpawn(DifficultyInstance difficulty, @Nullable IEntityLivingData livingdata) { + this.renderYawOffset = 180.0F; + this.prevRenderYawOffset = 180.0F; + this.rotationYaw = 180.0F; + this.prevRotationYaw = 180.0F; + this.rotationYawHead = 180.0F; + this.prevRotationYawHead = 180.0F; + return super.onInitialSpawn(difficulty, livingdata); } - protected void initEntityAI() - { - this.tasks.addTask(1, new EntityAIWatchClosest(this, EntityPlayer.class, 8.0F)); - this.tasks.addTask(4, new EntitySchalker.AIAttack()); - this.tasks.addTask(7, new EntitySchalker.AIPeek()); - this.tasks.addTask(8, new EntityAILookIdle(this)); - this.targetTasks.addTask(1, new EntityAIHurtByTarget(this, true, new Class[0])); - this.targetTasks.addTask(2, new EntitySchalker.AIAttackNearest(this)); - this.targetTasks.addTask(3, new EntitySchalker.AIDefenseAttack(this)); - } - - protected boolean canTriggerWalking() - { - return false; + @Override + protected void initEntityAI() { + this.tasks.addTask(1, new EntityAIWatchClosest(this, EntityPlayer.class, 8.0F)); + this.tasks.addTask(4, new EntitySchalker.AIAttack()); + this.tasks.addTask(7, new EntitySchalker.AIPeek()); + this.tasks.addTask(8, new EntityAILookIdle(this)); + this.targetTasks.addTask(1, new EntityAIHurtByTarget(this, true, new Class[0])); + this.targetTasks.addTask(2, new EntitySchalker.AIAttackNearest(this)); + this.targetTasks.addTask(3, new EntitySchalker.AIDefenseAttack(this)); } - public SoundCategory getSoundCategory() - { - return SoundCategory.HOSTILE; + @Override + protected boolean canTriggerWalking() { + return false; } - protected SoundEvent getAmbientSound() - { - return ModSoundEvents.ENTITY_SCHALKER_AMBIENT; - } - - public void playLivingSound() - { - if (!this.isClosed()) - { - super.playLivingSound(); - } + @Override + public SoundCategory getSoundCategory() { + return SoundCategory.HOSTILE; } - protected SoundEvent getDeathSound() - { - return ModSoundEvents.ENTITY_SCHALKER_DEATH; + @Override + protected SoundEvent getAmbientSound() { + return ModSoundEvents.ENTITY_SCHALKER_AMBIENT; } - protected SoundEvent getHurtSound(DamageSource damageSourceIn) - { - return this.isClosed() ? SoundEvents.ENTITY_SHULKER_HURT_CLOSED : SoundEvents.ENTITY_SHULKER_HURT; + @Override + public void playLivingSound() { + if (!this.isClosed()) { + super.playLivingSound(); + } } - protected void entityInit() - { - super.entityInit(); - this.dataManager.register(ATTACHED_FACE, EnumFacing.DOWN); - this.dataManager.register(ATTACHED_BLOCK_POS, Optional.absent()); - this.dataManager.register(PEEK_TICK, Byte.valueOf((byte)0)); - this.dataManager.register(COLOR, Byte.valueOf((byte)DEFAULT_COLOR.getMetadata())); + @Override + protected SoundEvent getDeathSound() { + return ModSoundEvents.ENTITY_SCHALKER_DEATH; } - protected void applyEntityAttributes() - { - super.applyEntityAttributes(); - this.getEntityAttribute(SharedMonsterAttributes.MAX_HEALTH).setBaseValue(30.0D); + @Override + protected SoundEvent getHurtSound(DamageSource damageSourceIn) { + return this.isClosed() ? SoundEvents.ENTITY_SHULKER_HURT_CLOSED : SoundEvents.ENTITY_SHULKER_HURT; } - protected EntityBodyHelper createBodyHelper() - { - return new EntitySchalker.BodyHelper(this); + @Override + protected void entityInit() { + super.entityInit(); + this.dataManager.register(ATTACHED_FACE, EnumFacing.DOWN); + this.dataManager.register(ATTACHED_BLOCK_POS, Optional.absent()); + this.dataManager.register(PEEK_TICK, Byte.valueOf((byte) 0)); + this.dataManager.register(COLOR, Byte.valueOf((byte) DEFAULT_COLOR.getMetadata())); } - public static void registerFixesSchalker(DataFixer fixer) - { - EntityLiving.registerFixesMob(fixer, EntitySchalker.class); - } - - public void readEntityFromNBT(NBTTagCompound compound) - { - super.readEntityFromNBT(compound); - this.dataManager.set(ATTACHED_FACE, EnumFacing.getFront(compound.getByte("AttachFace"))); - this.dataManager.set(PEEK_TICK, Byte.valueOf(compound.getByte("Peek"))); - this.dataManager.set(COLOR, Byte.valueOf(compound.getByte("Color"))); - - if (compound.hasKey("APX")) - { - int i = compound.getInteger("APX"); - int j = compound.getInteger("APY"); - int k = compound.getInteger("APZ"); - this.dataManager.set(ATTACHED_BLOCK_POS, Optional.of(new BlockPos(i, j, k))); - } - else - { - this.dataManager.set(ATTACHED_BLOCK_POS, Optional.absent()); - } - } - - public void writeEntityToNBT(NBTTagCompound compound) - { - super.writeEntityToNBT(compound); - compound.setByte("AttachFace", (byte)((EnumFacing)this.dataManager.get(ATTACHED_FACE)).getIndex()); - compound.setByte("Peek", ((Byte)this.dataManager.get(PEEK_TICK)).byteValue()); - compound.setByte("Color", ((Byte)this.dataManager.get(COLOR)).byteValue()); - BlockPos blockpos = this.getAttachmentPos(); - - if (blockpos != null) - { - compound.setInteger("APX", blockpos.getX()); - compound.setInteger("APY", blockpos.getY()); - compound.setInteger("APZ", blockpos.getZ()); - } - } - - public void onUpdate() - { - super.onUpdate(); - BlockPos blockpos = (BlockPos)((Optional)this.dataManager.get(ATTACHED_BLOCK_POS)).orNull(); - - if (blockpos == null && !this.world.isRemote) - { - blockpos = new BlockPos(this); - this.dataManager.set(ATTACHED_BLOCK_POS, Optional.of(blockpos)); - } - - if (this.isRiding()) - { - blockpos = null; - float f = this.getRidingEntity().rotationYaw; - this.rotationYaw = f; - this.renderYawOffset = f; - this.prevRenderYawOffset = f; - this.clientSideTeleportInterpolation = 0; - } - else if (!this.world.isRemote) - { - IBlockState iblockstate = this.world.getBlockState(blockpos); - - if (iblockstate.getMaterial() != Material.AIR) - { - if (iblockstate.getBlock() == Blocks.PISTON_EXTENSION) - { - EnumFacing enumfacing = (EnumFacing)iblockstate.getValue(BlockPistonBase.FACING); - - if (this.world.isAirBlock(blockpos.offset(enumfacing))) - { - blockpos = blockpos.offset(enumfacing); - this.dataManager.set(ATTACHED_BLOCK_POS, Optional.of(blockpos)); - } - else - { - this.tryTeleportToNewPosition(); - } - } - else if (iblockstate.getBlock() == Blocks.PISTON_HEAD) - { - EnumFacing enumfacing3 = (EnumFacing)iblockstate.getValue(BlockPistonExtension.FACING); - - if (this.world.isAirBlock(blockpos.offset(enumfacing3))) - { - blockpos = blockpos.offset(enumfacing3); - this.dataManager.set(ATTACHED_BLOCK_POS, Optional.of(blockpos)); - } - else - { - this.tryTeleportToNewPosition(); - } - } - else - { - this.tryTeleportToNewPosition(); - } - } - - BlockPos blockpos1 = blockpos.offset(this.getAttachmentFacing()); - - if (!this.world.isBlockNormalCube(blockpos1, false)) - { - boolean flag = false; - - for (EnumFacing enumfacing1 : EnumFacing.values()) - { - blockpos1 = blockpos.offset(enumfacing1); - - if (this.world.isBlockNormalCube(blockpos1, false)) - { - this.dataManager.set(ATTACHED_FACE, enumfacing1); - flag = true; - break; - } - } - - if (!flag) - { - this.tryTeleportToNewPosition(); - } - } - - BlockPos blockpos2 = blockpos.offset(this.getAttachmentFacing().getOpposite()); - - if (this.world.isBlockNormalCube(blockpos2, false)) - { - this.tryTeleportToNewPosition(); - } - } - - float f1 = (float)this.getPeekTick() * 0.01F; - this.prevPeekAmount = this.peekAmount; - - if (this.peekAmount > f1) - { - this.peekAmount = MathHelper.clamp(this.peekAmount - 0.05F, f1, 1.0F); - } - else if (this.peekAmount < f1) - { - this.peekAmount = MathHelper.clamp(this.peekAmount + 0.05F, 0.0F, f1); - } - - if (blockpos != null) - { - if (this.world.isRemote) - { - if (this.clientSideTeleportInterpolation > 0 && this.currentAttachmentPosition != null) - { - --this.clientSideTeleportInterpolation; - } - else - { - this.currentAttachmentPosition = blockpos; - } - } - - this.posX = (double)blockpos.getX() + 0.5D; - this.posY = (double)blockpos.getY(); - this.posZ = (double)blockpos.getZ() + 0.5D; - if (this.isAddedToWorld() && !this.world.isRemote) this.world.updateEntityWithOptionalForce(this, false); // Forge - Process chunk registration after moving. - this.prevPosX = this.posX; - this.prevPosY = this.posY; - this.prevPosZ = this.posZ; - this.lastTickPosX = this.posX; - this.lastTickPosY = this.posY; - this.lastTickPosZ = this.posZ; - double d3 = 0.5D - (double)MathHelper.sin((0.5F + this.peekAmount) * (float)Math.PI) * 0.5D; - double d4 = 0.5D - (double)MathHelper.sin((0.5F + this.prevPeekAmount) * (float)Math.PI) * 0.5D; - double d5 = d3 - d4; - double d0 = 0.0D; - double d1 = 0.0D; - double d2 = 0.0D; - EnumFacing enumfacing2 = this.getAttachmentFacing(); - - switch (enumfacing2) - { - case DOWN: - this.setEntityBoundingBox(new AxisAlignedBB(this.posX - 0.5D, this.posY, this.posZ - 0.5D, this.posX + 0.5D, this.posY + 1.0D + d3, this.posZ + 0.5D)); - d1 = d5; - break; - case UP: - this.setEntityBoundingBox(new AxisAlignedBB(this.posX - 0.5D, this.posY - d3, this.posZ - 0.5D, this.posX + 0.5D, this.posY + 1.0D, this.posZ + 0.5D)); - d1 = -d5; - break; - case NORTH: - this.setEntityBoundingBox(new AxisAlignedBB(this.posX - 0.5D, this.posY, this.posZ - 0.5D, this.posX + 0.5D, this.posY + 1.0D, this.posZ + 0.5D + d3)); - d2 = d5; - break; - case SOUTH: - this.setEntityBoundingBox(new AxisAlignedBB(this.posX - 0.5D, this.posY, this.posZ - 0.5D - d3, this.posX + 0.5D, this.posY + 1.0D, this.posZ + 0.5D)); - d2 = -d5; - break; - case WEST: - this.setEntityBoundingBox(new AxisAlignedBB(this.posX - 0.5D, this.posY, this.posZ - 0.5D, this.posX + 0.5D + d3, this.posY + 1.0D, this.posZ + 0.5D)); - d0 = d5; - break; - case EAST: - this.setEntityBoundingBox(new AxisAlignedBB(this.posX - 0.5D - d3, this.posY, this.posZ - 0.5D, this.posX + 0.5D, this.posY + 1.0D, this.posZ + 0.5D)); - d0 = -d5; - } - - if (d5 > 0.0D) - { - List list = this.world.getEntitiesWithinAABBExcludingEntity(this, this.getEntityBoundingBox()); - - if (!list.isEmpty()) - { - for (Entity entity : list) - { - if (!(entity instanceof EntitySchalker) && !entity.noClip) - { - entity.move(MoverType.SHULKER, d0, d1, d2); - } - } - } - } - } - } - - public void move(MoverType type, double x, double y, double z) - { - if (type == MoverType.SHULKER_BOX) - { - this.tryTeleportToNewPosition(); - } - else - { - super.move(type, x, y, z); - } - } - - public void setPosition(double x, double y, double z) - { - super.setPosition(x, y, z); - - if (this.dataManager != null && this.ticksExisted != 0) - { - Optional optional = (Optional)this.dataManager.get(ATTACHED_BLOCK_POS); - Optional optional1 = Optional.of(new BlockPos(x, y, z)); - - if (!optional1.equals(optional)) - { - this.dataManager.set(ATTACHED_BLOCK_POS, optional1); - this.dataManager.set(PEEK_TICK, Byte.valueOf((byte)0)); - this.isAirBorne = true; - } - } + @Override + protected void applyEntityAttributes() { + super.applyEntityAttributes(); + this.getEntityAttribute(SharedMonsterAttributes.MAX_HEALTH).setBaseValue(30.0D); } - protected boolean tryTeleportToNewPosition() - { - if (!this.isAIDisabled() && this.isEntityAlive()) - { - BlockPos blockpos = new BlockPos(this); - - for (int i = 0; i < 5; ++i) - { - BlockPos blockpos1 = blockpos.add(8 - this.rand.nextInt(17), 8 - this.rand.nextInt(17), 8 - this.rand.nextInt(17)); - - if (blockpos1.getY() > 0 && this.world.isAirBlock(blockpos1) && this.world.isInsideWorldBorder(this) && this.world.getCollisionBoxes(this, new AxisAlignedBB(blockpos1)).isEmpty()) - { - boolean flag = false; - - for (EnumFacing enumfacing : EnumFacing.values()) - { - if (this.world.isBlockNormalCube(blockpos1.offset(enumfacing), false)) - { - this.dataManager.set(ATTACHED_FACE, enumfacing); - flag = true; - break; - } - } - - if (flag) - { - net.minecraftforge.event.entity.living.EnderTeleportEvent event = new net.minecraftforge.event.entity.living.EnderTeleportEvent(this, blockpos1.getX(), blockpos1.getY(), blockpos1.getZ(), 0); - if (net.minecraftforge.common.MinecraftForge.EVENT_BUS.post(event)) flag = false; - blockpos1 = new BlockPos(event.getTargetX(), event.getTargetY(), event.getTargetZ()); - } - - if (flag) - { - this.playSound(SoundEvents.ENTITY_SHULKER_TELEPORT, 1.0F, 1.0F); - this.dataManager.set(ATTACHED_BLOCK_POS, Optional.of(blockpos1)); - this.dataManager.set(PEEK_TICK, Byte.valueOf((byte)0)); - this.setAttackTarget((EntityLivingBase)null); - return true; - } - } - } - - return false; - } - else - { - return true; - } - } - - public void onLivingUpdate() - { - super.onLivingUpdate(); - this.motionX = 0.0D; - this.motionY = 0.0D; - this.motionZ = 0.0D; - this.prevRenderYawOffset = 180.0F; - this.renderYawOffset = 180.0F; - this.rotationYaw = 180.0F; + @Override + protected EntityBodyHelper createBodyHelper() { + return new EntitySchalker.BodyHelper(this); } - public void notifyDataManagerChange(DataParameter key) - { - if (ATTACHED_BLOCK_POS.equals(key) && this.world.isRemote && !this.isRiding()) - { - BlockPos blockpos = this.getAttachmentPos(); - - if (blockpos != null) - { - if (this.currentAttachmentPosition == null) - { - this.currentAttachmentPosition = blockpos; - } - else - { - this.clientSideTeleportInterpolation = 6; - } - - this.posX = (double)blockpos.getX() + 0.5D; - this.posY = (double)blockpos.getY(); - this.posZ = (double)blockpos.getZ() + 0.5D; - this.prevPosX = this.posX; - this.prevPosY = this.posY; - this.prevPosZ = this.posZ; - this.lastTickPosX = this.posX; - this.lastTickPosY = this.posY; - this.lastTickPosZ = this.posZ; - } - } - - super.notifyDataManagerChange(key); + public static void registerFixesSchalker(DataFixer fixer) { + EntityLiving.registerFixesMob(fixer, EntitySchalker.class); } - + + @Override + public void readEntityFromNBT(NBTTagCompound compound) { + super.readEntityFromNBT(compound); + this.dataManager.set(ATTACHED_FACE, EnumFacing.getFront(compound.getByte("AttachFace"))); + this.dataManager.set(PEEK_TICK, Byte.valueOf(compound.getByte("Peek"))); + this.dataManager.set(COLOR, Byte.valueOf(compound.getByte("Color"))); + + if (compound.hasKey("APX")) { + int i = compound.getInteger("APX"); + int j = compound.getInteger("APY"); + int k = compound.getInteger("APZ"); + this.dataManager.set(ATTACHED_BLOCK_POS, Optional.of(new BlockPos(i, j, k))); + } else { + this.dataManager.set(ATTACHED_BLOCK_POS, Optional.absent()); + } + } + + @Override + public void writeEntityToNBT(NBTTagCompound compound) { + super.writeEntityToNBT(compound); + compound.setByte("AttachFace", (byte) this.dataManager.get(ATTACHED_FACE).getIndex()); + compound.setByte("Peek", this.dataManager.get(PEEK_TICK).byteValue()); + compound.setByte("Color", this.dataManager.get(COLOR).byteValue()); + BlockPos blockpos = this.getAttachmentPos(); + + if (blockpos != null) { + compound.setInteger("APX", blockpos.getX()); + compound.setInteger("APY", blockpos.getY()); + compound.setInteger("APZ", blockpos.getZ()); + } + } + + @Override + public void onUpdate() { + super.onUpdate(); + BlockPos blockpos = (BlockPos) ((Optional) this.dataManager.get(ATTACHED_BLOCK_POS)).orNull(); + + if (blockpos == null && !this.world.isRemote) { + blockpos = new BlockPos(this); + this.dataManager.set(ATTACHED_BLOCK_POS, Optional.of(blockpos)); + } + + if (this.isRiding()) { + blockpos = null; + float f = this.getRidingEntity().rotationYaw; + this.rotationYaw = f; + this.renderYawOffset = f; + this.prevRenderYawOffset = f; + this.clientSideTeleportInterpolation = 0; + } else if (!this.world.isRemote) { + IBlockState iblockstate = this.world.getBlockState(blockpos); + + if (iblockstate.getMaterial() != Material.AIR) { + if (iblockstate.getBlock() == Blocks.PISTON_EXTENSION) { + EnumFacing enumfacing = iblockstate.getValue(BlockDirectional.FACING); + + if (this.world.isAirBlock(blockpos.offset(enumfacing))) { + blockpos = blockpos.offset(enumfacing); + this.dataManager.set(ATTACHED_BLOCK_POS, Optional.of(blockpos)); + } else { + this.tryTeleportToNewPosition(); + } + } else if (iblockstate.getBlock() == Blocks.PISTON_HEAD) { + EnumFacing enumfacing3 = iblockstate.getValue(BlockDirectional.FACING); + + if (this.world.isAirBlock(blockpos.offset(enumfacing3))) { + blockpos = blockpos.offset(enumfacing3); + this.dataManager.set(ATTACHED_BLOCK_POS, Optional.of(blockpos)); + } else { + this.tryTeleportToNewPosition(); + } + } else { + this.tryTeleportToNewPosition(); + } + } + + BlockPos blockpos1 = blockpos.offset(this.getAttachmentFacing()); + + if (!this.world.isBlockNormalCube(blockpos1, false)) { + boolean flag = false; + + for (EnumFacing enumfacing1 : EnumFacing.values()) { + blockpos1 = blockpos.offset(enumfacing1); + + if (this.world.isBlockNormalCube(blockpos1, false)) { + this.dataManager.set(ATTACHED_FACE, enumfacing1); + flag = true; + break; + } + } + + if (!flag) { + this.tryTeleportToNewPosition(); + } + } + + BlockPos blockpos2 = blockpos.offset(this.getAttachmentFacing().getOpposite()); + + if (this.world.isBlockNormalCube(blockpos2, false)) { + this.tryTeleportToNewPosition(); + } + } + + float f1 = this.getPeekTick() * 0.01F; + this.prevPeekAmount = this.peekAmount; + + if (this.peekAmount > f1) { + this.peekAmount = MathHelper.clamp(this.peekAmount - 0.05F, f1, 1.0F); + } else if (this.peekAmount < f1) { + this.peekAmount = MathHelper.clamp(this.peekAmount + 0.05F, 0.0F, f1); + } + + if (blockpos != null) { + if (this.world.isRemote) { + if (this.clientSideTeleportInterpolation > 0 && this.currentAttachmentPosition != null) { + --this.clientSideTeleportInterpolation; + } else { + this.currentAttachmentPosition = blockpos; + } + } + + this.posX = blockpos.getX() + 0.5D; + this.posY = blockpos.getY(); + this.posZ = blockpos.getZ() + 0.5D; + if (this.isAddedToWorld() && !this.world.isRemote) + this.world.updateEntityWithOptionalForce(this, false); // Forge + // - + // Process + // chunk + // registration + // after + // moving. + this.prevPosX = this.posX; + this.prevPosY = this.posY; + this.prevPosZ = this.posZ; + this.lastTickPosX = this.posX; + this.lastTickPosY = this.posY; + this.lastTickPosZ = this.posZ; + double d3 = 0.5D - MathHelper.sin((0.5F + this.peekAmount) * (float) Math.PI) * 0.5D; + double d4 = 0.5D - MathHelper.sin((0.5F + this.prevPeekAmount) * (float) Math.PI) * 0.5D; + double d5 = d3 - d4; + double d0 = 0.0D; + double d1 = 0.0D; + double d2 = 0.0D; + EnumFacing enumfacing2 = this.getAttachmentFacing(); + + switch (enumfacing2) { + case DOWN: + this.setEntityBoundingBox(new AxisAlignedBB(this.posX - 0.5D, this.posY, this.posZ - 0.5D, + this.posX + 0.5D, this.posY + 1.0D + d3, this.posZ + 0.5D)); + d1 = d5; + break; + case UP: + this.setEntityBoundingBox(new AxisAlignedBB(this.posX - 0.5D, this.posY - d3, this.posZ - 0.5D, + this.posX + 0.5D, this.posY + 1.0D, this.posZ + 0.5D)); + d1 = -d5; + break; + case NORTH: + this.setEntityBoundingBox(new AxisAlignedBB(this.posX - 0.5D, this.posY, this.posZ - 0.5D, + this.posX + 0.5D, this.posY + 1.0D, this.posZ + 0.5D + d3)); + d2 = d5; + break; + case SOUTH: + this.setEntityBoundingBox(new AxisAlignedBB(this.posX - 0.5D, this.posY, this.posZ - 0.5D - d3, + this.posX + 0.5D, this.posY + 1.0D, this.posZ + 0.5D)); + d2 = -d5; + break; + case WEST: + this.setEntityBoundingBox(new AxisAlignedBB(this.posX - 0.5D, this.posY, this.posZ - 0.5D, + this.posX + 0.5D + d3, this.posY + 1.0D, this.posZ + 0.5D)); + d0 = d5; + break; + case EAST: + this.setEntityBoundingBox(new AxisAlignedBB(this.posX - 0.5D - d3, this.posY, this.posZ - 0.5D, + this.posX + 0.5D, this.posY + 1.0D, this.posZ + 0.5D)); + d0 = -d5; + } + + if (d5 > 0.0D) { + List list = this.world.getEntitiesWithinAABBExcludingEntity(this, this.getEntityBoundingBox()); + + if (!list.isEmpty()) { + for (Entity entity : list) { + if (!(entity instanceof EntitySchalker) && !entity.noClip) { + entity.move(MoverType.SHULKER, d0, d1, d2); + } + } + } + } + } + } + + @Override + public void move(MoverType type, double x, double y, double z) { + if (type == MoverType.SHULKER_BOX) { + this.tryTeleportToNewPosition(); + } else { + super.move(type, x, y, z); + } + } + + @Override + public void setPosition(double x, double y, double z) { + super.setPosition(x, y, z); + + if (this.dataManager != null && this.ticksExisted != 0) { + Optional optional = this.dataManager.get(ATTACHED_BLOCK_POS); + Optional optional1 = Optional.of(new BlockPos(x, y, z)); + + if (!optional1.equals(optional)) { + this.dataManager.set(ATTACHED_BLOCK_POS, optional1); + this.dataManager.set(PEEK_TICK, Byte.valueOf((byte) 0)); + this.isAirBorne = true; + } + } + } + + protected boolean tryTeleportToNewPosition() { + if (!this.isAIDisabled() && this.isEntityAlive()) { + BlockPos blockpos = new BlockPos(this); + + for (int i = 0; i < 5; ++i) { + BlockPos blockpos1 = blockpos.add(8 - this.rand.nextInt(17), 8 - this.rand.nextInt(17), + 8 - this.rand.nextInt(17)); + + if (blockpos1.getY() > 0 && this.world.isAirBlock(blockpos1) && this.world.isInsideWorldBorder(this) + && this.world.getCollisionBoxes(this, new AxisAlignedBB(blockpos1)).isEmpty()) { + boolean flag = false; + + for (EnumFacing enumfacing : EnumFacing.values()) { + if (this.world.isBlockNormalCube(blockpos1.offset(enumfacing), false)) { + this.dataManager.set(ATTACHED_FACE, enumfacing); + flag = true; + break; + } + } + + if (flag) { + net.minecraftforge.event.entity.living.EnderTeleportEvent event = new net.minecraftforge.event.entity.living.EnderTeleportEvent( + this, blockpos1.getX(), blockpos1.getY(), blockpos1.getZ(), 0); + if (net.minecraftforge.common.MinecraftForge.EVENT_BUS.post(event)) + flag = false; + blockpos1 = new BlockPos(event.getTargetX(), event.getTargetY(), event.getTargetZ()); + } + + if (flag) { + this.playSound(SoundEvents.ENTITY_SHULKER_TELEPORT, 1.0F, 1.0F); + this.dataManager.set(ATTACHED_BLOCK_POS, Optional.of(blockpos1)); + this.dataManager.set(PEEK_TICK, Byte.valueOf((byte) 0)); + this.setAttackTarget((EntityLivingBase) null); + return true; + } + } + } + + return false; + } else { + return true; + } + } + + @Override + public void onLivingUpdate() { + super.onLivingUpdate(); + this.motionX = 0.0D; + this.motionY = 0.0D; + this.motionZ = 0.0D; + this.prevRenderYawOffset = 180.0F; + this.renderYawOffset = 180.0F; + this.rotationYaw = 180.0F; + } + + @Override + public void notifyDataManagerChange(DataParameter key) { + if (ATTACHED_BLOCK_POS.equals(key) && this.world.isRemote && !this.isRiding()) { + BlockPos blockpos = this.getAttachmentPos(); + + if (blockpos != null) { + if (this.currentAttachmentPosition == null) { + this.currentAttachmentPosition = blockpos; + } else { + this.clientSideTeleportInterpolation = 6; + } + + this.posX = blockpos.getX() + 0.5D; + this.posY = blockpos.getY(); + this.posZ = blockpos.getZ() + 0.5D; + this.prevPosX = this.posX; + this.prevPosY = this.posY; + this.prevPosZ = this.posZ; + this.lastTickPosX = this.posX; + this.lastTickPosY = this.posY; + this.lastTickPosZ = this.posZ; + } + } + + super.notifyDataManagerChange(key); + } + + @Override @SideOnly(Side.CLIENT) - public void setPositionAndRotationDirect(double x, double y, double z, float yaw, float pitch, int posRotationIncrements, boolean teleport) - { - this.newPosRotationIncrements = 0; - } - - public boolean attackEntityFrom(DamageSource source, float amount) - { - if (this.isClosed()) - { - Entity entity = source.getImmediateSource(); - - if (entity instanceof EntityArrow) - { - return false; - } - } - - if (super.attackEntityFrom(source, amount)) - { - if ((double)this.getHealth() < (double)this.getMaxHealth() * 0.5D && this.rand.nextInt(4) == 0) - { - this.tryTeleportToNewPosition(); - } - - return true; - } - else - { - return false; - } + public void setPositionAndRotationDirect(double x, double y, double z, float yaw, float pitch, + int posRotationIncrements, boolean teleport) { + this.newPosRotationIncrements = 0; } - private boolean isClosed() - { - return this.getPeekTick() == 0; + @Override + public boolean attackEntityFrom(DamageSource source, float amount) { + if (this.isClosed()) { + Entity entity = source.getImmediateSource(); + + if (entity instanceof EntityArrow) { + return false; + } + } + + if (super.attackEntityFrom(source, amount)) { + if (this.getHealth() < this.getMaxHealth() * 0.5D && this.rand.nextInt(4) == 0) { + this.tryTeleportToNewPosition(); + } + + return true; + } else { + return false; + } } - + + private boolean isClosed() { + return this.getPeekTick() == 0; + } + + @Override @Nullable - public AxisAlignedBB getCollisionBoundingBox() - { - return this.isEntityAlive() ? this.getEntityBoundingBox() : null; + public AxisAlignedBB getCollisionBoundingBox() { + return this.isEntityAlive() ? this.getEntityBoundingBox() : null; } - public EnumFacing getAttachmentFacing() - { - return (EnumFacing)this.dataManager.get(ATTACHED_FACE); + public EnumFacing getAttachmentFacing() { + return this.dataManager.get(ATTACHED_FACE); } @Nullable - public BlockPos getAttachmentPos() - { - return (BlockPos)((Optional)this.dataManager.get(ATTACHED_BLOCK_POS)).orNull(); + public BlockPos getAttachmentPos() { + return (BlockPos) ((Optional) this.dataManager.get(ATTACHED_BLOCK_POS)).orNull(); } - public void setAttachmentPos(@Nullable BlockPos pos) - { - this.dataManager.set(ATTACHED_BLOCK_POS, Optional.fromNullable(pos)); + public void setAttachmentPos(@Nullable BlockPos pos) { + this.dataManager.set(ATTACHED_BLOCK_POS, Optional.fromNullable(pos)); } - public int getPeekTick() - { - return ((Byte)this.dataManager.get(PEEK_TICK)).byteValue(); + public int getPeekTick() { + return this.dataManager.get(PEEK_TICK).byteValue(); } - - public void updateArmorModifier(int p_184691_1_) - { - if (!this.world.isRemote) - { - this.getEntityAttribute(SharedMonsterAttributes.ARMOR).removeModifier(COVERED_ARMOR_BONUS_MODIFIER); - if (p_184691_1_ == 0) - { - this.getEntityAttribute(SharedMonsterAttributes.ARMOR).applyModifier(COVERED_ARMOR_BONUS_MODIFIER); - this.playSound(SoundEvents.ENTITY_SHULKER_CLOSE, 1.0F, 1.0F); - } - else - { - this.playSound(ModSoundEvents.ENTITY_SCHALKER_OPEN, 1.0F, 1.0F); - } - } + public void updateArmorModifier(int p_184691_1_) { + if (!this.world.isRemote) { + this.getEntityAttribute(SharedMonsterAttributes.ARMOR).removeModifier(COVERED_ARMOR_BONUS_MODIFIER); - this.dataManager.set(PEEK_TICK, Byte.valueOf((byte)p_184691_1_)); + if (p_184691_1_ == 0) { + this.getEntityAttribute(SharedMonsterAttributes.ARMOR).applyModifier(COVERED_ARMOR_BONUS_MODIFIER); + this.playSound(SoundEvents.ENTITY_SHULKER_CLOSE, 1.0F, 1.0F); + } else { + this.playSound(ModSoundEvents.ENTITY_SCHALKER_OPEN, 1.0F, 1.0F); + } + } + + this.dataManager.set(PEEK_TICK, Byte.valueOf((byte) p_184691_1_)); } @SideOnly(Side.CLIENT) - public float getClientPeekAmount(float p_184688_1_) - { - return this.prevPeekAmount + (this.peekAmount - this.prevPeekAmount) * p_184688_1_; + public float getClientPeekAmount(float p_184688_1_) { + return this.prevPeekAmount + (this.peekAmount - this.prevPeekAmount) * p_184688_1_; } @SideOnly(Side.CLIENT) - public int getClientTeleportInterp() - { - return this.clientSideTeleportInterpolation; + public int getClientTeleportInterp() { + return this.clientSideTeleportInterpolation; } @SideOnly(Side.CLIENT) - public BlockPos getOldAttachPos() - { - return this.currentAttachmentPosition; + public BlockPos getOldAttachPos() { + return this.currentAttachmentPosition; } - public float getEyeHeight() - { - return 0.5F; - } - - public int getVerticalFaceSpeed() - { - return 180; + @Override + public float getEyeHeight() { + return 0.5F; } - public int getHorizontalFaceSpeed() - { - return 180; - } - - public void applyEntityCollision(Entity entityIn) - { + @Override + public int getVerticalFaceSpeed() { + return 180; } - public float getCollisionBorderSize() - { - return 0.0F; + @Override + public int getHorizontalFaceSpeed() { + return 180; + } + + @Override + public void applyEntityCollision(Entity entityIn) { + } + + @Override + public float getCollisionBorderSize() { + return 0.0F; } @SideOnly(Side.CLIENT) - public boolean isAttachedToBlock() - { - return this.currentAttachmentPosition != null && this.getAttachmentPos() != null; + public boolean isAttachedToBlock() { + return this.currentAttachmentPosition != null && this.getAttachmentPos() != null; } + @Override @Nullable - protected ResourceLocation getLootTable() - { - return LootTableList.ENTITIES_SHULKER; + protected ResourceLocation getLootTable() { + return LootTableList.ENTITIES_SHULKER; } @SideOnly(Side.CLIENT) - public EnumDyeColor getColor() - { - return EnumDyeColor.byMetadata(((Byte)this.dataManager.get(COLOR)).byteValue()); + public EnumDyeColor getColor() { + return EnumDyeColor.byMetadata(this.dataManager.get(COLOR).byteValue()); } - class AIAttack extends EntityAIBase - { - private int attackTime; + class AIAttack extends EntityAIBase { + private int attackTime; - public AIAttack() - { - this.setMutexBits(3); - } + public AIAttack() { + this.setMutexBits(3); + } - public boolean shouldExecute() - { - EntityLivingBase entitylivingbase = EntitySchalker.this.getAttackTarget(); + @Override + public boolean shouldExecute() { + EntityLivingBase entitylivingbase = EntitySchalker.this.getAttackTarget(); - if (entitylivingbase != null && entitylivingbase.isEntityAlive()) - { - return EntitySchalker.this.world.getDifficulty() != EnumDifficulty.PEACEFUL; - } - else - { - return false; - } - } + if (entitylivingbase != null && entitylivingbase.isEntityAlive()) { + return EntitySchalker.this.world.getDifficulty() != EnumDifficulty.PEACEFUL; + } else { + return false; + } + } - public void startExecuting() - { - this.attackTime = 20; - EntitySchalker.this.updateArmorModifier(100); - } + @Override + public void startExecuting() { + this.attackTime = 20; + EntitySchalker.this.updateArmorModifier(100); + } - public void resetTask() - { - EntitySchalker.this.updateArmorModifier(0); - } + @Override + public void resetTask() { + EntitySchalker.this.updateArmorModifier(0); + } - public void updateTask() - { - if (EntitySchalker.this.world.getDifficulty() != EnumDifficulty.PEACEFUL) - { - --this.attackTime; - EntityLivingBase entitylivingbase = EntitySchalker.this.getAttackTarget(); - EntitySchalker.this.getLookHelper().setLookPositionWithEntity(entitylivingbase, 180.0F, 180.0F); - double d0 = EntitySchalker.this.getDistanceSq(entitylivingbase); + @Override + public void updateTask() { + if (EntitySchalker.this.world.getDifficulty() != EnumDifficulty.PEACEFUL) { + --this.attackTime; + EntityLivingBase entitylivingbase = EntitySchalker.this.getAttackTarget(); + EntitySchalker.this.getLookHelper().setLookPositionWithEntity(entitylivingbase, 180.0F, 180.0F); + double d0 = EntitySchalker.this.getDistanceSq(entitylivingbase); - if (d0 < 400.0D) - { - if (this.attackTime <= 0) - { - this.attackTime = 20 + EntitySchalker.this.rand.nextInt(10) * 20 / 2; - EntitySchalkerBullet entityschalkerbullet = new EntitySchalkerBullet(EntitySchalker.this.world, EntitySchalker.this, entitylivingbase, EntitySchalker.this.getAttachmentFacing().getAxis()); - EntitySchalker.this.world.spawnEntity(entityschalkerbullet); - EntitySchalker.this.playSound(ModSoundEvents.ENTITY_SCHALKER_SHOOT, 2.0F, (EntitySchalker.this.rand.nextFloat() - EntitySchalker.this.rand.nextFloat()) * 0.2F + 1.0F); - } - } - else - { - EntitySchalker.this.setAttackTarget((EntityLivingBase)null); - } + if (d0 < 400.0D) { + if (this.attackTime <= 0) { + this.attackTime = 20 + EntitySchalker.this.rand.nextInt(10) * 20 / 2; + EntitySchalkerBullet entityschalkerbullet = new EntitySchalkerBullet(EntitySchalker.this.world, + EntitySchalker.this, entitylivingbase, + EntitySchalker.this.getAttachmentFacing().getAxis()); + EntitySchalker.this.world.spawnEntity(entityschalkerbullet); + EntitySchalker.this.playSound(ModSoundEvents.ENTITY_SCHALKER_SHOOT, 2.0F, + (EntitySchalker.this.rand.nextFloat() - EntitySchalker.this.rand.nextFloat()) * 0.2F + + 1.0F); + } + } else { + EntitySchalker.this.setAttackTarget((EntityLivingBase) null); + } - super.updateTask(); - } - } + super.updateTask(); + } + } } - class AIAttackNearest extends EntityAINearestAttackableTarget - { - public AIAttackNearest(EntitySchalker schalker) - { - super(schalker, EntityPlayer.class, true); - } + class AIAttackNearest extends EntityAINearestAttackableTarget { + public AIAttackNearest(EntitySchalker schalker) { + super(schalker, EntityPlayer.class, true); + } - public boolean shouldExecute() - { - return EntitySchalker.this.world.getDifficulty() == EnumDifficulty.PEACEFUL ? false : super.shouldExecute(); - } + @Override + public boolean shouldExecute() { + return EntitySchalker.this.world.getDifficulty() == EnumDifficulty.PEACEFUL ? false : super.shouldExecute(); + } - protected AxisAlignedBB getTargetableArea(double targetDistance) - { - EnumFacing enumfacing = ((EntitySchalker)this.taskOwner).getAttachmentFacing(); + @Override + protected AxisAlignedBB getTargetableArea(double targetDistance) { + EnumFacing enumfacing = ((EntitySchalker) this.taskOwner).getAttachmentFacing(); - if (enumfacing.getAxis() == EnumFacing.Axis.X) - { - return this.taskOwner.getEntityBoundingBox().grow(4.0D, targetDistance, targetDistance); - } - else - { - return enumfacing.getAxis() == EnumFacing.Axis.Z ? this.taskOwner.getEntityBoundingBox().grow(targetDistance, targetDistance, 4.0D) : this.taskOwner.getEntityBoundingBox().grow(targetDistance, 4.0D, targetDistance); - } - } + if (enumfacing.getAxis() == EnumFacing.Axis.X) { + return this.taskOwner.getEntityBoundingBox().grow(4.0D, targetDistance, targetDistance); + } else { + return enumfacing.getAxis() == EnumFacing.Axis.Z + ? this.taskOwner.getEntityBoundingBox().grow(targetDistance, targetDistance, 4.0D) + : this.taskOwner.getEntityBoundingBox().grow(targetDistance, 4.0D, targetDistance); + } + } } - static class AIDefenseAttack extends EntityAINearestAttackableTarget - { - public AIDefenseAttack(EntitySchalker schalker) - { - super(schalker, EntityLivingBase.class, 10, true, false, new Predicate() - { - public boolean apply(@Nullable EntityLivingBase p_apply_1_) - { - return p_apply_1_ instanceof IMob; - } - }); - } + static class AIDefenseAttack extends EntityAINearestAttackableTarget { + public AIDefenseAttack(EntitySchalker schalker) { + super(schalker, EntityLivingBase.class, 10, true, false, new Predicate() { + @Override + public boolean apply(@Nullable EntityLivingBase p_apply_1_) { + return p_apply_1_ instanceof IMob; + } + }); + } - public boolean shouldExecute() - { - return this.taskOwner.getTeam() == null ? false : super.shouldExecute(); - } + @Override + public boolean shouldExecute() { + return this.taskOwner.getTeam() == null ? false : super.shouldExecute(); + } - protected AxisAlignedBB getTargetableArea(double targetDistance) - { - EnumFacing enumfacing = ((EntitySchalker)this.taskOwner).getAttachmentFacing(); + @Override + protected AxisAlignedBB getTargetableArea(double targetDistance) { + EnumFacing enumfacing = ((EntitySchalker) this.taskOwner).getAttachmentFacing(); - if (enumfacing.getAxis() == EnumFacing.Axis.X) - { - return this.taskOwner.getEntityBoundingBox().grow(4.0D, targetDistance, targetDistance); - } - else - { - return enumfacing.getAxis() == EnumFacing.Axis.Z ? this.taskOwner.getEntityBoundingBox().grow(targetDistance, targetDistance, 4.0D) : this.taskOwner.getEntityBoundingBox().grow(targetDistance, 4.0D, targetDistance); - } - } - } - - class AIPeek extends EntityAIBase - { - private int peekTime; - - private AIPeek() - { - } - - public boolean shouldExecute() - { - return EntitySchalker.this.getAttackTarget() == null && EntitySchalker.this.rand.nextInt(40) == 0; - } - - public boolean shouldContinueExecuting() - { - return EntitySchalker.this.getAttackTarget() == null && this.peekTime > 0; - } - - public void startExecuting() - { - this.peekTime = 20 * (1 + EntitySchalker.this.rand.nextInt(3)); - EntitySchalker.this.updateArmorModifier(30); - } - - public void resetTask() - { - if (EntitySchalker.this.getAttackTarget() == null) - { - EntitySchalker.this.updateArmorModifier(0); - } - } - - public void updateTask() - { - --this.peekTime; - } + if (enumfacing.getAxis() == EnumFacing.Axis.X) { + return this.taskOwner.getEntityBoundingBox().grow(4.0D, targetDistance, targetDistance); + } else { + return enumfacing.getAxis() == EnumFacing.Axis.Z + ? this.taskOwner.getEntityBoundingBox().grow(targetDistance, targetDistance, 4.0D) + : this.taskOwner.getEntityBoundingBox().grow(targetDistance, 4.0D, targetDistance); + } + } } - class BodyHelper extends EntityBodyHelper - { - public BodyHelper(EntityLivingBase theEntity) - { - super(theEntity); - } + class AIPeek extends EntityAIBase { + private int peekTime; - public void updateRenderAngles() - { - } + private AIPeek() { + } + + @Override + public boolean shouldExecute() { + return EntitySchalker.this.getAttackTarget() == null && EntitySchalker.this.rand.nextInt(40) == 0; + } + + @Override + public boolean shouldContinueExecuting() { + return EntitySchalker.this.getAttackTarget() == null && this.peekTime > 0; + } + + @Override + public void startExecuting() { + this.peekTime = 20 * (1 + EntitySchalker.this.rand.nextInt(3)); + EntitySchalker.this.updateArmorModifier(30); + } + + @Override + public void resetTask() { + if (EntitySchalker.this.getAttackTarget() == null) { + EntitySchalker.this.updateArmorModifier(0); + } + } + + @Override + public void updateTask() { + --this.peekTime; + } + } + + class BodyHelper extends EntityBodyHelper { + public BodyHelper(EntityLivingBase theEntity) { + super(theEntity); + } + + @Override + public void updateRenderAngles() { + } } } \ No newline at end of file diff --git a/src/main/java/mod/acgaming/spackenmobs/entities/EntitySchalkerBullet.java b/src/main/java/mod/acgaming/spackenmobs/entities/EntitySchalkerBullet.java index 5916690..2ee2590 100644 --- a/src/main/java/mod/acgaming/spackenmobs/entities/EntitySchalkerBullet.java +++ b/src/main/java/mod/acgaming/spackenmobs/entities/EntitySchalkerBullet.java @@ -1,4 +1,5 @@ package mod.acgaming.spackenmobs.entities; + import java.util.List; import java.util.UUID; @@ -29,8 +30,7 @@ import net.minecraft.world.WorldServer; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; -public class EntitySchalkerBullet extends Entity -{ +public class EntitySchalkerBullet extends Entity { private EntityLivingBase owner; private Entity target; @Nullable @@ -46,406 +46,355 @@ public class EntitySchalkerBullet extends Entity private UUID targetUniqueId; private BlockPos targetBlockPos; - public EntitySchalkerBullet(World worldIn) - { - super(worldIn); - this.setSize(0.3125F, 0.3125F); - this.noClip = true; + public EntitySchalkerBullet(World worldIn) { + super(worldIn); + this.setSize(0.3125F, 0.3125F); + this.noClip = true; } - public SoundCategory getSoundCategory() - { - return SoundCategory.HOSTILE; + @Override + public SoundCategory getSoundCategory() { + return SoundCategory.HOSTILE; } @SideOnly(Side.CLIENT) - public EntitySchalkerBullet(World worldIn, double x, double y, double z, double motionXIn, double motionYIn, double motionZIn) - { - this(worldIn); - this.setLocationAndAngles(x, y, z, this.rotationYaw, this.rotationPitch); - this.motionX = motionXIn; - this.motionY = motionYIn; - this.motionZ = motionZIn; + public EntitySchalkerBullet(World worldIn, double x, double y, double z, double motionXIn, double motionYIn, + double motionZIn) { + this(worldIn); + this.setLocationAndAngles(x, y, z, this.rotationYaw, this.rotationPitch); + this.motionX = motionXIn; + this.motionY = motionYIn; + this.motionZ = motionZIn; } - public EntitySchalkerBullet(World worldIn, EntityLivingBase ownerIn, Entity targetIn, EnumFacing.Axis p_i46772_4_) - { - this(worldIn); - this.owner = ownerIn; - BlockPos blockpos = new BlockPos(ownerIn); - double d0 = (double)blockpos.getX() + 0.5D; - double d1 = (double)blockpos.getY() + 0.5D; - double d2 = (double)blockpos.getZ() + 0.5D; - this.setLocationAndAngles(d0, d1, d2, this.rotationYaw, this.rotationPitch); - this.target = targetIn; - this.direction = EnumFacing.UP; - this.selectNextMoveDirection(p_i46772_4_); + public EntitySchalkerBullet(World worldIn, EntityLivingBase ownerIn, Entity targetIn, EnumFacing.Axis p_i46772_4_) { + this(worldIn); + this.owner = ownerIn; + BlockPos blockpos = new BlockPos(ownerIn); + double d0 = blockpos.getX() + 0.5D; + double d1 = blockpos.getY() + 0.5D; + double d2 = blockpos.getZ() + 0.5D; + this.setLocationAndAngles(d0, d1, d2, this.rotationYaw, this.rotationPitch); + this.target = targetIn; + this.direction = EnumFacing.UP; + this.selectNextMoveDirection(p_i46772_4_); } /** * (abstract) Protected helper method to write subclass entity data to NBT. */ - protected void writeEntityToNBT(NBTTagCompound compound) - { - if (this.owner != null) - { - BlockPos blockpos = new BlockPos(this.owner); - NBTTagCompound nbttagcompound = NBTUtil.createUUIDTag(this.owner.getUniqueID()); - nbttagcompound.setInteger("X", blockpos.getX()); - nbttagcompound.setInteger("Y", blockpos.getY()); - nbttagcompound.setInteger("Z", blockpos.getZ()); - compound.setTag("Owner", nbttagcompound); - } + @Override + protected void writeEntityToNBT(NBTTagCompound compound) { + if (this.owner != null) { + BlockPos blockpos = new BlockPos(this.owner); + NBTTagCompound nbttagcompound = NBTUtil.createUUIDTag(this.owner.getUniqueID()); + nbttagcompound.setInteger("X", blockpos.getX()); + nbttagcompound.setInteger("Y", blockpos.getY()); + nbttagcompound.setInteger("Z", blockpos.getZ()); + compound.setTag("Owner", nbttagcompound); + } - if (this.target != null) - { - BlockPos blockpos1 = new BlockPos(this.target); - NBTTagCompound nbttagcompound1 = NBTUtil.createUUIDTag(this.target.getUniqueID()); - nbttagcompound1.setInteger("X", blockpos1.getX()); - nbttagcompound1.setInteger("Y", blockpos1.getY()); - nbttagcompound1.setInteger("Z", blockpos1.getZ()); - compound.setTag("Target", nbttagcompound1); - } + if (this.target != null) { + BlockPos blockpos1 = new BlockPos(this.target); + NBTTagCompound nbttagcompound1 = NBTUtil.createUUIDTag(this.target.getUniqueID()); + nbttagcompound1.setInteger("X", blockpos1.getX()); + nbttagcompound1.setInteger("Y", blockpos1.getY()); + nbttagcompound1.setInteger("Z", blockpos1.getZ()); + compound.setTag("Target", nbttagcompound1); + } - if (this.direction != null) - { - compound.setInteger("Dir", this.direction.getIndex()); - } + if (this.direction != null) { + compound.setInteger("Dir", this.direction.getIndex()); + } - compound.setInteger("Steps", this.steps); - compound.setDouble("TXD", this.targetDeltaX); - compound.setDouble("TYD", this.targetDeltaY); - compound.setDouble("TZD", this.targetDeltaZ); + compound.setInteger("Steps", this.steps); + compound.setDouble("TXD", this.targetDeltaX); + compound.setDouble("TYD", this.targetDeltaY); + compound.setDouble("TZD", this.targetDeltaZ); } /** * (abstract) Protected helper method to read subclass entity data from NBT. */ - protected void readEntityFromNBT(NBTTagCompound compound) - { - this.steps = compound.getInteger("Steps"); - this.targetDeltaX = compound.getDouble("TXD"); - this.targetDeltaY = compound.getDouble("TYD"); - this.targetDeltaZ = compound.getDouble("TZD"); + @Override + protected void readEntityFromNBT(NBTTagCompound compound) { + this.steps = compound.getInteger("Steps"); + this.targetDeltaX = compound.getDouble("TXD"); + this.targetDeltaY = compound.getDouble("TYD"); + this.targetDeltaZ = compound.getDouble("TZD"); - if (compound.hasKey("Dir", 99)) - { - this.direction = EnumFacing.getFront(compound.getInteger("Dir")); - } + if (compound.hasKey("Dir", 99)) { + this.direction = EnumFacing.getFront(compound.getInteger("Dir")); + } - if (compound.hasKey("Owner", 10)) - { - NBTTagCompound nbttagcompound = compound.getCompoundTag("Owner"); - this.ownerUniqueId = NBTUtil.getUUIDFromTag(nbttagcompound); - this.ownerBlockPos = new BlockPos(nbttagcompound.getInteger("X"), nbttagcompound.getInteger("Y"), nbttagcompound.getInteger("Z")); - } + if (compound.hasKey("Owner", 10)) { + NBTTagCompound nbttagcompound = compound.getCompoundTag("Owner"); + this.ownerUniqueId = NBTUtil.getUUIDFromTag(nbttagcompound); + this.ownerBlockPos = new BlockPos(nbttagcompound.getInteger("X"), nbttagcompound.getInteger("Y"), + nbttagcompound.getInteger("Z")); + } - if (compound.hasKey("Target", 10)) - { - NBTTagCompound nbttagcompound1 = compound.getCompoundTag("Target"); - this.targetUniqueId = NBTUtil.getUUIDFromTag(nbttagcompound1); - this.targetBlockPos = new BlockPos(nbttagcompound1.getInteger("X"), nbttagcompound1.getInteger("Y"), nbttagcompound1.getInteger("Z")); - } + if (compound.hasKey("Target", 10)) { + NBTTagCompound nbttagcompound1 = compound.getCompoundTag("Target"); + this.targetUniqueId = NBTUtil.getUUIDFromTag(nbttagcompound1); + this.targetBlockPos = new BlockPos(nbttagcompound1.getInteger("X"), nbttagcompound1.getInteger("Y"), + nbttagcompound1.getInteger("Z")); + } } - protected void entityInit() - { + @Override + protected void entityInit() { } - private void setDirection(@Nullable EnumFacing directionIn) - { - this.direction = directionIn; + private void setDirection(@Nullable EnumFacing directionIn) { + this.direction = directionIn; } - private void selectNextMoveDirection(@Nullable EnumFacing.Axis p_184569_1_) - { - double d0 = 0.5D; - BlockPos blockpos; + private void selectNextMoveDirection(@Nullable EnumFacing.Axis p_184569_1_) { + double d0 = 0.5D; + BlockPos blockpos; - if (this.target == null) - { - blockpos = (new BlockPos(this)).down(); - } - else - { - d0 = (double)this.target.height * 0.5D; - blockpos = new BlockPos(this.target.posX, this.target.posY + d0, this.target.posZ); - } + if (this.target == null) { + blockpos = (new BlockPos(this)).down(); + } else { + d0 = this.target.height * 0.5D; + blockpos = new BlockPos(this.target.posX, this.target.posY + d0, this.target.posZ); + } - double d1 = (double)blockpos.getX() + 0.5D; - double d2 = (double)blockpos.getY() + d0; - double d3 = (double)blockpos.getZ() + 0.5D; - EnumFacing enumfacing = null; + double d1 = blockpos.getX() + 0.5D; + double d2 = blockpos.getY() + d0; + double d3 = blockpos.getZ() + 0.5D; + EnumFacing enumfacing = null; - if (blockpos.distanceSqToCenter(this.posX, this.posY, this.posZ) >= 4.0D) - { - BlockPos blockpos1 = new BlockPos(this); - List list = Lists.newArrayList(); + if (blockpos.distanceSqToCenter(this.posX, this.posY, this.posZ) >= 4.0D) { + BlockPos blockpos1 = new BlockPos(this); + List list = Lists.newArrayList(); - if (p_184569_1_ != EnumFacing.Axis.X) - { - if (blockpos1.getX() < blockpos.getX() && this.world.isAirBlock(blockpos1.east())) - { - list.add(EnumFacing.EAST); - } - else if (blockpos1.getX() > blockpos.getX() && this.world.isAirBlock(blockpos1.west())) - { - list.add(EnumFacing.WEST); - } - } + if (p_184569_1_ != EnumFacing.Axis.X) { + if (blockpos1.getX() < blockpos.getX() && this.world.isAirBlock(blockpos1.east())) { + list.add(EnumFacing.EAST); + } else if (blockpos1.getX() > blockpos.getX() && this.world.isAirBlock(blockpos1.west())) { + list.add(EnumFacing.WEST); + } + } - if (p_184569_1_ != EnumFacing.Axis.Y) - { - if (blockpos1.getY() < blockpos.getY() && this.world.isAirBlock(blockpos1.up())) - { - list.add(EnumFacing.UP); - } - else if (blockpos1.getY() > blockpos.getY() && this.world.isAirBlock(blockpos1.down())) - { - list.add(EnumFacing.DOWN); - } - } + if (p_184569_1_ != EnumFacing.Axis.Y) { + if (blockpos1.getY() < blockpos.getY() && this.world.isAirBlock(blockpos1.up())) { + list.add(EnumFacing.UP); + } else if (blockpos1.getY() > blockpos.getY() && this.world.isAirBlock(blockpos1.down())) { + list.add(EnumFacing.DOWN); + } + } - if (p_184569_1_ != EnumFacing.Axis.Z) - { - if (blockpos1.getZ() < blockpos.getZ() && this.world.isAirBlock(blockpos1.south())) - { - list.add(EnumFacing.SOUTH); - } - else if (blockpos1.getZ() > blockpos.getZ() && this.world.isAirBlock(blockpos1.north())) - { - list.add(EnumFacing.NORTH); - } - } + if (p_184569_1_ != EnumFacing.Axis.Z) { + if (blockpos1.getZ() < blockpos.getZ() && this.world.isAirBlock(blockpos1.south())) { + list.add(EnumFacing.SOUTH); + } else if (blockpos1.getZ() > blockpos.getZ() && this.world.isAirBlock(blockpos1.north())) { + list.add(EnumFacing.NORTH); + } + } - enumfacing = EnumFacing.random(this.rand); + enumfacing = EnumFacing.random(this.rand); - if (list.isEmpty()) - { - for (int i = 5; !this.world.isAirBlock(blockpos1.offset(enumfacing)) && i > 0; --i) - { - enumfacing = EnumFacing.random(this.rand); - } - } - else - { - enumfacing = list.get(this.rand.nextInt(list.size())); - } + if (list.isEmpty()) { + for (int i = 5; !this.world.isAirBlock(blockpos1.offset(enumfacing)) && i > 0; --i) { + enumfacing = EnumFacing.random(this.rand); + } + } else { + enumfacing = list.get(this.rand.nextInt(list.size())); + } - d1 = this.posX + (double)enumfacing.getFrontOffsetX(); - d2 = this.posY + (double)enumfacing.getFrontOffsetY(); - d3 = this.posZ + (double)enumfacing.getFrontOffsetZ(); - } + d1 = this.posX + enumfacing.getFrontOffsetX(); + d2 = this.posY + enumfacing.getFrontOffsetY(); + d3 = this.posZ + enumfacing.getFrontOffsetZ(); + } - this.setDirection(enumfacing); - double d6 = d1 - this.posX; - double d7 = d2 - this.posY; - double d4 = d3 - this.posZ; - double d5 = (double)MathHelper.sqrt(d6 * d6 + d7 * d7 + d4 * d4); + this.setDirection(enumfacing); + double d6 = d1 - this.posX; + double d7 = d2 - this.posY; + double d4 = d3 - this.posZ; + double d5 = MathHelper.sqrt(d6 * d6 + d7 * d7 + d4 * d4); - if (d5 == 0.0D) - { - this.targetDeltaX = 0.0D; - this.targetDeltaY = 0.0D; - this.targetDeltaZ = 0.0D; - } - else - { - this.targetDeltaX = d6 / d5 * 0.15D; - this.targetDeltaY = d7 / d5 * 0.15D; - this.targetDeltaZ = d4 / d5 * 0.15D; - } + if (d5 == 0.0D) { + this.targetDeltaX = 0.0D; + this.targetDeltaY = 0.0D; + this.targetDeltaZ = 0.0D; + } else { + this.targetDeltaX = d6 / d5 * 0.15D; + this.targetDeltaY = d7 / d5 * 0.15D; + this.targetDeltaZ = d4 / d5 * 0.15D; + } - this.isAirBorne = true; - this.steps = 10 + this.rand.nextInt(5) * 10; + this.isAirBorne = true; + this.steps = 10 + this.rand.nextInt(5) * 10; } /** * Called to update the entity's position/logic. */ - public void onUpdate() - { - if (!this.world.isRemote && this.world.getDifficulty() == EnumDifficulty.PEACEFUL) - { - this.setDead(); - } - else - { - super.onUpdate(); + @Override + public void onUpdate() { + if (!this.world.isRemote && this.world.getDifficulty() == EnumDifficulty.PEACEFUL) { + this.setDead(); + } else { + super.onUpdate(); - if (!this.world.isRemote) - { - if (this.target == null && this.targetUniqueId != null) - { - for (EntityLivingBase entitylivingbase : this.world.getEntitiesWithinAABB(EntityLivingBase.class, new AxisAlignedBB(this.targetBlockPos.add(-2, -2, -2), this.targetBlockPos.add(2, 2, 2)))) - { - if (entitylivingbase.getUniqueID().equals(this.targetUniqueId)) - { - this.target = entitylivingbase; - break; - } - } + if (!this.world.isRemote) { + if (this.target == null && this.targetUniqueId != null) { + for (EntityLivingBase entitylivingbase : this.world.getEntitiesWithinAABB(EntityLivingBase.class, + new AxisAlignedBB(this.targetBlockPos.add(-2, -2, -2), this.targetBlockPos.add(2, 2, 2)))) { + if (entitylivingbase.getUniqueID().equals(this.targetUniqueId)) { + this.target = entitylivingbase; + break; + } + } - this.targetUniqueId = null; - } + this.targetUniqueId = null; + } - if (this.owner == null && this.ownerUniqueId != null) - { - for (EntityLivingBase entitylivingbase1 : this.world.getEntitiesWithinAABB(EntityLivingBase.class, new AxisAlignedBB(this.ownerBlockPos.add(-2, -2, -2), this.ownerBlockPos.add(2, 2, 2)))) - { - if (entitylivingbase1.getUniqueID().equals(this.ownerUniqueId)) - { - this.owner = entitylivingbase1; - break; - } - } + if (this.owner == null && this.ownerUniqueId != null) { + for (EntityLivingBase entitylivingbase1 : this.world.getEntitiesWithinAABB(EntityLivingBase.class, + new AxisAlignedBB(this.ownerBlockPos.add(-2, -2, -2), this.ownerBlockPos.add(2, 2, 2)))) { + if (entitylivingbase1.getUniqueID().equals(this.ownerUniqueId)) { + this.owner = entitylivingbase1; + break; + } + } - this.ownerUniqueId = null; - } + this.ownerUniqueId = null; + } - if (this.target == null || !this.target.isEntityAlive() || this.target instanceof EntityPlayer && ((EntityPlayer)this.target).isSpectator()) - { - if (!this.hasNoGravity()) - { - this.motionY -= 0.04D; - } - } - else - { - this.targetDeltaX = MathHelper.clamp(this.targetDeltaX * 1.025D, -1.0D, 1.0D); - this.targetDeltaY = MathHelper.clamp(this.targetDeltaY * 1.025D, -1.0D, 1.0D); - this.targetDeltaZ = MathHelper.clamp(this.targetDeltaZ * 1.025D, -1.0D, 1.0D); - this.motionX += (this.targetDeltaX - this.motionX) * 0.2D; - this.motionY += (this.targetDeltaY - this.motionY) * 0.2D; - this.motionZ += (this.targetDeltaZ - this.motionZ) * 0.2D; - } + if (this.target == null || !this.target.isEntityAlive() + || this.target instanceof EntityPlayer && ((EntityPlayer) this.target).isSpectator()) { + if (!this.hasNoGravity()) { + this.motionY -= 0.04D; + } + } else { + this.targetDeltaX = MathHelper.clamp(this.targetDeltaX * 1.025D, -1.0D, 1.0D); + this.targetDeltaY = MathHelper.clamp(this.targetDeltaY * 1.025D, -1.0D, 1.0D); + this.targetDeltaZ = MathHelper.clamp(this.targetDeltaZ * 1.025D, -1.0D, 1.0D); + this.motionX += (this.targetDeltaX - this.motionX) * 0.2D; + this.motionY += (this.targetDeltaY - this.motionY) * 0.2D; + this.motionZ += (this.targetDeltaZ - this.motionZ) * 0.2D; + } - RayTraceResult raytraceresult = ProjectileHelper.forwardsRaycast(this, true, false, this.owner); + RayTraceResult raytraceresult = ProjectileHelper.forwardsRaycast(this, true, false, this.owner); - if (raytraceresult != null && !net.minecraftforge.event.ForgeEventFactory.onProjectileImpact(this, raytraceresult)) - { - this.bulletHit(raytraceresult); - } - } + if (raytraceresult != null + && !net.minecraftforge.event.ForgeEventFactory.onProjectileImpact(this, raytraceresult)) { + this.bulletHit(raytraceresult); + } + } - this.setPosition(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - ProjectileHelper.rotateTowardsMovement(this, 0.5F); + this.setPosition(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); + ProjectileHelper.rotateTowardsMovement(this, 0.5F); - if (this.world.isRemote) - { - this.world.spawnParticle(EnumParticleTypes.END_ROD, this.posX - this.motionX, this.posY - this.motionY + 0.15D, this.posZ - this.motionZ, 0.0D, 0.0D, 0.0D); - } - else if (this.target != null && !this.target.isDead) - { - if (this.steps > 0) - { - --this.steps; + if (this.world.isRemote) { + this.world.spawnParticle(EnumParticleTypes.END_ROD, this.posX - this.motionX, + this.posY - this.motionY + 0.15D, this.posZ - this.motionZ, 0.0D, 0.0D, 0.0D); + } else if (this.target != null && !this.target.isDead) { + if (this.steps > 0) { + --this.steps; - if (this.steps == 0) - { - this.selectNextMoveDirection(this.direction == null ? null : this.direction.getAxis()); - } - } + if (this.steps == 0) { + this.selectNextMoveDirection(this.direction == null ? null : this.direction.getAxis()); + } + } - if (this.direction != null) - { - BlockPos blockpos = new BlockPos(this); - EnumFacing.Axis enumfacing$axis = this.direction.getAxis(); + if (this.direction != null) { + BlockPos blockpos = new BlockPos(this); + EnumFacing.Axis enumfacing$axis = this.direction.getAxis(); - if (this.world.isBlockNormalCube(blockpos.offset(this.direction), false)) - { - this.selectNextMoveDirection(enumfacing$axis); - } - else - { - BlockPos blockpos1 = new BlockPos(this.target); + if (this.world.isBlockNormalCube(blockpos.offset(this.direction), false)) { + this.selectNextMoveDirection(enumfacing$axis); + } else { + BlockPos blockpos1 = new BlockPos(this.target); - if (enumfacing$axis == EnumFacing.Axis.X && blockpos.getX() == blockpos1.getX() || enumfacing$axis == EnumFacing.Axis.Z && blockpos.getZ() == blockpos1.getZ() || enumfacing$axis == EnumFacing.Axis.Y && blockpos.getY() == blockpos1.getY()) - { - this.selectNextMoveDirection(enumfacing$axis); - } - } - } - } - } + if (enumfacing$axis == EnumFacing.Axis.X && blockpos.getX() == blockpos1.getX() + || enumfacing$axis == EnumFacing.Axis.Z && blockpos.getZ() == blockpos1.getZ() + || enumfacing$axis == EnumFacing.Axis.Y && blockpos.getY() == blockpos1.getY()) { + this.selectNextMoveDirection(enumfacing$axis); + } + } + } + } + } } /** - * Returns true if the entity is on fire. Used by render to add the fire effect on rendering. + * Returns true if the entity is on fire. Used by render to add the fire effect + * on rendering. */ - public boolean isBurning() - { - return false; + @Override + public boolean isBurning() { + return false; } /** * Checks if the entity is in range to render. */ + @Override @SideOnly(Side.CLIENT) - public boolean isInRangeToRenderDist(double distance) - { - return distance < 16384.0D; + public boolean isInRangeToRenderDist(double distance) { + return distance < 16384.0D; } /** * Gets how bright this entity is. */ - public float getBrightness() - { - return 1.0F; + @Override + public float getBrightness() { + return 1.0F; } + @Override @SideOnly(Side.CLIENT) - public int getBrightnessForRender() - { - return 15728880; + public int getBrightnessForRender() { + return 15728880; } - protected void bulletHit(RayTraceResult result) - { - if (result.entityHit == null) - { - ((WorldServer)this.world).spawnParticle(EnumParticleTypes.EXPLOSION_LARGE, this.posX, this.posY, this.posZ, 2, 0.2D, 0.2D, 0.2D, 0.0D); - this.playSound(SoundEvents.ENTITY_SHULKER_BULLET_HIT, 1.0F, 1.0F); - } - else - { - boolean flag = result.entityHit.attackEntityFrom(DamageSource.causeIndirectDamage(this, this.owner).setProjectile(), 4.0F); + protected void bulletHit(RayTraceResult result) { + if (result.entityHit == null) { + ((WorldServer) this.world).spawnParticle(EnumParticleTypes.EXPLOSION_LARGE, this.posX, this.posY, this.posZ, + 2, 0.2D, 0.2D, 0.2D, 0.0D); + this.playSound(SoundEvents.ENTITY_SHULKER_BULLET_HIT, 1.0F, 1.0F); + } else { + boolean flag = result.entityHit + .attackEntityFrom(DamageSource.causeIndirectDamage(this, this.owner).setProjectile(), 4.0F); - if (flag) - { - this.applyEnchantments(this.owner, result.entityHit); + if (flag) { + this.applyEnchantments(this.owner, result.entityHit); - if (result.entityHit instanceof EntityLivingBase) - { - ((EntityLivingBase)result.entityHit).addPotionEffect(new PotionEffect(MobEffects.LEVITATION, 200)); - } - } - } + if (result.entityHit instanceof EntityLivingBase) { + ((EntityLivingBase) result.entityHit).addPotionEffect(new PotionEffect(MobEffects.LEVITATION, 200)); + } + } + } - this.setDead(); + this.setDead(); } /** - * Returns true if other Entities should be prevented from moving through this Entity. + * Returns true if other Entities should be prevented from moving through this + * Entity. */ - public boolean canBeCollidedWith() - { - return true; + @Override + public boolean canBeCollidedWith() { + return true; } /** * Called when the entity is attacked. */ - public boolean attackEntityFrom(DamageSource source, float amount) - { - if (!this.world.isRemote) - { - this.playSound(SoundEvents.ENTITY_SHULKER_BULLET_HURT, 1.0F, 1.0F); - ((WorldServer)this.world).spawnParticle(EnumParticleTypes.CRIT, this.posX, this.posY, this.posZ, 15, 0.2D, 0.2D, 0.2D, 0.0D); - this.setDead(); - } + @Override + public boolean attackEntityFrom(DamageSource source, float amount) { + if (!this.world.isRemote) { + this.playSound(SoundEvents.ENTITY_SHULKER_BULLET_HURT, 1.0F, 1.0F); + ((WorldServer) this.world).spawnParticle(EnumParticleTypes.CRIT, this.posX, this.posY, this.posZ, 15, 0.2D, + 0.2D, 0.2D, 0.0D); + this.setDead(); + } - return true; + return true; } } \ No newline at end of file diff --git a/src/main/java/mod/acgaming/spackenmobs/entities/EntitySmavaCreeper.java b/src/main/java/mod/acgaming/spackenmobs/entities/EntitySmavaCreeper.java index 056d1fb..a8b7ca2 100644 --- a/src/main/java/mod/acgaming/spackenmobs/entities/EntitySmavaCreeper.java +++ b/src/main/java/mod/acgaming/spackenmobs/entities/EntitySmavaCreeper.java @@ -1,4 +1,5 @@ package mod.acgaming.spackenmobs.entities; + import mod.acgaming.spackenmobs.misc.ModSoundEvents; import net.minecraft.entity.SharedMonsterAttributes; import net.minecraft.entity.monster.EntityCreeper; @@ -6,75 +7,67 @@ import net.minecraft.util.DamageSource; import net.minecraft.util.SoundEvent; import net.minecraft.world.World; -public class EntitySmavaCreeper extends EntityCreeper -{ - private int lastActiveTime; - private int timeSinceIgnited; - private int fuseTime = 20; - private int explosionRadius = 6; - - public EntitySmavaCreeper(World worldIn) - { - super(worldIn); - setSize(0.6F, 1.7F); - getEntityAttribute(SharedMonsterAttributes.MOVEMENT_SPEED).setBaseValue(0.5D); - } - - public void onUpdate() - { - if (this.isEntityAlive()) - { - this.lastActiveTime = this.timeSinceIgnited; - - if (this.hasIgnited()) - { - this.setCreeperState(1); - } - - int i = this.getCreeperState(); - - if (i > 0 && this.timeSinceIgnited == 0) - { - this.playSound(ModSoundEvents.ENTITY_SMAVACREEPER_FUSE, 1.0F, 1.0F); - } - - this.timeSinceIgnited += i; - - if (this.timeSinceIgnited < 0) - { - this.timeSinceIgnited = 0; - } - - if (this.timeSinceIgnited >= this.fuseTime) - { - this.timeSinceIgnited = this.fuseTime; - this.explode(); - } - } - - super.onUpdate(); - } - - private void explode() - { - if (!this.world.isRemote) - { - boolean flag = net.minecraftforge.event.ForgeEventFactory.getMobGriefingEvent(this.world, this); - float f = this.getPowered() ? 2.0F : 1.0F; - this.dead = true; - this.world.playSound(null, getPosition(), ModSoundEvents.ENTITY_SMAVACREEPER_BLOW, getSoundCategory(), 5.0F, 1.0F); - this.world.createExplosion(this, this.posX, this.posY, this.posZ, (float)this.explosionRadius * f, flag); - this.setDead(); - } +public class EntitySmavaCreeper extends EntityCreeper { + private int lastActiveTime; + private int timeSinceIgnited; + private int fuseTime = 20; + private int explosionRadius = 6; + + public EntitySmavaCreeper(World worldIn) { + super(worldIn); + setSize(0.6F, 1.7F); + getEntityAttribute(SharedMonsterAttributes.MOVEMENT_SPEED).setBaseValue(0.5D); } - - protected SoundEvent getHurtSound(DamageSource damageSourceIn) - { - return ModSoundEvents.ENTITY_SMAVACREEPER_HURT; + + @Override + public void onUpdate() { + if (this.isEntityAlive()) { + this.lastActiveTime = this.timeSinceIgnited; + + if (this.hasIgnited()) { + this.setCreeperState(1); + } + + int i = this.getCreeperState(); + + if (i > 0 && this.timeSinceIgnited == 0) { + this.playSound(ModSoundEvents.ENTITY_SMAVACREEPER_FUSE, 1.0F, 1.0F); + } + + this.timeSinceIgnited += i; + + if (this.timeSinceIgnited < 0) { + this.timeSinceIgnited = 0; + } + + if (this.timeSinceIgnited >= this.fuseTime) { + this.timeSinceIgnited = this.fuseTime; + this.explode(); + } + } + + super.onUpdate(); } - - protected SoundEvent getAmbientSound() - { - return ModSoundEvents.ENTITY_SMAVACREEPER_AMBIENT; + + private void explode() { + if (!this.world.isRemote) { + boolean flag = net.minecraftforge.event.ForgeEventFactory.getMobGriefingEvent(this.world, this); + float f = this.getPowered() ? 2.0F : 1.0F; + this.dead = true; + this.world.playSound(null, getPosition(), ModSoundEvents.ENTITY_SMAVACREEPER_BLOW, getSoundCategory(), 5.0F, + 1.0F); + this.world.createExplosion(this, this.posX, this.posY, this.posZ, this.explosionRadius * f, flag); + this.setDead(); + } + } + + @Override + protected SoundEvent getHurtSound(DamageSource damageSourceIn) { + return ModSoundEvents.ENTITY_SMAVACREEPER_HURT; + } + + @Override + protected SoundEvent getAmbientSound() { + return ModSoundEvents.ENTITY_SMAVACREEPER_AMBIENT; } } \ No newline at end of file diff --git a/src/main/java/mod/acgaming/spackenmobs/entities/EntityWolfMZTE.java b/src/main/java/mod/acgaming/spackenmobs/entities/EntityWolfMZTE.java index 30974d6..ebc58f6 100644 --- a/src/main/java/mod/acgaming/spackenmobs/entities/EntityWolfMZTE.java +++ b/src/main/java/mod/acgaming/spackenmobs/entities/EntityWolfMZTE.java @@ -1,4 +1,5 @@ package mod.acgaming.spackenmobs.entities; + import java.util.UUID; import net.minecraft.entity.Entity; @@ -17,147 +18,123 @@ import net.minecraft.network.datasync.DataSerializers; import net.minecraft.network.datasync.EntityDataManager; import net.minecraft.world.World; -public class EntityWolfMZTE extends EntityWolf -{ - private static final DataParameter DATA_HEALTH_ID = EntityDataManager.createKey(EntityWolf.class, DataSerializers.FLOAT); - private static final DataParameter BEGGING = EntityDataManager.createKey(EntityWolf.class, DataSerializers.BOOLEAN); - private static final DataParameter COLLAR_COLOR = EntityDataManager.createKey(EntityWolf.class, DataSerializers.VARINT); +public class EntityWolfMZTE extends EntityWolf { + private static final DataParameter DATA_HEALTH_ID = EntityDataManager.createKey(EntityWolf.class, + DataSerializers.FLOAT); + private static final DataParameter BEGGING = EntityDataManager.createKey(EntityWolf.class, + DataSerializers.BOOLEAN); + private static final DataParameter COLLAR_COLOR = EntityDataManager.createKey(EntityWolf.class, + DataSerializers.VARINT); private float headRotationCourse; private float headRotationCourseOld; private boolean isWet; private boolean isShaking; private float timeWolfIsShaking; private float prevTimeWolfIsShaking; - - public EntityWolfMZTE(World worldIn) - { - super(worldIn); - this.setSize(0.6F, 0.85F); - this.setTamed(false); + + public EntityWolfMZTE(World worldIn) { + super(worldIn); + this.setSize(0.6F, 0.85F); + this.setTamed(false); } - - public EntityWolfMZTE createChild(EntityAgeable ageable) - { - EntityWolfMZTE entitywolfmzte = new EntityWolfMZTE(this.world); - UUID uuid = this.getOwnerId(); - if (uuid != null) - { - entitywolfmzte.setOwnerId(uuid); - entitywolfmzte.setTamed(true); - } + @Override + public EntityWolfMZTE createChild(EntityAgeable ageable) { + EntityWolfMZTE entitywolfmzte = new EntityWolfMZTE(this.world); + UUID uuid = this.getOwnerId(); - return entitywolfmzte; + if (uuid != null) { + entitywolfmzte.setOwnerId(uuid); + entitywolfmzte.setTamed(true); + } + + return entitywolfmzte; } - - public boolean canMateWith(EntityAnimal otherAnimal) - { - if (otherAnimal == this) - { - return false; - } - else if (!this.isTamed()) - { - return false; - } - else if (!(otherAnimal instanceof EntityWolfMZTE)) - { - return false; - } - else - { - EntityWolfMZTE entitywolfmzte = (EntityWolfMZTE)otherAnimal; - if (!entitywolfmzte.isTamed()) - { - return false; - } - else if (entitywolfmzte.isSitting()) - { - return false; - } - else - { - return this.isInLove() && entitywolfmzte.isInLove(); - } - } + @Override + public boolean canMateWith(EntityAnimal otherAnimal) { + if (otherAnimal == this) { + return false; + } else if (!this.isTamed()) { + return false; + } else if (!(otherAnimal instanceof EntityWolfMZTE)) { + return false; + } else { + EntityWolfMZTE entitywolfmzte = (EntityWolfMZTE) otherAnimal; + + if (!entitywolfmzte.isTamed()) { + return false; + } else if (entitywolfmzte.isSitting()) { + return false; + } else { + return this.isInLove() && entitywolfmzte.isInLove(); + } + } } - - public boolean shouldAttackEntity(EntityLivingBase target, EntityLivingBase owner) - { - if (!(target instanceof EntityCreeper) && !(target instanceof EntityGhast)) - { - if (target instanceof EntityWolfMZTE) - { - EntityWolfMZTE entitywolfmzte = (EntityWolfMZTE)target; - if (entitywolfmzte.isTamed() && entitywolfmzte.getOwner() == owner) - { - return false; - } - } + @Override + public boolean shouldAttackEntity(EntityLivingBase target, EntityLivingBase owner) { + if (!(target instanceof EntityCreeper) && !(target instanceof EntityGhast)) { + if (target instanceof EntityWolfMZTE) { + EntityWolfMZTE entitywolfmzte = (EntityWolfMZTE) target; - if (target instanceof EntityPlayer && owner instanceof EntityPlayer && !((EntityPlayer)owner).canAttackPlayer((EntityPlayer)target)) - { - return false; - } - else - { - return !(target instanceof AbstractHorse) || !((AbstractHorse)target).isTame(); - } - } - else - { - return false; - } + if (entitywolfmzte.isTamed() && entitywolfmzte.getOwner() == owner) { + return false; + } + } + + if (target instanceof EntityPlayer && owner instanceof EntityPlayer + && !((EntityPlayer) owner).canAttackPlayer((EntityPlayer) target)) { + return false; + } else { + return !(target instanceof AbstractHorse) || !((AbstractHorse) target).isTame(); + } + } else { + return false; + } } - - class AIAvoidEntity extends EntityAIAvoidEntity - { - private final EntityWolfMZTE wolf; - public AIAvoidEntity(EntityWolfMZTE wolfIn, Class p_i47251_3_, float p_i47251_4_, double p_i47251_5_, double p_i47251_7_) - { - super(wolfIn, p_i47251_3_, p_i47251_4_, p_i47251_5_, p_i47251_7_); - this.wolf = wolfIn; - } + class AIAvoidEntity extends EntityAIAvoidEntity { + private final EntityWolfMZTE wolf; - /** - * Returns whether the EntityAIBase should begin execution. - */ - public boolean shouldExecute() - { - if (super.shouldExecute() && this.closestLivingEntity instanceof EntityLlama) - { - return !this.wolf.isTamed() && this.avoidLlama((EntityLlama)this.closestLivingEntity); - } - else - { - return false; - } - } + public AIAvoidEntity(EntityWolfMZTE wolfIn, Class p_i47251_3_, float p_i47251_4_, double p_i47251_5_, + double p_i47251_7_) { + super(wolfIn, p_i47251_3_, p_i47251_4_, p_i47251_5_, p_i47251_7_); + this.wolf = wolfIn; + } - private boolean avoidLlama(EntityLlama p_190854_1_) - { - return p_190854_1_.getStrength() >= EntityWolfMZTE.this.rand.nextInt(5); - } + /** + * Returns whether the EntityAIBase should begin execution. + */ + @Override + public boolean shouldExecute() { + if (super.shouldExecute() && this.closestLivingEntity instanceof EntityLlama) { + return !this.wolf.isTamed() && this.avoidLlama((EntityLlama) this.closestLivingEntity); + } else { + return false; + } + } - /** - * Execute a one shot task or start executing a continuous task - */ - public void startExecuting() - { - EntityWolfMZTE.this.setAttackTarget((EntityLivingBase)null); - super.startExecuting(); - } + private boolean avoidLlama(EntityLlama p_190854_1_) { + return p_190854_1_.getStrength() >= EntityWolfMZTE.this.rand.nextInt(5); + } - /** - * Keep ticking a continuous task that has already been started - */ - public void updateTask() - { - EntityWolfMZTE.this.setAttackTarget((EntityLivingBase)null); - super.updateTask(); - } + /** + * Execute a one shot task or start executing a continuous task + */ + @Override + public void startExecuting() { + EntityWolfMZTE.this.setAttackTarget((EntityLivingBase) null); + super.startExecuting(); + } + + /** + * Keep ticking a continuous task that has already been started + */ + @Override + public void updateTask() { + EntityWolfMZTE.this.setAttackTarget((EntityLivingBase) null); + super.updateTask(); + } } } \ No newline at end of file diff --git a/src/main/java/mod/acgaming/spackenmobs/items/ItemBase.java b/src/main/java/mod/acgaming/spackenmobs/items/ItemBase.java index 1e8cb72..fb650c7 100644 --- a/src/main/java/mod/acgaming/spackenmobs/items/ItemBase.java +++ b/src/main/java/mod/acgaming/spackenmobs/items/ItemBase.java @@ -1,4 +1,5 @@ package mod.acgaming.spackenmobs.items; + import mod.acgaming.spackenmobs.Spackenmobs; import net.minecraft.client.renderer.block.model.ModelResourceLocation; import net.minecraft.creativetab.CreativeTabs; @@ -7,18 +8,15 @@ import net.minecraftforge.client.model.ModelLoader; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; -public class ItemBase extends Item -{ - public ItemBase(String name, CreativeTabs tab) - { - setRegistryName(name); - setUnlocalizedName(Spackenmobs.MODID + "." + name); - setCreativeTab(tab); +public class ItemBase extends Item { + public ItemBase(String name, CreativeTabs tab) { + setRegistryName(name); + setUnlocalizedName(Spackenmobs.MODID + "." + name); + setCreativeTab(tab); } - + @SideOnly(Side.CLIENT) - public void initModel() - { - ModelLoader.setCustomModelResourceLocation(this, 0, new ModelResourceLocation(getRegistryName(), "inventory")); + public void initModel() { + ModelLoader.setCustomModelResourceLocation(this, 0, new ModelResourceLocation(getRegistryName(), "inventory")); } } \ No newline at end of file diff --git a/src/main/java/mod/acgaming/spackenmobs/items/ItemPotion.java b/src/main/java/mod/acgaming/spackenmobs/items/ItemPotion.java index b5e21ad..91f3ed5 100644 --- a/src/main/java/mod/acgaming/spackenmobs/items/ItemPotion.java +++ b/src/main/java/mod/acgaming/spackenmobs/items/ItemPotion.java @@ -1,13 +1,12 @@ package mod.acgaming.spackenmobs.items; + import net.minecraft.potion.Potion; -public class ItemPotion extends Potion -{ - public ItemPotion(String name, boolean isBadPotion, int color, int iconIndexX, int iconIndexY) - { - super(isBadPotion, color); - setPotionName("effect." + name); - setIconIndex(iconIndexX, iconIndexY); - setRegistryName(name); - } +public class ItemPotion extends Potion { + public ItemPotion(String name, boolean isBadPotion, int color, int iconIndexX, int iconIndexY) { + super(isBadPotion, color); + setPotionName("effect." + name); + setIconIndex(iconIndexX, iconIndexY); + setRegistryName(name); + } } \ No newline at end of file diff --git a/src/main/java/mod/acgaming/spackenmobs/misc/BiomeHelper.java b/src/main/java/mod/acgaming/spackenmobs/misc/BiomeHelper.java index 3969e87..60729a1 100644 --- a/src/main/java/mod/acgaming/spackenmobs/misc/BiomeHelper.java +++ b/src/main/java/mod/acgaming/spackenmobs/misc/BiomeHelper.java @@ -1,4 +1,5 @@ package mod.acgaming.spackenmobs.misc; + import java.util.ArrayList; import java.util.List; @@ -8,38 +9,31 @@ import net.minecraft.world.biome.Biome; import net.minecraft.world.biome.Biome.SpawnListEntry; // Thanks to Vazkii! -public class BiomeHelper -{ +public class BiomeHelper { - public static Biome[] getBiomesWithMonster(Class clazz) - { - List biomes = new ArrayList<>(); - for (Biome b : Biome.REGISTRY) - { - List spawnList = b.getSpawnableList(EnumCreatureType.MONSTER); - for (SpawnListEntry e : spawnList) - if (e.entityClass == clazz) - { - biomes.add(b); - break; - } + public static Biome[] getBiomesWithMonster(Class clazz) { + List biomes = new ArrayList<>(); + for (Biome b : Biome.REGISTRY) { + List spawnList = b.getSpawnableList(EnumCreatureType.MONSTER); + for (SpawnListEntry e : spawnList) + if (e.entityClass == clazz) { + biomes.add(b); + break; } - return biomes.toArray(new Biome[0]); } - - public static Biome[] getBiomesWithCreature(Class clazz) - { - List biomes = new ArrayList<>(); - for (Biome b : Biome.REGISTRY) - { - List spawnList = b.getSpawnableList(EnumCreatureType.CREATURE); - for (SpawnListEntry e : spawnList) - if (e.entityClass == clazz) - { - biomes.add(b); - break; - } + return biomes.toArray(new Biome[0]); + } + + public static Biome[] getBiomesWithCreature(Class clazz) { + List biomes = new ArrayList<>(); + for (Biome b : Biome.REGISTRY) { + List spawnList = b.getSpawnableList(EnumCreatureType.CREATURE); + for (SpawnListEntry e : spawnList) + if (e.entityClass == clazz) { + biomes.add(b); + break; } - return biomes.toArray(new Biome[0]); } + return biomes.toArray(new Biome[0]); + } } \ No newline at end of file diff --git a/src/main/java/mod/acgaming/spackenmobs/misc/ModEntities.java b/src/main/java/mod/acgaming/spackenmobs/misc/ModEntities.java index 005c0d5..4aa6496 100644 --- a/src/main/java/mod/acgaming/spackenmobs/misc/ModEntities.java +++ b/src/main/java/mod/acgaming/spackenmobs/misc/ModEntities.java @@ -1,4 +1,5 @@ package mod.acgaming.spackenmobs.misc; + import mod.acgaming.spackenmobs.entities.EntityApoRed; import mod.acgaming.spackenmobs.entities.EntityDrachenlord; import mod.acgaming.spackenmobs.entities.EntityHolzstammhuhn; @@ -21,19 +22,17 @@ import mod.acgaming.spackenmobs.render.RenderSmavaCreeper; import mod.acgaming.spackenmobs.render.RenderWolfMZTE; import net.minecraftforge.fml.client.registry.RenderingRegistry; -public class ModEntities -{ - public static void initModels() - { - RenderingRegistry.registerEntityRenderingHandler(EntityApoRed.class, RenderApoRed.FACTORY); - RenderingRegistry.registerEntityRenderingHandler(EntityDrachenlord.class, RenderDrachenlord.FACTORY); - RenderingRegistry.registerEntityRenderingHandler(EntityIslamist.class, RenderIslamist.FACTORY); - RenderingRegistry.registerEntityRenderingHandler(EntityJens.class, RenderJens.FACTORY); - RenderingRegistry.registerEntityRenderingHandler(EntityMarcellDAvis.class, RenderMarcellDAvis.FACTORY); - RenderingRegistry.registerEntityRenderingHandler(EntityMrBean.class, RenderMrBean.FACTORY); - RenderingRegistry.registerEntityRenderingHandler(EntitySchalker.class, RenderSchalker.FACTORY); - RenderingRegistry.registerEntityRenderingHandler(EntitySmavaCreeper.class, RenderSmavaCreeper.FACTORY); - RenderingRegistry.registerEntityRenderingHandler(EntityWolfMZTE.class, RenderWolfMZTE.FACTORY); - RenderingRegistry.registerEntityRenderingHandler(EntityHolzstammhuhn.class, RenderHolzstammhuhn.FACTORY); +public class ModEntities { + public static void initModels() { + RenderingRegistry.registerEntityRenderingHandler(EntityApoRed.class, RenderApoRed.FACTORY); + RenderingRegistry.registerEntityRenderingHandler(EntityDrachenlord.class, RenderDrachenlord.FACTORY); + RenderingRegistry.registerEntityRenderingHandler(EntityIslamist.class, RenderIslamist.FACTORY); + RenderingRegistry.registerEntityRenderingHandler(EntityJens.class, RenderJens.FACTORY); + RenderingRegistry.registerEntityRenderingHandler(EntityMarcellDAvis.class, RenderMarcellDAvis.FACTORY); + RenderingRegistry.registerEntityRenderingHandler(EntityMrBean.class, RenderMrBean.FACTORY); + RenderingRegistry.registerEntityRenderingHandler(EntitySchalker.class, RenderSchalker.FACTORY); + RenderingRegistry.registerEntityRenderingHandler(EntitySmavaCreeper.class, RenderSmavaCreeper.FACTORY); + RenderingRegistry.registerEntityRenderingHandler(EntityWolfMZTE.class, RenderWolfMZTE.FACTORY); + RenderingRegistry.registerEntityRenderingHandler(EntityHolzstammhuhn.class, RenderHolzstammhuhn.FACTORY); } } \ No newline at end of file diff --git a/src/main/java/mod/acgaming/spackenmobs/misc/ModItems.java b/src/main/java/mod/acgaming/spackenmobs/misc/ModItems.java index b5695c4..4c6cd04 100644 --- a/src/main/java/mod/acgaming/spackenmobs/misc/ModItems.java +++ b/src/main/java/mod/acgaming/spackenmobs/misc/ModItems.java @@ -1,12 +1,12 @@ package mod.acgaming.spackenmobs.misc; + import mod.acgaming.spackenmobs.Spackenmobs; import mod.acgaming.spackenmobs.items.ItemBase; import net.minecraft.item.Item; import net.minecraftforge.fml.common.registry.GameRegistry.ObjectHolder; @ObjectHolder(Spackenmobs.MODID) -public class ModItems -{ +public class ModItems { public static final Item RAM = new ItemBase("ram", Spackenmobs.SPACKENMOBS_TAB); public static final Item RAM_ON_A_STICK = new ItemBase("ram_on_a_stick", Spackenmobs.SPACKENMOBS_TAB); public static final Item SURSTROEMMING = new ItemBase("surstroemming", Spackenmobs.SPACKENMOBS_TAB); diff --git a/src/main/java/mod/acgaming/spackenmobs/misc/ModPotions.java b/src/main/java/mod/acgaming/spackenmobs/misc/ModPotions.java index 30397dc..f3590cc 100644 --- a/src/main/java/mod/acgaming/spackenmobs/misc/ModPotions.java +++ b/src/main/java/mod/acgaming/spackenmobs/misc/ModPotions.java @@ -1,6 +1,5 @@ package mod.acgaming.spackenmobs.misc; -public class ModPotions -{ - +public class ModPotions { + } \ No newline at end of file diff --git a/src/main/java/mod/acgaming/spackenmobs/misc/ModSoundEvents.java b/src/main/java/mod/acgaming/spackenmobs/misc/ModSoundEvents.java index 3d3e3ac..fe8a349 100644 --- a/src/main/java/mod/acgaming/spackenmobs/misc/ModSoundEvents.java +++ b/src/main/java/mod/acgaming/spackenmobs/misc/ModSoundEvents.java @@ -1,48 +1,79 @@ package mod.acgaming.spackenmobs.misc; + import mod.acgaming.spackenmobs.Spackenmobs; import net.minecraft.util.ResourceLocation; import net.minecraft.util.SoundEvent; import net.minecraftforge.fml.common.registry.GameRegistry.ObjectHolder; @ObjectHolder(Spackenmobs.MODID) -public class ModSoundEvents -{ - public static final SoundEvent ENTITY_SMAVACREEPER_FUSE = new SoundEvent(new ResourceLocation("spackenmobs:entities.smava_creeper.fuse")); - public static final SoundEvent ENTITY_SMAVACREEPER_BLOW = new SoundEvent(new ResourceLocation("spackenmobs:entities.smava_creeper.blow")); - public static final SoundEvent ENTITY_SMAVACREEPER_HURT = new SoundEvent(new ResourceLocation("spackenmobs:entities.smava_creeper.hurt")); - public static final SoundEvent ENTITY_SMAVACREEPER_AMBIENT = new SoundEvent(new ResourceLocation("spackenmobs:entities.smava_creeper.ambient")); - - public static final SoundEvent ENTITY_MARCELLDAVIS_AMBIENT = new SoundEvent(new ResourceLocation("spackenmobs:entities.marcell_davis.ambient")); - public static final SoundEvent ENTITY_MARCELLDAVIS_HURT = new SoundEvent(new ResourceLocation("spackenmobs:entities.marcell_davis.hurt")); - public static final SoundEvent ENTITY_MARCELLDAVIS_DEATH = new SoundEvent(new ResourceLocation("spackenmobs:entities.marcell_davis.death")); - - public static final SoundEvent ENTITY_ISLAMIST_FUSE = new SoundEvent(new ResourceLocation("spackenmobs:entities.islamist.fuse")); - public static final SoundEvent ENTITY_ISLAMIST_BLOW = new SoundEvent(new ResourceLocation("spackenmobs:entities.islamist.blow")); - public static final SoundEvent ENTITY_ISLAMIST_HURT = new SoundEvent(new ResourceLocation("spackenmobs:entities.islamist.hurt")); - public static final SoundEvent ENTITY_ISLAMIST_AMBIENT = new SoundEvent(new ResourceLocation("spackenmobs:entities.islamist.ambient")); - - public static final SoundEvent ENTITY_APORED_AMBIENT = new SoundEvent(new ResourceLocation("spackenmobs:entities.apored.ambient")); - public static final SoundEvent ENTITY_APORED_HURT = new SoundEvent(new ResourceLocation("spackenmobs:entities.apored.hurt")); - public static final SoundEvent ENTITY_APORED_DEATH = new SoundEvent(new ResourceLocation("spackenmobs:entities.apored.death")); - - public static final SoundEvent ENTITY_MRBEAN_AMBIENT = new SoundEvent(new ResourceLocation("spackenmobs:entities.mr_bean.ambient")); - public static final SoundEvent ENTITY_MRBEAN_HURT = new SoundEvent(new ResourceLocation("spackenmobs:entities.mr_bean.hurt")); - public static final SoundEvent ENTITY_MRBEAN_DEATH = new SoundEvent(new ResourceLocation("spackenmobs:entities.mr_bean.death")); - - public static final SoundEvent ENTITY_DRACHENLORD_AMBIENT = new SoundEvent(new ResourceLocation("spackenmobs:entities.drachenlord.ambient")); - public static final SoundEvent ENTITY_DRACHENLORD_HURT = new SoundEvent(new ResourceLocation("spackenmobs:entities.drachenlord.hurt")); - public static final SoundEvent ENTITY_DRACHENLORD_DEATH = new SoundEvent(new ResourceLocation("spackenmobs:entities.drachenlord.death")); - public static final SoundEvent ENTITY_DRACHENLORD_ANGRY = new SoundEvent(new ResourceLocation("spackenmobs:entities.drachenlord.angry")); - - public static final SoundEvent ENTITY_SCHALKER_AMBIENT = new SoundEvent(new ResourceLocation("spackenmobs:entities.schalker.ambient")); - public static final SoundEvent ENTITY_SCHALKER_HURT = new SoundEvent(new ResourceLocation("spackenmobs:entities.schalker.hurt")); - public static final SoundEvent ENTITY_SCHALKER_DEATH = new SoundEvent(new ResourceLocation("spackenmobs:entities.schalker.death")); - public static final SoundEvent ENTITY_SCHALKER_OPEN = new SoundEvent(new ResourceLocation("spackenmobs:entities.schalker.open")); - public static final SoundEvent ENTITY_SCHALKER_SHOOT = new SoundEvent(new ResourceLocation("spackenmobs:entities.schalker.shoot")); - - public static final SoundEvent ENTITY_JENS_AMBIENT = new SoundEvent(new ResourceLocation("spackenmobs:entities.jens.ambient")); - public static final SoundEvent ENTITY_JENS_HURT = new SoundEvent(new ResourceLocation("spackenmobs:entities.jens.hurt")); - public static final SoundEvent ENTITY_JENS_DEATH = new SoundEvent(new ResourceLocation("spackenmobs:entities.jens.death")); - public static final SoundEvent ENTITY_JENS_EAT = new SoundEvent(new ResourceLocation("spackenmobs:entities.jens.eat")); - public static final SoundEvent ENTITY_JENS_POOP = new SoundEvent(new ResourceLocation("spackenmobs:entities.jens.poop")); +public class ModSoundEvents { + public static final SoundEvent ENTITY_SMAVACREEPER_FUSE = new SoundEvent( + new ResourceLocation("spackenmobs:entities.smava_creeper.fuse")); + public static final SoundEvent ENTITY_SMAVACREEPER_BLOW = new SoundEvent( + new ResourceLocation("spackenmobs:entities.smava_creeper.blow")); + public static final SoundEvent ENTITY_SMAVACREEPER_HURT = new SoundEvent( + new ResourceLocation("spackenmobs:entities.smava_creeper.hurt")); + public static final SoundEvent ENTITY_SMAVACREEPER_AMBIENT = new SoundEvent( + new ResourceLocation("spackenmobs:entities.smava_creeper.ambient")); + + public static final SoundEvent ENTITY_MARCELLDAVIS_AMBIENT = new SoundEvent( + new ResourceLocation("spackenmobs:entities.marcell_davis.ambient")); + public static final SoundEvent ENTITY_MARCELLDAVIS_HURT = new SoundEvent( + new ResourceLocation("spackenmobs:entities.marcell_davis.hurt")); + public static final SoundEvent ENTITY_MARCELLDAVIS_DEATH = new SoundEvent( + new ResourceLocation("spackenmobs:entities.marcell_davis.death")); + + public static final SoundEvent ENTITY_ISLAMIST_FUSE = new SoundEvent( + new ResourceLocation("spackenmobs:entities.islamist.fuse")); + public static final SoundEvent ENTITY_ISLAMIST_BLOW = new SoundEvent( + new ResourceLocation("spackenmobs:entities.islamist.blow")); + public static final SoundEvent ENTITY_ISLAMIST_HURT = new SoundEvent( + new ResourceLocation("spackenmobs:entities.islamist.hurt")); + public static final SoundEvent ENTITY_ISLAMIST_AMBIENT = new SoundEvent( + new ResourceLocation("spackenmobs:entities.islamist.ambient")); + + public static final SoundEvent ENTITY_APORED_AMBIENT = new SoundEvent( + new ResourceLocation("spackenmobs:entities.apored.ambient")); + public static final SoundEvent ENTITY_APORED_HURT = new SoundEvent( + new ResourceLocation("spackenmobs:entities.apored.hurt")); + public static final SoundEvent ENTITY_APORED_DEATH = new SoundEvent( + new ResourceLocation("spackenmobs:entities.apored.death")); + + public static final SoundEvent ENTITY_MRBEAN_AMBIENT = new SoundEvent( + new ResourceLocation("spackenmobs:entities.mr_bean.ambient")); + public static final SoundEvent ENTITY_MRBEAN_HURT = new SoundEvent( + new ResourceLocation("spackenmobs:entities.mr_bean.hurt")); + public static final SoundEvent ENTITY_MRBEAN_DEATH = new SoundEvent( + new ResourceLocation("spackenmobs:entities.mr_bean.death")); + + public static final SoundEvent ENTITY_DRACHENLORD_AMBIENT = new SoundEvent( + new ResourceLocation("spackenmobs:entities.drachenlord.ambient")); + public static final SoundEvent ENTITY_DRACHENLORD_HURT = new SoundEvent( + new ResourceLocation("spackenmobs:entities.drachenlord.hurt")); + public static final SoundEvent ENTITY_DRACHENLORD_DEATH = new SoundEvent( + new ResourceLocation("spackenmobs:entities.drachenlord.death")); + public static final SoundEvent ENTITY_DRACHENLORD_ANGRY = new SoundEvent( + new ResourceLocation("spackenmobs:entities.drachenlord.angry")); + + public static final SoundEvent ENTITY_SCHALKER_AMBIENT = new SoundEvent( + new ResourceLocation("spackenmobs:entities.schalker.ambient")); + public static final SoundEvent ENTITY_SCHALKER_HURT = new SoundEvent( + new ResourceLocation("spackenmobs:entities.schalker.hurt")); + public static final SoundEvent ENTITY_SCHALKER_DEATH = new SoundEvent( + new ResourceLocation("spackenmobs:entities.schalker.death")); + public static final SoundEvent ENTITY_SCHALKER_OPEN = new SoundEvent( + new ResourceLocation("spackenmobs:entities.schalker.open")); + public static final SoundEvent ENTITY_SCHALKER_SHOOT = new SoundEvent( + new ResourceLocation("spackenmobs:entities.schalker.shoot")); + + public static final SoundEvent ENTITY_JENS_AMBIENT = new SoundEvent( + new ResourceLocation("spackenmobs:entities.jens.ambient")); + public static final SoundEvent ENTITY_JENS_HURT = new SoundEvent( + new ResourceLocation("spackenmobs:entities.jens.hurt")); + public static final SoundEvent ENTITY_JENS_DEATH = new SoundEvent( + new ResourceLocation("spackenmobs:entities.jens.death")); + public static final SoundEvent ENTITY_JENS_EAT = new SoundEvent( + new ResourceLocation("spackenmobs:entities.jens.eat")); + public static final SoundEvent ENTITY_JENS_POOP = new SoundEvent( + new ResourceLocation("spackenmobs:entities.jens.poop")); } \ No newline at end of file diff --git a/src/main/java/mod/acgaming/spackenmobs/misc/RegHandler.java b/src/main/java/mod/acgaming/spackenmobs/misc/RegHandler.java index 6f80cda..49f3c67 100644 --- a/src/main/java/mod/acgaming/spackenmobs/misc/RegHandler.java +++ b/src/main/java/mod/acgaming/spackenmobs/misc/RegHandler.java @@ -1,4 +1,5 @@ package mod.acgaming.spackenmobs.misc; + import mod.acgaming.spackenmobs.Spackenmobs; import mod.acgaming.spackenmobs.entities.EntityApoRed; import mod.acgaming.spackenmobs.entities.EntityDrachenlord; @@ -30,143 +31,178 @@ import net.minecraftforge.fml.common.registry.EntityEntry; import net.minecraftforge.fml.common.registry.EntityRegistry; @EventBusSubscriber(modid = Spackenmobs.MODID) -public class RegHandler -{ - @SubscribeEvent - public static void registerItems(Register event) - { - final Item[] items = - { - new Item().setRegistryName(Spackenmobs.MODID, "ram").setUnlocalizedName(Spackenmobs.MODID + "." + "ram").setCreativeTab(CreativeTabs.MISC), - new Item().setRegistryName(Spackenmobs.MODID, "ram_on_a_stick").setUnlocalizedName(Spackenmobs.MODID + "." + "ram_on_a_stick").setCreativeTab(CreativeTabs.MISC), - new Item().setRegistryName(Spackenmobs.MODID, "surstroemming").setUnlocalizedName(Spackenmobs.MODID + "." + "surstroemming").setCreativeTab(CreativeTabs.MISC) - }; - event.getRegistry().registerAll(items); - } - - @SubscribeEvent - public static void registerEntities(Register event) - { - int id = 1; - - // Smava Creeper - EntityRegistry.registerModEntity(new ResourceLocation("spackenmobs:smava_creeper"), EntitySmavaCreeper.class, "smava_creeper", id++, Spackenmobs.instance, 64, 1, true, 7649828, 11053224); - EntityRegistry.addSpawn(EntitySmavaCreeper.class, 25, 1, 4, EnumCreatureType.MONSTER, BiomeHelper.getBiomesWithMonster(EntityCreeper.class)); - - // Marcell D'Avis - EntityRegistry.registerModEntity(new ResourceLocation("spackenmobs:marcell_davis"), EntityMarcellDAvis.class, "marcell_davis", id++, Spackenmobs.instance, 64, 1, true, 15759, 16777215); - EntityRegistry.addSpawn(EntityMarcellDAvis.class, 50, 1, 4, EnumCreatureType.MONSTER, BiomeHelper.getBiomesWithMonster(EntityZombie.class)); - - // Islamist - EntityRegistry.registerModEntity(new ResourceLocation("spackenmobs:islamist"), EntityIslamist.class, "islamist", id++, Spackenmobs.instance, 64, 1, true, 15263976, 15211548); - EntityRegistry.addSpawn(EntityIslamist.class, 50, 1, 4, EnumCreatureType.MONSTER, BiomeHelper.getBiomesWithMonster(EntityCreeper.class)); - - // ApoRed - EntityRegistry.registerModEntity(new ResourceLocation("spackenmobs:apored"), EntityApoRed.class, "apored", id++, Spackenmobs.instance, 64, 1, true, 2039583, 16711680); - EntityRegistry.addSpawn(EntityApoRed.class, 50, 1, 4, EnumCreatureType.MONSTER, BiomeHelper.getBiomesWithMonster(EntitySkeleton.class)); - - // Mr. Bean - EntityRegistry.registerModEntity(new ResourceLocation("spackenmobs:mr_bean"), EntityMrBean.class, "mr_bean", id++, Spackenmobs.instance, 64, 1, true, 4802350, 3220238); - EntityRegistry.addSpawn(EntityMrBean.class, 50, 1, 4, EnumCreatureType.MONSTER, BiomeHelper.getBiomesWithMonster(EntityZombie.class)); - - // Drachenlord - EntityRegistry.registerModEntity(new ResourceLocation("spackenmobs:drachenlord"), EntityDrachenlord.class, "drachenlord", id++, Spackenmobs.instance, 64, 1, true, 15256745, 8738878); - EntityRegistry.addSpawn(EntityDrachenlord.class, 50, 1, 4, EnumCreatureType.MONSTER, BiomeHelper.getBiomesWithMonster(EntityPigZombie.class)); - - // Schalker - EntityRegistry.registerModEntity(new ResourceLocation("spackenmobs:schalker"), EntitySchalker.class, "schalker", id++, Spackenmobs.instance, 64, 1, true, 24745, 16777215); - EntityRegistry.addSpawn(EntitySchalker.class, 50, 1, 4, EnumCreatureType.MONSTER, BiomeHelper.getBiomesWithMonster(EntityShulker.class)); - - // Jens - EntityRegistry.registerModEntity(new ResourceLocation("spackenmobs:jens"), EntityJens.class, "jens", id++, Spackenmobs.instance, 64, 1, true, 6704526, 6767911); - EntityRegistry.addSpawn(EntityJens.class, 50, 1, 4, EnumCreatureType.CREATURE, BiomeHelper.getBiomesWithCreature(EntityPig.class)); - - // WolfMZTE - EntityRegistry.registerModEntity(new ResourceLocation("spackenmobs:wolfmzte"), EntityWolfMZTE.class, "wolfmzte", id++, Spackenmobs.instance, 64, 1, true, 16711680, 0); - EntityRegistry.addSpawn(EntityJens.class, 50, 1, 4, EnumCreatureType.CREATURE, BiomeHelper.getBiomesWithCreature(EntityWolf.class)); - - // Holzstammhuhn - EntityRegistry.registerModEntity(new ResourceLocation("spackenmobs:holzstammhuhn"), EntityHolzstammhuhn.class, "holzstammhuhn", id++, Spackenmobs.instance, 64, 1, true, 12096347, 5295899); - EntityRegistry.addSpawn(EntityJens.class, 50, 1, 4, EnumCreatureType.CREATURE, BiomeHelper.getBiomesWithCreature(EntityChicken.class)); - - //LootTableList.register(EntityJens.LOOT); - } - - @SubscribeEvent - public static void registerSounds(Register event) - { - // Smava Creeper - ModSoundEvents.ENTITY_SMAVACREEPER_FUSE.setRegistryName(new ResourceLocation("spackenmobs:entities.smava_creeper.fuse")); - event.getRegistry().register((SoundEvent)ModSoundEvents.ENTITY_SMAVACREEPER_FUSE); - ModSoundEvents.ENTITY_SMAVACREEPER_BLOW.setRegistryName(new ResourceLocation("spackenmobs:entities.smava_creeper.blow")); - event.getRegistry().register((SoundEvent)ModSoundEvents.ENTITY_SMAVACREEPER_BLOW); - ModSoundEvents.ENTITY_SMAVACREEPER_HURT.setRegistryName(new ResourceLocation("spackenmobs:entities.smava_creeper.hurt")); - event.getRegistry().register((SoundEvent)ModSoundEvents.ENTITY_SMAVACREEPER_HURT); - ModSoundEvents.ENTITY_SMAVACREEPER_AMBIENT.setRegistryName(new ResourceLocation("spackenmobs:entities.smava_creeper.ambient")); - event.getRegistry().register((SoundEvent)ModSoundEvents.ENTITY_SMAVACREEPER_AMBIENT); - - // Islamist - ModSoundEvents.ENTITY_ISLAMIST_FUSE.setRegistryName(new ResourceLocation("spackenmobs:entities.islamist.fuse")); - event.getRegistry().register((SoundEvent)ModSoundEvents.ENTITY_ISLAMIST_FUSE); - ModSoundEvents.ENTITY_ISLAMIST_HURT.setRegistryName(new ResourceLocation("spackenmobs:entities.islamist.hurt")); - event.getRegistry().register((SoundEvent)ModSoundEvents.ENTITY_ISLAMIST_HURT); - - // Marcell D'Avis - ModSoundEvents.ENTITY_MARCELLDAVIS_AMBIENT.setRegistryName(new ResourceLocation("spackenmobs:entities.marcell_davis.ambient")); - event.getRegistry().register((SoundEvent)ModSoundEvents.ENTITY_MARCELLDAVIS_AMBIENT); - ModSoundEvents.ENTITY_MARCELLDAVIS_HURT.setRegistryName(new ResourceLocation("spackenmobs:entities.marcell_davis.hurt")); - event.getRegistry().register((SoundEvent)ModSoundEvents.ENTITY_MARCELLDAVIS_HURT); - ModSoundEvents.ENTITY_MARCELLDAVIS_DEATH.setRegistryName(new ResourceLocation("spackenmobs:entities.marcell_davis.death")); - event.getRegistry().register((SoundEvent)ModSoundEvents.ENTITY_MARCELLDAVIS_DEATH); - - // Mr. Bean - ModSoundEvents.ENTITY_MRBEAN_AMBIENT.setRegistryName(new ResourceLocation("spackenmobs:entities.mr_bean.ambient")); - event.getRegistry().register((SoundEvent)ModSoundEvents.ENTITY_MRBEAN_AMBIENT); - ModSoundEvents.ENTITY_MRBEAN_HURT.setRegistryName(new ResourceLocation("spackenmobs:entities.mr_bean.hurt")); - event.getRegistry().register((SoundEvent)ModSoundEvents.ENTITY_MRBEAN_HURT); - ModSoundEvents.ENTITY_MRBEAN_DEATH.setRegistryName(new ResourceLocation("spackenmobs:entities.mr_bean.death")); - event.getRegistry().register((SoundEvent)ModSoundEvents.ENTITY_MRBEAN_DEATH); +public class RegHandler { + @SubscribeEvent + public static void registerItems(Register event) { + final Item[] items = { + new Item().setRegistryName(Spackenmobs.MODID, "ram").setUnlocalizedName(Spackenmobs.MODID + "." + "ram") + .setCreativeTab(CreativeTabs.MISC), + new Item().setRegistryName(Spackenmobs.MODID, "ram_on_a_stick") + .setUnlocalizedName(Spackenmobs.MODID + "." + "ram_on_a_stick") + .setCreativeTab(CreativeTabs.MISC), + new Item().setRegistryName(Spackenmobs.MODID, "surstroemming") + .setUnlocalizedName(Spackenmobs.MODID + "." + "surstroemming") + .setCreativeTab(CreativeTabs.MISC) }; + event.getRegistry().registerAll(items); + } - // ApoRed - ModSoundEvents.ENTITY_APORED_AMBIENT.setRegistryName(new ResourceLocation("spackenmobs:entities.apored.ambient")); - event.getRegistry().register((SoundEvent)ModSoundEvents.ENTITY_APORED_AMBIENT); - ModSoundEvents.ENTITY_APORED_HURT.setRegistryName(new ResourceLocation("spackenmobs:entities.apored.hurt")); - event.getRegistry().register((SoundEvent)ModSoundEvents.ENTITY_APORED_HURT); - ModSoundEvents.ENTITY_APORED_DEATH.setRegistryName(new ResourceLocation("spackenmobs:entities.apored.death")); - event.getRegistry().register((SoundEvent)ModSoundEvents.ENTITY_APORED_DEATH); + @SubscribeEvent + public static void registerEntities(Register event) { + int id = 1; - // Drachenlord - ModSoundEvents.ENTITY_DRACHENLORD_AMBIENT.setRegistryName(new ResourceLocation("spackenmobs:entities.drachenlord.ambient")); - event.getRegistry().register((SoundEvent)ModSoundEvents.ENTITY_DRACHENLORD_AMBIENT); - ModSoundEvents.ENTITY_DRACHENLORD_HURT.setRegistryName(new ResourceLocation("spackenmobs:entities.drachenlord.hurt")); - event.getRegistry().register((SoundEvent)ModSoundEvents.ENTITY_DRACHENLORD_HURT); - ModSoundEvents.ENTITY_DRACHENLORD_DEATH.setRegistryName(new ResourceLocation("spackenmobs:entities.drachenlord.death")); - event.getRegistry().register((SoundEvent)ModSoundEvents.ENTITY_DRACHENLORD_DEATH); - ModSoundEvents.ENTITY_DRACHENLORD_ANGRY.setRegistryName(new ResourceLocation("spackenmobs:entities.drachenlord.angry")); - event.getRegistry().register((SoundEvent)ModSoundEvents.ENTITY_DRACHENLORD_ANGRY); + // Smava Creeper + EntityRegistry.registerModEntity(new ResourceLocation("spackenmobs:smava_creeper"), EntitySmavaCreeper.class, + "smava_creeper", id++, Spackenmobs.instance, 64, 1, true, 7649828, 11053224); + EntityRegistry.addSpawn(EntitySmavaCreeper.class, 25, 1, 4, EnumCreatureType.MONSTER, + BiomeHelper.getBiomesWithMonster(EntityCreeper.class)); - // Schalker - ModSoundEvents.ENTITY_SCHALKER_AMBIENT.setRegistryName(new ResourceLocation("spackenmobs:entities.schalker.ambient")); - event.getRegistry().register((SoundEvent)ModSoundEvents.ENTITY_SCHALKER_AMBIENT); - ModSoundEvents.ENTITY_SCHALKER_HURT.setRegistryName(new ResourceLocation("spackenmobs:entities.schalker.hurt")); - event.getRegistry().register((SoundEvent)ModSoundEvents.ENTITY_SCHALKER_HURT); - ModSoundEvents.ENTITY_SCHALKER_DEATH.setRegistryName(new ResourceLocation("spackenmobs:entities.schalker.death")); - event.getRegistry().register((SoundEvent)ModSoundEvents.ENTITY_SCHALKER_DEATH); - ModSoundEvents.ENTITY_SCHALKER_OPEN.setRegistryName(new ResourceLocation("spackenmobs:entities.schalker.open")); - event.getRegistry().register((SoundEvent)ModSoundEvents.ENTITY_SCHALKER_OPEN); - ModSoundEvents.ENTITY_SCHALKER_SHOOT.setRegistryName(new ResourceLocation("spackenmobs:entities.schalker.shoot")); - event.getRegistry().register((SoundEvent)ModSoundEvents.ENTITY_SCHALKER_SHOOT); + // Marcell D'Avis + EntityRegistry.registerModEntity(new ResourceLocation("spackenmobs:marcell_davis"), EntityMarcellDAvis.class, + "marcell_davis", id++, Spackenmobs.instance, 64, 1, true, 15759, 16777215); + EntityRegistry.addSpawn(EntityMarcellDAvis.class, 50, 1, 4, EnumCreatureType.MONSTER, + BiomeHelper.getBiomesWithMonster(EntityZombie.class)); - // Jens - ModSoundEvents.ENTITY_JENS_AMBIENT.setRegistryName(new ResourceLocation("spackenmobs:entities.jens.ambient")); - event.getRegistry().register((SoundEvent)ModSoundEvents.ENTITY_JENS_AMBIENT); - ModSoundEvents.ENTITY_JENS_HURT.setRegistryName(new ResourceLocation("spackenmobs:entities.jens.hurt")); - event.getRegistry().register((SoundEvent)ModSoundEvents.ENTITY_JENS_HURT); - ModSoundEvents.ENTITY_JENS_DEATH.setRegistryName(new ResourceLocation("spackenmobs:entities.jens.death")); - event.getRegistry().register((SoundEvent)ModSoundEvents.ENTITY_JENS_DEATH); - ModSoundEvents.ENTITY_JENS_EAT.setRegistryName(new ResourceLocation("spackenmobs:entities.jens.eat")); - event.getRegistry().register((SoundEvent)ModSoundEvents.ENTITY_JENS_EAT); - ModSoundEvents.ENTITY_JENS_POOP.setRegistryName(new ResourceLocation("spackenmobs:entities.jens.poop")); - event.getRegistry().register((SoundEvent)ModSoundEvents.ENTITY_JENS_POOP); - } + // Islamist + EntityRegistry.registerModEntity(new ResourceLocation("spackenmobs:islamist"), EntityIslamist.class, "islamist", + id++, Spackenmobs.instance, 64, 1, true, 15263976, 15211548); + EntityRegistry.addSpawn(EntityIslamist.class, 50, 1, 4, EnumCreatureType.MONSTER, + BiomeHelper.getBiomesWithMonster(EntityCreeper.class)); + + // ApoRed + EntityRegistry.registerModEntity(new ResourceLocation("spackenmobs:apored"), EntityApoRed.class, "apored", id++, + Spackenmobs.instance, 64, 1, true, 2039583, 16711680); + EntityRegistry.addSpawn(EntityApoRed.class, 50, 1, 4, EnumCreatureType.MONSTER, + BiomeHelper.getBiomesWithMonster(EntitySkeleton.class)); + + // Mr. Bean + EntityRegistry.registerModEntity(new ResourceLocation("spackenmobs:mr_bean"), EntityMrBean.class, "mr_bean", + id++, Spackenmobs.instance, 64, 1, true, 4802350, 3220238); + EntityRegistry.addSpawn(EntityMrBean.class, 50, 1, 4, EnumCreatureType.MONSTER, + BiomeHelper.getBiomesWithMonster(EntityZombie.class)); + + // Drachenlord + EntityRegistry.registerModEntity(new ResourceLocation("spackenmobs:drachenlord"), EntityDrachenlord.class, + "drachenlord", id++, Spackenmobs.instance, 64, 1, true, 15256745, 8738878); + EntityRegistry.addSpawn(EntityDrachenlord.class, 50, 1, 4, EnumCreatureType.MONSTER, + BiomeHelper.getBiomesWithMonster(EntityPigZombie.class)); + + // Schalker + EntityRegistry.registerModEntity(new ResourceLocation("spackenmobs:schalker"), EntitySchalker.class, "schalker", + id++, Spackenmobs.instance, 64, 1, true, 24745, 16777215); + EntityRegistry.addSpawn(EntitySchalker.class, 50, 1, 4, EnumCreatureType.MONSTER, + BiomeHelper.getBiomesWithMonster(EntityShulker.class)); + + // Jens + EntityRegistry.registerModEntity(new ResourceLocation("spackenmobs:jens"), EntityJens.class, "jens", id++, + Spackenmobs.instance, 64, 1, true, 6704526, 6767911); + EntityRegistry.addSpawn(EntityJens.class, 50, 1, 4, EnumCreatureType.CREATURE, + BiomeHelper.getBiomesWithCreature(EntityPig.class)); + + // WolfMZTE + EntityRegistry.registerModEntity(new ResourceLocation("spackenmobs:wolfmzte"), EntityWolfMZTE.class, "wolfmzte", + id++, Spackenmobs.instance, 64, 1, true, 16711680, 0); + EntityRegistry.addSpawn(EntityJens.class, 50, 1, 4, EnumCreatureType.CREATURE, + BiomeHelper.getBiomesWithCreature(EntityWolf.class)); + + // Holzstammhuhn + EntityRegistry.registerModEntity(new ResourceLocation("spackenmobs:holzstammhuhn"), EntityHolzstammhuhn.class, + "holzstammhuhn", id++, Spackenmobs.instance, 64, 1, true, 12096347, 5295899); + EntityRegistry.addSpawn(EntityJens.class, 50, 1, 4, EnumCreatureType.CREATURE, + BiomeHelper.getBiomesWithCreature(EntityChicken.class)); + + // LootTableList.register(EntityJens.LOOT); + } + + @SubscribeEvent + public static void registerSounds(Register event) { + // Smava Creeper + ModSoundEvents.ENTITY_SMAVACREEPER_FUSE + .setRegistryName(new ResourceLocation("spackenmobs:entities.smava_creeper.fuse")); + event.getRegistry().register(ModSoundEvents.ENTITY_SMAVACREEPER_FUSE); + ModSoundEvents.ENTITY_SMAVACREEPER_BLOW + .setRegistryName(new ResourceLocation("spackenmobs:entities.smava_creeper.blow")); + event.getRegistry().register(ModSoundEvents.ENTITY_SMAVACREEPER_BLOW); + ModSoundEvents.ENTITY_SMAVACREEPER_HURT + .setRegistryName(new ResourceLocation("spackenmobs:entities.smava_creeper.hurt")); + event.getRegistry().register(ModSoundEvents.ENTITY_SMAVACREEPER_HURT); + ModSoundEvents.ENTITY_SMAVACREEPER_AMBIENT + .setRegistryName(new ResourceLocation("spackenmobs:entities.smava_creeper.ambient")); + event.getRegistry().register(ModSoundEvents.ENTITY_SMAVACREEPER_AMBIENT); + + // Islamist + ModSoundEvents.ENTITY_ISLAMIST_FUSE.setRegistryName(new ResourceLocation("spackenmobs:entities.islamist.fuse")); + event.getRegistry().register(ModSoundEvents.ENTITY_ISLAMIST_FUSE); + ModSoundEvents.ENTITY_ISLAMIST_HURT.setRegistryName(new ResourceLocation("spackenmobs:entities.islamist.hurt")); + event.getRegistry().register(ModSoundEvents.ENTITY_ISLAMIST_HURT); + + // Marcell D'Avis + ModSoundEvents.ENTITY_MARCELLDAVIS_AMBIENT + .setRegistryName(new ResourceLocation("spackenmobs:entities.marcell_davis.ambient")); + event.getRegistry().register(ModSoundEvents.ENTITY_MARCELLDAVIS_AMBIENT); + ModSoundEvents.ENTITY_MARCELLDAVIS_HURT + .setRegistryName(new ResourceLocation("spackenmobs:entities.marcell_davis.hurt")); + event.getRegistry().register(ModSoundEvents.ENTITY_MARCELLDAVIS_HURT); + ModSoundEvents.ENTITY_MARCELLDAVIS_DEATH + .setRegistryName(new ResourceLocation("spackenmobs:entities.marcell_davis.death")); + event.getRegistry().register(ModSoundEvents.ENTITY_MARCELLDAVIS_DEATH); + + // Mr. Bean + ModSoundEvents.ENTITY_MRBEAN_AMBIENT + .setRegistryName(new ResourceLocation("spackenmobs:entities.mr_bean.ambient")); + event.getRegistry().register(ModSoundEvents.ENTITY_MRBEAN_AMBIENT); + ModSoundEvents.ENTITY_MRBEAN_HURT.setRegistryName(new ResourceLocation("spackenmobs:entities.mr_bean.hurt")); + event.getRegistry().register(ModSoundEvents.ENTITY_MRBEAN_HURT); + ModSoundEvents.ENTITY_MRBEAN_DEATH.setRegistryName(new ResourceLocation("spackenmobs:entities.mr_bean.death")); + event.getRegistry().register(ModSoundEvents.ENTITY_MRBEAN_DEATH); + + // ApoRed + ModSoundEvents.ENTITY_APORED_AMBIENT + .setRegistryName(new ResourceLocation("spackenmobs:entities.apored.ambient")); + event.getRegistry().register(ModSoundEvents.ENTITY_APORED_AMBIENT); + ModSoundEvents.ENTITY_APORED_HURT.setRegistryName(new ResourceLocation("spackenmobs:entities.apored.hurt")); + event.getRegistry().register(ModSoundEvents.ENTITY_APORED_HURT); + ModSoundEvents.ENTITY_APORED_DEATH.setRegistryName(new ResourceLocation("spackenmobs:entities.apored.death")); + event.getRegistry().register(ModSoundEvents.ENTITY_APORED_DEATH); + + // Drachenlord + ModSoundEvents.ENTITY_DRACHENLORD_AMBIENT + .setRegistryName(new ResourceLocation("spackenmobs:entities.drachenlord.ambient")); + event.getRegistry().register(ModSoundEvents.ENTITY_DRACHENLORD_AMBIENT); + ModSoundEvents.ENTITY_DRACHENLORD_HURT + .setRegistryName(new ResourceLocation("spackenmobs:entities.drachenlord.hurt")); + event.getRegistry().register(ModSoundEvents.ENTITY_DRACHENLORD_HURT); + ModSoundEvents.ENTITY_DRACHENLORD_DEATH + .setRegistryName(new ResourceLocation("spackenmobs:entities.drachenlord.death")); + event.getRegistry().register(ModSoundEvents.ENTITY_DRACHENLORD_DEATH); + ModSoundEvents.ENTITY_DRACHENLORD_ANGRY + .setRegistryName(new ResourceLocation("spackenmobs:entities.drachenlord.angry")); + event.getRegistry().register(ModSoundEvents.ENTITY_DRACHENLORD_ANGRY); + + // Schalker + ModSoundEvents.ENTITY_SCHALKER_AMBIENT + .setRegistryName(new ResourceLocation("spackenmobs:entities.schalker.ambient")); + event.getRegistry().register(ModSoundEvents.ENTITY_SCHALKER_AMBIENT); + ModSoundEvents.ENTITY_SCHALKER_HURT.setRegistryName(new ResourceLocation("spackenmobs:entities.schalker.hurt")); + event.getRegistry().register(ModSoundEvents.ENTITY_SCHALKER_HURT); + ModSoundEvents.ENTITY_SCHALKER_DEATH + .setRegistryName(new ResourceLocation("spackenmobs:entities.schalker.death")); + event.getRegistry().register(ModSoundEvents.ENTITY_SCHALKER_DEATH); + ModSoundEvents.ENTITY_SCHALKER_OPEN.setRegistryName(new ResourceLocation("spackenmobs:entities.schalker.open")); + event.getRegistry().register(ModSoundEvents.ENTITY_SCHALKER_OPEN); + ModSoundEvents.ENTITY_SCHALKER_SHOOT + .setRegistryName(new ResourceLocation("spackenmobs:entities.schalker.shoot")); + event.getRegistry().register(ModSoundEvents.ENTITY_SCHALKER_SHOOT); + + // Jens + ModSoundEvents.ENTITY_JENS_AMBIENT.setRegistryName(new ResourceLocation("spackenmobs:entities.jens.ambient")); + event.getRegistry().register(ModSoundEvents.ENTITY_JENS_AMBIENT); + ModSoundEvents.ENTITY_JENS_HURT.setRegistryName(new ResourceLocation("spackenmobs:entities.jens.hurt")); + event.getRegistry().register(ModSoundEvents.ENTITY_JENS_HURT); + ModSoundEvents.ENTITY_JENS_DEATH.setRegistryName(new ResourceLocation("spackenmobs:entities.jens.death")); + event.getRegistry().register(ModSoundEvents.ENTITY_JENS_DEATH); + ModSoundEvents.ENTITY_JENS_EAT.setRegistryName(new ResourceLocation("spackenmobs:entities.jens.eat")); + event.getRegistry().register(ModSoundEvents.ENTITY_JENS_EAT); + ModSoundEvents.ENTITY_JENS_POOP.setRegistryName(new ResourceLocation("spackenmobs:entities.jens.poop")); + event.getRegistry().register(ModSoundEvents.ENTITY_JENS_POOP); + } } \ No newline at end of file diff --git a/src/main/java/mod/acgaming/spackenmobs/misc/RegHandlerModels.java b/src/main/java/mod/acgaming/spackenmobs/misc/RegHandlerModels.java index dd11db1..61c533d 100644 --- a/src/main/java/mod/acgaming/spackenmobs/misc/RegHandlerModels.java +++ b/src/main/java/mod/acgaming/spackenmobs/misc/RegHandlerModels.java @@ -1,4 +1,5 @@ package mod.acgaming.spackenmobs.misc; + import mod.acgaming.spackenmobs.Spackenmobs; import net.minecraft.client.renderer.block.model.ModelResourceLocation; import net.minecraft.item.Item; @@ -9,18 +10,16 @@ import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; import net.minecraftforge.fml.relauncher.Side; @EventBusSubscriber(value = Side.CLIENT, modid = Spackenmobs.MODID) -public class RegHandlerModels -{ - @SubscribeEvent - public static void registerModels(ModelRegistryEvent event) - { - registerModel(ModItems.RAM, 0); - registerModel(ModItems.RAM_ON_A_STICK, 0); - registerModel(ModItems.SURSTROEMMING, 0); - } +public class RegHandlerModels { + @SubscribeEvent + public static void registerModels(ModelRegistryEvent event) { + registerModel(ModItems.RAM, 0); + registerModel(ModItems.RAM_ON_A_STICK, 0); + registerModel(ModItems.SURSTROEMMING, 0); + } - private static void registerModel(Item item, int meta) - { - ModelLoader.setCustomModelResourceLocation(item, meta, new ModelResourceLocation(item.getRegistryName(), "inventory")); - } + private static void registerModel(Item item, int meta) { + ModelLoader.setCustomModelResourceLocation(item, meta, + new ModelResourceLocation(item.getRegistryName(), "inventory")); + } } \ No newline at end of file diff --git a/src/main/java/mod/acgaming/spackenmobs/render/ModelSchalker.java b/src/main/java/mod/acgaming/spackenmobs/render/ModelSchalker.java index bc5f8a2..02e4680 100644 --- a/src/main/java/mod/acgaming/spackenmobs/render/ModelSchalker.java +++ b/src/main/java/mod/acgaming/spackenmobs/render/ModelSchalker.java @@ -9,58 +9,54 @@ import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; @SideOnly(Side.CLIENT) -public class ModelSchalker extends ModelBase -{ +public class ModelSchalker extends ModelBase { public final ModelRenderer base; public final ModelRenderer lid; public ModelRenderer head; - public ModelSchalker() - { - this.textureHeight = 64; - this.textureWidth = 64; - this.lid = new ModelRenderer(this); - this.base = new ModelRenderer(this); - this.head = new ModelRenderer(this); - this.lid.setTextureOffset(0, 0).addBox(-8.0F, -16.0F, -8.0F, 16, 12, 16); - this.lid.setRotationPoint(0.0F, 24.0F, 0.0F); - this.base.setTextureOffset(0, 28).addBox(-8.0F, -8.0F, -8.0F, 16, 8, 16); - this.base.setRotationPoint(0.0F, 24.0F, 0.0F); - this.head.setTextureOffset(0, 52).addBox(-3.0F, 0.0F, -3.0F, 6, 6, 6); - this.head.setRotationPoint(0.0F, 12.0F, 0.0F); + public ModelSchalker() { + this.textureHeight = 64; + this.textureWidth = 64; + this.lid = new ModelRenderer(this); + this.base = new ModelRenderer(this); + this.head = new ModelRenderer(this); + this.lid.setTextureOffset(0, 0).addBox(-8.0F, -16.0F, -8.0F, 16, 12, 16); + this.lid.setRotationPoint(0.0F, 24.0F, 0.0F); + this.base.setTextureOffset(0, 28).addBox(-8.0F, -8.0F, -8.0F, 16, 8, 16); + this.base.setRotationPoint(0.0F, 24.0F, 0.0F); + this.head.setTextureOffset(0, 52).addBox(-3.0F, 0.0F, -3.0F, 6, 6, 6); + this.head.setRotationPoint(0.0F, 12.0F, 0.0F); } - - public void setRotationAngles(float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scaleFactor, Entity entityIn) - { - EntitySchalker EntitySchalker = (EntitySchalker)entityIn; - float f = ageInTicks - (float)EntitySchalker.ticksExisted; - float f1 = (0.5F + EntitySchalker.getClientPeekAmount(f)) * (float)Math.PI; - float f2 = -1.0F + MathHelper.sin(f1); - float f3 = 0.0F; - if (f1 > (float)Math.PI) - { - f3 = MathHelper.sin(ageInTicks * 0.1F) * 0.7F; - } + @Override + public void setRotationAngles(float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, + float headPitch, float scaleFactor, Entity entityIn) { + EntitySchalker EntitySchalker = (EntitySchalker) entityIn; + float f = ageInTicks - EntitySchalker.ticksExisted; + float f1 = (0.5F + EntitySchalker.getClientPeekAmount(f)) * (float) Math.PI; + float f2 = -1.0F + MathHelper.sin(f1); + float f3 = 0.0F; - this.lid.setRotationPoint(0.0F, 16.0F + MathHelper.sin(f1) * 8.0F + f3, 0.0F); + if (f1 > (float) Math.PI) { + f3 = MathHelper.sin(ageInTicks * 0.1F) * 0.7F; + } - if (EntitySchalker.getClientPeekAmount(f) > 0.3F) - { - this.lid.rotateAngleY = f2 * f2 * f2 * f2 * (float)Math.PI * 0.125F; - } - else - { - this.lid.rotateAngleY = 0.0F; - } + this.lid.setRotationPoint(0.0F, 16.0F + MathHelper.sin(f1) * 8.0F + f3, 0.0F); - this.head.rotateAngleX = headPitch * 0.017453292F; - this.head.rotateAngleY = netHeadYaw * 0.017453292F; + if (EntitySchalker.getClientPeekAmount(f) > 0.3F) { + this.lid.rotateAngleY = f2 * f2 * f2 * f2 * (float) Math.PI * 0.125F; + } else { + this.lid.rotateAngleY = 0.0F; + } + + this.head.rotateAngleX = headPitch * 0.017453292F; + this.head.rotateAngleY = netHeadYaw * 0.017453292F; } - - public void render(Entity entityIn, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scale) - { - this.base.render(scale); - this.lid.render(scale); + + @Override + public void render(Entity entityIn, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, + float headPitch, float scale) { + this.base.render(scale); + this.lid.render(scale); } } \ No newline at end of file diff --git a/src/main/java/mod/acgaming/spackenmobs/render/RenderApoRed.java b/src/main/java/mod/acgaming/spackenmobs/render/RenderApoRed.java index 7a79db4..aa6de14 100644 --- a/src/main/java/mod/acgaming/spackenmobs/render/RenderApoRed.java +++ b/src/main/java/mod/acgaming/spackenmobs/render/RenderApoRed.java @@ -1,4 +1,5 @@ package mod.acgaming.spackenmobs.render; + import mod.acgaming.spackenmobs.entities.EntityApoRed; import net.minecraft.client.model.ModelSkeleton; import net.minecraft.client.renderer.GlStateManager; @@ -14,41 +15,37 @@ import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; @SideOnly(Side.CLIENT) -public class RenderApoRed extends RenderSkeleton -{ - private static final ResourceLocation APORED_TEXTURE = new ResourceLocation("spackenmobs:textures/entities/apored.png"); +public class RenderApoRed extends RenderSkeleton { + private static final ResourceLocation APORED_TEXTURE = new ResourceLocation( + "spackenmobs:textures/entities/apored.png"); public static final Factory FACTORY = new Factory(); - public RenderApoRed(RenderManager renderManagerIn) - { - super(renderManagerIn); - this.addLayer(new LayerHeldItem(this)); - this.addLayer(new LayerBipedArmor(this) - { - protected void initArmor() - { - this.modelLeggings = new ModelSkeleton(0.5F, true); - this.modelArmor = new ModelSkeleton(1.0F, true); - } - }); + public RenderApoRed(RenderManager renderManagerIn) { + super(renderManagerIn); + this.addLayer(new LayerHeldItem(this)); + this.addLayer(new LayerBipedArmor(this) { + @Override + protected void initArmor() { + this.modelLeggings = new ModelSkeleton(0.5F, true); + this.modelArmor = new ModelSkeleton(1.0F, true); + } + }); } - - public void transformHeldFull3DItemLayer() - { - GlStateManager.translate(0.09375F, 0.1875F, 0.0F); + + @Override + public void transformHeldFull3DItemLayer() { + GlStateManager.translate(0.09375F, 0.1875F, 0.0F); } - - protected ResourceLocation getEntityTexture(AbstractSkeleton entity) - { - return APORED_TEXTURE; + + @Override + protected ResourceLocation getEntityTexture(AbstractSkeleton entity) { + return APORED_TEXTURE; } - - public static class Factory implements IRenderFactory - { - @Override - public Render createRenderFor(RenderManager manager) - { - return new RenderApoRed(manager); - } + + public static class Factory implements IRenderFactory { + @Override + public Render createRenderFor(RenderManager manager) { + return new RenderApoRed(manager); + } } } \ No newline at end of file diff --git a/src/main/java/mod/acgaming/spackenmobs/render/RenderDrachenlord.java b/src/main/java/mod/acgaming/spackenmobs/render/RenderDrachenlord.java index 810ab72..64e47b5 100644 --- a/src/main/java/mod/acgaming/spackenmobs/render/RenderDrachenlord.java +++ b/src/main/java/mod/acgaming/spackenmobs/render/RenderDrachenlord.java @@ -1,4 +1,5 @@ package mod.acgaming.spackenmobs.render; + import mod.acgaming.spackenmobs.entities.EntityDrachenlord; import net.minecraft.client.model.ModelZombie; import net.minecraft.client.renderer.entity.Render; @@ -12,35 +13,31 @@ import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; @SideOnly(Side.CLIENT) -public class RenderDrachenlord extends RenderZombie -{ - private static final ResourceLocation DRACHENLORD_TEXTURE = new ResourceLocation("spackenmobs:textures/entities/drachenlord.png"); +public class RenderDrachenlord extends RenderZombie { + private static final ResourceLocation DRACHENLORD_TEXTURE = new ResourceLocation( + "spackenmobs:textures/entities/drachenlord.png"); public static final Factory FACTORY = new Factory(); - public RenderDrachenlord(RenderManager renderManagerIn) - { - super(renderManagerIn); - this.addLayer(new LayerBipedArmor(this) - { - protected void initArmor() - { - this.modelLeggings = new ModelZombie(0.5F, true); - this.modelArmor = new ModelZombie(1.0F, true); - } - }); + public RenderDrachenlord(RenderManager renderManagerIn) { + super(renderManagerIn); + this.addLayer(new LayerBipedArmor(this) { + @Override + protected void initArmor() { + this.modelLeggings = new ModelZombie(0.5F, true); + this.modelArmor = new ModelZombie(1.0F, true); + } + }); } - - protected ResourceLocation getEntityTexture(EntityZombie entity) - { - return DRACHENLORD_TEXTURE; + + @Override + protected ResourceLocation getEntityTexture(EntityZombie entity) { + return DRACHENLORD_TEXTURE; } - - public static class Factory implements IRenderFactory - { - @Override - public Render createRenderFor(RenderManager manager) - { - return new RenderDrachenlord(manager); - } + + public static class Factory implements IRenderFactory { + @Override + public Render createRenderFor(RenderManager manager) { + return new RenderDrachenlord(manager); + } } } \ No newline at end of file diff --git a/src/main/java/mod/acgaming/spackenmobs/render/RenderHolzstammhuhn.java b/src/main/java/mod/acgaming/spackenmobs/render/RenderHolzstammhuhn.java index a481a2a..12b0be4 100644 --- a/src/main/java/mod/acgaming/spackenmobs/render/RenderHolzstammhuhn.java +++ b/src/main/java/mod/acgaming/spackenmobs/render/RenderHolzstammhuhn.java @@ -1,4 +1,5 @@ package mod.acgaming.spackenmobs.render; + import mod.acgaming.spackenmobs.entities.EntityHolzstammhuhn; import net.minecraft.client.renderer.entity.Render; import net.minecraft.client.renderer.entity.RenderChicken; @@ -10,27 +11,24 @@ import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; @SideOnly(Side.CLIENT) -public class RenderHolzstammhuhn extends RenderChicken -{ - private static final ResourceLocation HOLZSTAMMHUHN_TEXTURE = new ResourceLocation("spackenmobs:textures/entities/holzstammhuhn.png"); +public class RenderHolzstammhuhn extends RenderChicken { + private static final ResourceLocation HOLZSTAMMHUHN_TEXTURE = new ResourceLocation( + "spackenmobs:textures/entities/holzstammhuhn.png"); public static final Factory FACTORY = new Factory(); - public RenderHolzstammhuhn(RenderManager renderManagerIn) - { - super(renderManagerIn); + public RenderHolzstammhuhn(RenderManager renderManagerIn) { + super(renderManagerIn); } - - protected ResourceLocation getEntityTexture(EntityChicken entity) - { - return HOLZSTAMMHUHN_TEXTURE; + + @Override + protected ResourceLocation getEntityTexture(EntityChicken entity) { + return HOLZSTAMMHUHN_TEXTURE; } - - public static class Factory implements IRenderFactory - { - @Override - public Render createRenderFor(RenderManager manager) - { - return new RenderHolzstammhuhn(manager); - } + + public static class Factory implements IRenderFactory { + @Override + public Render createRenderFor(RenderManager manager) { + return new RenderHolzstammhuhn(manager); + } } } \ No newline at end of file diff --git a/src/main/java/mod/acgaming/spackenmobs/render/RenderIslamist.java b/src/main/java/mod/acgaming/spackenmobs/render/RenderIslamist.java index 74b9c79..9fa1298 100644 --- a/src/main/java/mod/acgaming/spackenmobs/render/RenderIslamist.java +++ b/src/main/java/mod/acgaming/spackenmobs/render/RenderIslamist.java @@ -1,4 +1,5 @@ package mod.acgaming.spackenmobs.render; + import mod.acgaming.spackenmobs.entities.EntityIslamist; import net.minecraft.client.renderer.entity.Render; import net.minecraft.client.renderer.entity.RenderCreeper; @@ -11,28 +12,25 @@ import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; @SideOnly(Side.CLIENT) -public class RenderIslamist extends RenderCreeper -{ - private static final ResourceLocation ISLAMIST_TEXTURE = new ResourceLocation("spackenmobs:textures/entities/islamist.png"); +public class RenderIslamist extends RenderCreeper { + private static final ResourceLocation ISLAMIST_TEXTURE = new ResourceLocation( + "spackenmobs:textures/entities/islamist.png"); public static final Factory FACTORY = new Factory(); - public RenderIslamist(RenderManager renderManagerIn) - { - super(renderManagerIn); - this.addLayer(new LayerCreeperCharge(this)); + public RenderIslamist(RenderManager renderManagerIn) { + super(renderManagerIn); + this.addLayer(new LayerCreeperCharge(this)); } - - protected ResourceLocation getEntityTexture(EntityCreeper entity) - { - return ISLAMIST_TEXTURE; + + @Override + protected ResourceLocation getEntityTexture(EntityCreeper entity) { + return ISLAMIST_TEXTURE; } - - public static class Factory implements IRenderFactory - { - @Override - public Render createRenderFor(RenderManager manager) - { - return new RenderIslamist(manager); - } + + public static class Factory implements IRenderFactory { + @Override + public Render createRenderFor(RenderManager manager) { + return new RenderIslamist(manager); + } } } \ No newline at end of file diff --git a/src/main/java/mod/acgaming/spackenmobs/render/RenderJens.java b/src/main/java/mod/acgaming/spackenmobs/render/RenderJens.java index 3673e10..78f57dd 100644 --- a/src/main/java/mod/acgaming/spackenmobs/render/RenderJens.java +++ b/src/main/java/mod/acgaming/spackenmobs/render/RenderJens.java @@ -1,4 +1,5 @@ package mod.acgaming.spackenmobs.render; + import mod.acgaming.spackenmobs.entities.EntityJens; import net.minecraft.client.model.ModelBiped; import net.minecraft.client.renderer.entity.Render; @@ -10,27 +11,23 @@ import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; @SideOnly(Side.CLIENT) -public class RenderJens extends RenderBiped -{ +public class RenderJens extends RenderBiped { private static final ResourceLocation JENS_TEXTURE = new ResourceLocation("spackenmobs:textures/entities/jens.png"); public static final Factory FACTORY = new Factory(); - public RenderJens(RenderManager renderManagerIn) - { - super(renderManagerIn, new ModelBiped(), 0.25F); + public RenderJens(RenderManager renderManagerIn) { + super(renderManagerIn, new ModelBiped(), 0.25F); } - protected ResourceLocation getEntityTexture(EntityJens entity) - { - return JENS_TEXTURE; + @Override + protected ResourceLocation getEntityTexture(EntityJens entity) { + return JENS_TEXTURE; } - - private static class Factory implements IRenderFactory - { - @Override - public Render createRenderFor(RenderManager manager) - { - return new RenderJens(manager); - } + + private static class Factory implements IRenderFactory { + @Override + public Render createRenderFor(RenderManager manager) { + return new RenderJens(manager); + } } } \ No newline at end of file diff --git a/src/main/java/mod/acgaming/spackenmobs/render/RenderMarcellDAvis.java b/src/main/java/mod/acgaming/spackenmobs/render/RenderMarcellDAvis.java index 610dab2..c6d6d2f 100644 --- a/src/main/java/mod/acgaming/spackenmobs/render/RenderMarcellDAvis.java +++ b/src/main/java/mod/acgaming/spackenmobs/render/RenderMarcellDAvis.java @@ -1,4 +1,5 @@ package mod.acgaming.spackenmobs.render; + import mod.acgaming.spackenmobs.entities.EntityMarcellDAvis; import net.minecraft.client.model.ModelZombie; import net.minecraft.client.renderer.entity.Render; @@ -12,36 +13,32 @@ import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; @SideOnly(Side.CLIENT) -public class RenderMarcellDAvis extends RenderZombie -{ - private static final ResourceLocation MARCELLDAVIS_TEXTURE = new ResourceLocation("spackenmobs:textures/entities/marcell_davis.png"); +public class RenderMarcellDAvis extends RenderZombie { + private static final ResourceLocation MARCELLDAVIS_TEXTURE = new ResourceLocation( + "spackenmobs:textures/entities/marcell_davis.png"); public static final Factory FACTORY = new Factory(); - public RenderMarcellDAvis(RenderManager renderManagerIn) - { - super(renderManagerIn); - LayerBipedArmor layerbipedarmor = new LayerBipedArmor(this) - { - protected void initArmor() - { - this.modelLeggings = new ModelZombie(0.5F, true); - this.modelArmor = new ModelZombie(1.0F, true); - } - }; - this.addLayer(layerbipedarmor); + public RenderMarcellDAvis(RenderManager renderManagerIn) { + super(renderManagerIn); + LayerBipedArmor layerbipedarmor = new LayerBipedArmor(this) { + @Override + protected void initArmor() { + this.modelLeggings = new ModelZombie(0.5F, true); + this.modelArmor = new ModelZombie(1.0F, true); + } + }; + this.addLayer(layerbipedarmor); } - - protected ResourceLocation getEntityTexture(EntityZombie entity) - { - return MARCELLDAVIS_TEXTURE; + + @Override + protected ResourceLocation getEntityTexture(EntityZombie entity) { + return MARCELLDAVIS_TEXTURE; } - - public static class Factory implements IRenderFactory - { - @Override - public Render createRenderFor(RenderManager manager) - { - return new RenderMarcellDAvis(manager); - } + + public static class Factory implements IRenderFactory { + @Override + public Render createRenderFor(RenderManager manager) { + return new RenderMarcellDAvis(manager); + } } } \ No newline at end of file diff --git a/src/main/java/mod/acgaming/spackenmobs/render/RenderMrBean.java b/src/main/java/mod/acgaming/spackenmobs/render/RenderMrBean.java index 6a38df2..131247f 100644 --- a/src/main/java/mod/acgaming/spackenmobs/render/RenderMrBean.java +++ b/src/main/java/mod/acgaming/spackenmobs/render/RenderMrBean.java @@ -1,4 +1,5 @@ package mod.acgaming.spackenmobs.render; + import mod.acgaming.spackenmobs.entities.EntityMrBean; import net.minecraft.client.model.ModelZombie; import net.minecraft.client.renderer.entity.Render; @@ -12,36 +13,32 @@ import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; @SideOnly(Side.CLIENT) -public class RenderMrBean extends RenderZombie -{ - private static final ResourceLocation MRBEAN_TEXTURE = new ResourceLocation("spackenmobs:textures/entities/mr_bean.png"); +public class RenderMrBean extends RenderZombie { + private static final ResourceLocation MRBEAN_TEXTURE = new ResourceLocation( + "spackenmobs:textures/entities/mr_bean.png"); public static final Factory FACTORY = new Factory(); - public RenderMrBean(RenderManager renderManagerIn) - { - super(renderManagerIn); - LayerBipedArmor layerbipedarmor = new LayerBipedArmor(this) - { - protected void initArmor() - { - this.modelLeggings = new ModelZombie(0.5F, true); - this.modelArmor = new ModelZombie(1.0F, true); - } - }; - this.addLayer(layerbipedarmor); + public RenderMrBean(RenderManager renderManagerIn) { + super(renderManagerIn); + LayerBipedArmor layerbipedarmor = new LayerBipedArmor(this) { + @Override + protected void initArmor() { + this.modelLeggings = new ModelZombie(0.5F, true); + this.modelArmor = new ModelZombie(1.0F, true); + } + }; + this.addLayer(layerbipedarmor); } - - protected ResourceLocation getEntityTexture(EntityZombie entity) - { - return MRBEAN_TEXTURE; + + @Override + protected ResourceLocation getEntityTexture(EntityZombie entity) { + return MRBEAN_TEXTURE; } - - public static class Factory implements IRenderFactory - { - @Override - public Render createRenderFor(RenderManager manager) - { - return new RenderMrBean(manager); - } + + public static class Factory implements IRenderFactory { + @Override + public Render createRenderFor(RenderManager manager) { + return new RenderMrBean(manager); + } } } \ No newline at end of file diff --git a/src/main/java/mod/acgaming/spackenmobs/render/RenderSchalker.java b/src/main/java/mod/acgaming/spackenmobs/render/RenderSchalker.java index 7a6bbac..c0e5bc5 100644 --- a/src/main/java/mod/acgaming/spackenmobs/render/RenderSchalker.java +++ b/src/main/java/mod/acgaming/spackenmobs/render/RenderSchalker.java @@ -1,4 +1,5 @@ package mod.acgaming.spackenmobs.render; + import mod.acgaming.spackenmobs.entities.EntitySchalker; import net.minecraft.client.model.ModelRenderer; import net.minecraft.client.renderer.GlStateManager; @@ -16,175 +17,179 @@ import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; @SideOnly(Side.CLIENT) -public class RenderSchalker extends RenderLiving -{ - public static final ResourceLocation[] SCHALKER_TEXTURE = new ResourceLocation[] {new ResourceLocation("spackenmobs:textures/entities/schalker.png"), new ResourceLocation("spackenmobs:textures/entities/schalker.png"), new ResourceLocation("spackenmobs:textures/entities/schalker.png"), new ResourceLocation("spackenmobs:textures/entities/schalker.png"), new ResourceLocation("spackenmobs:textures/entities/schalker.png"), new ResourceLocation("spackenmobs:textures/entities/schalker.png"), new ResourceLocation("spackenmobs:textures/entities/schalker.png"), new ResourceLocation("spackenmobs:textures/entities/schalker.png"), new ResourceLocation("spackenmobs:textures/entities/schalker.png"), new ResourceLocation("spackenmobs:textures/entities/schalker.png"), new ResourceLocation("spackenmobs:textures/entities/schalker.png"), new ResourceLocation("spackenmobs:textures/entities/schalker.png"), new ResourceLocation("spackenmobs:textures/entities/schalker.png"), new ResourceLocation("spackenmobs:textures/entities/schalker.png"), new ResourceLocation("spackenmobs:textures/entities/schalker.png"), new ResourceLocation("spackenmobs:textures/entities/schalker.png")}; +public class RenderSchalker extends RenderLiving { + public static final ResourceLocation[] SCHALKER_TEXTURE = new ResourceLocation[] { + new ResourceLocation("spackenmobs:textures/entities/schalker.png"), + new ResourceLocation("spackenmobs:textures/entities/schalker.png"), + new ResourceLocation("spackenmobs:textures/entities/schalker.png"), + new ResourceLocation("spackenmobs:textures/entities/schalker.png"), + new ResourceLocation("spackenmobs:textures/entities/schalker.png"), + new ResourceLocation("spackenmobs:textures/entities/schalker.png"), + new ResourceLocation("spackenmobs:textures/entities/schalker.png"), + new ResourceLocation("spackenmobs:textures/entities/schalker.png"), + new ResourceLocation("spackenmobs:textures/entities/schalker.png"), + new ResourceLocation("spackenmobs:textures/entities/schalker.png"), + new ResourceLocation("spackenmobs:textures/entities/schalker.png"), + new ResourceLocation("spackenmobs:textures/entities/schalker.png"), + new ResourceLocation("spackenmobs:textures/entities/schalker.png"), + new ResourceLocation("spackenmobs:textures/entities/schalker.png"), + new ResourceLocation("spackenmobs:textures/entities/schalker.png"), + new ResourceLocation("spackenmobs:textures/entities/schalker.png") }; public static final Factory FACTORY = new Factory(); - - public RenderSchalker(RenderManager p_i47194_1_) - { - super(p_i47194_1_, new ModelSchalker(), 0.0F); - this.addLayer(new RenderSchalker.HeadLayer()); - } - - public ModelSchalker getMainModel() - { - return (ModelSchalker)super.getMainModel(); - } - - public void doRender(EntitySchalker entity, double x, double y, double z, float entityYaw, float partialTicks) - { - int i = entity.getClientTeleportInterp(); - if (i > 0 && entity.isAttachedToBlock()) - { - BlockPos blockpos = entity.getAttachmentPos(); - BlockPos blockpos1 = entity.getOldAttachPos(); - double d0 = (double)((float)i - partialTicks) / 6.0D; - d0 = d0 * d0; - double d1 = (double)(blockpos.getX() - blockpos1.getX()) * d0; - double d2 = (double)(blockpos.getY() - blockpos1.getY()) * d0; - double d3 = (double)(blockpos.getZ() - blockpos1.getZ()) * d0; - super.doRender(entity, x - d1, y - d2, z - d3, entityYaw, partialTicks); - } - else - { - super.doRender(entity, x, y, z, entityYaw, partialTicks); - } + public RenderSchalker(RenderManager p_i47194_1_) { + super(p_i47194_1_, new ModelSchalker(), 0.0F); + this.addLayer(new RenderSchalker.HeadLayer()); } - - public boolean shouldRender(EntitySchalker livingEntity, ICamera camera, double camX, double camY, double camZ) - { - if (super.shouldRender(livingEntity, camera, camX, camY, camZ)) - { - return true; - } - else - { - if (livingEntity.getClientTeleportInterp() > 0 && livingEntity.isAttachedToBlock()) - { - BlockPos blockpos = livingEntity.getOldAttachPos(); - BlockPos blockpos1 = livingEntity.getAttachmentPos(); - Vec3d vec3d = new Vec3d((double)blockpos1.getX(), (double)blockpos1.getY(), (double)blockpos1.getZ()); - Vec3d vec3d1 = new Vec3d((double)blockpos.getX(), (double)blockpos.getY(), (double)blockpos.getZ()); - if (camera.isBoundingBoxInFrustum(new AxisAlignedBB(vec3d1.x, vec3d1.y, vec3d1.z, vec3d.x, vec3d.y, vec3d.z))) - { - return true; - } - } + @Override + public ModelSchalker getMainModel() { + return (ModelSchalker) super.getMainModel(); + } - return false; - } - } - - protected ResourceLocation getEntityTexture(EntitySchalker entity) - { - return SCHALKER_TEXTURE[entity.getColor().getMetadata()]; - } - - protected void applyRotations(EntitySchalker entityLiving, float p_77043_2_, float rotationYaw, float partialTicks) - { - super.applyRotations(entityLiving, p_77043_2_, rotationYaw, partialTicks); + @Override + public void doRender(EntitySchalker entity, double x, double y, double z, float entityYaw, float partialTicks) { + int i = entity.getClientTeleportInterp(); - switch (entityLiving.getAttachmentFacing()) - { - case DOWN: - default: - break; - case EAST: - GlStateManager.translate(0.5F, 0.5F, 0.0F); - GlStateManager.rotate(90.0F, 1.0F, 0.0F, 0.0F); - GlStateManager.rotate(90.0F, 0.0F, 0.0F, 1.0F); - break; - case WEST: - GlStateManager.translate(-0.5F, 0.5F, 0.0F); - GlStateManager.rotate(90.0F, 1.0F, 0.0F, 0.0F); - GlStateManager.rotate(-90.0F, 0.0F, 0.0F, 1.0F); - break; - case NORTH: - GlStateManager.translate(0.0F, 0.5F, -0.5F); - GlStateManager.rotate(90.0F, 1.0F, 0.0F, 0.0F); - break; - case SOUTH: - GlStateManager.translate(0.0F, 0.5F, 0.5F); - GlStateManager.rotate(90.0F, 1.0F, 0.0F, 0.0F); - GlStateManager.rotate(180.0F, 0.0F, 0.0F, 1.0F); - break; - case UP: - GlStateManager.translate(0.0F, 1.0F, 0.0F); - GlStateManager.rotate(180.0F, 1.0F, 0.0F, 0.0F); - } + if (i > 0 && entity.isAttachedToBlock()) { + BlockPos blockpos = entity.getAttachmentPos(); + BlockPos blockpos1 = entity.getOldAttachPos(); + double d0 = (i - partialTicks) / 6.0D; + d0 = d0 * d0; + double d1 = (blockpos.getX() - blockpos1.getX()) * d0; + double d2 = (blockpos.getY() - blockpos1.getY()) * d0; + double d3 = (blockpos.getZ() - blockpos1.getZ()) * d0; + super.doRender(entity, x - d1, y - d2, z - d3, entityYaw, partialTicks); + } else { + super.doRender(entity, x, y, z, entityYaw, partialTicks); + } } - - protected void preRenderCallback(EntitySchalker entitylivingbaseIn, float partialTickTime) - { - float f = 0.999F; - GlStateManager.scale(0.999F, 0.999F, 0.999F); + + @Override + public boolean shouldRender(EntitySchalker livingEntity, ICamera camera, double camX, double camY, double camZ) { + if (super.shouldRender(livingEntity, camera, camX, camY, camZ)) { + return true; + } else { + if (livingEntity.getClientTeleportInterp() > 0 && livingEntity.isAttachedToBlock()) { + BlockPos blockpos = livingEntity.getOldAttachPos(); + BlockPos blockpos1 = livingEntity.getAttachmentPos(); + Vec3d vec3d = new Vec3d(blockpos1.getX(), blockpos1.getY(), blockpos1.getZ()); + Vec3d vec3d1 = new Vec3d(blockpos.getX(), blockpos.getY(), blockpos.getZ()); + + if (camera.isBoundingBoxInFrustum( + new AxisAlignedBB(vec3d1.x, vec3d1.y, vec3d1.z, vec3d.x, vec3d.y, vec3d.z))) { + return true; + } + } + + return false; + } } - + + @Override + protected ResourceLocation getEntityTexture(EntitySchalker entity) { + return SCHALKER_TEXTURE[entity.getColor().getMetadata()]; + } + + @Override + protected void applyRotations(EntitySchalker entityLiving, float p_77043_2_, float rotationYaw, + float partialTicks) { + super.applyRotations(entityLiving, p_77043_2_, rotationYaw, partialTicks); + + switch (entityLiving.getAttachmentFacing()) { + case DOWN: + default: + break; + case EAST: + GlStateManager.translate(0.5F, 0.5F, 0.0F); + GlStateManager.rotate(90.0F, 1.0F, 0.0F, 0.0F); + GlStateManager.rotate(90.0F, 0.0F, 0.0F, 1.0F); + break; + case WEST: + GlStateManager.translate(-0.5F, 0.5F, 0.0F); + GlStateManager.rotate(90.0F, 1.0F, 0.0F, 0.0F); + GlStateManager.rotate(-90.0F, 0.0F, 0.0F, 1.0F); + break; + case NORTH: + GlStateManager.translate(0.0F, 0.5F, -0.5F); + GlStateManager.rotate(90.0F, 1.0F, 0.0F, 0.0F); + break; + case SOUTH: + GlStateManager.translate(0.0F, 0.5F, 0.5F); + GlStateManager.rotate(90.0F, 1.0F, 0.0F, 0.0F); + GlStateManager.rotate(180.0F, 0.0F, 0.0F, 1.0F); + break; + case UP: + GlStateManager.translate(0.0F, 1.0F, 0.0F); + GlStateManager.rotate(180.0F, 1.0F, 0.0F, 0.0F); + } + } + + @Override + protected void preRenderCallback(EntitySchalker entitylivingbaseIn, float partialTickTime) { + float f = 0.999F; + GlStateManager.scale(0.999F, 0.999F, 0.999F); + } + @SideOnly(Side.CLIENT) - class HeadLayer implements LayerRenderer - { - private HeadLayer() - { - } - - public void doRenderLayer(EntitySchalker entitylivingbaseIn, float limbSwing, float limbSwingAmount, float partialTicks, float ageInTicks, float netHeadYaw, float headPitch, float scale) - { - GlStateManager.pushMatrix(); + class HeadLayer implements LayerRenderer { + private HeadLayer() { + } - switch (entitylivingbaseIn.getAttachmentFacing()) - { - case DOWN: - default: - break; - case EAST: - GlStateManager.rotate(90.0F, 0.0F, 0.0F, 1.0F); - GlStateManager.rotate(90.0F, 1.0F, 0.0F, 0.0F); - GlStateManager.translate(1.0F, -1.0F, 0.0F); - GlStateManager.rotate(180.0F, 0.0F, 1.0F, 0.0F); - break; - case WEST: - GlStateManager.rotate(-90.0F, 0.0F, 0.0F, 1.0F); - GlStateManager.rotate(90.0F, 1.0F, 0.0F, 0.0F); - GlStateManager.translate(-1.0F, -1.0F, 0.0F); - GlStateManager.rotate(180.0F, 0.0F, 1.0F, 0.0F); - break; - case NORTH: - GlStateManager.rotate(90.0F, 1.0F, 0.0F, 0.0F); - GlStateManager.translate(0.0F, -1.0F, -1.0F); - break; - case SOUTH: - GlStateManager.rotate(180.0F, 0.0F, 0.0F, 1.0F); - GlStateManager.rotate(90.0F, 1.0F, 0.0F, 0.0F); - GlStateManager.translate(0.0F, -1.0F, 1.0F); - break; - case UP: - GlStateManager.rotate(180.0F, 1.0F, 0.0F, 0.0F); - GlStateManager.translate(0.0F, -2.0F, 0.0F); - } + @Override + public void doRenderLayer(EntitySchalker entitylivingbaseIn, float limbSwing, float limbSwingAmount, + float partialTicks, float ageInTicks, float netHeadYaw, float headPitch, float scale) { + GlStateManager.pushMatrix(); - ModelRenderer modelrenderer = RenderSchalker.this.getMainModel().head; - modelrenderer.rotateAngleY = netHeadYaw * 0.017453292F; - modelrenderer.rotateAngleX = headPitch * 0.017453292F; - RenderSchalker.this.bindTexture(RenderSchalker.SCHALKER_TEXTURE[entitylivingbaseIn.getColor().getMetadata()]); - modelrenderer.render(scale); - GlStateManager.popMatrix(); - } - - public boolean shouldCombineTextures() - { - return false; - } + switch (entitylivingbaseIn.getAttachmentFacing()) { + case DOWN: + default: + break; + case EAST: + GlStateManager.rotate(90.0F, 0.0F, 0.0F, 1.0F); + GlStateManager.rotate(90.0F, 1.0F, 0.0F, 0.0F); + GlStateManager.translate(1.0F, -1.0F, 0.0F); + GlStateManager.rotate(180.0F, 0.0F, 1.0F, 0.0F); + break; + case WEST: + GlStateManager.rotate(-90.0F, 0.0F, 0.0F, 1.0F); + GlStateManager.rotate(90.0F, 1.0F, 0.0F, 0.0F); + GlStateManager.translate(-1.0F, -1.0F, 0.0F); + GlStateManager.rotate(180.0F, 0.0F, 1.0F, 0.0F); + break; + case NORTH: + GlStateManager.rotate(90.0F, 1.0F, 0.0F, 0.0F); + GlStateManager.translate(0.0F, -1.0F, -1.0F); + break; + case SOUTH: + GlStateManager.rotate(180.0F, 0.0F, 0.0F, 1.0F); + GlStateManager.rotate(90.0F, 1.0F, 0.0F, 0.0F); + GlStateManager.translate(0.0F, -1.0F, 1.0F); + break; + case UP: + GlStateManager.rotate(180.0F, 1.0F, 0.0F, 0.0F); + GlStateManager.translate(0.0F, -2.0F, 0.0F); + } + + ModelRenderer modelrenderer = RenderSchalker.this.getMainModel().head; + modelrenderer.rotateAngleY = netHeadYaw * 0.017453292F; + modelrenderer.rotateAngleX = headPitch * 0.017453292F; + RenderSchalker.this + .bindTexture(RenderSchalker.SCHALKER_TEXTURE[entitylivingbaseIn.getColor().getMetadata()]); + modelrenderer.render(scale); + GlStateManager.popMatrix(); + } + + @Override + public boolean shouldCombineTextures() { + return false; + } } - - public static class Factory implements IRenderFactory - { - @Override - public Render createRenderFor(RenderManager manager) - { - return new RenderSchalker(manager); - } + + public static class Factory implements IRenderFactory { + @Override + public Render createRenderFor(RenderManager manager) { + return new RenderSchalker(manager); + } } } \ No newline at end of file diff --git a/src/main/java/mod/acgaming/spackenmobs/render/RenderSmavaCreeper.java b/src/main/java/mod/acgaming/spackenmobs/render/RenderSmavaCreeper.java index fd2f4de..fae28ff 100644 --- a/src/main/java/mod/acgaming/spackenmobs/render/RenderSmavaCreeper.java +++ b/src/main/java/mod/acgaming/spackenmobs/render/RenderSmavaCreeper.java @@ -1,4 +1,5 @@ package mod.acgaming.spackenmobs.render; + import mod.acgaming.spackenmobs.entities.EntitySmavaCreeper; import net.minecraft.client.renderer.entity.Render; import net.minecraft.client.renderer.entity.RenderCreeper; @@ -11,28 +12,25 @@ import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; @SideOnly(Side.CLIENT) -public class RenderSmavaCreeper extends RenderCreeper -{ - private static final ResourceLocation SMAVA_TEXTURE = new ResourceLocation("spackenmobs:textures/entities/smava_creeper.png"); +public class RenderSmavaCreeper extends RenderCreeper { + private static final ResourceLocation SMAVA_TEXTURE = new ResourceLocation( + "spackenmobs:textures/entities/smava_creeper.png"); public static final Factory FACTORY = new Factory(); - public RenderSmavaCreeper(RenderManager renderManagerIn) - { - super(renderManagerIn); - this.addLayer(new LayerCreeperCharge(this)); + public RenderSmavaCreeper(RenderManager renderManagerIn) { + super(renderManagerIn); + this.addLayer(new LayerCreeperCharge(this)); } - - protected ResourceLocation getEntityTexture(EntityCreeper entity) - { - return SMAVA_TEXTURE; + + @Override + protected ResourceLocation getEntityTexture(EntityCreeper entity) { + return SMAVA_TEXTURE; } - - public static class Factory implements IRenderFactory - { - @Override - public Render createRenderFor(RenderManager manager) - { - return new RenderSmavaCreeper(manager); - } + + public static class Factory implements IRenderFactory { + @Override + public Render createRenderFor(RenderManager manager) { + return new RenderSmavaCreeper(manager); + } } } \ No newline at end of file diff --git a/src/main/java/mod/acgaming/spackenmobs/render/RenderWolfMZTE.java b/src/main/java/mod/acgaming/spackenmobs/render/RenderWolfMZTE.java index 6d4f0fe..ab7eef5 100644 --- a/src/main/java/mod/acgaming/spackenmobs/render/RenderWolfMZTE.java +++ b/src/main/java/mod/acgaming/spackenmobs/render/RenderWolfMZTE.java @@ -1,4 +1,5 @@ package mod.acgaming.spackenmobs.render; + import mod.acgaming.spackenmobs.entities.EntityWolfMZTE; import net.minecraft.client.renderer.GlStateManager; import net.minecraft.client.renderer.entity.Render; @@ -12,53 +13,48 @@ import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; @SideOnly(Side.CLIENT) -public class RenderWolfMZTE extends RenderWolf -{ - private static final ResourceLocation WOLFMZTE_TEXTURE = new ResourceLocation("spackenmobs:textures/entities/wolfmzte.png"); - private static final ResourceLocation TAMED_WOLFMZTE_TEXTURE = new ResourceLocation("spackenmobs:textures/entities/wolfmzte_tame.png"); - private static final ResourceLocation ANRGY_WOLFMZTE_TEXTURE = new ResourceLocation("spackenmobs:textures/entities/wolfmzte_angry.png"); +public class RenderWolfMZTE extends RenderWolf { + private static final ResourceLocation WOLFMZTE_TEXTURE = new ResourceLocation( + "spackenmobs:textures/entities/wolfmzte.png"); + private static final ResourceLocation TAMED_WOLFMZTE_TEXTURE = new ResourceLocation( + "spackenmobs:textures/entities/wolfmzte_tame.png"); + private static final ResourceLocation ANRGY_WOLFMZTE_TEXTURE = new ResourceLocation( + "spackenmobs:textures/entities/wolfmzte_angry.png"); public static final Factory FACTORY = new Factory(); - public RenderWolfMZTE(RenderManager renderManagerIn) - { - super(renderManagerIn); - this.addLayer(new LayerWolfCollar(this)); + public RenderWolfMZTE(RenderManager renderManagerIn) { + super(renderManagerIn); + this.addLayer(new LayerWolfCollar(this)); } - protected float handleRotationFloat(EntityWolf livingBase, float partialTicks) - { - return livingBase.getTailRotation(); + @Override + protected float handleRotationFloat(EntityWolf livingBase, float partialTicks) { + return livingBase.getTailRotation(); } - public void doRender(EntityWolf entity, double x, double y, double z, float entityYaw, float partialTicks) - { - if (entity.isWolfWet()) - { - float f = entity.getBrightness() * entity.getShadingWhileWet(partialTicks); - GlStateManager.color(f, f, f); - } + @Override + public void doRender(EntityWolf entity, double x, double y, double z, float entityYaw, float partialTicks) { + if (entity.isWolfWet()) { + float f = entity.getBrightness() * entity.getShadingWhileWet(partialTicks); + GlStateManager.color(f, f, f); + } - super.doRender(entity, x, y, z, entityYaw, partialTicks); + super.doRender(entity, x, y, z, entityYaw, partialTicks); } - protected ResourceLocation getEntityTexture(EntityWolf entity) - { - if (entity.isTamed()) - { - return TAMED_WOLFMZTE_TEXTURE; - } - else - { - return entity.isAngry() ? ANRGY_WOLFMZTE_TEXTURE : WOLFMZTE_TEXTURE; - } + @Override + protected ResourceLocation getEntityTexture(EntityWolf entity) { + if (entity.isTamed()) { + return TAMED_WOLFMZTE_TEXTURE; + } else { + return entity.isAngry() ? ANRGY_WOLFMZTE_TEXTURE : WOLFMZTE_TEXTURE; + } } - - public static class Factory implements IRenderFactory - { - @Override - public Render createRenderFor(RenderManager manager) - { - return new RenderWolfMZTE(manager); - } + + public static class Factory implements IRenderFactory { + @Override + public Render createRenderFor(RenderManager manager) { + return new RenderWolfMZTE(manager); + } } } \ No newline at end of file