diff --git a/.gitignore b/.gitignore index a1a5ca2..837742d 100644 --- a/.gitignore +++ b/.gitignore @@ -20,4 +20,5 @@ build # other eclipse run -build.bat \ No newline at end of file +build.bat +runClient.bat diff --git a/build.gradle b/build.gradle index f1e0112..d6a1275 100644 --- a/build.gradle +++ b/build.gradle @@ -23,7 +23,7 @@ compileJava { minecraft { version = "1.12.2-14.23.5.2847" runDir = "run" - + // the mappings can be changed at any time, and must be in the following format. // snapshot_YYYYMMDD snapshot are built nightly. // stable_# stables are built at the discretion of the MCP team. @@ -38,7 +38,7 @@ dependencies { // or you may define them like so.. //compile "some.group:artifact:version:classifier" //compile "some.group:artifact:version" - + // real examples //compile 'com.mod-buildcraft:buildcraft:6.0.8:dev' // adds buildcraft to the dev env //compile 'com.googlecode.efficient-java-matrix-library:ejml:0.24' // adds ejml to the dev env @@ -65,11 +65,11 @@ processResources { // replace stuff in mcmod.info, nothing else from(sourceSets.main.resources.srcDirs) { include 'mcmod.info' - + // replace version and mcversion - expand 'version':project.version, 'mcversion':project.minecraft.version + expand 'version': project.version, 'mcversion': project.minecraft.version } - + // copy everything else except the mcmod.info from(sourceSets.main.resources.srcDirs) { exclude 'mcmod.info' diff --git a/src/main/java/mod/acgaming/spackenmobs/Spackenmobs.java b/src/main/java/mod/acgaming/spackenmobs/Spackenmobs.java index 3218484..3b82475 100644 --- a/src/main/java/mod/acgaming/spackenmobs/Spackenmobs.java +++ b/src/main/java/mod/acgaming/spackenmobs/Spackenmobs.java @@ -11,34 +11,39 @@ import net.minecraftforge.fml.common.event.FMLPreInitializationEvent; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; -@Mod(modid = "spackenmobs", version = "RC1", acceptedMinecraftVersions = "[1.12.2]") -public class Spackenmobs { - public static final String MODID = "spackenmobs"; - public static final String VERSION = "RC1"; +@Mod(modid = "spackenmobs", version = "RC3", acceptedMinecraftVersions = "[1.12.2]") +public class Spackenmobs +{ + public static final String MODID = "spackenmobs"; + public static final String VERSION = "RC3"; - public static final CreativeTabs SPACKENMOBS_TAB = new SpackenmobsTab(); + public static final CreativeTabs SPACKENMOBS_TAB = new SpackenmobsTab(); - @Instance - public static Spackenmobs instance; + @Instance + public static Spackenmobs instance; - @SideOnly(Side.CLIENT) - @EventHandler - public void preInitClient(FMLPreInitializationEvent event) { - ModEntities.initModels(); - } + @SideOnly(Side.CLIENT) + @EventHandler + public void preInitClient(FMLPreInitializationEvent event) + { + ModEntities.initModels(); + } - @EventHandler - public void preInit(FMLPreInitializationEvent event) { + @EventHandler + public void preInit(FMLPreInitializationEvent event) + { - } + } - @EventHandler - public void init(FMLInitializationEvent event) { + @EventHandler + public void init(FMLInitializationEvent event) + { - } + } - @EventHandler - public void postInit(FMLPostInitializationEvent 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 2d2f241..4094c66 100644 --- a/src/main/java/mod/acgaming/spackenmobs/SpackenmobsTab.java +++ b/src/main/java/mod/acgaming/spackenmobs/SpackenmobsTab.java @@ -6,14 +6,17 @@ 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); - } +public class SpackenmobsTab extends CreativeTabs +{ + public SpackenmobsTab() + { + super(Spackenmobs.MODID); + } - @SideOnly(Side.CLIENT) - @Override - public ItemStack getTabIconItem() { - return new ItemStack(ModItems.RAM); - } + @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/EntityAIDance.java b/src/main/java/mod/acgaming/spackenmobs/entities/EntityAIDance.java index c6f8245..dde9201 100644 --- a/src/main/java/mod/acgaming/spackenmobs/entities/EntityAIDance.java +++ b/src/main/java/mod/acgaming/spackenmobs/entities/EntityAIDance.java @@ -5,70 +5,82 @@ import net.minecraft.entity.ai.EntityAIBase; import net.minecraft.init.Blocks; // Thanks to Akrivus! -public class EntityAIDance extends EntityAIBase { - private final EntityJens jens; +public class EntityAIDance extends EntityAIBase +{ + private final EntityJens jens; - private final int searchRadius; + private final int searchRadius; - private int lastDanceMoveTime = 0; + private int lastDanceMoveTime = 0; - private int danceStage = 0; + private int danceStage = 0; - public EntityAIDance(EntityJens jens, int searchRadius) { - this.jens = jens; - this.searchRadius = searchRadius; - } + public EntityAIDance(EntityJens jens, int searchRadius) + { + this.jens = jens; + this.searchRadius = searchRadius; + } - @Override - public void resetTask() { - this.lastDanceMoveTime = 0; - this.danceStage = 0; - } + @Override + public void resetTask() + { + this.lastDanceMoveTime = 0; + this.danceStage = 0; + } - @Override - public boolean shouldContinueExecuting() { - return shouldExecute(); - } + @Override + public boolean shouldContinueExecuting() + { + return shouldExecute(); + } - @Override - public boolean shouldExecute() { - for(int x = -this.searchRadius; x <= this.searchRadius; x++) { - for(int y = -2; y <= 2; y++) { - for(int z = -this.searchRadius; z <= this.searchRadius; z++) { - if(this.jens.world.getBlockState(this.jens.getPosition().add(x, y, z)).getBlock() == Blocks.JUKEBOX - && this.jens.world.getBlockState(this.jens.getPosition().add(x, y, z)).getValue(BlockJukebox.HAS_RECORD)) - return true; - } - } - } - return false; - } + @Override + public boolean shouldExecute() + { + for (int x = -this.searchRadius; x <= this.searchRadius; x++) + { + for (int y = -2; y <= 2; y++) + { + for (int z = -this.searchRadius; z <= this.searchRadius; z++) + { + if (this.jens.world.getBlockState(this.jens.getPosition().add(x, y, z)).getBlock() == Blocks.JUKEBOX + && this.jens.world.getBlockState(this.jens.getPosition().add(x, y, z)).getValue(BlockJukebox.HAS_RECORD)) + return true; + } + } + } + return false; + } - @Override - public void startExecuting() { - this.danceStage = 1; - } + @Override + public void startExecuting() + { + this.danceStage = 1; + } - @Override - public void updateTask() { - if(this.lastDanceMoveTime <= 0) { - switch(this.danceStage) { - case 1: - this.danceStage = this.jens.world.rand.nextBoolean() ? 1 : 2; - this.jens.motionY = 0.42D; - break; - case 2: - this.jens.setSneaking(true); - this.jens.motionY = -3.0D; - this.danceStage = 3; - break; - case 3: - this.danceStage = this.jens.world.rand.nextBoolean() ? 1 : 2; - this.jens.setSneaking(false); - break; - } - this.lastDanceMoveTime = this.jens.world.rand.nextInt(10) + 5; - } - this.lastDanceMoveTime--; - } + @Override + public void updateTask() + { + if (this.lastDanceMoveTime <= 0) + { + switch (this.danceStage) + { + case 1: + this.danceStage = this.jens.world.rand.nextBoolean() ? 1 : 2; + this.jens.motionY = 0.42D; + break; + case 2: + this.jens.setSneaking(true); + this.jens.motionY = -3.0D; + this.danceStage = 3; + break; + case 3: + this.danceStage = this.jens.world.rand.nextBoolean() ? 1 : 2; + this.jens.setSneaking(false); + break; + } + this.lastDanceMoveTime = this.jens.world.rand.nextInt(10) + 5; + } + this.lastDanceMoveTime--; + } } diff --git a/src/main/java/mod/acgaming/spackenmobs/entities/EntityAIEatDroppedFish.java b/src/main/java/mod/acgaming/spackenmobs/entities/EntityAIEatDroppedFish.java index 98cabf7..b7d3ca6 100644 --- a/src/main/java/mod/acgaming/spackenmobs/entities/EntityAIEatDroppedFish.java +++ b/src/main/java/mod/acgaming/spackenmobs/entities/EntityAIEatDroppedFish.java @@ -8,56 +8,68 @@ import net.minecraft.world.World; import java.util.List; -public class EntityAIEatDroppedFish extends EntityAIBase { - double searchDistance = 10.0D; - private final EntityJens jens; - private final World world; +public class EntityAIEatDroppedFish extends EntityAIBase +{ + private final EntityJens jens; + private final World world; + double searchDistance = 10.0D; - public EntityAIEatDroppedFish(EntityJens jens) { - this.jens = jens; - this.world = jens.world; - } + public EntityAIEatDroppedFish(EntityJens jens) + { + this.jens = jens; + this.world = jens.world; + } - public EntityItem getNearbyFood() { - List items = getItems(); - for(EntityItem item : items) { - return item; - } - return null; - } + public EntityItem getNearbyFood() + { + List items = getItems(); + for (EntityItem item : items) + { + return item; + } + 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)); - } + 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.digesting - && this.jens.isFishItem(getNearbyFood.getItem())) { - execute(this.jens, getNearbyFood); - } - return false; - } + @Override + public boolean shouldExecute() + { + EntityItem getNearbyFood = getNearbyFood(); + if (getNearbyFood != null && !this.jens.isChild() && !this.jens.digesting + && 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 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(); - } - } + 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 df7b612..6d65a93 100644 --- a/src/main/java/mod/acgaming/spackenmobs/entities/EntityApoRed.java +++ b/src/main/java/mod/acgaming/spackenmobs/entities/EntityApoRed.java @@ -6,23 +6,28 @@ 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); - } +public class EntityApoRed extends EntitySkeleton +{ + public EntityApoRed(World worldIn) + { + super(worldIn); + } - @Override - protected SoundEvent getAmbientSound() { - return ModSoundEvents.ENTITY_APORED_AMBIENT; - } + @Override + protected SoundEvent getAmbientSound() + { + return ModSoundEvents.ENTITY_APORED_AMBIENT; + } - @Override - protected SoundEvent getHurtSound(DamageSource damageSourceIn) { - return ModSoundEvents.ENTITY_APORED_HURT; - } + @Override + protected SoundEvent getHurtSound(DamageSource damageSourceIn) + { + return ModSoundEvents.ENTITY_APORED_HURT; + } - @Override - protected SoundEvent getDeathSound() { - return ModSoundEvents.ENTITY_APORED_DEATH; - } + @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/EntityBakaMitaiCreeper.java b/src/main/java/mod/acgaming/spackenmobs/entities/EntityBakaMitaiCreeper.java index 2162d74..2d0cdf0 100644 --- a/src/main/java/mod/acgaming/spackenmobs/entities/EntityBakaMitaiCreeper.java +++ b/src/main/java/mod/acgaming/spackenmobs/entities/EntityBakaMitaiCreeper.java @@ -31,256 +31,301 @@ import net.minecraftforge.fml.relauncher.SideOnly; import javax.annotation.Nullable; import java.util.Collection; -public class EntityBakaMitaiCreeper extends EntityCreeper { - private static final DataParameter STATE = EntityDataManager.createKey(EntityBakaMitaiCreeper.class, DataSerializers.VARINT); - private static final DataParameter POWERED = EntityDataManager.createKey(EntityBakaMitaiCreeper.class, DataSerializers.BOOLEAN); - private static final DataParameter IGNITED = EntityDataManager.createKey(EntityBakaMitaiCreeper.class, DataSerializers.BOOLEAN); - private int lastActiveTime; - private int timeSinceIgnited; - private int fuseTime = 100; - private int explosionRadius = 12; - private int droppedSkulls; +public class EntityBakaMitaiCreeper extends EntityCreeper +{ + private static final DataParameter STATE = EntityDataManager.createKey(EntityBakaMitaiCreeper.class, DataSerializers.VARINT); + private static final DataParameter POWERED = EntityDataManager.createKey(EntityBakaMitaiCreeper.class, DataSerializers.BOOLEAN); + private static final DataParameter IGNITED = EntityDataManager.createKey(EntityBakaMitaiCreeper.class, DataSerializers.BOOLEAN); + private int lastActiveTime; + private int timeSinceIgnited; + private int fuseTime = 100; + private int explosionRadius = 12; + private int droppedSkulls; - public EntityBakaMitaiCreeper(World worldIn) { - super(worldIn); - this.setSize(0.6F, 1.7F); - } + public EntityBakaMitaiCreeper(World worldIn) + { + super(worldIn); + this.setSize(0.6F, 1.7F); + } - @Override - public boolean ableToCauseSkullDrop() { - return this.droppedSkulls < 1 && this.world.getGameRules().getBoolean("doMobLoot"); - } + @Override + public boolean ableToCauseSkullDrop() + { + return this.droppedSkulls < 1 && this.world.getGameRules().getBoolean("doMobLoot"); + } - @Override - protected void applyEntityAttributes() { - super.applyEntityAttributes(); - this.getEntityAttribute(SharedMonsterAttributes.MOVEMENT_SPEED).setBaseValue(0.25D); - } + @Override + protected void applyEntityAttributes() + { + super.applyEntityAttributes(); + this.getEntityAttribute(SharedMonsterAttributes.MOVEMENT_SPEED).setBaseValue(0.25D); + } - @Override - public boolean attackEntityAsMob(Entity entityIn) { - return true; - } + @Override + public boolean attackEntityAsMob(Entity entityIn) + { + return true; + } - @Override - protected void entityInit() { - super.entityInit(); - this.dataManager.register(STATE, -1); - this.dataManager.register(POWERED, false); - this.dataManager.register(IGNITED, false); - } + @Override + protected void entityInit() + { + super.entityInit(); + this.dataManager.register(STATE, -1); + this.dataManager.register(POWERED, false); + this.dataManager.register(IGNITED, false); + } - 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 /*TODO sound missing?*/, getSoundCategory(), 1.0F, 1.0F); - this.world.createExplosion(this, this.posX, this.posY, this.posZ, this.explosionRadius * f, flag); - this.setDead(); - this.spawnLingeringCloud(); - } - } + 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_BAKAMITAICREEPER_BLOW, getSoundCategory(), 1.0F, 1.0F); + this.world.createExplosion(this, this.posX, this.posY, this.posZ, this.explosionRadius * f, flag); + this.setDead(); + this.spawnLingeringCloud(); + } + } - @Override - public void fall(float distance, float damageMultiplier) { - super.fall(distance, damageMultiplier); - this.timeSinceIgnited = (int)(this.timeSinceIgnited + distance * 1.5F); + @Override + public void fall(float distance, float damageMultiplier) + { + super.fall(distance, damageMultiplier); + this.timeSinceIgnited = (int) (this.timeSinceIgnited + distance * 1.5F); - if(this.timeSinceIgnited > this.fuseTime - 5) { - this.timeSinceIgnited = this.fuseTime - 5; - } - } + if (this.timeSinceIgnited > this.fuseTime - 5) + { + this.timeSinceIgnited = this.fuseTime - 5; + } + } - @Override - @SideOnly(Side.CLIENT) - public float getCreeperFlashIntensity(float p_70831_1_) { - return (this.lastActiveTime + (this.timeSinceIgnited - this.lastActiveTime) * p_70831_1_) / (this.fuseTime - 2); - } + @Override + @SideOnly(Side.CLIENT) + public float getCreeperFlashIntensity(float p_70831_1_) + { + return (this.lastActiveTime + (this.timeSinceIgnited - this.lastActiveTime) * p_70831_1_) / (this.fuseTime - 2); + } - @Override - public int getCreeperState() { - return this.dataManager.get(STATE); - } + @Override + public int getCreeperState() + { + return this.dataManager.get(STATE); + } - @Override - public void setCreeperState(int state) { - this.dataManager.set(STATE, state); - } + @Override + public void setCreeperState(int state) + { + this.dataManager.set(STATE, state); + } - @Override - protected SoundEvent getDeathSound() { - return SoundEvents.ENTITY_CREEPER_DEATH; - } + @Override + protected SoundEvent getDeathSound() + { + return SoundEvents.ENTITY_CREEPER_DEATH; + } - @Override - protected SoundEvent getHurtSound(DamageSource damageSourceIn) { - return SoundEvents.ENTITY_CREEPER_HURT; - } + @Override + protected SoundEvent getHurtSound(DamageSource damageSourceIn) + { + return SoundEvents.ENTITY_CREEPER_HURT; + } - @Override - @Nullable - protected ResourceLocation getLootTable() { - return LootTableList.ENTITIES_CREEPER; - } + @Override + @Nullable + protected ResourceLocation getLootTable() + { + return LootTableList.ENTITIES_CREEPER; + } - @Override - public int getMaxFallHeight() { - return this.getAttackTarget() == null ? 3 : 3 + (int)(this.getHealth() - 1.0F); - } + @Override + public int getMaxFallHeight() + { + return this.getAttackTarget() == null ? 3 : 3 + (int) (this.getHealth() - 1.0F); + } - @Override - public boolean getPowered() { - return this.dataManager.get(POWERED); - } + @Override + public boolean getPowered() + { + return this.dataManager.get(POWERED); + } - @Override - public boolean hasIgnited() { - return this.dataManager.get(IGNITED); - } + @Override + public boolean hasIgnited() + { + return this.dataManager.get(IGNITED); + } - @Override - public void ignite() { - this.dataManager.set(IGNITED, true); - } + @Override + public void ignite() + { + this.dataManager.set(IGNITED, true); + } - @Override - public void incrementDroppedSkulls() { - ++this.droppedSkulls; - } + @Override + public void incrementDroppedSkulls() + { + ++this.droppedSkulls; + } - @Override - protected void initEntityAI() { - this.tasks.addTask(1, new EntityAISwimming(this)); - this.tasks.addTask(2, new EntityAICreeperSwell(this)); - this.tasks.addTask(3, new EntityAIAvoidEntity<>(this, EntityOcelot.class, 6.0F, 1.0D, 1.2D)); - this.tasks.addTask(4, new EntityAIAttackMelee(this, 1.0D, false)); - this.tasks.addTask(5, new EntityAIWanderAvoidWater(this, 0.8D)); - this.tasks.addTask(6, new EntityAIWatchClosest(this, EntityPlayer.class, 8.0F)); - this.tasks.addTask(6, new EntityAILookIdle(this)); - this.targetTasks.addTask(1, new EntityAINearestAttackableTarget<>(this, EntityPlayer.class, true)); - this.targetTasks.addTask(2, new EntityAIHurtByTarget(this, false)); - } + @Override + protected void initEntityAI() + { + this.tasks.addTask(1, new EntityAISwimming(this)); + this.tasks.addTask(2, new EntityAICreeperSwell(this)); + this.tasks.addTask(3, new EntityAIAvoidEntity<>(this, EntityOcelot.class, 6.0F, 1.0D, 1.2D)); + this.tasks.addTask(4, new EntityAIAttackMelee(this, 1.0D, false)); + this.tasks.addTask(5, new EntityAIWanderAvoidWater(this, 0.8D)); + this.tasks.addTask(6, new EntityAIWatchClosest(this, EntityPlayer.class, 8.0F)); + this.tasks.addTask(6, new EntityAILookIdle(this)); + this.targetTasks.addTask(1, new EntityAINearestAttackableTarget<>(this, EntityPlayer.class, true)); + this.targetTasks.addTask(2, new EntityAIHurtByTarget(this, false)); + } - @Override - public void onDeath(DamageSource cause) { - super.onDeath(cause); + @Override + public void onDeath(DamageSource cause) + { + super.onDeath(cause); - if(this.world.getGameRules().getBoolean("doMobLoot")) { - if(cause.getTrueSource() instanceof EntitySkeleton) { - int i = Item.getIdFromItem(Items.RECORD_13); - int j = Item.getIdFromItem(Items.RECORD_WAIT); - int k = i + this.rand.nextInt(j - i + 1); - this.dropItem(Item.getItemById(k), 1); - }else if(cause.getTrueSource() instanceof EntityBakaMitaiCreeper && cause.getTrueSource() != this && ((EntityBakaMitaiCreeper)cause.getTrueSource()).getPowered() - && ((EntityBakaMitaiCreeper)cause.getTrueSource()).ableToCauseSkullDrop()) { - ((EntityBakaMitaiCreeper)cause.getTrueSource()).incrementDroppedSkulls(); - this.entityDropItem(new ItemStack(Items.SKULL, 1, 4), 0.0F); - } - } - } + if (this.world.getGameRules().getBoolean("doMobLoot")) + { + if (cause.getTrueSource() instanceof EntitySkeleton) + { + int i = Item.getIdFromItem(Items.RECORD_13); + int j = Item.getIdFromItem(Items.RECORD_WAIT); + int k = i + this.rand.nextInt(j - i + 1); + this.dropItem(Item.getItemById(k), 1); + } else if (cause.getTrueSource() instanceof EntityBakaMitaiCreeper && cause.getTrueSource() != this && ((EntityBakaMitaiCreeper) cause.getTrueSource()).getPowered() + && ((EntityBakaMitaiCreeper) cause.getTrueSource()).ableToCauseSkullDrop()) + { + ((EntityBakaMitaiCreeper) cause.getTrueSource()).incrementDroppedSkulls(); + this.entityDropItem(new ItemStack(Items.SKULL, 1, 4), 0.0F); + } + } + } - @Override - public void onStruckByLightning(EntityLightningBolt lightningBolt) { - super.onStruckByLightning(lightningBolt); - this.dataManager.set(POWERED, true); - } + @Override + public void onStruckByLightning(EntityLightningBolt lightningBolt) + { + super.onStruckByLightning(lightningBolt); + this.dataManager.set(POWERED, true); + } - @Override - public void onUpdate() { - if(this.isEntityAlive()) { - this.lastActiveTime = this.timeSinceIgnited; + @Override + public void onUpdate() + { + if (this.isEntityAlive()) + { + this.lastActiveTime = this.timeSinceIgnited; - if(this.hasIgnited()) { - this.setCreeperState(1); - } + if (this.hasIgnited()) + { + this.setCreeperState(1); + } - int i = this.getCreeperState(); + int i = this.getCreeperState(); - if(i > 0 && this.timeSinceIgnited == 0) { - this.playSound(ModSoundEvents.ENTITY_SMAVACREEPER_FUSE /*TODO sound missing?*/, 1.0F, 1.0F); - } + if (i > 0 && this.timeSinceIgnited == 0) + { + this.playSound(ModSoundEvents.ENTITY_BAKAMITAICREEPER_FUSE, 1.0F, 1.0F); + } - this.timeSinceIgnited += i; + this.timeSinceIgnited += i; - if(this.timeSinceIgnited < 0) { - this.timeSinceIgnited = 0; - } + if (this.timeSinceIgnited < 0) + { + this.timeSinceIgnited = 0; + } - if(this.timeSinceIgnited >= this.fuseTime) { - this.timeSinceIgnited = this.fuseTime; - this.explode(); - } - } + if (this.timeSinceIgnited >= this.fuseTime) + { + this.timeSinceIgnited = this.fuseTime; + this.explode(); + } + } - super.onUpdate(); - } + super.onUpdate(); + } - @Override - protected boolean processInteract(EntityPlayer player, EnumHand hand) { - ItemStack itemstack = player.getHeldItem(hand); + @Override + protected boolean processInteract(EntityPlayer player, EnumHand hand) + { + ItemStack itemstack = player.getHeldItem(hand); - if(itemstack.getItem() == Items.FLINT_AND_STEEL) { - this.world.playSound(player, this.posX, this.posY, this.posZ, SoundEvents.ITEM_FLINTANDSTEEL_USE, this.getSoundCategory(), 1.0F, this.rand.nextFloat() * 0.4F + 0.8F); - player.swingArm(hand); + if (itemstack.getItem() == Items.FLINT_AND_STEEL) + { + this.world.playSound(player, this.posX, this.posY, this.posZ, SoundEvents.ITEM_FLINTANDSTEEL_USE, this.getSoundCategory(), 1.0F, this.rand.nextFloat() * 0.4F + 0.8F); + player.swingArm(hand); - if(!this.world.isRemote) { - this.ignite(); - itemstack.damageItem(1, player); - return true; - } - } + if (!this.world.isRemote) + { + this.ignite(); + itemstack.damageItem(1, player); + return true; + } + } - return super.processInteract(player, hand); - } + return super.processInteract(player, hand); + } - @Override - public void readEntityFromNBT(NBTTagCompound compound) { - super.readEntityFromNBT(compound); - this.dataManager.set(POWERED, compound.getBoolean("powered")); + @Override + public void readEntityFromNBT(NBTTagCompound compound) + { + super.readEntityFromNBT(compound); + this.dataManager.set(POWERED, compound.getBoolean("powered")); - if(compound.hasKey("Fuse", 99)) { - this.fuseTime = compound.getShort("Fuse"); - } + if (compound.hasKey("Fuse", 99)) + { + this.fuseTime = compound.getShort("Fuse"); + } - if(compound.hasKey("ExplosionRadius", 99)) { - this.explosionRadius = compound.getByte("ExplosionRadius"); - } + if (compound.hasKey("ExplosionRadius", 99)) + { + this.explosionRadius = compound.getByte("ExplosionRadius"); + } - if(compound.getBoolean("ignited")) { - this.ignite(); - } - } + if (compound.getBoolean("ignited")) + { + this.ignite(); + } + } - private void spawnLingeringCloud() { - Collection collection = this.getActivePotionEffects(); + private void spawnLingeringCloud() + { + Collection collection = this.getActivePotionEffects(); - if(!collection.isEmpty()) { - EntityAreaEffectCloud entityareaeffectcloud = new EntityAreaEffectCloud(this.world, this.posX, this.posY, this.posZ); - entityareaeffectcloud.setRadius(2.5F); - entityareaeffectcloud.setRadiusOnUse(-0.5F); - entityareaeffectcloud.setWaitTime(10); - entityareaeffectcloud.setDuration(entityareaeffectcloud.getDuration() / 2); - entityareaeffectcloud.setRadiusPerTick(-entityareaeffectcloud.getRadius() / entityareaeffectcloud.getDuration()); + if (!collection.isEmpty()) + { + EntityAreaEffectCloud entityareaeffectcloud = new EntityAreaEffectCloud(this.world, this.posX, this.posY, this.posZ); + entityareaeffectcloud.setRadius(2.5F); + entityareaeffectcloud.setRadiusOnUse(-0.5F); + entityareaeffectcloud.setWaitTime(10); + entityareaeffectcloud.setDuration(entityareaeffectcloud.getDuration() / 2); + entityareaeffectcloud.setRadiusPerTick(-entityareaeffectcloud.getRadius() / entityareaeffectcloud.getDuration()); - for(PotionEffect potioneffect : collection) { - entityareaeffectcloud.addEffect(new PotionEffect(potioneffect)); - } + for (PotionEffect potioneffect : collection) + { + entityareaeffectcloud.addEffect(new PotionEffect(potioneffect)); + } - this.world.spawnEntity(entityareaeffectcloud); - } - } + this.world.spawnEntity(entityareaeffectcloud); + } + } - @Override - public void writeEntityToNBT(NBTTagCompound compound) { - super.writeEntityToNBT(compound); + @Override + public void writeEntityToNBT(NBTTagCompound compound) + { + super.writeEntityToNBT(compound); - if(this.dataManager.get(POWERED)) { - compound.setBoolean("powered", true); - } + if (this.dataManager.get(POWERED)) + { + compound.setBoolean("powered", true); + } - compound.setShort("Fuse", (short)this.fuseTime); - compound.setByte("ExplosionRadius", (byte)this.explosionRadius); - compound.setBoolean("ignited", this.hasIgnited()); - } + compound.setShort("Fuse", (short) this.fuseTime); + compound.setByte("ExplosionRadius", (byte) this.explosionRadius); + compound.setBoolean("ignited", this.hasIgnited()); + } } \ 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 12fde15..e529bde 100644 --- a/src/main/java/mod/acgaming/spackenmobs/entities/EntityDrachenlord.java +++ b/src/main/java/mod/acgaming/spackenmobs/entities/EntityDrachenlord.java @@ -27,205 +27,247 @@ import net.minecraft.world.storage.loot.LootTableList; import javax.annotation.Nullable; import java.util.UUID; -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 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 EntityDrachenlord(World worldIn) + { + super(worldIn); + this.isImmuneToFire = true; + } - @Override - public void setRevengeTarget(@Nullable EntityLivingBase livingBase) { - super.setRevengeTarget(livingBase); + @Override + public void setRevengeTarget(@Nullable EntityLivingBase livingBase) + { + super.setRevengeTarget(livingBase); - if(livingBase != null) { - this.angerTargetUUID = livingBase.getUniqueID(); - } - } + if (livingBase != null) + { + this.angerTargetUUID = livingBase.getUniqueID(); + } + } - @Override - protected void applyEntityAI() { - this.targetTasks.addTask(1, new EntityDrachenlord.AIHurtByAggressor(this)); - this.targetTasks.addTask(2, new EntityDrachenlord.AITargetAggressor(this)); - } + @Override + protected void applyEntityAI() + { + this.targetTasks.addTask(1, new EntityDrachenlord.AIHurtByAggressor(this)); + this.targetTasks.addTask(2, new EntityDrachenlord.AITargetAggressor(this)); + } - @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); - } + @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); + } - @Override - protected void updateAITasks() { - IAttributeInstance iattributeinstance = this.getEntityAttribute(SharedMonsterAttributes.MOVEMENT_SPEED); + @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); - } + 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); - } + --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.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(); - } + 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(); - } + super.updateAITasks(); + } - @Override - public boolean getCanSpawnHere() { - return this.world.getDifficulty() != EnumDifficulty.PEACEFUL; - } + @Override + public boolean getCanSpawnHere() + { + return this.world.getDifficulty() != EnumDifficulty.PEACEFUL; + } - @Override - 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 isNotColliding() + { + return this.world.checkNoEntityCollision(this.getEntityBoundingBox(), this) + && this.world.getCollisionBoxes(this, this.getEntityBoundingBox()).isEmpty() + && !this.world.containsAnyLiquid(this.getEntityBoundingBox()); + } - @Override - public void writeEntityToNBT(NBTTagCompound compound) { - super.writeEntityToNBT(compound); - compound.setShort("Anger", (short)this.angerLevel); + @Override + 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", ""); - } - } + if (this.angerTargetUUID != null) + { + compound.setString("HurtBy", this.angerTargetUUID.toString()); + } else + { + compound.setString("HurtBy", ""); + } + } - @Override - public void readEntityFromNBT(NBTTagCompound compound) { - super.readEntityFromNBT(compound); - this.angerLevel = compound.getShort("Anger"); - String s = compound.getString("HurtBy"); + @Override + public void readEntityFromNBT(NBTTagCompound compound) + { + super.readEntityFromNBT(compound); + this.angerLevel = compound.getShort("Anger"); + String s = compound.getString("HurtBy"); - if(!s.isEmpty()) { - this.angerTargetUUID = UUID.fromString(s); - EntityPlayer entityplayer = this.world.getPlayerEntityByUUID(this.angerTargetUUID); - this.setRevengeTarget(entityplayer); + 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 (entityplayer != null) + { + this.attackingPlayer = entityplayer; + this.recentlyHit = this.getRevengeTimer(); + } + } + } - @Override - public boolean attackEntityFrom(DamageSource source, float amount) { - if(this.isEntityInvulnerable(source)) { - return false; - }else { - Entity entity = source.getTrueSource(); + @Override + public boolean attackEntityFrom(DamageSource source, float amount) + { + if (this.isEntityInvulnerable(source)) + { + return false; + } else + { + Entity entity = source.getTrueSource(); - if(entity instanceof EntityPlayer) { - this.becomeAngryAt(entity); - } + if (entity instanceof EntityPlayer) + { + this.becomeAngryAt(entity); + } - return super.attackEntityFrom(source, amount); - } - } + return super.attackEntityFrom(source, amount); + } + } - private void becomeAngryAt(Entity p_70835_1_) { - this.angerLevel = 400 + this.rand.nextInt(400); - this.randomSoundDelay = this.rand.nextInt(40); + 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_); - } - } + if (p_70835_1_ instanceof EntityLivingBase) + { + this.setRevengeTarget((EntityLivingBase) p_70835_1_); + } + } - public boolean isAngry() { - return this.angerLevel > 0; - } + public boolean isAngry() + { + return this.angerLevel > 0; + } - @Override - protected SoundEvent getAmbientSound() { - return ModSoundEvents.ENTITY_DRACHENLORD_AMBIENT; - } + @Override + protected SoundEvent getAmbientSound() + { + return ModSoundEvents.ENTITY_DRACHENLORD_AMBIENT; + } - @Override - protected SoundEvent getHurtSound(DamageSource damageSourceIn) { - return ModSoundEvents.ENTITY_DRACHENLORD_HURT; - } + @Override + protected SoundEvent getHurtSound(DamageSource damageSourceIn) + { + return ModSoundEvents.ENTITY_DRACHENLORD_HURT; + } - @Override - protected SoundEvent getDeathSound() { - return ModSoundEvents.ENTITY_DRACHENLORD_DEATH; - } + @Override + protected SoundEvent getDeathSound() + { + return ModSoundEvents.ENTITY_DRACHENLORD_DEATH; + } - @Override - @Nullable - protected ResourceLocation getLootTable() { - return LootTableList.ENTITIES_ZOMBIE_PIGMAN; - } + @Override + @Nullable + protected ResourceLocation getLootTable() + { + return LootTableList.ENTITIES_ZOMBIE_PIGMAN; + } - @Override - public boolean processInteract(EntityPlayer player, EnumHand hand) { - return false; - } + @Override + public boolean processInteract(EntityPlayer player, EnumHand hand) + { + return false; + } - @Override - 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)); + } - @Override - protected ItemStack getSkullDrop() { - return ItemStack.EMPTY; - } + @Override + protected ItemStack getSkullDrop() + { + return ItemStack.EMPTY; + } - @Override - 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); + } - @Override - 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); + } - @Override - 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 dad1475..3d94307 100644 --- a/src/main/java/mod/acgaming/spackenmobs/entities/EntityHolzstammhuhn.java +++ b/src/main/java/mod/acgaming/spackenmobs/entities/EntityHolzstammhuhn.java @@ -18,55 +18,64 @@ import net.minecraft.world.World; import java.util.Set; -public class EntityHolzstammhuhn extends EntityChicken { - private static final Set TEMPTATION_ITEMS = Sets.newHashSet(Items.STICK); +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); - } + 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); + } - @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)); - } + @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)); + } - @Override - public boolean isBreedingItem(ItemStack stack) { - return TEMPTATION_ITEMS.contains(stack.getItem()); - } + @Override + public boolean isBreedingItem(ItemStack stack) + { + return TEMPTATION_ITEMS.contains(stack.getItem()); + } - @Override - protected SoundEvent getAmbientSound() { - return SoundEvents.BLOCK_WOOD_PLACE; - } + @Override + protected SoundEvent getAmbientSound() + { + return SoundEvents.BLOCK_WOOD_PLACE; + } - @Override - protected SoundEvent getHurtSound(DamageSource damageSourceIn) { - return SoundEvents.BLOCK_WOOD_HIT; - } + @Override + protected SoundEvent getHurtSound(DamageSource damageSourceIn) + { + return SoundEvents.BLOCK_WOOD_HIT; + } - @Override - protected SoundEvent getDeathSound() { - return SoundEvents.BLOCK_WOOD_BREAK; - } + @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 + 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); - } + @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 9cebb1e..e2e0022 100644 --- a/src/main/java/mod/acgaming/spackenmobs/entities/EntityIslamist.java +++ b/src/main/java/mod/acgaming/spackenmobs/entities/EntityIslamist.java @@ -6,66 +6,78 @@ import net.minecraft.util.DamageSource; import net.minecraft.util.SoundEvent; import net.minecraft.world.World; -public class EntityIslamist extends EntityCreeper { - private int lastActiveTime; - private int timeSinceIgnited; - private int fuseTime = 30; - private int explosionRadius = 6; +public class EntityIslamist extends EntityCreeper +{ + private int lastActiveTime; + private int timeSinceIgnited; + private final int fuseTime = 30; + private final int explosionRadius = 6; - public EntityIslamist(World worldIn) { - super(worldIn); - this.setSize(0.6F, 1.7F); - } + public EntityIslamist(World worldIn) + { + super(worldIn); + this.setSize(0.6F, 1.7F); + } - @Override - public void onUpdate() { - if(this.isEntityAlive()) { - this.lastActiveTime = this.timeSinceIgnited; + @Override + public void onUpdate() + { + if (this.isEntityAlive()) + { + this.lastActiveTime = this.timeSinceIgnited; - if(this.hasIgnited()) { - this.setCreeperState(1); - } + if (this.hasIgnited()) + { + this.setCreeperState(1); + } - int i = this.getCreeperState(); + int i = this.getCreeperState(); - if(i > 0 && this.timeSinceIgnited == 0) { - this.playSound(ModSoundEvents.ENTITY_ISLAMIST_FUSE, 1.0F, 0.5F); - } + if (i > 0 && this.timeSinceIgnited == 0) + { + this.playSound(ModSoundEvents.ENTITY_ISLAMIST_FUSE, 1.0F, 0.5F); + } - this.timeSinceIgnited += i; + this.timeSinceIgnited += i; - if(this.timeSinceIgnited < 0) { - this.timeSinceIgnited = 0; - } + if (this.timeSinceIgnited < 0) + { + this.timeSinceIgnited = 0; + } - if(this.timeSinceIgnited >= this.fuseTime) { - this.timeSinceIgnited = this.fuseTime; - this.explode(); - } - } + if (this.timeSinceIgnited >= this.fuseTime) + { + this.timeSinceIgnited = this.fuseTime; + this.explode(); + } + } - super.onUpdate(); - } + 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, this.explosionRadius * f, flag); - this.setDead(); - } - } + 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 getHurtSound(DamageSource damageSourceIn) + { + return ModSoundEvents.ENTITY_ISLAMIST_HURT; + } - @Override - protected SoundEvent getAmbientSound() { - return ModSoundEvents.ENTITY_ISLAMIST_AMBIENT; - } + @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 bd05ac2..907e388 100644 --- a/src/main/java/mod/acgaming/spackenmobs/entities/EntityJens.java +++ b/src/main/java/mod/acgaming/spackenmobs/entities/EntityJens.java @@ -28,193 +28,225 @@ import net.minecraftforge.fml.relauncher.SideOnly; import java.util.Set; -public class EntityJens extends EntityPig { - private static final DataParameter SADDLED = EntityDataManager.createKey(EntityJens.class, DataSerializers.BOOLEAN); - private static final DataParameter DIGESTING = EntityDataManager.createKey(EntityJens.class, DataSerializers.BOOLEAN); +public class EntityJens extends EntityPig +{ + private static final DataParameter SADDLED = EntityDataManager.createKey(EntityJens.class, DataSerializers.BOOLEAN); + private static final DataParameter DIGESTING = EntityDataManager.createKey(EntityJens.class, DataSerializers.BOOLEAN); - private static final DataParameter BOOST_TIME = EntityDataManager.createKey(EntityJens.class, DataSerializers.VARINT); - private static final DataParameter DIGEST_TIME = EntityDataManager.createKey(EntityJens.class, DataSerializers.VARINT); + private static final DataParameter BOOST_TIME = EntityDataManager.createKey(EntityJens.class, DataSerializers.VARINT); + private static final DataParameter DIGEST_TIME = EntityDataManager.createKey(EntityJens.class, DataSerializers.VARINT); - private static final Set TEMPTATION_ITEMS = Sets.newHashSet(ModItems.RAM); - private static final Set FISH_ITEMS = Sets.newHashSet(Items.FISH); - public boolean digesting; - public int digestTime; - @SideOnly(Side.CLIENT) - Minecraft MINECRAFT = Minecraft.getMinecraft(); + private static final Set TEMPTATION_ITEMS = Sets.newHashSet(ModItems.RAM); + private static final Set FISH_ITEMS = Sets.newHashSet(Items.FISH); + public boolean digesting; + public int digestTime; + @SideOnly(Side.CLIENT) + Minecraft MINECRAFT = Minecraft.getMinecraft(); - public EntityJens(World worldIn) { - super(worldIn); - setSize(0.6F, 2.2F); - } + public EntityJens(World worldIn) + { + super(worldIn); + setSize(0.6F, 2.2F); + } - @Override - protected void applyEntityAttributes() { - super.applyEntityAttributes(); - this.getEntityAttribute(SharedMonsterAttributes.MAX_HEALTH).setBaseValue(20.0D); - this.getEntityAttribute(SharedMonsterAttributes.MOVEMENT_SPEED).setBaseValue(0.25D); - } + @Override + protected void applyEntityAttributes() + { + super.applyEntityAttributes(); + this.getEntityAttribute(SharedMonsterAttributes.MAX_HEALTH).setBaseValue(20.0D); + this.getEntityAttribute(SharedMonsterAttributes.MOVEMENT_SPEED).setBaseValue(0.25D); + } - @Override - public boolean canBeSteered() { - Entity entity = this.getControllingPassenger(); + @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; - } - } + 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 EntityJens createChild(EntityAgeable ageable) + { + return new EntityJens(this.world); + } - public void digestFish() { - this.playSound(ModSoundEvents.ENTITY_JENS_EAT, 1.0F, 1.0F); + public void digestFish() + { + this.playSound(ModSoundEvents.ENTITY_JENS_EAT, 1.0F, 1.0F); - this.digesting = true; - this.dataManager.set(DIGESTING, true); + this.digesting = true; + this.dataManager.set(DIGESTING, true); - this.digestTime = (ModConfigs.Jens_digest_time * 20); - this.dataManager.set(DIGEST_TIME, this.digestTime); + this.digestTime = (ModConfigs.Jens_digest_time * 20); + this.dataManager.set(DIGEST_TIME, this.digestTime); - 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); - } + 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); + } - this.addPotionEffect(new PotionEffect(MobEffects.NAUSEA, ModConfigs.Jens_digest_time * 20)); - } + this.addPotionEffect(new PotionEffect(MobEffects.NAUSEA, ModConfigs.Jens_digest_time * 20)); + } - @Override - protected void entityInit() { - super.entityInit(); - this.dataManager.register(SADDLED, false); - this.dataManager.register(DIGESTING, false); - this.dataManager.register(BOOST_TIME, 0); - this.dataManager.register(DIGEST_TIME, 0); - } + @Override + protected void entityInit() + { + super.entityInit(); + this.dataManager.register(SADDLED, false); + this.dataManager.register(DIGESTING, false); + this.dataManager.register(BOOST_TIME, 0); + this.dataManager.register(DIGEST_TIME, 0); + } - @Override - protected SoundEvent getAmbientSound() { - return ModSoundEvents.ENTITY_JENS_AMBIENT; - } + @Override + protected SoundEvent getAmbientSound() + { + return ModSoundEvents.ENTITY_JENS_AMBIENT; + } - @Override - protected SoundEvent getDeathSound() { - return ModSoundEvents.ENTITY_JENS_DEATH; - } + @Override + protected SoundEvent getDeathSound() + { + return ModSoundEvents.ENTITY_JENS_DEATH; + } - @Override - protected SoundEvent getHurtSound(DamageSource damageSourceIn) { - return ModSoundEvents.ENTITY_JENS_HURT; - } + @Override + protected SoundEvent getHurtSound(DamageSource damageSourceIn) + { + return ModSoundEvents.ENTITY_JENS_HURT; + } - @Override - protected ResourceLocation getLootTable() { - return ModLootTableList.ENTITIES_JENS; - } + @Override + protected ResourceLocation getLootTable() + { + return ModLootTableList.ENTITIES_JENS; + } - @Override - protected void initEntityAI() { - this.tasks.addTask(0, new EntityAISwimming(this)); - this.tasks.addTask(1, new EntityAIPanic(this, 1.25D)); - this.tasks.addTask(2, new EntityAIDance(this, ModConfigs.Jens_search_distance)); - 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)); - } + @Override + protected void initEntityAI() + { + this.tasks.addTask(0, new EntityAISwimming(this)); + this.tasks.addTask(1, new EntityAIPanic(this, 1.25D)); + this.tasks.addTask(2, new EntityAIDance(this, ModConfigs.Jens_search_distance)); + 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)); + } - @Override - public boolean isBreedingItem(ItemStack stack) { - return TEMPTATION_ITEMS.contains(stack.getItem()); - } + @Override + public boolean isBreedingItem(ItemStack stack) + { + return TEMPTATION_ITEMS.contains(stack.getItem()); + } - public boolean isFishItem(ItemStack stack) { - return FISH_ITEMS.contains(stack.getItem()); - } + public boolean isFishItem(ItemStack stack) + { + return FISH_ITEMS.contains(stack.getItem()); + } - @Override - public void onLivingUpdate() { - super.onLivingUpdate(); + @Override + public void onLivingUpdate() + { + super.onLivingUpdate(); - if(!this.world.isRemote && this.digesting && this.digestTime > 0) { - this.digestTime--; - this.dataManager.set(DIGEST_TIME, this.digestTime); - } + if (!this.world.isRemote && this.digesting && this.digestTime > 0) + { + this.digestTime--; + this.dataManager.set(DIGEST_TIME, this.digestTime); + } - if(!this.world.isRemote && this.digesting && this.digestTime <= 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.clearActivePotions(); + if (!this.world.isRemote && this.digesting && this.digestTime <= 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.clearActivePotions(); - this.digesting = false; - this.dataManager.set(DIGESTING, false); + this.digesting = false; + this.dataManager.set(DIGESTING, false); - this.digestTime = 0; - this.dataManager.set(DIGEST_TIME, 0); - } - } + this.digestTime = 0; + this.dataManager.set(DIGEST_TIME, 0); + } + } - @Override - public boolean processInteract(EntityPlayer player, EnumHand hand) { - if(!super.processInteract(player, hand)) { - ItemStack itemstack = player.getHeldItem(hand); - if(itemstack.getItem() == Items.FISH && !this.isChild() && !this.digesting) { - itemstack.shrink(1); - digestFish(); - return true; - }else if(itemstack.getItem() == Items.NAME_TAG) { - itemstack.interactWithEntity(player, this, hand); - return true; - }else if(this.getSaddled() && !this.isBeingRidden()) { - if(!this.world.isRemote) { - player.startRiding(this); - } - return true; - }else if(itemstack.getItem() == Items.SADDLE) { - itemstack.interactWithEntity(player, this, hand); - this.setCustomNameTag("Reitbarer Jens"); - this.setAlwaysRenderNameTag(true); - return true; - }else { - return false; - } - }else { - return true; - } - } + @Override + public boolean processInteract(EntityPlayer player, EnumHand hand) + { + if (!super.processInteract(player, hand)) + { + ItemStack itemstack = player.getHeldItem(hand); + if (itemstack.getItem() == Items.FISH && !this.isChild() && !this.digesting) + { + itemstack.shrink(1); + digestFish(); + return true; + } else if (itemstack.getItem() == Items.NAME_TAG) + { + itemstack.interactWithEntity(player, this, hand); + return true; + } else if (this.getSaddled() && !this.isBeingRidden()) + { + if (!this.world.isRemote) + { + player.startRiding(this); + } + return true; + } else if (itemstack.getItem() == Items.SADDLE) + { + itemstack.interactWithEntity(player, this, hand); + this.setCustomNameTag("Reitbarer Jens"); + this.setAlwaysRenderNameTag(true); + return true; + } else + { + return false; + } + } else + { + return true; + } + } - @Override - public void readEntityFromNBT(NBTTagCompound compound) { - super.readEntityFromNBT(compound); - this.setSaddled(compound.getBoolean("Saddle")); - this.digesting = compound.getBoolean("Digesting"); - this.digestTime = compound.getInteger("DigestTime"); - } + @Override + public void readEntityFromNBT(NBTTagCompound compound) + { + super.readEntityFromNBT(compound); + this.setSaddled(compound.getBoolean("Saddle")); + this.digesting = compound.getBoolean("Digesting"); + this.digestTime = compound.getInteger("DigestTime"); + } - @Override - public void writeEntityToNBT(NBTTagCompound compound) { - super.writeEntityToNBT(compound); - compound.setBoolean("Saddle", this.getSaddled()); - compound.setBoolean("Digesting", this.digesting); - compound.setInteger("DigestTime", this.digestTime); - } + @Override + public void writeEntityToNBT(NBTTagCompound compound) + { + super.writeEntityToNBT(compound); + compound.setBoolean("Saddle", this.getSaddled()); + compound.setBoolean("Digesting", this.digesting); + compound.setInteger("DigestTime", this.digestTime); + } } \ 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 fdec640..2966ab3 100644 --- a/src/main/java/mod/acgaming/spackenmobs/entities/EntityMarcellDAvis.java +++ b/src/main/java/mod/acgaming/spackenmobs/entities/EntityMarcellDAvis.java @@ -6,24 +6,29 @@ 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); - } +public class EntityMarcellDAvis extends EntityZombie +{ + public EntityMarcellDAvis(World worldIn) + { + super(worldIn); + this.setSize(0.6F, 1.95F); + } - @Override - protected SoundEvent getAmbientSound() { - return ModSoundEvents.ENTITY_MARCELLDAVIS_AMBIENT; - } + @Override + protected SoundEvent getAmbientSound() + { + return ModSoundEvents.ENTITY_MARCELLDAVIS_AMBIENT; + } - @Override - protected SoundEvent getHurtSound(DamageSource damageSourceIn) { - return ModSoundEvents.ENTITY_MARCELLDAVIS_HURT; - } + @Override + protected SoundEvent getHurtSound(DamageSource damageSourceIn) + { + return ModSoundEvents.ENTITY_MARCELLDAVIS_HURT; + } - @Override - protected SoundEvent getDeathSound() { - return ModSoundEvents.ENTITY_MARCELLDAVIS_DEATH; - } + @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 78c9177..d0faa00 100644 --- a/src/main/java/mod/acgaming/spackenmobs/entities/EntityMrBean.java +++ b/src/main/java/mod/acgaming/spackenmobs/entities/EntityMrBean.java @@ -6,24 +6,29 @@ 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); - } +public class EntityMrBean extends EntityZombie +{ + public EntityMrBean(World worldIn) + { + super(worldIn); + this.setSize(0.6F, 1.95F); + } - @Override - protected SoundEvent getAmbientSound() { - return ModSoundEvents.ENTITY_MRBEAN_AMBIENT; - } + @Override + protected SoundEvent getAmbientSound() + { + return ModSoundEvents.ENTITY_MRBEAN_AMBIENT; + } - @Override - protected SoundEvent getHurtSound(DamageSource damageSourceIn) { - return ModSoundEvents.ENTITY_MRBEAN_HURT; - } + @Override + protected SoundEvent getHurtSound(DamageSource damageSourceIn) + { + return ModSoundEvents.ENTITY_MRBEAN_HURT; + } - @Override - protected SoundEvent getDeathSound() { - return ModSoundEvents.ENTITY_MRBEAN_DEATH; - } + @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 1cea57a..3ee5004 100644 --- a/src/main/java/mod/acgaming/spackenmobs/entities/EntitySchalker.java +++ b/src/main/java/mod/acgaming/spackenmobs/entities/EntitySchalker.java @@ -36,683 +36,815 @@ import javax.annotation.Nullable; import java.util.List; import java.util.UUID; -public class EntitySchalker extends EntityGolem implements IMob { - public static final EnumDyeColor DEFAULT_COLOR = EnumDyeColor.PURPLE; - 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 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); - 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; - } - - @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); - } - - @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)); - this.targetTasks.addTask(2, new EntitySchalker.AIAttackNearest(this)); - this.targetTasks.addTask(3, new EntitySchalker.AIDefenseAttack(this)); - } - - @Override - protected boolean canTriggerWalking() { - return false; - } - - @Override - public SoundCategory getSoundCategory() { - return SoundCategory.HOSTILE; - } - - @Override - protected SoundEvent getAmbientSound() { - return ModSoundEvents.ENTITY_SCHALKER_AMBIENT; - } - - @Override - public void playLivingSound() { - if(!this.isClosed()) { - super.playLivingSound(); - } - } - - @Override - protected SoundEvent getDeathSound() { - return ModSoundEvents.ENTITY_SCHALKER_DEATH; - } - - @Override - protected SoundEvent getHurtSound(DamageSource damageSourceIn) { - return this.isClosed() ? SoundEvents.ENTITY_SHULKER_HURT_CLOSED : SoundEvents.ENTITY_SHULKER_HURT; - } - - @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)0); - this.dataManager.register(COLOR, (byte)DEFAULT_COLOR.getMetadata()); - } - - @Override - protected void applyEntityAttributes() { - super.applyEntityAttributes(); - this.getEntityAttribute(SharedMonsterAttributes.MAX_HEALTH).setBaseValue(30.0D); - } - - @Override - protected EntityBodyHelper createBodyHelper() { - return new BodyHelper(this); - } - - @Override - public void readEntityFromNBT(NBTTagCompound compound) { - super.readEntityFromNBT(compound); - this.dataManager.set(ATTACHED_FACE, EnumFacing.getFront(compound.getByte("AttachFace"))); - this.dataManager.set(PEEK_TICK, compound.getByte("Peek")); - this.dataManager.set(COLOR, 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)); - compound.setByte("Color", this.dataManager.get(COLOR)); - 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 = 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)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)0); - this.setAttackTarget(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; - } - - @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 EnumFacing getAttachmentFacing() { - return this.dataManager.get(ATTACHED_FACE); - } - - @Nullable - public BlockPos getAttachmentPos() { - return this.dataManager.get(ATTACHED_BLOCK_POS).orNull(); - } - - public int getPeekTick() { - return this.dataManager.get(PEEK_TICK); - } - - 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); - } - } - - this.dataManager.set(PEEK_TICK, (byte)p_184691_1_); - } - - @SideOnly(Side.CLIENT) - 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; - } - - @SideOnly(Side.CLIENT) - public BlockPos getOldAttachPos() { - return this.currentAttachmentPosition; - } - - @Override - public float getEyeHeight() { - return 0.5F; - } - - @Override - public int getVerticalFaceSpeed() { - return 180; - } - - @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; - } - - @Override - @Nullable - protected ResourceLocation getLootTable() { - return LootTableList.ENTITIES_SHULKER; - } - - @SideOnly(Side.CLIENT) - public EnumDyeColor getColor() { - return EnumDyeColor.byMetadata(this.dataManager.get(COLOR)); - } - - 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; - } - }); - } - - @Override - public boolean shouldExecute() { - return this.taskOwner.getTeam() != null && super.shouldExecute(); - } - - @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 AIAttack extends EntityAIBase { - private int attackTime; - - public AIAttack() { - this.setMutexBits(3); - } - - @Override - public boolean shouldExecute() { - EntityLivingBase entitylivingbase = EntitySchalker.this.getAttackTarget(); - - if(entitylivingbase != null && entitylivingbase.isEntityAlive()) { - return EntitySchalker.this.world.getDifficulty() != EnumDifficulty.PEACEFUL; - }else { - return false; - } - } - - @Override - public void startExecuting() { - this.attackTime = 20; - EntitySchalker.this.updateArmorModifier(100); - } - - @Override - public void resetTask() { - EntitySchalker.this.updateArmorModifier(0); - } - - @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; - EntityShulkerBullet entityshulkerbullet = new EntityShulkerBullet( - EntitySchalker.this.world, - EntitySchalker.this, entitylivingbase, - EntitySchalker.this.getAttachmentFacing().getAxis() - ); - EntitySchalker.this.world.spawnEntity(entityshulkerbullet); - 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(null); - } - - super.updateTask(); - } - } - } - - class AIAttackNearest extends EntityAINearestAttackableTarget { - public AIAttackNearest(EntitySchalker schalker) { - super(schalker, EntityPlayer.class, true); - } - - @Override - public boolean shouldExecute() { - return EntitySchalker.this.world.getDifficulty() != EnumDifficulty.PEACEFUL && super.shouldExecute(); - } - - @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() { - } - - @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; - } - } - - static class BodyHelper extends EntityBodyHelper { - public BodyHelper(EntityLivingBase theEntity) { - super(theEntity); - } - - @Override - public void updateRenderAngles() { - } - } +public class EntitySchalker extends EntityGolem implements IMob +{ + public static final EnumDyeColor DEFAULT_COLOR = EnumDyeColor.PURPLE; + 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 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); + 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; + } + + @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); + } + + @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)); + this.targetTasks.addTask(2, new EntitySchalker.AIAttackNearest(this)); + this.targetTasks.addTask(3, new EntitySchalker.AIDefenseAttack(this)); + } + + @Override + protected boolean canTriggerWalking() + { + return false; + } + + @Override + public SoundCategory getSoundCategory() + { + return SoundCategory.HOSTILE; + } + + @Override + protected SoundEvent getAmbientSound() + { + return ModSoundEvents.ENTITY_SCHALKER_AMBIENT; + } + + @Override + public void playLivingSound() + { + if (!this.isClosed()) + { + super.playLivingSound(); + } + } + + @Override + protected SoundEvent getDeathSound() + { + return ModSoundEvents.ENTITY_SCHALKER_DEATH; + } + + @Override + protected SoundEvent getHurtSound(DamageSource damageSourceIn) + { + return this.isClosed() ? SoundEvents.ENTITY_SHULKER_HURT_CLOSED : SoundEvents.ENTITY_SHULKER_HURT; + } + + @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) 0); + this.dataManager.register(COLOR, (byte) DEFAULT_COLOR.getMetadata()); + } + + @Override + protected void applyEntityAttributes() + { + super.applyEntityAttributes(); + this.getEntityAttribute(SharedMonsterAttributes.MAX_HEALTH).setBaseValue(30.0D); + } + + @Override + protected EntityBodyHelper createBodyHelper() + { + return new BodyHelper(this); + } + + @Override + public void readEntityFromNBT(NBTTagCompound compound) + { + super.readEntityFromNBT(compound); + this.dataManager.set(ATTACHED_FACE, EnumFacing.getFront(compound.getByte("AttachFace"))); + this.dataManager.set(PEEK_TICK, compound.getByte("Peek")); + this.dataManager.set(COLOR, 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)); + compound.setByte("Color", this.dataManager.get(COLOR)); + 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 = 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) 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) 0); + this.setAttackTarget(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; + } + + @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 EnumFacing getAttachmentFacing() + { + return this.dataManager.get(ATTACHED_FACE); + } + + @Nullable + public BlockPos getAttachmentPos() + { + return this.dataManager.get(ATTACHED_BLOCK_POS).orNull(); + } + + public int getPeekTick() + { + return this.dataManager.get(PEEK_TICK); + } + + 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); + } + } + + this.dataManager.set(PEEK_TICK, (byte) p_184691_1_); + } + + @SideOnly(Side.CLIENT) + 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; + } + + @SideOnly(Side.CLIENT) + public BlockPos getOldAttachPos() + { + return this.currentAttachmentPosition; + } + + @Override + public float getEyeHeight() + { + return 0.5F; + } + + @Override + public int getVerticalFaceSpeed() + { + return 180; + } + + @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; + } + + @Override + @Nullable + protected ResourceLocation getLootTable() + { + return LootTableList.ENTITIES_SHULKER; + } + + @SideOnly(Side.CLIENT) + public EnumDyeColor getColor() + { + return EnumDyeColor.byMetadata(this.dataManager.get(COLOR)); + } + + 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; + } + }); + } + + @Override + public boolean shouldExecute() + { + return this.taskOwner.getTeam() != null && super.shouldExecute(); + } + + @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); + } + } + } + + static class BodyHelper extends EntityBodyHelper + { + public BodyHelper(EntityLivingBase theEntity) + { + super(theEntity); + } + + @Override + public void updateRenderAngles() + { + } + } + + class AIAttack extends EntityAIBase + { + private int attackTime; + + public AIAttack() + { + this.setMutexBits(3); + } + + @Override + public boolean shouldExecute() + { + EntityLivingBase entitylivingbase = EntitySchalker.this.getAttackTarget(); + + if (entitylivingbase != null && entitylivingbase.isEntityAlive()) + { + return EntitySchalker.this.world.getDifficulty() != EnumDifficulty.PEACEFUL; + } else + { + return false; + } + } + + @Override + public void startExecuting() + { + this.attackTime = 20; + EntitySchalker.this.updateArmorModifier(100); + } + + @Override + public void resetTask() + { + EntitySchalker.this.updateArmorModifier(0); + } + + @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; + EntityShulkerBullet entityshulkerbullet = new EntityShulkerBullet( + EntitySchalker.this.world, + EntitySchalker.this, entitylivingbase, + EntitySchalker.this.getAttachmentFacing().getAxis() + ); + EntitySchalker.this.world.spawnEntity(entityshulkerbullet); + 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(null); + } + + super.updateTask(); + } + } + } + + class AIAttackNearest extends EntityAINearestAttackableTarget + { + public AIAttackNearest(EntitySchalker schalker) + { + super(schalker, EntityPlayer.class, true); + } + + @Override + public boolean shouldExecute() + { + return EntitySchalker.this.world.getDifficulty() != EnumDifficulty.PEACEFUL && super.shouldExecute(); + } + + @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() + { + } + + @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; + } + } } \ 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 a766915..348140d 100644 --- a/src/main/java/mod/acgaming/spackenmobs/entities/EntitySmavaCreeper.java +++ b/src/main/java/mod/acgaming/spackenmobs/entities/EntitySmavaCreeper.java @@ -7,67 +7,79 @@ 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 class EntitySmavaCreeper extends EntityCreeper +{ + private int lastActiveTime; + private int timeSinceIgnited; + private final int fuseTime = 20; + private final int explosionRadius = 6; - public EntitySmavaCreeper(World worldIn) { - super(worldIn); - setSize(0.6F, 1.7F); - getEntityAttribute(SharedMonsterAttributes.MOVEMENT_SPEED).setBaseValue(0.5D); - } + public EntitySmavaCreeper(World worldIn) + { + super(worldIn); + setSize(0.6F, 1.7F); + getEntityAttribute(SharedMonsterAttributes.MOVEMENT_SPEED).setBaseValue(0.5D); + } - @Override - public void onUpdate() { - if(this.isEntityAlive()) { - this.lastActiveTime = this.timeSinceIgnited; + @Override + public void onUpdate() + { + if (this.isEntityAlive()) + { + this.lastActiveTime = this.timeSinceIgnited; - if(this.hasIgnited()) { - this.setCreeperState(1); - } + if (this.hasIgnited()) + { + this.setCreeperState(1); + } - int i = this.getCreeperState(); + int i = this.getCreeperState(); - if(i > 0 && this.timeSinceIgnited == 0) { - this.playSound(ModSoundEvents.ENTITY_SMAVACREEPER_FUSE, 1.0F, 1.0F); - } + if (i > 0 && this.timeSinceIgnited == 0) + { + this.playSound(ModSoundEvents.ENTITY_SMAVACREEPER_FUSE, 1.0F, 1.0F); + } - this.timeSinceIgnited += i; + this.timeSinceIgnited += i; - if(this.timeSinceIgnited < 0) { - this.timeSinceIgnited = 0; - } + if (this.timeSinceIgnited < 0) + { + this.timeSinceIgnited = 0; + } - if(this.timeSinceIgnited >= this.fuseTime) { - this.timeSinceIgnited = this.fuseTime; - this.explode(); - } - } + if (this.timeSinceIgnited >= this.fuseTime) + { + this.timeSinceIgnited = this.fuseTime; + this.explode(); + } + } - super.onUpdate(); - } + 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, this.explosionRadius * f, flag); - this.setDead(); - } - } + 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 getHurtSound(DamageSource damageSourceIn) + { + return ModSoundEvents.ENTITY_SMAVACREEPER_HURT; + } - @Override - protected SoundEvent getAmbientSound() { - return ModSoundEvents.ENTITY_SMAVACREEPER_AMBIENT; - } + @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 1ebc51e..3b88cd8 100644 --- a/src/main/java/mod/acgaming/spackenmobs/entities/EntityWolfMZTE.java +++ b/src/main/java/mod/acgaming/spackenmobs/entities/EntityWolfMZTE.java @@ -1,83 +1,96 @@ package mod.acgaming.spackenmobs.entities; -import net.minecraft.entity.Entity; import net.minecraft.entity.EntityAgeable; import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.ai.EntityAIAvoidEntity; import net.minecraft.entity.monster.EntityCreeper; import net.minecraft.entity.monster.EntityGhast; import net.minecraft.entity.passive.AbstractHorse; import net.minecraft.entity.passive.EntityAnimal; -import net.minecraft.entity.passive.EntityLlama; import net.minecraft.entity.passive.EntityWolf; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.network.datasync.DataParameter; -import net.minecraft.network.datasync.DataSerializers; -import net.minecraft.network.datasync.EntityDataManager; import net.minecraft.world.World; import java.util.UUID; -public class EntityWolfMZTE extends EntityWolf { - public EntityWolfMZTE(World worldIn) { - super(worldIn); - this.setSize(0.6F, 0.85F); - this.setTamed(false); - } +public class EntityWolfMZTE extends EntityWolf +{ + public EntityWolfMZTE(World worldIn) + { + super(worldIn); + this.setSize(0.6F, 0.85F); + this.setTamed(false); + } - @Override - public EntityWolfMZTE createChild(EntityAgeable ageable) { - EntityWolfMZTE entitywolfmzte = new EntityWolfMZTE(this.world); - UUID uuid = this.getOwnerId(); + @Override + public EntityWolfMZTE createChild(EntityAgeable ageable) + { + EntityWolfMZTE entitywolfmzte = new EntityWolfMZTE(this.world); + UUID uuid = this.getOwnerId(); - if(uuid != null) { - entitywolfmzte.setOwnerId(uuid); - entitywolfmzte.setTamed(true); - } + if (uuid != null) + { + entitywolfmzte.setOwnerId(uuid); + entitywolfmzte.setTamed(true); + } - return entitywolfmzte; - } + return entitywolfmzte; + } - @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; + @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(); - } - } - } + if (!entitywolfmzte.isTamed()) + { + return false; + } else if (entitywolfmzte.isSitting()) + { + return false; + } else + { + return this.isInLove() && entitywolfmzte.isInLove(); + } + } + } - @Override - public boolean shouldAttackEntity(EntityLivingBase target, EntityLivingBase owner) { - if(!(target instanceof EntityCreeper) && !(target instanceof EntityGhast)) { - if(target instanceof EntityWolfMZTE) { - EntityWolfMZTE entitywolfmzte = (EntityWolfMZTE)target; + @Override + 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; - } - } + 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; - } - } + 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; + } + } } \ No newline at end of file diff --git a/src/main/java/mod/acgaming/spackenmobs/events/SurstroemmingSmellsBadEvent.java b/src/main/java/mod/acgaming/spackenmobs/events/SurstroemmingSmellsBadEvent.java index 874279c..529bf97 100644 --- a/src/main/java/mod/acgaming/spackenmobs/events/SurstroemmingSmellsBadEvent.java +++ b/src/main/java/mod/acgaming/spackenmobs/events/SurstroemmingSmellsBadEvent.java @@ -8,14 +8,18 @@ import net.minecraft.potion.PotionEffect; import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; import net.minecraftforge.fml.common.gameevent.TickEvent.PlayerTickEvent; -public class SurstroemmingSmellsBadEvent { - @SubscribeEvent - public void onEvent(PlayerTickEvent event) { - if(event.player != null) { - EntityPlayer player = event.player; - if(player.inventory.hasItemStack(new ItemStack(ModItems.SURSTROEMMING))) { - player.addPotionEffect(new PotionEffect(MobEffects.NAUSEA, 100)); - } - } - } +public class SurstroemmingSmellsBadEvent +{ + @SubscribeEvent + public void onEvent(PlayerTickEvent event) + { + if (event.player != null) + { + EntityPlayer player = event.player; + if (player.inventory.hasItemStack(new ItemStack(ModItems.SURSTROEMMING))) + { + player.addPotionEffect(new PotionEffect(MobEffects.NAUSEA, 100)); + } + } + } } \ No newline at end of file diff --git a/src/main/java/mod/acgaming/spackenmobs/events/TauntDrachenlordEvent.java b/src/main/java/mod/acgaming/spackenmobs/events/TauntDrachenlordEvent.java index 49388c2..856af57 100644 --- a/src/main/java/mod/acgaming/spackenmobs/events/TauntDrachenlordEvent.java +++ b/src/main/java/mod/acgaming/spackenmobs/events/TauntDrachenlordEvent.java @@ -8,20 +8,25 @@ import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; import net.minecraftforge.fml.common.gameevent.InputEvent.KeyInputEvent; import org.lwjgl.input.Keyboard; -public class TauntDrachenlordEvent { - public static AxisAlignedBB getBoundingBox(double x, double y, double z, int hRadius, int vRadius) { - return new AxisAlignedBB(x - hRadius, y - vRadius, z - hRadius, x + hRadius, y + vRadius, z + hRadius); - } +public class TauntDrachenlordEvent +{ + public static AxisAlignedBB getBoundingBox(double x, double y, double z, int hRadius, int vRadius) + { + return new AxisAlignedBB(x - hRadius, y - vRadius, z - hRadius, x + hRadius, y + vRadius, z + hRadius); + } - public static void makeAngry(EntityPlayer player, EntityDrachenlord drache) { - drache.attackEntityFrom(DamageSource.causePlayerDamage(player), 0); - } + public static void makeAngry(EntityPlayer player, EntityDrachenlord drache) + { + drache.attackEntityFrom(DamageSource.causePlayerDamage(player), 0); + } - @SubscribeEvent - public void onKeyPress(KeyInputEvent event, EntityDrachenlord drache, EntityPlayer player) { - final int aggroRange = 64; - if(Keyboard.isKeyDown(Keyboard.KEY_J)) { + @SubscribeEvent + public void onKeyPress(KeyInputEvent event, EntityDrachenlord drache, EntityPlayer player) + { + final int aggroRange = 64; + if (Keyboard.isKeyDown(Keyboard.KEY_J)) + { - } - } + } + } } \ 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 d9156f0..87ee3fc 100644 --- a/src/main/java/mod/acgaming/spackenmobs/items/ItemBase.java +++ b/src/main/java/mod/acgaming/spackenmobs/items/ItemBase.java @@ -8,15 +8,18 @@ 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")); - } + @SideOnly(Side.CLIENT) + 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 39c82a2..fac9d47 100644 --- a/src/main/java/mod/acgaming/spackenmobs/items/ItemPotion.java +++ b/src/main/java/mod/acgaming/spackenmobs/items/ItemPotion.java @@ -2,11 +2,13 @@ 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 062abc8..06b433d 100644 --- a/src/main/java/mod/acgaming/spackenmobs/misc/BiomeHelper.java +++ b/src/main/java/mod/acgaming/spackenmobs/misc/BiomeHelper.java @@ -9,31 +9,38 @@ import java.util.ArrayList; import java.util.List; // 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; - } - } - return biomes.toArray(new Biome[0]); - } + 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]); + } } \ No newline at end of file diff --git a/src/main/java/mod/acgaming/spackenmobs/misc/ModConfigs.java b/src/main/java/mod/acgaming/spackenmobs/misc/ModConfigs.java index 1b5ad6c..a011b8b 100644 --- a/src/main/java/mod/acgaming/spackenmobs/misc/ModConfigs.java +++ b/src/main/java/mod/acgaming/spackenmobs/misc/ModConfigs.java @@ -10,107 +10,111 @@ import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; @Config(modid = "spackenmobs") @LangKey("spackenmobs.config.title") -public class ModConfigs { - @Name("Allow ApoRed to spawn?") - public static boolean ApoRed_spawn = true; - @Name("Allow Baka Mitai Creeper to spawn?") - public static boolean BakaMitaiCreeper_spawn = true; - @Name("Allow Drachenlord to spawn?") - public static boolean Drachenlord_spawn = true; - @Name("Allow Holzstammhuhn to spawn?") - public static boolean Holzstammhuhn_spawn = true; - @Name("Allow Islamist to spawn?") - public static boolean Islamist_spawn = true; - @Name("Allow Jens to spawn?") - public static boolean Jens_spawn = true; - @Name("Allow Marcell D'Avis to spawn?") - public static boolean MarcellDAvis_spawn = true; - @Name("Allow Mr. Bean to spawn?") - public static boolean MrBean_spawn = true; - @Name("Allow Schalker to spawn?") - public static boolean Schalker_spawn = true; - @Name("Allow Smava Creeper to spawn?") - public static boolean SmavaCreeper_spawn = true; - @Name("Allow WolfMZTE to spawn?") - public static boolean WolfMZTE_spawn = true; - @Name("ApoRed spawn probability:") - public static int ApoRed_weight = 50; - @Name("ApoRed min group size:") - public static int ApoRed_min = 1; - @Name("ApoRed max group size:") - public static int ApoRed_max = 4; - @Name("Baka Mitai Creeper spawn probability:") - public static int BakaMitaiCreeper_weight = 10; - @Name("Baka Mitai Creeper min group size:") - public static int BakaMitaiCreeper_min = 1; - @Name("Baka Mitai Creeper max group size:") - public static int BakaMitaiCreeper_max = 2; - @Name("Drachenlord spawn probability:") - public static int Drachenlord_weight = 50; - @Name("Drachenlord min group size:") - public static int Drachenlord_min = 1; - @Name("Drachenlord max group size:") - public static int Drachenlord_max = 4; - @Name("Holzstammhuhn spawn probability:") - public static int Holzstammhuhn_weight = 50; - @Name("Holzstammhuhn min group size:") - public static int Holzstammhuhn_min = 1; - @Name("Holzstammhuhn max group size:") - public static int Holzstammhuhn_max = 4; - @Name("Islamist spawn probability:") - public static int Islamist_weight = 50; - @Name("Islamist min group size:") - public static int Islamist_min = 1; - @Name("Islamist max group size:") - public static int Islamist_max = 4; - @Name("Jens spawn probability:") - public static int Jens_weight = 25; - @Name("Jens min group size:") - public static int Jens_min = 1; - @Name("Jens max group size:") - public static int Jens_max = 4; - @Name("Marcell D'Avis spawn probability:") - public static int MarcellDAvis_weight = 50; - @Name("Marcell D'Avis min group size:") - public static int MarcellDAvis_min = 1; - @Name("Marcell D'Avis max group size:") - public static int MarcellDAvis_max = 4; - @Name("Mr. Bean spawn probability:") - public static int MrBean_weight = 50; - @Name("Mr. Bean min group size:") - public static int MrBean_min = 1; - @Name("Mr. Bean max group size:") - public static int MrBean_max = 4; - @Name("Schalker spawn probability:") - public static int Schalker_weight = 50; - @Name("Schalker min group size:") - public static int Schalker_min = 1; - @Name("Schalker max group size:") - public static int Schalker_max = 4; - @Name("Smava Creeper spawn probability:") - public static int SmavaCreeper_weight = 25; - @Name("Smava Creeper min group size:") - public static int SmavaCreeper_min = 1; - @Name("Smava Creeper max group size:") - public static int SmavaCreeper_max = 4; - @Name("WolfMZTE spawn probability:") - public static int WolfMZTE_weight = 50; - @Name("WolfMZTE min group size:") - public static int WolfMZTE_min = 1; - @Name("WolfMZTE max group size:") - public static int WolfMZTE_max = 4; - @Name("Time in seconds Jens needs to digest:") - public static int Jens_digest_time = 120; - @Name("Maximum distance in blocks Jens can search:") - public static int Jens_search_distance = 10; +public class ModConfigs +{ + @Name("Allow ApoRed to spawn?") + public static boolean ApoRed_spawn = true; + @Name("Allow Baka Mitai Creeper to spawn?") + public static boolean BakaMitaiCreeper_spawn = true; + @Name("Allow Drachenlord to spawn?") + public static boolean Drachenlord_spawn = true; + @Name("Allow Holzstammhuhn to spawn?") + public static boolean Holzstammhuhn_spawn = true; + @Name("Allow Islamist to spawn?") + public static boolean Islamist_spawn = true; + @Name("Allow Jens to spawn?") + public static boolean Jens_spawn = true; + @Name("Allow Marcell D'Avis to spawn?") + public static boolean MarcellDAvis_spawn = true; + @Name("Allow Mr. Bean to spawn?") + public static boolean MrBean_spawn = true; + @Name("Allow Schalker to spawn?") + public static boolean Schalker_spawn = true; + @Name("Allow Smava Creeper to spawn?") + public static boolean SmavaCreeper_spawn = true; + @Name("Allow WolfMZTE to spawn?") + public static boolean WolfMZTE_spawn = true; + @Name("ApoRed spawn probability:") + public static int ApoRed_weight = 50; + @Name("ApoRed min group size:") + public static int ApoRed_min = 1; + @Name("ApoRed max group size:") + public static int ApoRed_max = 4; + @Name("Baka Mitai Creeper spawn probability:") + public static int BakaMitaiCreeper_weight = 10; + @Name("Baka Mitai Creeper min group size:") + public static int BakaMitaiCreeper_min = 1; + @Name("Baka Mitai Creeper max group size:") + public static int BakaMitaiCreeper_max = 2; + @Name("Drachenlord spawn probability:") + public static int Drachenlord_weight = 50; + @Name("Drachenlord min group size:") + public static int Drachenlord_min = 1; + @Name("Drachenlord max group size:") + public static int Drachenlord_max = 4; + @Name("Holzstammhuhn spawn probability:") + public static int Holzstammhuhn_weight = 50; + @Name("Holzstammhuhn min group size:") + public static int Holzstammhuhn_min = 1; + @Name("Holzstammhuhn max group size:") + public static int Holzstammhuhn_max = 4; + @Name("Islamist spawn probability:") + public static int Islamist_weight = 50; + @Name("Islamist min group size:") + public static int Islamist_min = 1; + @Name("Islamist max group size:") + public static int Islamist_max = 4; + @Name("Jens spawn probability:") + public static int Jens_weight = 25; + @Name("Jens min group size:") + public static int Jens_min = 1; + @Name("Jens max group size:") + public static int Jens_max = 4; + @Name("Marcell D'Avis spawn probability:") + public static int MarcellDAvis_weight = 50; + @Name("Marcell D'Avis min group size:") + public static int MarcellDAvis_min = 1; + @Name("Marcell D'Avis max group size:") + public static int MarcellDAvis_max = 4; + @Name("Mr. Bean spawn probability:") + public static int MrBean_weight = 50; + @Name("Mr. Bean min group size:") + public static int MrBean_min = 1; + @Name("Mr. Bean max group size:") + public static int MrBean_max = 4; + @Name("Schalker spawn probability:") + public static int Schalker_weight = 50; + @Name("Schalker min group size:") + public static int Schalker_min = 1; + @Name("Schalker max group size:") + public static int Schalker_max = 4; + @Name("Smava Creeper spawn probability:") + public static int SmavaCreeper_weight = 25; + @Name("Smava Creeper min group size:") + public static int SmavaCreeper_min = 1; + @Name("Smava Creeper max group size:") + public static int SmavaCreeper_max = 4; + @Name("WolfMZTE spawn probability:") + public static int WolfMZTE_weight = 50; + @Name("WolfMZTE min group size:") + public static int WolfMZTE_min = 1; + @Name("WolfMZTE max group size:") + public static int WolfMZTE_max = 4; + @Name("Time in seconds Jens needs to digest:") + public static int Jens_digest_time = 120; + @Name("Maximum distance in blocks Jens can search:") + public static int Jens_search_distance = 10; - @EventBusSubscriber(modid = "spackenmobs") - private static class EventHandler { - @SubscribeEvent - public void onConfigChanged(ConfigChangedEvent.OnConfigChangedEvent event) { - if(event.getModID().equals("spackenmobs")) { - ConfigManager.sync("spackenmobs", Config.Type.INSTANCE); - } - } - } + @EventBusSubscriber(modid = "spackenmobs") + private static class EventHandler + { + @SubscribeEvent + public void onConfigChanged(ConfigChangedEvent.OnConfigChangedEvent event) + { + if (event.getModID().equals("spackenmobs")) + { + ConfigManager.sync("spackenmobs", Config.Type.INSTANCE); + } + } + } } \ 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 b661a02..231ea86 100644 --- a/src/main/java/mod/acgaming/spackenmobs/misc/ModEntities.java +++ b/src/main/java/mod/acgaming/spackenmobs/misc/ModEntities.java @@ -4,17 +4,19 @@ import mod.acgaming.spackenmobs.entities.*; import mod.acgaming.spackenmobs.render.*; 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 4c6cd04..8c9be5c 100644 --- a/src/main/java/mod/acgaming/spackenmobs/misc/ModItems.java +++ b/src/main/java/mod/acgaming/spackenmobs/misc/ModItems.java @@ -6,8 +6,9 @@ import net.minecraft.item.Item; import net.minecraftforge.fml.common.registry.GameRegistry.ObjectHolder; @ObjectHolder(Spackenmobs.MODID) -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); +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); } \ No newline at end of file diff --git a/src/main/java/mod/acgaming/spackenmobs/misc/ModLootTableList.java b/src/main/java/mod/acgaming/spackenmobs/misc/ModLootTableList.java index 1397b05..97ef473 100644 --- a/src/main/java/mod/acgaming/spackenmobs/misc/ModLootTableList.java +++ b/src/main/java/mod/acgaming/spackenmobs/misc/ModLootTableList.java @@ -9,37 +9,46 @@ import java.io.File; import java.util.Collections; import java.util.Set; -public class ModLootTableList { - private static final Set LOOT_TABLES = Sets.newHashSet(); - public static final ResourceLocation EMPTY = register("empty"); - public static final ResourceLocation ENTITIES_JENS = register("entities/jens"); - private static final Set READ_ONLY_LOOT_TABLES = Collections.unmodifiableSet(LOOT_TABLES); +public class ModLootTableList +{ + private static final Set LOOT_TABLES = Sets.newHashSet(); + public static final ResourceLocation EMPTY = register("empty"); + public static final ResourceLocation ENTITIES_JENS = register("entities/jens"); + private static final Set READ_ONLY_LOOT_TABLES = Collections.unmodifiableSet(LOOT_TABLES); - public static Set getAll() { - return READ_ONLY_LOOT_TABLES; - } + public static Set getAll() + { + return READ_ONLY_LOOT_TABLES; + } - public static ResourceLocation register(ResourceLocation id) { - if(LOOT_TABLES.add(id)) { - return id; - }else { - throw new IllegalArgumentException(id + " is already a registered built-in loot table"); - } - } + public static ResourceLocation register(ResourceLocation id) + { + if (LOOT_TABLES.add(id)) + { + return id; + } else + { + throw new IllegalArgumentException(id + " is already a registered built-in loot table"); + } + } - private static ResourceLocation register(String id) { - return register(new ResourceLocation("spackenmobs", id)); - } + private static ResourceLocation register(String id) + { + return register(new ResourceLocation("spackenmobs", id)); + } - public static boolean test() { - LootTableManager loottablemanager = new LootTableManager((File)null); + public static boolean test() + { + LootTableManager loottablemanager = new LootTableManager(null); - for(ResourceLocation resourcelocation : READ_ONLY_LOOT_TABLES) { - if(loottablemanager.getLootTableFromLocation(resourcelocation) == LootTable.EMPTY_LOOT_TABLE) { - return false; - } - } + for (ResourceLocation resourcelocation : READ_ONLY_LOOT_TABLES) + { + if (loottablemanager.getLootTableFromLocation(resourcelocation) == LootTable.EMPTY_LOOT_TABLE) + { + return false; + } + } - return true; - } + return true; + } } \ No newline at end of file diff --git a/src/main/java/mod/acgaming/spackenmobs/misc/ModPotions.java b/src/main/java/mod/acgaming/spackenmobs/misc/ModPotions.java index 83cef70..ab67a0a 100644 --- a/src/main/java/mod/acgaming/spackenmobs/misc/ModPotions.java +++ b/src/main/java/mod/acgaming/spackenmobs/misc/ModPotions.java @@ -6,6 +6,7 @@ import net.minecraft.potion.Potion; import net.minecraftforge.fml.common.registry.GameRegistry.ObjectHolder; @ObjectHolder(Spackenmobs.MODID) -public class ModPotions { - public static final Potion SURSTROEMMING_DRINK = new ItemPotion("surstroemming_drink", true, 42, 0, 0); +public class ModPotions +{ + public static final Potion SURSTROEMMING_DRINK = new ItemPotion("surstroemming_drink", true, 42, 0, 0); } \ 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 a40814e..b25b80a 100644 --- a/src/main/java/mod/acgaming/spackenmobs/misc/ModSoundEvents.java +++ b/src/main/java/mod/acgaming/spackenmobs/misc/ModSoundEvents.java @@ -6,74 +6,46 @@ 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 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_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_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_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_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_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_SCHALKER_AMBIENT = new SoundEvent(new ResourceLocation("spackenmobs:entities.schalker.ambient")); + 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 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 static final SoundEvent ENTITY_BAKAMITAICREEPER_FUSE = new SoundEvent(new ResourceLocation("spackenmobs:entities.bakamitai_creeper.fuse")); + public static final SoundEvent ENTITY_BAKAMITAICREEPER_BLOW = new SoundEvent(new ResourceLocation("spackenmobs:entities.bakamitai_creeper.blow")); } \ 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 9901815..6125ecf 100644 --- a/src/main/java/mod/acgaming/spackenmobs/misc/RegHandler.java +++ b/src/main/java/mod/acgaming/spackenmobs/misc/RegHandler.java @@ -1,10 +1,23 @@ package mod.acgaming.spackenmobs.misc; import mod.acgaming.spackenmobs.Spackenmobs; -import mod.acgaming.spackenmobs.entities.*; -import net.minecraft.creativetab.CreativeTabs; +import mod.acgaming.spackenmobs.entities.EntityApoRed; +import mod.acgaming.spackenmobs.entities.EntityBakaMitaiCreeper; +import mod.acgaming.spackenmobs.entities.EntityDrachenlord; +import mod.acgaming.spackenmobs.entities.EntityHolzstammhuhn; +import mod.acgaming.spackenmobs.entities.EntityIslamist; +import mod.acgaming.spackenmobs.entities.EntityJens; +import mod.acgaming.spackenmobs.entities.EntityMarcellDAvis; +import mod.acgaming.spackenmobs.entities.EntityMrBean; +import mod.acgaming.spackenmobs.entities.EntitySchalker; +import mod.acgaming.spackenmobs.entities.EntitySmavaCreeper; +import mod.acgaming.spackenmobs.entities.EntityWolfMZTE; import net.minecraft.entity.EnumCreatureType; -import net.minecraft.entity.monster.*; +import net.minecraft.entity.monster.EntityCreeper; +import net.minecraft.entity.monster.EntityPigZombie; +import net.minecraft.entity.monster.EntityShulker; +import net.minecraft.entity.monster.EntitySkeleton; +import net.minecraft.entity.monster.EntityZombie; import net.minecraft.entity.passive.EntityChicken; import net.minecraft.entity.passive.EntityPig; import net.minecraft.entity.passive.EntityWolf; @@ -18,178 +31,196 @@ 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); - } +public class RegHandler +{ + @SubscribeEvent + public static void registerEntities(Register event) + { + int id = 1; - @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); + if (ModConfigs.SmavaCreeper_spawn == true) + { + EntityRegistry.addSpawn(EntitySmavaCreeper.class, ModConfigs.SmavaCreeper_weight, ModConfigs.SmavaCreeper_min, ModConfigs.SmavaCreeper_max, EnumCreatureType.MONSTER, + BiomeHelper.getBiomesWithMonster(EntityCreeper.class)); + } - // 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); + if (ModConfigs.MarcellDAvis_spawn == true) + { + EntityRegistry.addSpawn(EntityMarcellDAvis.class, ModConfigs.MarcellDAvis_weight, ModConfigs.MarcellDAvis_min, ModConfigs.MarcellDAvis_max, EnumCreatureType.MONSTER, + BiomeHelper.getBiomesWithMonster(EntityZombie.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); + if (ModConfigs.Islamist_spawn == true) + { + EntityRegistry.addSpawn(EntityIslamist.class, ModConfigs.Islamist_weight, ModConfigs.Islamist_min, ModConfigs.Islamist_max, EnumCreatureType.MONSTER, + BiomeHelper.getBiomesWithMonster(EntityCreeper.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); + if (ModConfigs.ApoRed_spawn == true) + { + EntityRegistry.addSpawn(EntityApoRed.class, ModConfigs.ApoRed_weight, ModConfigs.ApoRed_min, ModConfigs.ApoRed_max, EnumCreatureType.MONSTER, + BiomeHelper.getBiomesWithMonster(EntitySkeleton.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); + if (ModConfigs.MrBean_spawn == true) + { + EntityRegistry.addSpawn(EntityMrBean.class, ModConfigs.MrBean_weight, ModConfigs.MrBean_min, ModConfigs.MrBean_max, EnumCreatureType.MONSTER, + BiomeHelper.getBiomesWithMonster(EntityZombie.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); + if (ModConfigs.Drachenlord_spawn == true) + { + EntityRegistry.addSpawn(EntityDrachenlord.class, ModConfigs.Drachenlord_weight, ModConfigs.Drachenlord_min, ModConfigs.Drachenlord_max, EnumCreatureType.MONSTER, + BiomeHelper.getBiomesWithMonster(EntityPigZombie.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); + if (ModConfigs.Schalker_spawn == true) + { + EntityRegistry.addSpawn(EntitySchalker.class, ModConfigs.Schalker_weight, ModConfigs.Schalker_min, ModConfigs.Schalker_max, EnumCreatureType.MONSTER, + BiomeHelper.getBiomesWithMonster(EntityShulker.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); + if (ModConfigs.Jens_spawn == true) + { + EntityRegistry.addSpawn(EntityJens.class, ModConfigs.Jens_weight, ModConfigs.Jens_min, ModConfigs.Jens_max, EnumCreatureType.CREATURE, BiomeHelper.getBiomesWithCreature(EntityPig.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); + if (ModConfigs.WolfMZTE_spawn == true) + { + EntityRegistry.addSpawn(EntityJens.class, ModConfigs.WolfMZTE_weight, ModConfigs.WolfMZTE_min, ModConfigs.WolfMZTE_max, EnumCreatureType.CREATURE, + BiomeHelper.getBiomesWithCreature(EntityWolf.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); + if (ModConfigs.Holzstammhuhn_spawn == true) + { + EntityRegistry.addSpawn(EntityJens.class, ModConfigs.Holzstammhuhn_weight, ModConfigs.Holzstammhuhn_min, ModConfigs.Holzstammhuhn_max, EnumCreatureType.CREATURE, + BiomeHelper.getBiomesWithCreature(EntityChicken.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)); + // Baka Mitai Creeper + EntityRegistry.registerModEntity(new ResourceLocation("spackenmobs:bakamitai_creeper"), EntityBakaMitaiCreeper.class, "bakamitai_creeper", id++, Spackenmobs.instance, 64, 1, true, 826890, 0); + if (ModConfigs.BakaMitaiCreeper_spawn == true) + { + EntityRegistry.addSpawn(EntityBakaMitaiCreeper.class, ModConfigs.BakaMitaiCreeper_weight, ModConfigs.BakaMitaiCreeper_min, ModConfigs.BakaMitaiCreeper_max, EnumCreatureType.MONSTER, + BiomeHelper.getBiomesWithMonster(EntityCreeper.class)); + } + } - // LootTableList.register(EntityJens.LOOT); - } + @SubscribeEvent + public static void registerItems(Register event) + { + final Item[] items = + { + new Item().setRegistryName(Spackenmobs.MODID, "ram").setUnlocalizedName(Spackenmobs.MODID + "." + "ram").setCreativeTab(Spackenmobs.SPACKENMOBS_TAB), + new Item().setRegistryName(Spackenmobs.MODID, "ram_on_a_stick").setUnlocalizedName(Spackenmobs.MODID + "." + "ram_on_a_stick").setCreativeTab(Spackenmobs.SPACKENMOBS_TAB), + new Item().setRegistryName(Spackenmobs.MODID, "surstroemming").setUnlocalizedName(Spackenmobs.MODID + "." + "surstroemming").setCreativeTab(Spackenmobs.SPACKENMOBS_TAB) + }; + event.getRegistry().registerAll(items); + } - @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); + @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); + // Islamist + ModSoundEvents.ENTITY_ISLAMIST_FUSE.setRegistryName(new ResourceLocation("spackenmobs:entities.islamist.fuse")); + event.getRegistry().register(ModSoundEvents.ENTITY_ISLAMIST_FUSE); + ModSoundEvents.ENTITY_ISLAMIST_BLOW.setRegistryName(new ResourceLocation("spackenmobs:entities.islamist.blow")); + event.getRegistry().register(ModSoundEvents.ENTITY_ISLAMIST_BLOW); + ModSoundEvents.ENTITY_ISLAMIST_HURT.setRegistryName(new ResourceLocation("spackenmobs:entities.islamist.hurt")); + event.getRegistry().register(ModSoundEvents.ENTITY_ISLAMIST_HURT); + ModSoundEvents.ENTITY_ISLAMIST_AMBIENT.setRegistryName(new ResourceLocation("spackenmobs:entities.islamist.ambient")); + event.getRegistry().register(ModSoundEvents.ENTITY_ISLAMIST_AMBIENT); - // 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); + // 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); + // 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); + // 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); + // 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); + // Schalker + ModSoundEvents.ENTITY_SCHALKER_AMBIENT.setRegistryName(new ResourceLocation("spackenmobs:entities.schalker.ambient")); + event.getRegistry().register(ModSoundEvents.ENTITY_SCHALKER_AMBIENT); + 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); - } + // 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); + + // Baka Mitai Creeper + ModSoundEvents.ENTITY_BAKAMITAICREEPER_FUSE.setRegistryName(new ResourceLocation("spackenmobs:entities.bakamitai_creeper.fuse")); + event.getRegistry().register(ModSoundEvents.ENTITY_BAKAMITAICREEPER_FUSE); + ModSoundEvents.ENTITY_BAKAMITAICREEPER_BLOW.setRegistryName(new ResourceLocation("spackenmobs:entities.bakamitai_creeper.blow")); + event.getRegistry().register(ModSoundEvents.ENTITY_BAKAMITAICREEPER_BLOW); + } } \ 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 e7e6991..472724d 100644 --- a/src/main/java/mod/acgaming/spackenmobs/misc/RegHandlerModels.java +++ b/src/main/java/mod/acgaming/spackenmobs/misc/RegHandlerModels.java @@ -10,16 +10,19 @@ 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 687cf60..480e940 100644 --- a/src/main/java/mod/acgaming/spackenmobs/render/ModelSchalker.java +++ b/src/main/java/mod/acgaming/spackenmobs/render/ModelSchalker.java @@ -9,54 +9,61 @@ import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; @SideOnly(Side.CLIENT) -public class ModelSchalker extends ModelBase { - public final ModelRenderer base; - public final ModelRenderer lid; - public ModelRenderer head; +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); + } - @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; + @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; - if(f1 > (float)Math.PI) { - f3 = MathHelper.sin(ageInTicks * 0.1F) * 0.7F; - } + if (f1 > (float) Math.PI) + { + f3 = MathHelper.sin(ageInTicks * 0.1F) * 0.7F; + } - this.lid.setRotationPoint(0.0F, 16.0F + MathHelper.sin(f1) * 8.0F + f3, 0.0F); + this.lid.setRotationPoint(0.0F, 16.0F + MathHelper.sin(f1) * 8.0F + f3, 0.0F); - if(EntitySchalker.getClientPeekAmount(f) > 0.3F) { - this.lid.rotateAngleY = f2 * f2 * f2 * f2 * (float)Math.PI * 0.125F; - }else { - this.lid.rotateAngleY = 0.0F; - } + 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; - } + this.head.rotateAngleX = headPitch * 0.017453292F; + this.head.rotateAngleY = netHeadYaw * 0.017453292F; + } - @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); - } + @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 6b7c3bf..f403715 100644 --- a/src/main/java/mod/acgaming/spackenmobs/render/RenderApoRed.java +++ b/src/main/java/mod/acgaming/spackenmobs/render/RenderApoRed.java @@ -15,37 +15,45 @@ import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; @SideOnly(Side.CLIENT) -public class RenderApoRed extends RenderSkeleton { - public static final Factory FACTORY = new Factory(); - private static final ResourceLocation APORED_TEXTURE = new ResourceLocation( - "spackenmobs:textures/entities/apored.png"); +public class RenderApoRed extends RenderSkeleton +{ + public static final Factory FACTORY = new Factory(); + private static final ResourceLocation APORED_TEXTURE = new ResourceLocation( + "spackenmobs:textures/entities/apored.png"); - 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 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); + } + }); + } - @Override - public void transformHeldFull3DItemLayer() { - GlStateManager.translate(0.09375F, 0.1875F, 0.0F); - } + @Override + public void transformHeldFull3DItemLayer() + { + GlStateManager.translate(0.09375F, 0.1875F, 0.0F); + } - @Override - 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/RenderBakaMitaiCreeper.java b/src/main/java/mod/acgaming/spackenmobs/render/RenderBakaMitaiCreeper.java index 16a25e2..9937fb3 100644 --- a/src/main/java/mod/acgaming/spackenmobs/render/RenderBakaMitaiCreeper.java +++ b/src/main/java/mod/acgaming/spackenmobs/render/RenderBakaMitaiCreeper.java @@ -14,47 +14,56 @@ import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; @SideOnly(Side.CLIENT) -public class RenderBakaMitaiCreeper extends RenderCreeper { - public static final Factory FACTORY = new Factory(); - private static final ResourceLocation CREEPER_TEXTURE = new ResourceLocation("textures/entity/creeper/creeper.png"); +public class RenderBakaMitaiCreeper extends RenderCreeper +{ + public static final Factory FACTORY = new Factory(); + private static final ResourceLocation CREEPER_TEXTURE = new ResourceLocation("textures/entity/creeper/creeper.png"); - public RenderBakaMitaiCreeper(RenderManager renderManagerIn) { - super(renderManagerIn); - this.addLayer(new LayerCreeperCharge(this)); - } + public RenderBakaMitaiCreeper(RenderManager renderManagerIn) + { + super(renderManagerIn); + this.addLayer(new LayerCreeperCharge(this)); + } - protected int getColorMultiplier(EntityBakaMitaiCreeper entitylivingbaseIn, float lightBrightness, float partialTickTime) { - float f = entitylivingbaseIn.getCreeperFlashIntensity(partialTickTime); + protected int getColorMultiplier(EntityBakaMitaiCreeper entitylivingbaseIn, float lightBrightness, float partialTickTime) + { + float f = entitylivingbaseIn.getCreeperFlashIntensity(partialTickTime); - if((int)(f * 10.0F) % 2 == 0) { - return 0; - }else { - int i = (int)(f * 0.2F * 255.0F); - i = MathHelper.clamp(i, 0, 255); - return i << 24 | 822083583; - } - } + if ((int) (f * 10.0F) % 2 == 0) + { + return 0; + } else + { + int i = (int) (f * 0.2F * 255.0F); + i = MathHelper.clamp(i, 0, 255); + return i << 24 | 822083583; + } + } - @Override - protected ResourceLocation getEntityTexture(EntityCreeper entity) { - return CREEPER_TEXTURE; - } + @Override + protected ResourceLocation getEntityTexture(EntityCreeper entity) + { + return CREEPER_TEXTURE; + } - protected void preRenderCallback(EntityBakaMitaiCreeper entitylivingbaseIn, float partialTickTime) { - float f = entitylivingbaseIn.getCreeperFlashIntensity(partialTickTime); - float f1 = 1.0F + MathHelper.sin(f * 100.0F) * f * 0.01F; - f = MathHelper.clamp(f, 0.0F, 1.0F); - f = f * f; - f = f * f; - float f2 = (1.0F + f * 0.4F) * f1; - float f3 = (1.0F + f * 0.1F) / f1; - GlStateManager.scale(f2, f3, f2); - } + protected void preRenderCallback(EntityBakaMitaiCreeper entitylivingbaseIn, float partialTickTime) + { + float f = entitylivingbaseIn.getCreeperFlashIntensity(partialTickTime); + float f1 = 1.0F + MathHelper.sin(f * 100.0F) * f * 0.01F; + f = MathHelper.clamp(f, 0.0F, 1.0F); + f = f * f; + f = f * f; + float f2 = (1.0F + f * 0.4F) * f1; + float f3 = (1.0F + f * 0.1F) / f1; + GlStateManager.scale(f2, f3, f2); + } - public static class Factory implements IRenderFactory { - @Override - public Render createRenderFor(RenderManager manager) { - return new RenderBakaMitaiCreeper(manager); - } - } + public static class Factory implements IRenderFactory + { + @Override + public Render createRenderFor(RenderManager manager) + { + return new RenderBakaMitaiCreeper(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 7ade172..f04598a 100644 --- a/src/main/java/mod/acgaming/spackenmobs/render/RenderDrachenlord.java +++ b/src/main/java/mod/acgaming/spackenmobs/render/RenderDrachenlord.java @@ -13,31 +13,38 @@ import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; @SideOnly(Side.CLIENT) -public class RenderDrachenlord extends RenderZombie { - public static final Factory FACTORY = new Factory(); - private static final ResourceLocation DRACHENLORD_TEXTURE = new ResourceLocation( - "spackenmobs:textures/entities/drachenlord.png"); +public class RenderDrachenlord extends RenderZombie +{ + public static final Factory FACTORY = new Factory(); + private static final ResourceLocation DRACHENLORD_TEXTURE = new ResourceLocation( + "spackenmobs:textures/entities/drachenlord.png"); - 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); - } - }); - } + 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); + } + }); + } - @Override - 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 65d1dd4..5ee204b 100644 --- a/src/main/java/mod/acgaming/spackenmobs/render/RenderHolzstammhuhn.java +++ b/src/main/java/mod/acgaming/spackenmobs/render/RenderHolzstammhuhn.java @@ -11,24 +11,29 @@ import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; @SideOnly(Side.CLIENT) -public class RenderHolzstammhuhn extends RenderChicken { - public static final Factory FACTORY = new Factory(); - private static final ResourceLocation HOLZSTAMMHUHN_TEXTURE = new ResourceLocation( - "spackenmobs:textures/entities/holzstammhuhn.png"); +public class RenderHolzstammhuhn extends RenderChicken +{ + public static final Factory FACTORY = new Factory(); + private static final ResourceLocation HOLZSTAMMHUHN_TEXTURE = new ResourceLocation( + "spackenmobs:textures/entities/holzstammhuhn.png"); - public RenderHolzstammhuhn(RenderManager renderManagerIn) { - super(renderManagerIn); - } + public RenderHolzstammhuhn(RenderManager renderManagerIn) + { + super(renderManagerIn); + } - @Override - 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 a1f4333..1ed279a 100644 --- a/src/main/java/mod/acgaming/spackenmobs/render/RenderIslamist.java +++ b/src/main/java/mod/acgaming/spackenmobs/render/RenderIslamist.java @@ -12,25 +12,30 @@ import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; @SideOnly(Side.CLIENT) -public class RenderIslamist extends RenderCreeper { - public static final Factory FACTORY = new Factory(); - private static final ResourceLocation ISLAMIST_TEXTURE = new ResourceLocation( - "spackenmobs:textures/entities/islamist.png"); +public class RenderIslamist extends RenderCreeper +{ + public static final Factory FACTORY = new Factory(); + private static final ResourceLocation ISLAMIST_TEXTURE = new ResourceLocation( + "spackenmobs:textures/entities/islamist.png"); - public RenderIslamist(RenderManager renderManagerIn) { - super(renderManagerIn); - this.addLayer(new LayerCreeperCharge(this)); - } + public RenderIslamist(RenderManager renderManagerIn) + { + super(renderManagerIn); + this.addLayer(new LayerCreeperCharge(this)); + } - @Override - 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 35500c6..e7f9a69 100644 --- a/src/main/java/mod/acgaming/spackenmobs/render/RenderJens.java +++ b/src/main/java/mod/acgaming/spackenmobs/render/RenderJens.java @@ -11,23 +11,28 @@ import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; @SideOnly(Side.CLIENT) -public class RenderJens extends RenderBiped { - public static final Factory FACTORY = new Factory(); - private static final ResourceLocation JENS_TEXTURE = new ResourceLocation("spackenmobs:textures/entities/jens.png"); +public class RenderJens extends RenderBiped +{ + public static final Factory FACTORY = new Factory(); + private static final ResourceLocation JENS_TEXTURE = new ResourceLocation("spackenmobs:textures/entities/jens.png"); - public RenderJens(RenderManager renderManagerIn) { - super(renderManagerIn, new ModelBiped(), 0.25F); - } + public RenderJens(RenderManager renderManagerIn) + { + super(renderManagerIn, new ModelBiped(), 0.25F); + } - @Override - 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 2d94451..e2a0418 100644 --- a/src/main/java/mod/acgaming/spackenmobs/render/RenderMarcellDAvis.java +++ b/src/main/java/mod/acgaming/spackenmobs/render/RenderMarcellDAvis.java @@ -13,32 +13,39 @@ import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; @SideOnly(Side.CLIENT) -public class RenderMarcellDAvis extends RenderZombie { - public static final Factory FACTORY = new Factory(); - private static final ResourceLocation MARCELLDAVIS_TEXTURE = new ResourceLocation( - "spackenmobs:textures/entities/marcell_davis.png"); +public class RenderMarcellDAvis extends RenderZombie +{ + public static final Factory FACTORY = new Factory(); + private static final ResourceLocation MARCELLDAVIS_TEXTURE = new ResourceLocation( + "spackenmobs:textures/entities/marcell_davis.png"); - 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); - } + 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); + } - @Override - 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 2b7f2ed..3d0e635 100644 --- a/src/main/java/mod/acgaming/spackenmobs/render/RenderMrBean.java +++ b/src/main/java/mod/acgaming/spackenmobs/render/RenderMrBean.java @@ -13,32 +13,39 @@ import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; @SideOnly(Side.CLIENT) -public class RenderMrBean extends RenderZombie { - public static final Factory FACTORY = new Factory(); - private static final ResourceLocation MRBEAN_TEXTURE = new ResourceLocation( - "spackenmobs:textures/entities/mr_bean.png"); +public class RenderMrBean extends RenderZombie +{ + public static final Factory FACTORY = new Factory(); + private static final ResourceLocation MRBEAN_TEXTURE = new ResourceLocation( + "spackenmobs:textures/entities/mr_bean.png"); - 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); - } + 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); + } - @Override - 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 7773465..844498d 100644 --- a/src/main/java/mod/acgaming/spackenmobs/render/RenderSchalker.java +++ b/src/main/java/mod/acgaming/spackenmobs/render/RenderSchalker.java @@ -17,179 +17,198 @@ 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 static final Factory FACTORY = new Factory(); +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 RenderSchalker(RenderManager p_i47194_1_) + { + super(p_i47194_1_, new ModelSchalker(), 0.0F); + this.addLayer(new RenderSchalker.HeadLayer()); + } - @Override - public ModelSchalker getMainModel() { - return (ModelSchalker)super.getMainModel(); - } + @Override + public ModelSchalker getMainModel() + { + return (ModelSchalker) super.getMainModel(); + } - @Override - public void doRender(EntitySchalker entity, double x, double y, double z, float entityYaw, float partialTicks) { - int i = entity.getClientTeleportInterp(); + @Override + 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 = (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); - } - } + 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); + } + } - @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()); + @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 camera.isBoundingBoxInFrustum( + new AxisAlignedBB(vec3d1.x, vec3d1.y, vec3d1.z, vec3d.x, vec3d.y, vec3d.z)); + } - return false; - } - } + return false; + } + } - @Override - protected ResourceLocation getEntityTexture(EntitySchalker entity) { - return SCHALKER_TEXTURE[entity.getColor().getMetadata()]; - } + @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); + @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); - } - } + 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); - } + @Override + protected void preRenderCallback(EntitySchalker entitylivingbaseIn, float partialTickTime) + { + float f = 0.999F; + GlStateManager.scale(0.999F, 0.999F, 0.999F); + } - 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); + } + } - @SideOnly(Side.CLIENT) - class HeadLayer implements LayerRenderer { - private HeadLayer() { - } + @SideOnly(Side.CLIENT) + class HeadLayer implements LayerRenderer + { + private HeadLayer() + { + } - @Override - public void doRenderLayer(EntitySchalker entitylivingbaseIn, float limbSwing, float limbSwingAmount, - float partialTicks, float ageInTicks, float netHeadYaw, float headPitch, float scale) { - GlStateManager.pushMatrix(); + @Override + public void doRenderLayer(EntitySchalker entitylivingbaseIn, float limbSwing, float limbSwingAmount, + float partialTicks, float ageInTicks, float netHeadYaw, float headPitch, float scale) + { + GlStateManager.pushMatrix(); - 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); - } + 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(); - } + 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; - } - } + @Override + public boolean shouldCombineTextures() + { + return false; + } + } } \ 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 7346207..6498454 100644 --- a/src/main/java/mod/acgaming/spackenmobs/render/RenderSmavaCreeper.java +++ b/src/main/java/mod/acgaming/spackenmobs/render/RenderSmavaCreeper.java @@ -12,25 +12,30 @@ import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; @SideOnly(Side.CLIENT) -public class RenderSmavaCreeper extends RenderCreeper { - public static final Factory FACTORY = new Factory(); - private static final ResourceLocation SMAVA_TEXTURE = new ResourceLocation( - "spackenmobs:textures/entities/smava_creeper.png"); +public class RenderSmavaCreeper extends RenderCreeper +{ + public static final Factory FACTORY = new Factory(); + private static final ResourceLocation SMAVA_TEXTURE = new ResourceLocation( + "spackenmobs:textures/entities/smava_creeper.png"); - public RenderSmavaCreeper(RenderManager renderManagerIn) { - super(renderManagerIn); - this.addLayer(new LayerCreeperCharge(this)); - } + public RenderSmavaCreeper(RenderManager renderManagerIn) + { + super(renderManagerIn); + this.addLayer(new LayerCreeperCharge(this)); + } - @Override - 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 4a43917..e820da6 100644 --- a/src/main/java/mod/acgaming/spackenmobs/render/RenderWolfMZTE.java +++ b/src/main/java/mod/acgaming/spackenmobs/render/RenderWolfMZTE.java @@ -13,48 +13,58 @@ import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; @SideOnly(Side.CLIENT) -public class RenderWolfMZTE extends RenderWolf { - public static final Factory FACTORY = new Factory(); - 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 +{ + public static final Factory FACTORY = new Factory(); + 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 RenderWolfMZTE(RenderManager renderManagerIn) { - super(renderManagerIn); - this.addLayer(new LayerWolfCollar(this)); - } + public RenderWolfMZTE(RenderManager renderManagerIn) + { + super(renderManagerIn); + this.addLayer(new LayerWolfCollar(this)); + } - @Override - protected float handleRotationFloat(EntityWolf livingBase, float partialTicks) { - return livingBase.getTailRotation(); - } + @Override + protected float handleRotationFloat(EntityWolf livingBase, float partialTicks) + { + return livingBase.getTailRotation(); + } - @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); - } + @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); + } - @Override - 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 diff --git a/src/main/resources/assets/spackenmobs/loot_tables/entities/jens.json b/src/main/resources/assets/spackenmobs/loot_tables/entities/jens.json index 373ef26..5526cc3 100644 --- a/src/main/resources/assets/spackenmobs/loot_tables/entities/jens.json +++ b/src/main/resources/assets/spackenmobs/loot_tables/entities/jens.json @@ -1,26 +1,31 @@ { - "pools": [{ - "name": "jens", - "rolls": 1, - "entries": [{ - "type": "item", - "name": "spackenmobs:ram", - "weight": 1, - "functions": [{ - "function": "set_count", - "count": { - "min": 1, - "max": 3 - } - }, - { - "function": "looting_enchant", - "count": { - "min": 0, - "max": 1 - } - } - ] - }] - }] + "pools": [ + { + "name": "jens", + "rolls": 1, + "entries": [ + { + "type": "item", + "name": "spackenmobs:ram", + "weight": 1, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 3 + } + }, + { + "function": "looting_enchant", + "count": { + "min": 0, + "max": 1 + } + } + ] + } + ] + } + ] } \ No newline at end of file diff --git a/src/main/resources/assets/spackenmobs/models/item/ram.json b/src/main/resources/assets/spackenmobs/models/item/ram.json index 3db3543..4aea0fe 100644 --- a/src/main/resources/assets/spackenmobs/models/item/ram.json +++ b/src/main/resources/assets/spackenmobs/models/item/ram.json @@ -1,6 +1,6 @@ { - "parent": "item/generated", - "textures": { - "layer0": "spackenmobs:items/ram" - } + "parent": "item/generated", + "textures": { + "layer0": "spackenmobs:items/ram" + } } \ No newline at end of file diff --git a/src/main/resources/assets/spackenmobs/models/item/ram_on_a_stick.json b/src/main/resources/assets/spackenmobs/models/item/ram_on_a_stick.json index 868067e..422bf74 100644 --- a/src/main/resources/assets/spackenmobs/models/item/ram_on_a_stick.json +++ b/src/main/resources/assets/spackenmobs/models/item/ram_on_a_stick.json @@ -1,6 +1,6 @@ { - "parent": "item/handheld_rod", - "textures": { - "layer0": "spackenmobs:items/ram_on_a_stick" - } + "parent": "item/handheld_rod", + "textures": { + "layer0": "spackenmobs:items/ram_on_a_stick" + } } \ No newline at end of file diff --git a/src/main/resources/assets/spackenmobs/models/item/surstroemming.json b/src/main/resources/assets/spackenmobs/models/item/surstroemming.json index 19da704..064088c 100644 --- a/src/main/resources/assets/spackenmobs/models/item/surstroemming.json +++ b/src/main/resources/assets/spackenmobs/models/item/surstroemming.json @@ -1,6 +1,6 @@ { - "parent": "item/generated", - "textures": { - "layer0": "spackenmobs:items/surstroemming" - } + "parent": "item/generated", + "textures": { + "layer0": "spackenmobs:items/surstroemming" + } } \ No newline at end of file diff --git a/src/main/resources/assets/spackenmobs/sounds.json b/src/main/resources/assets/spackenmobs/sounds.json index 54559b3..36cbae7 100644 --- a/src/main/resources/assets/spackenmobs/sounds.json +++ b/src/main/resources/assets/spackenmobs/sounds.json @@ -1,866 +1,910 @@ { - "entities.smava_creeper.fuse": { - "sounds": [{ - "name": "spackenmobs:smava_creeper/fuse" - }] - }, - "entities.smava_creeper.blow": { - "sounds": [{ - "name": "spackenmobs:smava_creeper/blow" - }] - }, - "entities.smava_creeper.hurt": { - "sounds": [{ - "name": "spackenmobs:smava_creeper/hurt" - }] - }, - "entities.smava_creeper.ambient": { - "sounds": [{ - "name": "spackenmobs:smava_creeper/say1" - }, - { - "name": "spackenmobs:smava_creeper/say2" - }, - { - "name": "spackenmobs:smava_creeper/say3" - }, - { - "name": "spackenmobs:smava_creeper/say4" - }, - { - "name": "spackenmobs:smava_creeper/say5" - }, - { - "name": "spackenmobs:smava_creeper/say6" - } - ] - }, - "entities.marcell_davis.ambient": { - "sounds": [{ - "name": "spackenmobs:marcell_davis/say1" - }, - { - "name": "spackenmobs:marcell_davis/say2" - }, - { - "name": "spackenmobs:marcell_davis/say3" - }, - { - "name": "spackenmobs:marcell_davis/say4" - }, - { - "name": "spackenmobs:marcell_davis/say5" - }, - { - "name": "spackenmobs:marcell_davis/say6" - }, - { - "name": "spackenmobs:marcell_davis/say7" - }, - { - "name": "spackenmobs:marcell_davis/say8" - }, - { - "name": "spackenmobs:marcell_davis/say9" - }, - { - "name": "spackenmobs:marcell_davis/say10" - }, - { - "name": "spackenmobs:marcell_davis/say11" - }, - { - "name": "spackenmobs:marcell_davis/say12" - }, - { - "name": "spackenmobs:marcell_davis/say13" - }, - { - "name": "spackenmobs:marcell_davis/say14" - }, - { - "name": "spackenmobs:marcell_davis/say15" - }, - { - "name": "spackenmobs:marcell_davis/say16" - }, - { - "name": "spackenmobs:marcell_davis/say17" - }, - { - "name": "spackenmobs:marcell_davis/say18" - }, - { - "name": "spackenmobs:marcell_davis/say19" - }, - { - "name": "spackenmobs:marcell_davis/say20" - }, - { - "name": "spackenmobs:marcell_davis/say21" - }, - { - "name": "spackenmobs:marcell_davis/say22" - }, - { - "name": "spackenmobs:marcell_davis/say23" - }, - { - "name": "spackenmobs:marcell_davis/say24" - }, - { - "name": "spackenmobs:marcell_davis/say25" - }, - { - "name": "spackenmobs:marcell_davis/say26" - }, - { - "name": "spackenmobs:marcell_davis/say27" - }, - { - "name": "spackenmobs:marcell_davis/say28" - }, - { - "name": "spackenmobs:marcell_davis/say29" - }, - { - "name": "spackenmobs:marcell_davis/say30" - }, - { - "name": "spackenmobs:marcell_davis/say31" - }, - { - "name": "spackenmobs:marcell_davis/say32" - }, - { - "name": "spackenmobs:marcell_davis/say33" - }, - { - "name": "spackenmobs:marcell_davis/say34" - }, - { - "name": "spackenmobs:marcell_davis/say35" - }, - { - "name": "spackenmobs:marcell_davis/say36" - }, - { - "name": "spackenmobs:marcell_davis/say37" - }, - { - "name": "spackenmobs:marcell_davis/say38" - }, - { - "name": "spackenmobs:marcell_davis/say39" - }, - { - "name": "spackenmobs:marcell_davis/say40" - }, - { - "name": "spackenmobs:marcell_davis/say41" - }, - { - "name": "spackenmobs:marcell_davis/say42" - }, - { - "name": "spackenmobs:marcell_davis/say43" - }, - { - "name": "spackenmobs:marcell_davis/say44" - }, - { - "name": "spackenmobs:marcell_davis/say45" - }, - { - "name": "spackenmobs:marcell_davis/say46" - }, - { - "name": "spackenmobs:marcell_davis/say47" - }, - { - "name": "spackenmobs:marcell_davis/say48" - }, - { - "name": "spackenmobs:marcell_davis/say49" - }, - { - "name": "spackenmobs:marcell_davis/say50" - }, - { - "name": "spackenmobs:marcell_davis/say51" - }, - { - "name": "spackenmobs:marcell_davis/say52" - }, - { - "name": "spackenmobs:marcell_davis/say53" - }, - { - "name": "spackenmobs:marcell_davis/say54" - }, - { - "name": "spackenmobs:marcell_davis/say55" - }, - { - "name": "spackenmobs:marcell_davis/say56" - }, - { - "name": "spackenmobs:marcell_davis/say57" - }, - { - "name": "spackenmobs:marcell_davis/say58" - }, - { - "name": "spackenmobs:marcell_davis/say59" - }, - { - "name": "spackenmobs:marcell_davis/say60" - }, - { - "name": "spackenmobs:marcell_davis/say61" - } - ] - }, - "entities.marcell_davis.death": { - "sounds": [{ - "name": "spackenmobs:marcell_davis/death1" - }, - { - "name": "spackenmobs:marcell_davis/death2" - }, - { - "name": "spackenmobs:marcell_davis/death3" - }, - { - "name": "spackenmobs:marcell_davis/death4" - }, - { - "name": "spackenmobs:marcell_davis/death5" - } - ] - }, - "entities.marcell_davis.hurt": { - "sounds": [{ - "name": "spackenmobs:marcell_davis/hurt1" - }, - { - "name": "spackenmobs:marcell_davis/hurt2" - }, - { - "name": "spackenmobs:marcell_davis/hurt3" - }, - { - "name": "spackenmobs:marcell_davis/hurt4" - }, - { - "name": "spackenmobs:marcell_davis/hurt5" - }, - { - "name": "spackenmobs:marcell_davis/hurt6" - } - ] - }, - "entities.islamist.fuse": { - "sounds": [{ - "name": "spackenmobs:islamist/fuse1" - }, - { - "name": "spackenmobs:islamist/fuse2" - }, - { - "name": "spackenmobs:islamist/fuse3" - }, - { - "name": "spackenmobs:islamist/fuse4" - } - ] - }, - "entities.islamist.blow": { - "sounds": [{ - "name": "spackenmobs:islamist/blow" - }] - }, - "entities.islamist.hurt": { - "sounds": [{ - "name": "spackenmobs:islamist/say1" - }, - { - "name": "spackenmobs:islamist/say2" - }, - { - "name": "spackenmobs:islamist/say3" - }, - { - "name": "spackenmobs:islamist/say4" - } - ] - }, - "entities.islamist.ambient": { - "sounds": [{ - "name": "spackenmobs:islamist/say1" - }, - { - "name": "spackenmobs:islamist/say2" - }, - { - "name": "spackenmobs:islamist/say3" - }, - { - "name": "spackenmobs:islamist/say4" - } - ] - }, - "entities.apored.ambient": { - "sounds": [{ - "name": "spackenmobs:apored/say1" - }, - { - "name": "spackenmobs:apored/say2" - }, - { - "name": "spackenmobs:apored/say3" - }, - { - "name": "spackenmobs:apored/say4" - }, - { - "name": "spackenmobs:apored/say5" - }, - { - "name": "spackenmobs:apored/say6" - }, - { - "name": "spackenmobs:apored/say7" - }, - { - "name": "spackenmobs:apored/say8" - }, - { - "name": "spackenmobs:apored/say9" - }, - { - "name": "spackenmobs:apored/say10" - }, - { - "name": "spackenmobs:apored/say11" - }, - { - "name": "spackenmobs:apored/say12" - }, - { - "name": "spackenmobs:apored/say13" - }, - { - "name": "spackenmobs:apored/say14" - }, - { - "name": "spackenmobs:apored/say15" - }, - { - "name": "spackenmobs:apored/say16" - }, - { - "name": "spackenmobs:apored/say17" - }, - { - "name": "spackenmobs:apored/say18" - }, - { - "name": "spackenmobs:apored/say19" - }, - { - "name": "spackenmobs:apored/say20" - }, - { - "name": "spackenmobs:apored/say21" - }, - { - "name": "spackenmobs:apored/say22" - }, - { - "name": "spackenmobs:apored/say23" - }, - { - "name": "spackenmobs:apored/say24" - }, - { - "name": "spackenmobs:apored/say25" - }, - { - "name": "spackenmobs:apored/say26" - } - ] - }, - "entities.apored.death": { - "sounds": [{ - "name": "spackenmobs:apored/death1" - }, - { - "name": "spackenmobs:apored/death2" - }, - { - "name": "spackenmobs:apored/death3" - }, - { - "name": "spackenmobs:apored/death4" - }, - { - "name": "spackenmobs:apored/death5" - }, - { - "name": "spackenmobs:apored/death6" - } - ] - }, - "entities.apored.hurt": { - "sounds": [{ - "name": "spackenmobs:apored/hurt1" - }, - { - "name": "spackenmobs:apored/hurt2" - }, - { - "name": "spackenmobs:apored/hurt3" - }, - { - "name": "spackenmobs:apored/hurt4" - }, - { - "name": "spackenmobs:apored/hurt5" - }, - { - "name": "spackenmobs:apored/hurt6" - }, - { - "name": "spackenmobs:apored/hurt7" - }, - { - "name": "spackenmobs:apored/hurt8" - }, - { - "name": "spackenmobs:apored/hurt9" - }, - { - "name": "spackenmobs:apored/hurt10" - }, - { - "name": "spackenmobs:apored/hurt11" - }, - { - "name": "spackenmobs:apored/hurt12" - }, - { - "name": "spackenmobs:apored/hurt13" - }, - { - "name": "spackenmobs:apored/hurt14" - }, - { - "name": "spackenmobs:apored/hurt15" - }, - { - "name": "spackenmobs:apored/hurt16" - }, - { - "name": "spackenmobs:apored/hurt17" - }, - { - "name": "spackenmobs:apored/hurt18" - }, - { - "name": "spackenmobs:apored/hurt19" - } - ] - }, - "entities.mr_bean.ambient": { - "sounds": [{ - "name": "spackenmobs:mr_bean/say1" - }, - { - "name": "spackenmobs:mr_bean/say2" - } - ] - }, - "entities.mr_bean.death": { - "sounds": [{ - "name": "spackenmobs:mr_bean/death" - }] - }, - "entities.mr_bean.hurt": { - "sounds": [{ - "name": "spackenmobs:mr_bean/hurt" - }] - }, - "entities.drachenlord.ambient": { - "sounds": [{ - "name": "spackenmobs:drachenlord/say1" - }, - { - "name": "spackenmobs:drachenlord/say2" - }, - { - "name": "spackenmobs:drachenlord/say3" - }, - { - "name": "spackenmobs:drachenlord/say4" - }, - { - "name": "spackenmobs:drachenlord/say5" - }, - { - "name": "spackenmobs:drachenlord/say6" - }, - { - "name": "spackenmobs:drachenlord/say7" - }, - { - "name": "spackenmobs:drachenlord/say8" - }, - { - "name": "spackenmobs:drachenlord/say9" - }, - { - "name": "spackenmobs:drachenlord/say10" - }, - { - "name": "spackenmobs:drachenlord/say11" - }, - { - "name": "spackenmobs:drachenlord/say12" - }, - { - "name": "spackenmobs:drachenlord/say13" - }, - { - "name": "spackenmobs:drachenlord/say14" - }, - { - "name": "spackenmobs:drachenlord/say15" - }, - { - "name": "spackenmobs:drachenlord/say16" - }, - { - "name": "spackenmobs:drachenlord/say17" - }, - { - "name": "spackenmobs:drachenlord/say18" - }, - { - "name": "spackenmobs:drachenlord/say19" - }, - { - "name": "spackenmobs:drachenlord/say20" - }, - { - "name": "spackenmobs:drachenlord/say21" - }, - { - "name": "spackenmobs:drachenlord/say22" - }, - { - "name": "spackenmobs:drachenlord/say23" - }, - { - "name": "spackenmobs:drachenlord/say24" - }, - { - "name": "spackenmobs:drachenlord/say25" - }, - { - "name": "spackenmobs:drachenlord/say26" - }, - { - "name": "spackenmobs:drachenlord/say27" - }, - { - "name": "spackenmobs:drachenlord/say28" - }, - { - "name": "spackenmobs:drachenlord/say29" - }, - { - "name": "spackenmobs:drachenlord/say30" - } - ] - }, - "entities.drachenlord.angry": { - "sounds": [{ - "name": "spackenmobs:drachenlord/angry1" - }, - { - "name": "spackenmobs:drachenlord/angry2" - }, - { - "name": "spackenmobs:drachenlord/angry3" - }, - { - "name": "spackenmobs:drachenlord/angry4" - }, - { - "name": "spackenmobs:drachenlord/angry5" - }, - { - "name": "spackenmobs:drachenlord/angry6" - }, - { - "name": "spackenmobs:drachenlord/angry7" - }, - { - "name": "spackenmobs:drachenlord/angry8" - }, - { - "name": "spackenmobs:drachenlord/angry9" - }, - { - "name": "spackenmobs:drachenlord/angry10" - }, - { - "name": "spackenmobs:drachenlord/angry11" - }, - { - "name": "spackenmobs:drachenlord/angry12" - }, - { - "name": "spackenmobs:drachenlord/angry13" - }, - { - "name": "spackenmobs:drachenlord/angry14" - }, - { - "name": "spackenmobs:drachenlord/angry15" - }, - { - "name": "spackenmobs:drachenlord/angry16" - }, - { - "name": "spackenmobs:drachenlord/angry17" - }, - { - "name": "spackenmobs:drachenlord/angry18" - }, - { - "name": "spackenmobs:drachenlord/angry19" - }, - { - "name": "spackenmobs:drachenlord/angry20" - } - ] - }, - "entities.drachenlord.death": { - "sounds": [{ - "name": "spackenmobs:drachenlord/death" - }] - }, - "entities.drachenlord.hurt": { - "sounds": [{ - "name": "spackenmobs:drachenlord/hurt1" - }, - { - "name": "spackenmobs:drachenlord/hurt2" - }, - { - "name": "spackenmobs:drachenlord/hurt3" - }, - { - "name": "spackenmobs:drachenlord/hurt4" - }, - { - "name": "spackenmobs:drachenlord/hurt5" - } - ] - }, - "entities.schalker.ambient": { - "sounds": [{ - "name": "spackenmobs:schalker/ambient1" - }, - { - "name": "spackenmobs:schalker/ambient2" - }, - { - "name": "spackenmobs:schalker/ambient3" - }, - { - "name": "spackenmobs:schalker/ambient4" - }, - { - "name": "spackenmobs:schalker/ambient5" - }, - { - "name": "spackenmobs:schalker/ambient6" - }, - { - "name": "spackenmobs:schalker/ambient7" - }, - { - "name": "spackenmobs:schalker/ambient8" - }, - { - "name": "spackenmobs:schalker/ambient9" - }, - { - "name": "spackenmobs:schalker/ambient10" - } - ] - }, - "entities.schalker.death": { - "sounds": [{ - "name": "spackenmobs:schalker/death" - }] - }, - "entities.schalker.open": { - "sounds": [{ - "name": "spackenmobs:schalker/open1" - }, - { - "name": "spackenmobs:schalker/open2" - }, - { - "name": "spackenmobs:schalker/open3" - }, - { - "name": "spackenmobs:schalker/open4" - }, - { - "name": "spackenmobs:schalker/open5" - } - ] - }, - "entities.schalker.shoot": { - "sounds": [{ - "name": "spackenmobs:schalker/shoot1" - }, - { - "name": "spackenmobs:schalker/shoot2" - } - ] - }, - "entities.jens.ambient": { - "sounds": [{ - "name": "spackenmobs:jens/say1" - }, - { - "name": "spackenmobs:jens/say2" - }, - { - "name": "spackenmobs:jens/say3" - }, - { - "name": "spackenmobs:jens/say4" - }, - { - "name": "spackenmobs:jens/say5" - }, - { - "name": "spackenmobs:jens/say6" - }, - { - "name": "spackenmobs:jens/say7" - }, - { - "name": "spackenmobs:jens/say8" - }, - { - "name": "spackenmobs:jens/say9" - }, - { - "name": "spackenmobs:jens/say10" - }, - { - "name": "spackenmobs:jens/say11" - }, - { - "name": "spackenmobs:jens/say12" - }, - { - "name": "spackenmobs:jens/say13" - }, - { - "name": "spackenmobs:jens/say14" - }, - { - "name": "spackenmobs:jens/say15" - }, - { - "name": "spackenmobs:jens/say16" - }, - { - "name": "spackenmobs:jens/say17" - } - ] - }, - "entities.jens.death": { - "sounds": [{ - "name": "spackenmobs:jens/death1" - }, - { - "name": "spackenmobs:jens/death2" - }, - { - "name": "spackenmobs:jens/death3" - }, - { - "name": "spackenmobs:jens/death4" - }, - { - "name": "spackenmobs:jens/death5" - }, - { - "name": "spackenmobs:jens/death6" - } - ] - }, - "entities.jens.hurt": { - "sounds": [{ - "name": "spackenmobs:jens/hurt1" - }, - { - "name": "spackenmobs:jens/hurt2" - }, - { - "name": "spackenmobs:jens/hurt3" - }, - { - "name": "spackenmobs:jens/hurt4" - }, - { - "name": "spackenmobs:jens/hurt5" - }, - { - "name": "spackenmobs:jens/hurt6" - }, - { - "name": "spackenmobs:jens/hurt7" - }, - { - "name": "spackenmobs:jens/hurt8" - }, - { - "name": "spackenmobs:jens/hurt9" - }, - { - "name": "spackenmobs:jens/hurt10" - } - ] - }, - "entities.jens.eat": { - "sounds": [{ - "name": "spackenmobs:jens/eat" - }] - }, - "entities.jens.poop": { - "sounds": [{ - "name": "spackenmobs:jens/poop" - }] - }, - "entities.bakamitai_creeper.fuse": { - "sounds": [{ - "name": "spackenmobs:bakamitai_creeper/fuse" - }] - }, - "entities.bakamitai_creeper.blow": { - "sounds": [{ - "name": "spackenmobs:bakamitai_creeper/blow" - }] - } + "entities.smava_creeper.fuse": { + "sounds": [ + { + "name": "spackenmobs:smava_creeper/fuse" + } + ] + }, + "entities.smava_creeper.blow": { + "sounds": [ + { + "name": "spackenmobs:smava_creeper/blow" + } + ] + }, + "entities.smava_creeper.hurt": { + "sounds": [ + { + "name": "spackenmobs:smava_creeper/hurt" + } + ] + }, + "entities.smava_creeper.ambient": { + "sounds": [ + { + "name": "spackenmobs:smava_creeper/say1" + }, + { + "name": "spackenmobs:smava_creeper/say2" + }, + { + "name": "spackenmobs:smava_creeper/say3" + }, + { + "name": "spackenmobs:smava_creeper/say4" + }, + { + "name": "spackenmobs:smava_creeper/say5" + }, + { + "name": "spackenmobs:smava_creeper/say6" + } + ] + }, + "entities.marcell_davis.ambient": { + "sounds": [ + { + "name": "spackenmobs:marcell_davis/say1" + }, + { + "name": "spackenmobs:marcell_davis/say2" + }, + { + "name": "spackenmobs:marcell_davis/say3" + }, + { + "name": "spackenmobs:marcell_davis/say4" + }, + { + "name": "spackenmobs:marcell_davis/say5" + }, + { + "name": "spackenmobs:marcell_davis/say6" + }, + { + "name": "spackenmobs:marcell_davis/say7" + }, + { + "name": "spackenmobs:marcell_davis/say8" + }, + { + "name": "spackenmobs:marcell_davis/say9" + }, + { + "name": "spackenmobs:marcell_davis/say10" + }, + { + "name": "spackenmobs:marcell_davis/say11" + }, + { + "name": "spackenmobs:marcell_davis/say12" + }, + { + "name": "spackenmobs:marcell_davis/say13" + }, + { + "name": "spackenmobs:marcell_davis/say14" + }, + { + "name": "spackenmobs:marcell_davis/say15" + }, + { + "name": "spackenmobs:marcell_davis/say16" + }, + { + "name": "spackenmobs:marcell_davis/say17" + }, + { + "name": "spackenmobs:marcell_davis/say18" + }, + { + "name": "spackenmobs:marcell_davis/say19" + }, + { + "name": "spackenmobs:marcell_davis/say20" + }, + { + "name": "spackenmobs:marcell_davis/say21" + }, + { + "name": "spackenmobs:marcell_davis/say22" + }, + { + "name": "spackenmobs:marcell_davis/say23" + }, + { + "name": "spackenmobs:marcell_davis/say24" + }, + { + "name": "spackenmobs:marcell_davis/say25" + }, + { + "name": "spackenmobs:marcell_davis/say26" + }, + { + "name": "spackenmobs:marcell_davis/say27" + }, + { + "name": "spackenmobs:marcell_davis/say28" + }, + { + "name": "spackenmobs:marcell_davis/say29" + }, + { + "name": "spackenmobs:marcell_davis/say30" + }, + { + "name": "spackenmobs:marcell_davis/say31" + }, + { + "name": "spackenmobs:marcell_davis/say32" + }, + { + "name": "spackenmobs:marcell_davis/say33" + }, + { + "name": "spackenmobs:marcell_davis/say34" + }, + { + "name": "spackenmobs:marcell_davis/say35" + }, + { + "name": "spackenmobs:marcell_davis/say36" + }, + { + "name": "spackenmobs:marcell_davis/say37" + }, + { + "name": "spackenmobs:marcell_davis/say38" + }, + { + "name": "spackenmobs:marcell_davis/say39" + }, + { + "name": "spackenmobs:marcell_davis/say40" + }, + { + "name": "spackenmobs:marcell_davis/say41" + }, + { + "name": "spackenmobs:marcell_davis/say42" + }, + { + "name": "spackenmobs:marcell_davis/say43" + }, + { + "name": "spackenmobs:marcell_davis/say44" + }, + { + "name": "spackenmobs:marcell_davis/say45" + }, + { + "name": "spackenmobs:marcell_davis/say46" + }, + { + "name": "spackenmobs:marcell_davis/say47" + }, + { + "name": "spackenmobs:marcell_davis/say48" + }, + { + "name": "spackenmobs:marcell_davis/say49" + }, + { + "name": "spackenmobs:marcell_davis/say50" + }, + { + "name": "spackenmobs:marcell_davis/say51" + }, + { + "name": "spackenmobs:marcell_davis/say52" + }, + { + "name": "spackenmobs:marcell_davis/say53" + }, + { + "name": "spackenmobs:marcell_davis/say54" + }, + { + "name": "spackenmobs:marcell_davis/say55" + }, + { + "name": "spackenmobs:marcell_davis/say56" + }, + { + "name": "spackenmobs:marcell_davis/say57" + }, + { + "name": "spackenmobs:marcell_davis/say58" + }, + { + "name": "spackenmobs:marcell_davis/say59" + }, + { + "name": "spackenmobs:marcell_davis/say60" + }, + { + "name": "spackenmobs:marcell_davis/say61" + } + ] + }, + "entities.marcell_davis.death": { + "sounds": [ + { + "name": "spackenmobs:marcell_davis/death1" + }, + { + "name": "spackenmobs:marcell_davis/death2" + }, + { + "name": "spackenmobs:marcell_davis/death3" + }, + { + "name": "spackenmobs:marcell_davis/death4" + }, + { + "name": "spackenmobs:marcell_davis/death5" + } + ] + }, + "entities.marcell_davis.hurt": { + "sounds": [ + { + "name": "spackenmobs:marcell_davis/hurt1" + }, + { + "name": "spackenmobs:marcell_davis/hurt2" + }, + { + "name": "spackenmobs:marcell_davis/hurt3" + }, + { + "name": "spackenmobs:marcell_davis/hurt4" + }, + { + "name": "spackenmobs:marcell_davis/hurt5" + }, + { + "name": "spackenmobs:marcell_davis/hurt6" + } + ] + }, + "entities.islamist.fuse": { + "sounds": [ + { + "name": "spackenmobs:islamist/fuse1" + }, + { + "name": "spackenmobs:islamist/fuse2" + }, + { + "name": "spackenmobs:islamist/fuse3" + }, + { + "name": "spackenmobs:islamist/fuse4" + } + ] + }, + "entities.islamist.blow": { + "sounds": [ + { + "name": "spackenmobs:islamist/blow" + } + ] + }, + "entities.islamist.hurt": { + "sounds": [ + { + "name": "spackenmobs:islamist/say1" + }, + { + "name": "spackenmobs:islamist/say2" + }, + { + "name": "spackenmobs:islamist/say3" + }, + { + "name": "spackenmobs:islamist/say4" + } + ] + }, + "entities.islamist.ambient": { + "sounds": [ + { + "name": "spackenmobs:islamist/say1" + }, + { + "name": "spackenmobs:islamist/say2" + }, + { + "name": "spackenmobs:islamist/say3" + }, + { + "name": "spackenmobs:islamist/say4" + } + ] + }, + "entities.apored.ambient": { + "sounds": [ + { + "name": "spackenmobs:apored/say1" + }, + { + "name": "spackenmobs:apored/say2" + }, + { + "name": "spackenmobs:apored/say3" + }, + { + "name": "spackenmobs:apored/say4" + }, + { + "name": "spackenmobs:apored/say5" + }, + { + "name": "spackenmobs:apored/say6" + }, + { + "name": "spackenmobs:apored/say7" + }, + { + "name": "spackenmobs:apored/say8" + }, + { + "name": "spackenmobs:apored/say9" + }, + { + "name": "spackenmobs:apored/say10" + }, + { + "name": "spackenmobs:apored/say11" + }, + { + "name": "spackenmobs:apored/say12" + }, + { + "name": "spackenmobs:apored/say13" + }, + { + "name": "spackenmobs:apored/say14" + }, + { + "name": "spackenmobs:apored/say15" + }, + { + "name": "spackenmobs:apored/say16" + }, + { + "name": "spackenmobs:apored/say17" + }, + { + "name": "spackenmobs:apored/say18" + }, + { + "name": "spackenmobs:apored/say19" + }, + { + "name": "spackenmobs:apored/say20" + }, + { + "name": "spackenmobs:apored/say21" + }, + { + "name": "spackenmobs:apored/say22" + }, + { + "name": "spackenmobs:apored/say23" + }, + { + "name": "spackenmobs:apored/say24" + }, + { + "name": "spackenmobs:apored/say25" + }, + { + "name": "spackenmobs:apored/say26" + } + ] + }, + "entities.apored.death": { + "sounds": [ + { + "name": "spackenmobs:apored/death1" + }, + { + "name": "spackenmobs:apored/death2" + }, + { + "name": "spackenmobs:apored/death3" + }, + { + "name": "spackenmobs:apored/death4" + }, + { + "name": "spackenmobs:apored/death5" + }, + { + "name": "spackenmobs:apored/death6" + } + ] + }, + "entities.apored.hurt": { + "sounds": [ + { + "name": "spackenmobs:apored/hurt1" + }, + { + "name": "spackenmobs:apored/hurt2" + }, + { + "name": "spackenmobs:apored/hurt3" + }, + { + "name": "spackenmobs:apored/hurt4" + }, + { + "name": "spackenmobs:apored/hurt5" + }, + { + "name": "spackenmobs:apored/hurt6" + }, + { + "name": "spackenmobs:apored/hurt7" + }, + { + "name": "spackenmobs:apored/hurt8" + }, + { + "name": "spackenmobs:apored/hurt9" + }, + { + "name": "spackenmobs:apored/hurt10" + }, + { + "name": "spackenmobs:apored/hurt11" + }, + { + "name": "spackenmobs:apored/hurt12" + }, + { + "name": "spackenmobs:apored/hurt13" + }, + { + "name": "spackenmobs:apored/hurt14" + }, + { + "name": "spackenmobs:apored/hurt15" + }, + { + "name": "spackenmobs:apored/hurt16" + }, + { + "name": "spackenmobs:apored/hurt17" + }, + { + "name": "spackenmobs:apored/hurt18" + }, + { + "name": "spackenmobs:apored/hurt19" + } + ] + }, + "entities.mr_bean.ambient": { + "sounds": [ + { + "name": "spackenmobs:mr_bean/say1" + }, + { + "name": "spackenmobs:mr_bean/say2" + } + ] + }, + "entities.mr_bean.death": { + "sounds": [ + { + "name": "spackenmobs:mr_bean/death" + } + ] + }, + "entities.mr_bean.hurt": { + "sounds": [ + { + "name": "spackenmobs:mr_bean/hurt" + } + ] + }, + "entities.drachenlord.ambient": { + "sounds": [ + { + "name": "spackenmobs:drachenlord/say1" + }, + { + "name": "spackenmobs:drachenlord/say2" + }, + { + "name": "spackenmobs:drachenlord/say3" + }, + { + "name": "spackenmobs:drachenlord/say4" + }, + { + "name": "spackenmobs:drachenlord/say5" + }, + { + "name": "spackenmobs:drachenlord/say6" + }, + { + "name": "spackenmobs:drachenlord/say7" + }, + { + "name": "spackenmobs:drachenlord/say8" + }, + { + "name": "spackenmobs:drachenlord/say9" + }, + { + "name": "spackenmobs:drachenlord/say10" + }, + { + "name": "spackenmobs:drachenlord/say11" + }, + { + "name": "spackenmobs:drachenlord/say12" + }, + { + "name": "spackenmobs:drachenlord/say13" + }, + { + "name": "spackenmobs:drachenlord/say14" + }, + { + "name": "spackenmobs:drachenlord/say15" + }, + { + "name": "spackenmobs:drachenlord/say16" + }, + { + "name": "spackenmobs:drachenlord/say17" + }, + { + "name": "spackenmobs:drachenlord/say18" + }, + { + "name": "spackenmobs:drachenlord/say19" + }, + { + "name": "spackenmobs:drachenlord/say20" + }, + { + "name": "spackenmobs:drachenlord/say21" + }, + { + "name": "spackenmobs:drachenlord/say22" + }, + { + "name": "spackenmobs:drachenlord/say23" + }, + { + "name": "spackenmobs:drachenlord/say24" + }, + { + "name": "spackenmobs:drachenlord/say25" + }, + { + "name": "spackenmobs:drachenlord/say26" + }, + { + "name": "spackenmobs:drachenlord/say27" + }, + { + "name": "spackenmobs:drachenlord/say28" + }, + { + "name": "spackenmobs:drachenlord/say29" + }, + { + "name": "spackenmobs:drachenlord/say30" + } + ] + }, + "entities.drachenlord.angry": { + "sounds": [ + { + "name": "spackenmobs:drachenlord/angry1" + }, + { + "name": "spackenmobs:drachenlord/angry2" + }, + { + "name": "spackenmobs:drachenlord/angry3" + }, + { + "name": "spackenmobs:drachenlord/angry4" + }, + { + "name": "spackenmobs:drachenlord/angry5" + }, + { + "name": "spackenmobs:drachenlord/angry6" + }, + { + "name": "spackenmobs:drachenlord/angry7" + }, + { + "name": "spackenmobs:drachenlord/angry8" + }, + { + "name": "spackenmobs:drachenlord/angry9" + }, + { + "name": "spackenmobs:drachenlord/angry10" + }, + { + "name": "spackenmobs:drachenlord/angry11" + }, + { + "name": "spackenmobs:drachenlord/angry12" + }, + { + "name": "spackenmobs:drachenlord/angry13" + }, + { + "name": "spackenmobs:drachenlord/angry14" + }, + { + "name": "spackenmobs:drachenlord/angry15" + }, + { + "name": "spackenmobs:drachenlord/angry16" + }, + { + "name": "spackenmobs:drachenlord/angry17" + }, + { + "name": "spackenmobs:drachenlord/angry18" + }, + { + "name": "spackenmobs:drachenlord/angry19" + }, + { + "name": "spackenmobs:drachenlord/angry20" + } + ] + }, + "entities.drachenlord.death": { + "sounds": [ + { + "name": "spackenmobs:drachenlord/death" + } + ] + }, + "entities.drachenlord.hurt": { + "sounds": [ + { + "name": "spackenmobs:drachenlord/hurt1" + }, + { + "name": "spackenmobs:drachenlord/hurt2" + }, + { + "name": "spackenmobs:drachenlord/hurt3" + }, + { + "name": "spackenmobs:drachenlord/hurt4" + }, + { + "name": "spackenmobs:drachenlord/hurt5" + } + ] + }, + "entities.schalker.ambient": { + "sounds": [ + { + "name": "spackenmobs:schalker/ambient1" + }, + { + "name": "spackenmobs:schalker/ambient2" + }, + { + "name": "spackenmobs:schalker/ambient3" + }, + { + "name": "spackenmobs:schalker/ambient4" + }, + { + "name": "spackenmobs:schalker/ambient5" + }, + { + "name": "spackenmobs:schalker/ambient6" + }, + { + "name": "spackenmobs:schalker/ambient7" + }, + { + "name": "spackenmobs:schalker/ambient8" + }, + { + "name": "spackenmobs:schalker/ambient9" + }, + { + "name": "spackenmobs:schalker/ambient10" + } + ] + }, + "entities.schalker.death": { + "sounds": [ + { + "name": "spackenmobs:schalker/death" + } + ] + }, + "entities.schalker.open": { + "sounds": [ + { + "name": "spackenmobs:schalker/open1" + }, + { + "name": "spackenmobs:schalker/open2" + }, + { + "name": "spackenmobs:schalker/open3" + }, + { + "name": "spackenmobs:schalker/open4" + }, + { + "name": "spackenmobs:schalker/open5" + } + ] + }, + "entities.schalker.shoot": { + "sounds": [ + { + "name": "spackenmobs:schalker/shoot1" + }, + { + "name": "spackenmobs:schalker/shoot2" + } + ] + }, + "entities.jens.ambient": { + "sounds": [ + { + "name": "spackenmobs:jens/say1" + }, + { + "name": "spackenmobs:jens/say2" + }, + { + "name": "spackenmobs:jens/say3" + }, + { + "name": "spackenmobs:jens/say4" + }, + { + "name": "spackenmobs:jens/say5" + }, + { + "name": "spackenmobs:jens/say6" + }, + { + "name": "spackenmobs:jens/say7" + }, + { + "name": "spackenmobs:jens/say8" + }, + { + "name": "spackenmobs:jens/say9" + }, + { + "name": "spackenmobs:jens/say10" + }, + { + "name": "spackenmobs:jens/say11" + }, + { + "name": "spackenmobs:jens/say12" + }, + { + "name": "spackenmobs:jens/say13" + }, + { + "name": "spackenmobs:jens/say14" + }, + { + "name": "spackenmobs:jens/say15" + }, + { + "name": "spackenmobs:jens/say16" + }, + { + "name": "spackenmobs:jens/say17" + } + ] + }, + "entities.jens.death": { + "sounds": [ + { + "name": "spackenmobs:jens/death1" + }, + { + "name": "spackenmobs:jens/death2" + }, + { + "name": "spackenmobs:jens/death3" + }, + { + "name": "spackenmobs:jens/death4" + }, + { + "name": "spackenmobs:jens/death5" + }, + { + "name": "spackenmobs:jens/death6" + } + ] + }, + "entities.jens.hurt": { + "sounds": [ + { + "name": "spackenmobs:jens/hurt1" + }, + { + "name": "spackenmobs:jens/hurt2" + }, + { + "name": "spackenmobs:jens/hurt3" + }, + { + "name": "spackenmobs:jens/hurt4" + }, + { + "name": "spackenmobs:jens/hurt5" + }, + { + "name": "spackenmobs:jens/hurt6" + }, + { + "name": "spackenmobs:jens/hurt7" + }, + { + "name": "spackenmobs:jens/hurt8" + }, + { + "name": "spackenmobs:jens/hurt9" + }, + { + "name": "spackenmobs:jens/hurt10" + } + ] + }, + "entities.jens.eat": { + "sounds": [ + { + "name": "spackenmobs:jens/eat" + } + ] + }, + "entities.jens.poop": { + "sounds": [ + { + "name": "spackenmobs:jens/poop" + } + ] + }, + "entities.bakamitai_creeper.fuse": { + "sounds": [ + { + "name": "spackenmobs:bakamitai_creeper/fuse" + } + ] + }, + "entities.bakamitai_creeper.blow": { + "sounds": [ + { + "name": "spackenmobs:bakamitai_creeper/blow" + } + ] + } } \ No newline at end of file