Adapt code and re-add missing changes

This commit is contained in:
ACGaming 2020-08-29 20:42:50 +02:00
parent 484236b477
commit 0ad2241949
47 changed files with 3927 additions and 3395 deletions

3
.gitignore vendored
View file

@ -20,4 +20,5 @@ build
# other # other
eclipse eclipse
run run
build.bat build.bat
runClient.bat

View file

@ -23,7 +23,7 @@ compileJava {
minecraft { minecraft {
version = "1.12.2-14.23.5.2847" version = "1.12.2-14.23.5.2847"
runDir = "run" runDir = "run"
// the mappings can be changed at any time, and must be in the following format. // the mappings can be changed at any time, and must be in the following format.
// snapshot_YYYYMMDD snapshot are built nightly. // snapshot_YYYYMMDD snapshot are built nightly.
// stable_# stables are built at the discretion of the MCP team. // stable_# stables are built at the discretion of the MCP team.
@ -38,7 +38,7 @@ dependencies {
// or you may define them like so.. // or you may define them like so..
//compile "some.group:artifact:version:classifier" //compile "some.group:artifact:version:classifier"
//compile "some.group:artifact:version" //compile "some.group:artifact:version"
// real examples // real examples
//compile 'com.mod-buildcraft:buildcraft:6.0.8:dev' // adds buildcraft to the dev env //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 //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 // replace stuff in mcmod.info, nothing else
from(sourceSets.main.resources.srcDirs) { from(sourceSets.main.resources.srcDirs) {
include 'mcmod.info' include 'mcmod.info'
// replace version and mcversion // 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 // copy everything else except the mcmod.info
from(sourceSets.main.resources.srcDirs) { from(sourceSets.main.resources.srcDirs) {
exclude 'mcmod.info' exclude 'mcmod.info'

View file

@ -11,34 +11,39 @@ import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly; import net.minecraftforge.fml.relauncher.SideOnly;
@Mod(modid = "spackenmobs", version = "RC1", acceptedMinecraftVersions = "[1.12.2]") @Mod(modid = "spackenmobs", version = "RC3", acceptedMinecraftVersions = "[1.12.2]")
public class Spackenmobs { public class Spackenmobs
public static final String MODID = "spackenmobs"; {
public static final String VERSION = "RC1"; 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 @Instance
public static Spackenmobs instance; public static Spackenmobs instance;
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)
@EventHandler @EventHandler
public void preInitClient(FMLPreInitializationEvent event) { public void preInitClient(FMLPreInitializationEvent event)
ModEntities.initModels(); {
} ModEntities.initModels();
}
@EventHandler @EventHandler
public void preInit(FMLPreInitializationEvent event) { public void preInit(FMLPreInitializationEvent event)
{
} }
@EventHandler @EventHandler
public void init(FMLInitializationEvent event) { public void init(FMLInitializationEvent event)
{
} }
@EventHandler @EventHandler
public void postInit(FMLPostInitializationEvent event) { public void postInit(FMLPostInitializationEvent event)
{
} }
} }

View file

@ -6,14 +6,17 @@ import net.minecraft.item.ItemStack;
import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly; import net.minecraftforge.fml.relauncher.SideOnly;
public class SpackenmobsTab extends CreativeTabs { public class SpackenmobsTab extends CreativeTabs
public SpackenmobsTab() { {
super(Spackenmobs.MODID); public SpackenmobsTab()
} {
super(Spackenmobs.MODID);
}
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)
@Override @Override
public ItemStack getTabIconItem() { public ItemStack getTabIconItem()
return new ItemStack(ModItems.RAM); {
} return new ItemStack(ModItems.RAM);
}
} }

View file

@ -5,70 +5,82 @@ import net.minecraft.entity.ai.EntityAIBase;
import net.minecraft.init.Blocks; import net.minecraft.init.Blocks;
// Thanks to Akrivus! // Thanks to Akrivus!
public class EntityAIDance extends EntityAIBase { public class EntityAIDance extends EntityAIBase
private final EntityJens jens; {
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) { public EntityAIDance(EntityJens jens, int searchRadius)
this.jens = jens; {
this.searchRadius = searchRadius; this.jens = jens;
} this.searchRadius = searchRadius;
}
@Override @Override
public void resetTask() { public void resetTask()
this.lastDanceMoveTime = 0; {
this.danceStage = 0; this.lastDanceMoveTime = 0;
} this.danceStage = 0;
}
@Override @Override
public boolean shouldContinueExecuting() { public boolean shouldContinueExecuting()
return shouldExecute(); {
} return shouldExecute();
}
@Override @Override
public boolean shouldExecute() { public boolean shouldExecute()
for(int x = -this.searchRadius; x <= this.searchRadius; x++) { {
for(int y = -2; y <= 2; y++) { for (int x = -this.searchRadius; x <= this.searchRadius; x++)
for(int z = -this.searchRadius; z <= this.searchRadius; z++) { {
if(this.jens.world.getBlockState(this.jens.getPosition().add(x, y, z)).getBlock() == Blocks.JUKEBOX for (int y = -2; y <= 2; y++)
&& this.jens.world.getBlockState(this.jens.getPosition().add(x, y, z)).getValue(BlockJukebox.HAS_RECORD)) {
return true; 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 false; return true;
} }
}
}
return false;
}
@Override @Override
public void startExecuting() { public void startExecuting()
this.danceStage = 1; {
} this.danceStage = 1;
}
@Override @Override
public void updateTask() { public void updateTask()
if(this.lastDanceMoveTime <= 0) { {
switch(this.danceStage) { if (this.lastDanceMoveTime <= 0)
case 1: {
this.danceStage = this.jens.world.rand.nextBoolean() ? 1 : 2; switch (this.danceStage)
this.jens.motionY = 0.42D; {
break; case 1:
case 2: this.danceStage = this.jens.world.rand.nextBoolean() ? 1 : 2;
this.jens.setSneaking(true); this.jens.motionY = 0.42D;
this.jens.motionY = -3.0D; break;
this.danceStage = 3; case 2:
break; this.jens.setSneaking(true);
case 3: this.jens.motionY = -3.0D;
this.danceStage = this.jens.world.rand.nextBoolean() ? 1 : 2; this.danceStage = 3;
this.jens.setSneaking(false); break;
break; case 3:
} this.danceStage = this.jens.world.rand.nextBoolean() ? 1 : 2;
this.lastDanceMoveTime = this.jens.world.rand.nextInt(10) + 5; this.jens.setSneaking(false);
} break;
this.lastDanceMoveTime--; }
} this.lastDanceMoveTime = this.jens.world.rand.nextInt(10) + 5;
}
this.lastDanceMoveTime--;
}
} }

View file

@ -8,56 +8,68 @@ import net.minecraft.world.World;
import java.util.List; import java.util.List;
public class EntityAIEatDroppedFish extends EntityAIBase { public class EntityAIEatDroppedFish extends EntityAIBase
double searchDistance = 10.0D; {
private final EntityJens jens; private final EntityJens jens;
private final World world; private final World world;
double searchDistance = 10.0D;
public EntityAIEatDroppedFish(EntityJens jens) { public EntityAIEatDroppedFish(EntityJens jens)
this.jens = jens; {
this.world = jens.world; this.jens = jens;
} this.world = jens.world;
}
public EntityItem getNearbyFood() { public EntityItem getNearbyFood()
List<EntityItem> items = getItems(); {
for(EntityItem item : items) { List<EntityItem> items = getItems();
return item; for (EntityItem item : items)
} {
return null; return item;
} }
return null;
}
List<EntityItem> getItems() { List<EntityItem> getItems()
return this.world.getEntitiesWithinAABB(EntityItem.class, {
new AxisAlignedBB(this.jens.posX - this.searchDistance, this.jens.posY - this.searchDistance, return this.world.getEntitiesWithinAABB(EntityItem.class,
this.jens.posZ - this.searchDistance, this.jens.posX + this.searchDistance, new AxisAlignedBB(this.jens.posX - this.searchDistance, this.jens.posY - this.searchDistance,
this.jens.posY + this.searchDistance, this.jens.posZ + this.searchDistance)); this.jens.posZ - this.searchDistance, this.jens.posX + this.searchDistance,
} this.jens.posY + this.searchDistance, this.jens.posZ + this.searchDistance));
}
@Override @Override
public boolean shouldExecute() { public boolean shouldExecute()
EntityItem getNearbyFood = getNearbyFood(); {
if(getNearbyFood != null && !this.jens.isChild() && !this.jens.digesting EntityItem getNearbyFood = getNearbyFood();
&& this.jens.isFishItem(getNearbyFood.getItem())) { if (getNearbyFood != null && !this.jens.isChild() && !this.jens.digesting
execute(this.jens, getNearbyFood); && this.jens.isFishItem(getNearbyFood.getItem()))
} {
return false; execute(this.jens, getNearbyFood);
} }
return false;
}
public boolean execute(EntityJens jens, EntityItem item) { 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) { if (jens.getNavigator().tryMoveToXYZ(item.posX, item.posY, item.posZ, 1.25D))
eatItem(item); {
jens.digestFish(); if (jens.getDistance(item) < 1.0F)
} {
} eatItem(item);
return true; jens.digestFish();
} }
}
return true;
}
public void eatItem(EntityItem item) { public void eatItem(EntityItem item)
ItemStack stack = item.getItem(); {
stack.setCount(stack.getCount() - 1); ItemStack stack = item.getItem();
if(stack.getCount() == 0) { stack.setCount(stack.getCount() - 1);
item.setDead(); if (stack.getCount() == 0)
} {
} item.setDead();
}
}
} }

View file

@ -6,23 +6,28 @@ import net.minecraft.util.DamageSource;
import net.minecraft.util.SoundEvent; import net.minecraft.util.SoundEvent;
import net.minecraft.world.World; import net.minecraft.world.World;
public class EntityApoRed extends EntitySkeleton { public class EntityApoRed extends EntitySkeleton
public EntityApoRed(World worldIn) { {
super(worldIn); public EntityApoRed(World worldIn)
} {
super(worldIn);
}
@Override @Override
protected SoundEvent getAmbientSound() { protected SoundEvent getAmbientSound()
return ModSoundEvents.ENTITY_APORED_AMBIENT; {
} return ModSoundEvents.ENTITY_APORED_AMBIENT;
}
@Override @Override
protected SoundEvent getHurtSound(DamageSource damageSourceIn) { protected SoundEvent getHurtSound(DamageSource damageSourceIn)
return ModSoundEvents.ENTITY_APORED_HURT; {
} return ModSoundEvents.ENTITY_APORED_HURT;
}
@Override @Override
protected SoundEvent getDeathSound() { protected SoundEvent getDeathSound()
return ModSoundEvents.ENTITY_APORED_DEATH; {
} return ModSoundEvents.ENTITY_APORED_DEATH;
}
} }

View file

@ -31,256 +31,301 @@ import net.minecraftforge.fml.relauncher.SideOnly;
import javax.annotation.Nullable; import javax.annotation.Nullable;
import java.util.Collection; import java.util.Collection;
public class EntityBakaMitaiCreeper extends EntityCreeper { public class EntityBakaMitaiCreeper extends EntityCreeper
private static final DataParameter<Integer> STATE = EntityDataManager.createKey(EntityBakaMitaiCreeper.class, DataSerializers.VARINT); {
private static final DataParameter<Boolean> POWERED = EntityDataManager.createKey(EntityBakaMitaiCreeper.class, DataSerializers.BOOLEAN); private static final DataParameter<Integer> STATE = EntityDataManager.createKey(EntityBakaMitaiCreeper.class, DataSerializers.VARINT);
private static final DataParameter<Boolean> IGNITED = EntityDataManager.createKey(EntityBakaMitaiCreeper.class, DataSerializers.BOOLEAN); private static final DataParameter<Boolean> POWERED = EntityDataManager.createKey(EntityBakaMitaiCreeper.class, DataSerializers.BOOLEAN);
private int lastActiveTime; private static final DataParameter<Boolean> IGNITED = EntityDataManager.createKey(EntityBakaMitaiCreeper.class, DataSerializers.BOOLEAN);
private int timeSinceIgnited; private int lastActiveTime;
private int fuseTime = 100; private int timeSinceIgnited;
private int explosionRadius = 12; private int fuseTime = 100;
private int droppedSkulls; private int explosionRadius = 12;
private int droppedSkulls;
public EntityBakaMitaiCreeper(World worldIn) { public EntityBakaMitaiCreeper(World worldIn)
super(worldIn); {
this.setSize(0.6F, 1.7F); super(worldIn);
} this.setSize(0.6F, 1.7F);
}
@Override @Override
public boolean ableToCauseSkullDrop() { public boolean ableToCauseSkullDrop()
return this.droppedSkulls < 1 && this.world.getGameRules().getBoolean("doMobLoot"); {
} return this.droppedSkulls < 1 && this.world.getGameRules().getBoolean("doMobLoot");
}
@Override @Override
protected void applyEntityAttributes() { protected void applyEntityAttributes()
super.applyEntityAttributes(); {
this.getEntityAttribute(SharedMonsterAttributes.MOVEMENT_SPEED).setBaseValue(0.25D); super.applyEntityAttributes();
} this.getEntityAttribute(SharedMonsterAttributes.MOVEMENT_SPEED).setBaseValue(0.25D);
}
@Override @Override
public boolean attackEntityAsMob(Entity entityIn) { public boolean attackEntityAsMob(Entity entityIn)
return true; {
} return true;
}
@Override @Override
protected void entityInit() { protected void entityInit()
super.entityInit(); {
this.dataManager.register(STATE, -1); super.entityInit();
this.dataManager.register(POWERED, false); this.dataManager.register(STATE, -1);
this.dataManager.register(IGNITED, false); this.dataManager.register(POWERED, false);
} this.dataManager.register(IGNITED, false);
}
private void explode() { private void explode()
if(!this.world.isRemote) { {
boolean flag = net.minecraftforge.event.ForgeEventFactory.getMobGriefingEvent(this.world, this); if (!this.world.isRemote)
float f = this.getPowered() ? 2.0F : 1.0F; {
this.dead = true; boolean flag = net.minecraftforge.event.ForgeEventFactory.getMobGriefingEvent(this.world, this);
this.world.playSound(null, getPosition(), ModSoundEvents.ENTITY_SMAVACREEPER_BLOW /*TODO sound missing?*/, getSoundCategory(), 1.0F, 1.0F); float f = this.getPowered() ? 2.0F : 1.0F;
this.world.createExplosion(this, this.posX, this.posY, this.posZ, this.explosionRadius * f, flag); this.dead = true;
this.setDead(); this.world.playSound(null, getPosition(), ModSoundEvents.ENTITY_BAKAMITAICREEPER_BLOW, getSoundCategory(), 1.0F, 1.0F);
this.spawnLingeringCloud(); this.world.createExplosion(this, this.posX, this.posY, this.posZ, this.explosionRadius * f, flag);
} this.setDead();
} this.spawnLingeringCloud();
}
}
@Override @Override
public void fall(float distance, float damageMultiplier) { public void fall(float distance, float damageMultiplier)
super.fall(distance, damageMultiplier); {
this.timeSinceIgnited = (int)(this.timeSinceIgnited + distance * 1.5F); super.fall(distance, damageMultiplier);
this.timeSinceIgnited = (int) (this.timeSinceIgnited + distance * 1.5F);
if(this.timeSinceIgnited > this.fuseTime - 5) { if (this.timeSinceIgnited > this.fuseTime - 5)
this.timeSinceIgnited = this.fuseTime - 5; {
} this.timeSinceIgnited = this.fuseTime - 5;
} }
}
@Override @Override
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)
public float getCreeperFlashIntensity(float p_70831_1_) { public float getCreeperFlashIntensity(float p_70831_1_)
return (this.lastActiveTime + (this.timeSinceIgnited - this.lastActiveTime) * p_70831_1_) / (this.fuseTime - 2); {
} return (this.lastActiveTime + (this.timeSinceIgnited - this.lastActiveTime) * p_70831_1_) / (this.fuseTime - 2);
}
@Override @Override
public int getCreeperState() { public int getCreeperState()
return this.dataManager.get(STATE); {
} return this.dataManager.get(STATE);
}
@Override @Override
public void setCreeperState(int state) { public void setCreeperState(int state)
this.dataManager.set(STATE, state); {
} this.dataManager.set(STATE, state);
}
@Override @Override
protected SoundEvent getDeathSound() { protected SoundEvent getDeathSound()
return SoundEvents.ENTITY_CREEPER_DEATH; {
} return SoundEvents.ENTITY_CREEPER_DEATH;
}
@Override @Override
protected SoundEvent getHurtSound(DamageSource damageSourceIn) { protected SoundEvent getHurtSound(DamageSource damageSourceIn)
return SoundEvents.ENTITY_CREEPER_HURT; {
} return SoundEvents.ENTITY_CREEPER_HURT;
}
@Override @Override
@Nullable @Nullable
protected ResourceLocation getLootTable() { protected ResourceLocation getLootTable()
return LootTableList.ENTITIES_CREEPER; {
} return LootTableList.ENTITIES_CREEPER;
}
@Override @Override
public int getMaxFallHeight() { public int getMaxFallHeight()
return this.getAttackTarget() == null ? 3 : 3 + (int)(this.getHealth() - 1.0F); {
} return this.getAttackTarget() == null ? 3 : 3 + (int) (this.getHealth() - 1.0F);
}
@Override @Override
public boolean getPowered() { public boolean getPowered()
return this.dataManager.get(POWERED); {
} return this.dataManager.get(POWERED);
}
@Override @Override
public boolean hasIgnited() { public boolean hasIgnited()
return this.dataManager.get(IGNITED); {
} return this.dataManager.get(IGNITED);
}
@Override @Override
public void ignite() { public void ignite()
this.dataManager.set(IGNITED, true); {
} this.dataManager.set(IGNITED, true);
}
@Override @Override
public void incrementDroppedSkulls() { public void incrementDroppedSkulls()
++this.droppedSkulls; {
} ++this.droppedSkulls;
}
@Override @Override
protected void initEntityAI() { protected void initEntityAI()
this.tasks.addTask(1, new EntityAISwimming(this)); {
this.tasks.addTask(2, new EntityAICreeperSwell(this)); this.tasks.addTask(1, new EntityAISwimming(this));
this.tasks.addTask(3, new EntityAIAvoidEntity<>(this, EntityOcelot.class, 6.0F, 1.0D, 1.2D)); this.tasks.addTask(2, new EntityAICreeperSwell(this));
this.tasks.addTask(4, new EntityAIAttackMelee(this, 1.0D, false)); this.tasks.addTask(3, new EntityAIAvoidEntity<>(this, EntityOcelot.class, 6.0F, 1.0D, 1.2D));
this.tasks.addTask(5, new EntityAIWanderAvoidWater(this, 0.8D)); this.tasks.addTask(4, new EntityAIAttackMelee(this, 1.0D, false));
this.tasks.addTask(6, new EntityAIWatchClosest(this, EntityPlayer.class, 8.0F)); this.tasks.addTask(5, new EntityAIWanderAvoidWater(this, 0.8D));
this.tasks.addTask(6, new EntityAILookIdle(this)); this.tasks.addTask(6, new EntityAIWatchClosest(this, EntityPlayer.class, 8.0F));
this.targetTasks.addTask(1, new EntityAINearestAttackableTarget<>(this, EntityPlayer.class, true)); this.tasks.addTask(6, new EntityAILookIdle(this));
this.targetTasks.addTask(2, new EntityAIHurtByTarget(this, false)); this.targetTasks.addTask(1, new EntityAINearestAttackableTarget<>(this, EntityPlayer.class, true));
} this.targetTasks.addTask(2, new EntityAIHurtByTarget(this, false));
}
@Override @Override
public void onDeath(DamageSource cause) { public void onDeath(DamageSource cause)
super.onDeath(cause); {
super.onDeath(cause);
if(this.world.getGameRules().getBoolean("doMobLoot")) { if (this.world.getGameRules().getBoolean("doMobLoot"))
if(cause.getTrueSource() instanceof EntitySkeleton) { {
int i = Item.getIdFromItem(Items.RECORD_13); if (cause.getTrueSource() instanceof EntitySkeleton)
int j = Item.getIdFromItem(Items.RECORD_WAIT); {
int k = i + this.rand.nextInt(j - i + 1); int i = Item.getIdFromItem(Items.RECORD_13);
this.dropItem(Item.getItemById(k), 1); int j = Item.getIdFromItem(Items.RECORD_WAIT);
}else if(cause.getTrueSource() instanceof EntityBakaMitaiCreeper && cause.getTrueSource() != this && ((EntityBakaMitaiCreeper)cause.getTrueSource()).getPowered() int k = i + this.rand.nextInt(j - i + 1);
&& ((EntityBakaMitaiCreeper)cause.getTrueSource()).ableToCauseSkullDrop()) { this.dropItem(Item.getItemById(k), 1);
((EntityBakaMitaiCreeper)cause.getTrueSource()).incrementDroppedSkulls(); } else if (cause.getTrueSource() instanceof EntityBakaMitaiCreeper && cause.getTrueSource() != this && ((EntityBakaMitaiCreeper) cause.getTrueSource()).getPowered()
this.entityDropItem(new ItemStack(Items.SKULL, 1, 4), 0.0F); && ((EntityBakaMitaiCreeper) cause.getTrueSource()).ableToCauseSkullDrop())
} {
} ((EntityBakaMitaiCreeper) cause.getTrueSource()).incrementDroppedSkulls();
} this.entityDropItem(new ItemStack(Items.SKULL, 1, 4), 0.0F);
}
}
}
@Override @Override
public void onStruckByLightning(EntityLightningBolt lightningBolt) { public void onStruckByLightning(EntityLightningBolt lightningBolt)
super.onStruckByLightning(lightningBolt); {
this.dataManager.set(POWERED, true); super.onStruckByLightning(lightningBolt);
} this.dataManager.set(POWERED, true);
}
@Override @Override
public void onUpdate() { public void onUpdate()
if(this.isEntityAlive()) { {
this.lastActiveTime = this.timeSinceIgnited; if (this.isEntityAlive())
{
this.lastActiveTime = this.timeSinceIgnited;
if(this.hasIgnited()) { if (this.hasIgnited())
this.setCreeperState(1); {
} this.setCreeperState(1);
}
int i = this.getCreeperState(); int i = this.getCreeperState();
if(i > 0 && this.timeSinceIgnited == 0) { if (i > 0 && this.timeSinceIgnited == 0)
this.playSound(ModSoundEvents.ENTITY_SMAVACREEPER_FUSE /*TODO sound missing?*/, 1.0F, 1.0F); {
} this.playSound(ModSoundEvents.ENTITY_BAKAMITAICREEPER_FUSE, 1.0F, 1.0F);
}
this.timeSinceIgnited += i; this.timeSinceIgnited += i;
if(this.timeSinceIgnited < 0) { if (this.timeSinceIgnited < 0)
this.timeSinceIgnited = 0; {
} this.timeSinceIgnited = 0;
}
if(this.timeSinceIgnited >= this.fuseTime) { if (this.timeSinceIgnited >= this.fuseTime)
this.timeSinceIgnited = this.fuseTime; {
this.explode(); this.timeSinceIgnited = this.fuseTime;
} this.explode();
} }
}
super.onUpdate(); super.onUpdate();
} }
@Override @Override
protected boolean processInteract(EntityPlayer player, EnumHand hand) { protected boolean processInteract(EntityPlayer player, EnumHand hand)
ItemStack itemstack = player.getHeldItem(hand); {
ItemStack itemstack = player.getHeldItem(hand);
if(itemstack.getItem() == Items.FLINT_AND_STEEL) { 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); 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) { if (!this.world.isRemote)
this.ignite(); {
itemstack.damageItem(1, player); this.ignite();
return true; itemstack.damageItem(1, player);
} return true;
} }
}
return super.processInteract(player, hand); return super.processInteract(player, hand);
} }
@Override @Override
public void readEntityFromNBT(NBTTagCompound compound) { public void readEntityFromNBT(NBTTagCompound compound)
super.readEntityFromNBT(compound); {
this.dataManager.set(POWERED, compound.getBoolean("powered")); super.readEntityFromNBT(compound);
this.dataManager.set(POWERED, compound.getBoolean("powered"));
if(compound.hasKey("Fuse", 99)) { if (compound.hasKey("Fuse", 99))
this.fuseTime = compound.getShort("Fuse"); {
} this.fuseTime = compound.getShort("Fuse");
}
if(compound.hasKey("ExplosionRadius", 99)) { if (compound.hasKey("ExplosionRadius", 99))
this.explosionRadius = compound.getByte("ExplosionRadius"); {
} this.explosionRadius = compound.getByte("ExplosionRadius");
}
if(compound.getBoolean("ignited")) { if (compound.getBoolean("ignited"))
this.ignite(); {
} this.ignite();
} }
}
private void spawnLingeringCloud() { private void spawnLingeringCloud()
Collection<PotionEffect> collection = this.getActivePotionEffects(); {
Collection<PotionEffect> collection = this.getActivePotionEffects();
if(!collection.isEmpty()) { if (!collection.isEmpty())
EntityAreaEffectCloud entityareaeffectcloud = new EntityAreaEffectCloud(this.world, this.posX, this.posY, this.posZ); {
entityareaeffectcloud.setRadius(2.5F); EntityAreaEffectCloud entityareaeffectcloud = new EntityAreaEffectCloud(this.world, this.posX, this.posY, this.posZ);
entityareaeffectcloud.setRadiusOnUse(-0.5F); entityareaeffectcloud.setRadius(2.5F);
entityareaeffectcloud.setWaitTime(10); entityareaeffectcloud.setRadiusOnUse(-0.5F);
entityareaeffectcloud.setDuration(entityareaeffectcloud.getDuration() / 2); entityareaeffectcloud.setWaitTime(10);
entityareaeffectcloud.setRadiusPerTick(-entityareaeffectcloud.getRadius() / entityareaeffectcloud.getDuration()); entityareaeffectcloud.setDuration(entityareaeffectcloud.getDuration() / 2);
entityareaeffectcloud.setRadiusPerTick(-entityareaeffectcloud.getRadius() / entityareaeffectcloud.getDuration());
for(PotionEffect potioneffect : collection) { for (PotionEffect potioneffect : collection)
entityareaeffectcloud.addEffect(new PotionEffect(potioneffect)); {
} entityareaeffectcloud.addEffect(new PotionEffect(potioneffect));
}
this.world.spawnEntity(entityareaeffectcloud); this.world.spawnEntity(entityareaeffectcloud);
} }
} }
@Override @Override
public void writeEntityToNBT(NBTTagCompound compound) { public void writeEntityToNBT(NBTTagCompound compound)
super.writeEntityToNBT(compound); {
super.writeEntityToNBT(compound);
if(this.dataManager.get(POWERED)) { if (this.dataManager.get(POWERED))
compound.setBoolean("powered", true); {
} compound.setBoolean("powered", true);
}
compound.setShort("Fuse", (short)this.fuseTime); compound.setShort("Fuse", (short) this.fuseTime);
compound.setByte("ExplosionRadius", (byte)this.explosionRadius); compound.setByte("ExplosionRadius", (byte) this.explosionRadius);
compound.setBoolean("ignited", this.hasIgnited()); compound.setBoolean("ignited", this.hasIgnited());
} }
} }

View file

@ -27,205 +27,247 @@ import net.minecraft.world.storage.loot.LootTableList;
import javax.annotation.Nullable; import javax.annotation.Nullable;
import java.util.UUID; import java.util.UUID;
public class EntityDrachenlord extends EntityZombie { public class EntityDrachenlord extends EntityZombie
private static final UUID ATTACK_SPEED_BOOST_MODIFIER_UUID = UUID {
.fromString("49455A49-7EC5-45BA-B886-3B90B23A1718"); private static final UUID ATTACK_SPEED_BOOST_MODIFIER_UUID = UUID
private static final AttributeModifier ATTACK_SPEED_BOOST_MODIFIER = (new AttributeModifier( .fromString("49455A49-7EC5-45BA-B886-3B90B23A1718");
ATTACK_SPEED_BOOST_MODIFIER_UUID, "Attacking speed boost", 0.05D, 0)).setSaved(false); private static final AttributeModifier ATTACK_SPEED_BOOST_MODIFIER = (new AttributeModifier(
private int angerLevel; ATTACK_SPEED_BOOST_MODIFIER_UUID, "Attacking speed boost", 0.05D, 0)).setSaved(false);
private int randomSoundDelay; private int angerLevel;
private UUID angerTargetUUID; private int randomSoundDelay;
private UUID angerTargetUUID;
public EntityDrachenlord(World worldIn) { public EntityDrachenlord(World worldIn)
super(worldIn); {
this.isImmuneToFire = true; super(worldIn);
} this.isImmuneToFire = true;
}
@Override @Override
public void setRevengeTarget(@Nullable EntityLivingBase livingBase) { public void setRevengeTarget(@Nullable EntityLivingBase livingBase)
super.setRevengeTarget(livingBase); {
super.setRevengeTarget(livingBase);
if(livingBase != null) { if (livingBase != null)
this.angerTargetUUID = livingBase.getUniqueID(); {
} this.angerTargetUUID = livingBase.getUniqueID();
} }
}
@Override @Override
protected void applyEntityAI() { protected void applyEntityAI()
this.targetTasks.addTask(1, new EntityDrachenlord.AIHurtByAggressor(this)); {
this.targetTasks.addTask(2, new EntityDrachenlord.AITargetAggressor(this)); this.targetTasks.addTask(1, new EntityDrachenlord.AIHurtByAggressor(this));
} this.targetTasks.addTask(2, new EntityDrachenlord.AITargetAggressor(this));
}
@Override @Override
protected void applyEntityAttributes() { protected void applyEntityAttributes()
super.applyEntityAttributes(); {
this.getEntityAttribute(SPAWN_REINFORCEMENTS_CHANCE).setBaseValue(0.0D); super.applyEntityAttributes();
this.getEntityAttribute(SharedMonsterAttributes.MOVEMENT_SPEED).setBaseValue(0.23000000417232513D); this.getEntityAttribute(SPAWN_REINFORCEMENTS_CHANCE).setBaseValue(0.0D);
this.getEntityAttribute(SharedMonsterAttributes.ATTACK_DAMAGE).setBaseValue(5.0D); this.getEntityAttribute(SharedMonsterAttributes.MOVEMENT_SPEED).setBaseValue(0.23000000417232513D);
} this.getEntityAttribute(SharedMonsterAttributes.ATTACK_DAMAGE).setBaseValue(5.0D);
}
@Override @Override
protected void updateAITasks() { protected void updateAITasks()
IAttributeInstance iattributeinstance = this.getEntityAttribute(SharedMonsterAttributes.MOVEMENT_SPEED); {
IAttributeInstance iattributeinstance = this.getEntityAttribute(SharedMonsterAttributes.MOVEMENT_SPEED);
if(this.isAngry()) { if (this.isAngry())
if(!this.isChild() && !iattributeinstance.hasModifier(ATTACK_SPEED_BOOST_MODIFIER)) { {
iattributeinstance.applyModifier(ATTACK_SPEED_BOOST_MODIFIER); if (!this.isChild() && !iattributeinstance.hasModifier(ATTACK_SPEED_BOOST_MODIFIER))
} {
iattributeinstance.applyModifier(ATTACK_SPEED_BOOST_MODIFIER);
}
--this.angerLevel; --this.angerLevel;
}else if(iattributeinstance.hasModifier(ATTACK_SPEED_BOOST_MODIFIER)) { } else if (iattributeinstance.hasModifier(ATTACK_SPEED_BOOST_MODIFIER))
iattributeinstance.removeModifier(ATTACK_SPEED_BOOST_MODIFIER); {
} iattributeinstance.removeModifier(ATTACK_SPEED_BOOST_MODIFIER);
}
if(this.randomSoundDelay > 0 && --this.randomSoundDelay == 0) { if (this.randomSoundDelay > 0 && --this.randomSoundDelay == 0)
this.playSound(ModSoundEvents.ENTITY_DRACHENLORD_ANGRY, this.getSoundVolume() * 2.0F, 1.0F); {
} this.playSound(ModSoundEvents.ENTITY_DRACHENLORD_ANGRY, this.getSoundVolume() * 2.0F, 1.0F);
}
if(this.angerLevel > 0 && this.angerTargetUUID != null && this.getRevengeTarget() == null) { if (this.angerLevel > 0 && this.angerTargetUUID != null && this.getRevengeTarget() == null)
EntityPlayer entityplayer = this.world.getPlayerEntityByUUID(this.angerTargetUUID); {
this.setRevengeTarget(entityplayer); EntityPlayer entityplayer = this.world.getPlayerEntityByUUID(this.angerTargetUUID);
this.attackingPlayer = entityplayer; this.setRevengeTarget(entityplayer);
this.recentlyHit = this.getRevengeTimer(); this.attackingPlayer = entityplayer;
} this.recentlyHit = this.getRevengeTimer();
}
super.updateAITasks(); super.updateAITasks();
} }
@Override @Override
public boolean getCanSpawnHere() { public boolean getCanSpawnHere()
return this.world.getDifficulty() != EnumDifficulty.PEACEFUL; {
} return this.world.getDifficulty() != EnumDifficulty.PEACEFUL;
}
@Override @Override
public boolean isNotColliding() { public boolean isNotColliding()
return this.world.checkNoEntityCollision(this.getEntityBoundingBox(), this) {
&& this.world.getCollisionBoxes(this, this.getEntityBoundingBox()).isEmpty() return this.world.checkNoEntityCollision(this.getEntityBoundingBox(), this)
&& !this.world.containsAnyLiquid(this.getEntityBoundingBox()); && this.world.getCollisionBoxes(this, this.getEntityBoundingBox()).isEmpty()
} && !this.world.containsAnyLiquid(this.getEntityBoundingBox());
}
@Override @Override
public void writeEntityToNBT(NBTTagCompound compound) { public void writeEntityToNBT(NBTTagCompound compound)
super.writeEntityToNBT(compound); {
compound.setShort("Anger", (short)this.angerLevel); super.writeEntityToNBT(compound);
compound.setShort("Anger", (short) this.angerLevel);
if(this.angerTargetUUID != null) { if (this.angerTargetUUID != null)
compound.setString("HurtBy", this.angerTargetUUID.toString()); {
}else { compound.setString("HurtBy", this.angerTargetUUID.toString());
compound.setString("HurtBy", ""); } else
} {
} compound.setString("HurtBy", "");
}
}
@Override @Override
public void readEntityFromNBT(NBTTagCompound compound) { public void readEntityFromNBT(NBTTagCompound compound)
super.readEntityFromNBT(compound); {
this.angerLevel = compound.getShort("Anger"); super.readEntityFromNBT(compound);
String s = compound.getString("HurtBy"); this.angerLevel = compound.getShort("Anger");
String s = compound.getString("HurtBy");
if(!s.isEmpty()) { if (!s.isEmpty())
this.angerTargetUUID = UUID.fromString(s); {
EntityPlayer entityplayer = this.world.getPlayerEntityByUUID(this.angerTargetUUID); this.angerTargetUUID = UUID.fromString(s);
this.setRevengeTarget(entityplayer); EntityPlayer entityplayer = this.world.getPlayerEntityByUUID(this.angerTargetUUID);
this.setRevengeTarget(entityplayer);
if(entityplayer != null) { if (entityplayer != null)
this.attackingPlayer = entityplayer; {
this.recentlyHit = this.getRevengeTimer(); this.attackingPlayer = entityplayer;
} this.recentlyHit = this.getRevengeTimer();
} }
} }
}
@Override @Override
public boolean attackEntityFrom(DamageSource source, float amount) { public boolean attackEntityFrom(DamageSource source, float amount)
if(this.isEntityInvulnerable(source)) { {
return false; if (this.isEntityInvulnerable(source))
}else { {
Entity entity = source.getTrueSource(); return false;
} else
{
Entity entity = source.getTrueSource();
if(entity instanceof EntityPlayer) { if (entity instanceof EntityPlayer)
this.becomeAngryAt(entity); {
} this.becomeAngryAt(entity);
}
return super.attackEntityFrom(source, amount); return super.attackEntityFrom(source, amount);
} }
} }
private void becomeAngryAt(Entity p_70835_1_) { private void becomeAngryAt(Entity p_70835_1_)
this.angerLevel = 400 + this.rand.nextInt(400); {
this.randomSoundDelay = this.rand.nextInt(40); this.angerLevel = 400 + this.rand.nextInt(400);
this.randomSoundDelay = this.rand.nextInt(40);
if(p_70835_1_ instanceof EntityLivingBase) { if (p_70835_1_ instanceof EntityLivingBase)
this.setRevengeTarget((EntityLivingBase)p_70835_1_); {
} this.setRevengeTarget((EntityLivingBase) p_70835_1_);
} }
}
public boolean isAngry() { public boolean isAngry()
return this.angerLevel > 0; {
} return this.angerLevel > 0;
}
@Override @Override
protected SoundEvent getAmbientSound() { protected SoundEvent getAmbientSound()
return ModSoundEvents.ENTITY_DRACHENLORD_AMBIENT; {
} return ModSoundEvents.ENTITY_DRACHENLORD_AMBIENT;
}
@Override @Override
protected SoundEvent getHurtSound(DamageSource damageSourceIn) { protected SoundEvent getHurtSound(DamageSource damageSourceIn)
return ModSoundEvents.ENTITY_DRACHENLORD_HURT; {
} return ModSoundEvents.ENTITY_DRACHENLORD_HURT;
}
@Override @Override
protected SoundEvent getDeathSound() { protected SoundEvent getDeathSound()
return ModSoundEvents.ENTITY_DRACHENLORD_DEATH; {
} return ModSoundEvents.ENTITY_DRACHENLORD_DEATH;
}
@Override @Override
@Nullable @Nullable
protected ResourceLocation getLootTable() { protected ResourceLocation getLootTable()
return LootTableList.ENTITIES_ZOMBIE_PIGMAN; {
} return LootTableList.ENTITIES_ZOMBIE_PIGMAN;
}
@Override @Override
public boolean processInteract(EntityPlayer player, EnumHand hand) { public boolean processInteract(EntityPlayer player, EnumHand hand)
return false; {
} return false;
}
@Override @Override
protected void setEquipmentBasedOnDifficulty(DifficultyInstance difficulty) { protected void setEquipmentBasedOnDifficulty(DifficultyInstance difficulty)
this.setItemStackToSlot(EntityEquipmentSlot.MAINHAND, new ItemStack(Items.GOLDEN_AXE)); {
} this.setItemStackToSlot(EntityEquipmentSlot.MAINHAND, new ItemStack(Items.GOLDEN_AXE));
}
@Override @Override
protected ItemStack getSkullDrop() { protected ItemStack getSkullDrop()
return ItemStack.EMPTY; {
} return ItemStack.EMPTY;
}
@Override @Override
public boolean isPreventingPlayerRest(EntityPlayer playerIn) { public boolean isPreventingPlayerRest(EntityPlayer playerIn)
return this.isAngry(); {
} return this.isAngry();
}
static class AIHurtByAggressor extends EntityAIHurtByTarget { static class AIHurtByAggressor extends EntityAIHurtByTarget
public AIHurtByAggressor(EntityDrachenlord p_i45828_1_) { {
super(p_i45828_1_, true); public AIHurtByAggressor(EntityDrachenlord p_i45828_1_)
} {
super(p_i45828_1_, true);
}
@Override @Override
protected void setEntityAttackTarget(EntityCreature creatureIn, EntityLivingBase entityLivingBaseIn) { protected void setEntityAttackTarget(EntityCreature creatureIn, EntityLivingBase entityLivingBaseIn)
super.setEntityAttackTarget(creatureIn, entityLivingBaseIn); {
super.setEntityAttackTarget(creatureIn, entityLivingBaseIn);
if(creatureIn instanceof EntityDrachenlord) { if (creatureIn instanceof EntityDrachenlord)
((EntityDrachenlord)creatureIn).becomeAngryAt(entityLivingBaseIn); {
} ((EntityDrachenlord) creatureIn).becomeAngryAt(entityLivingBaseIn);
} }
} }
}
static class AITargetAggressor extends EntityAINearestAttackableTarget<EntityPlayer> { static class AITargetAggressor extends EntityAINearestAttackableTarget<EntityPlayer>
public AITargetAggressor(EntityDrachenlord p_i45829_1_) { {
super(p_i45829_1_, EntityPlayer.class, true); public AITargetAggressor(EntityDrachenlord p_i45829_1_)
} {
super(p_i45829_1_, EntityPlayer.class, true);
}
@Override @Override
public boolean shouldExecute() { public boolean shouldExecute()
return ((EntityDrachenlord)this.taskOwner).isAngry() && super.shouldExecute(); {
} return ((EntityDrachenlord) this.taskOwner).isAngry() && super.shouldExecute();
} }
}
} }

View file

@ -18,55 +18,64 @@ import net.minecraft.world.World;
import java.util.Set; import java.util.Set;
public class EntityHolzstammhuhn extends EntityChicken { public class EntityHolzstammhuhn extends EntityChicken
private static final Set<Item> TEMPTATION_ITEMS = Sets.newHashSet(Items.STICK); {
private static final Set<Item> TEMPTATION_ITEMS = Sets.newHashSet(Items.STICK);
public EntityHolzstammhuhn(World worldIn) { public EntityHolzstammhuhn(World worldIn)
super(worldIn); {
this.setSize(0.4F, 0.7F); super(worldIn);
this.timeUntilNextEgg = this.rand.nextInt(6000) + 6000; this.setSize(0.4F, 0.7F);
this.setPathPriority(PathNodeType.WATER, 0.0F); this.timeUntilNextEgg = this.rand.nextInt(6000) + 6000;
} this.setPathPriority(PathNodeType.WATER, 0.0F);
}
@Override @Override
protected void initEntityAI() { protected void initEntityAI()
this.tasks.addTask(0, new EntityAISwimming(this)); {
this.tasks.addTask(1, new EntityAIPanic(this, 1.4D)); this.tasks.addTask(0, new EntityAISwimming(this));
this.tasks.addTask(2, new EntityAIMate(this, 1.0D)); this.tasks.addTask(1, new EntityAIPanic(this, 1.4D));
this.tasks.addTask(3, new EntityAITempt(this, 1.0D, false, TEMPTATION_ITEMS)); this.tasks.addTask(2, new EntityAIMate(this, 1.0D));
this.tasks.addTask(4, new EntityAIFollowParent(this, 1.1D)); this.tasks.addTask(3, new EntityAITempt(this, 1.0D, false, TEMPTATION_ITEMS));
this.tasks.addTask(5, new EntityAIWanderAvoidWater(this, 1.0D)); this.tasks.addTask(4, new EntityAIFollowParent(this, 1.1D));
this.tasks.addTask(6, new EntityAIWatchClosest(this, EntityPlayer.class, 6.0F)); this.tasks.addTask(5, new EntityAIWanderAvoidWater(this, 1.0D));
this.tasks.addTask(7, new EntityAILookIdle(this)); this.tasks.addTask(6, new EntityAIWatchClosest(this, EntityPlayer.class, 6.0F));
} this.tasks.addTask(7, new EntityAILookIdle(this));
}
@Override @Override
public boolean isBreedingItem(ItemStack stack) { public boolean isBreedingItem(ItemStack stack)
return TEMPTATION_ITEMS.contains(stack.getItem()); {
} return TEMPTATION_ITEMS.contains(stack.getItem());
}
@Override @Override
protected SoundEvent getAmbientSound() { protected SoundEvent getAmbientSound()
return SoundEvents.BLOCK_WOOD_PLACE; {
} return SoundEvents.BLOCK_WOOD_PLACE;
}
@Override @Override
protected SoundEvent getHurtSound(DamageSource damageSourceIn) { protected SoundEvent getHurtSound(DamageSource damageSourceIn)
return SoundEvents.BLOCK_WOOD_HIT; {
} return SoundEvents.BLOCK_WOOD_HIT;
}
@Override @Override
protected SoundEvent getDeathSound() { protected SoundEvent getDeathSound()
return SoundEvents.BLOCK_WOOD_BREAK; {
} return SoundEvents.BLOCK_WOOD_BREAK;
}
@Override @Override
protected void playStepSound(BlockPos pos, Block blockIn) { protected void playStepSound(BlockPos pos, Block blockIn)
this.playSound(SoundEvents.BLOCK_WOOD_STEP, 0.15F, 1.0F); {
} this.playSound(SoundEvents.BLOCK_WOOD_STEP, 0.15F, 1.0F);
}
@Override @Override
public EntityHolzstammhuhn createChild(EntityAgeable ageable) { public EntityHolzstammhuhn createChild(EntityAgeable ageable)
return new EntityHolzstammhuhn(this.world); {
} return new EntityHolzstammhuhn(this.world);
}
} }

View file

@ -6,66 +6,78 @@ import net.minecraft.util.DamageSource;
import net.minecraft.util.SoundEvent; import net.minecraft.util.SoundEvent;
import net.minecraft.world.World; import net.minecraft.world.World;
public class EntityIslamist extends EntityCreeper { public class EntityIslamist extends EntityCreeper
private int lastActiveTime; {
private int timeSinceIgnited; private int lastActiveTime;
private int fuseTime = 30; private int timeSinceIgnited;
private int explosionRadius = 6; private final int fuseTime = 30;
private final int explosionRadius = 6;
public EntityIslamist(World worldIn) { public EntityIslamist(World worldIn)
super(worldIn); {
this.setSize(0.6F, 1.7F); super(worldIn);
} this.setSize(0.6F, 1.7F);
}
@Override @Override
public void onUpdate() { public void onUpdate()
if(this.isEntityAlive()) { {
this.lastActiveTime = this.timeSinceIgnited; if (this.isEntityAlive())
{
this.lastActiveTime = this.timeSinceIgnited;
if(this.hasIgnited()) { if (this.hasIgnited())
this.setCreeperState(1); {
} this.setCreeperState(1);
}
int i = this.getCreeperState(); int i = this.getCreeperState();
if(i > 0 && this.timeSinceIgnited == 0) { if (i > 0 && this.timeSinceIgnited == 0)
this.playSound(ModSoundEvents.ENTITY_ISLAMIST_FUSE, 1.0F, 0.5F); {
} this.playSound(ModSoundEvents.ENTITY_ISLAMIST_FUSE, 1.0F, 0.5F);
}
this.timeSinceIgnited += i; this.timeSinceIgnited += i;
if(this.timeSinceIgnited < 0) { if (this.timeSinceIgnited < 0)
this.timeSinceIgnited = 0; {
} this.timeSinceIgnited = 0;
}
if(this.timeSinceIgnited >= this.fuseTime) { if (this.timeSinceIgnited >= this.fuseTime)
this.timeSinceIgnited = this.fuseTime; {
this.explode(); this.timeSinceIgnited = this.fuseTime;
} this.explode();
} }
}
super.onUpdate(); super.onUpdate();
} }
private void explode() { private void explode()
if(!this.world.isRemote) { {
boolean flag = net.minecraftforge.event.ForgeEventFactory.getMobGriefingEvent(this.world, this); if (!this.world.isRemote)
float f = this.getPowered() ? 2.0F : 1.0F; {
this.dead = true; boolean flag = net.minecraftforge.event.ForgeEventFactory.getMobGriefingEvent(this.world, this);
this.world.playSound(null, getPosition(), ModSoundEvents.ENTITY_ISLAMIST_BLOW, getSoundCategory(), 1.0F, float f = this.getPowered() ? 2.0F : 1.0F;
1.0F); this.dead = true;
this.world.createExplosion(this, this.posX, this.posY, this.posZ, this.explosionRadius * f, flag); this.world.playSound(null, getPosition(), ModSoundEvents.ENTITY_ISLAMIST_BLOW, getSoundCategory(), 1.0F,
this.setDead(); 1.0F);
} this.world.createExplosion(this, this.posX, this.posY, this.posZ, this.explosionRadius * f, flag);
} this.setDead();
}
}
@Override @Override
protected SoundEvent getHurtSound(DamageSource damageSourceIn) { protected SoundEvent getHurtSound(DamageSource damageSourceIn)
return ModSoundEvents.ENTITY_ISLAMIST_HURT; {
} return ModSoundEvents.ENTITY_ISLAMIST_HURT;
}
@Override @Override
protected SoundEvent getAmbientSound() { protected SoundEvent getAmbientSound()
return ModSoundEvents.ENTITY_ISLAMIST_AMBIENT; {
} return ModSoundEvents.ENTITY_ISLAMIST_AMBIENT;
}
} }

View file

@ -28,193 +28,225 @@ import net.minecraftforge.fml.relauncher.SideOnly;
import java.util.Set; import java.util.Set;
public class EntityJens extends EntityPig { public class EntityJens extends EntityPig
private static final DataParameter<Boolean> SADDLED = EntityDataManager.createKey(EntityJens.class, DataSerializers.BOOLEAN); {
private static final DataParameter<Boolean> DIGESTING = EntityDataManager.createKey(EntityJens.class, DataSerializers.BOOLEAN); private static final DataParameter<Boolean> SADDLED = EntityDataManager.createKey(EntityJens.class, DataSerializers.BOOLEAN);
private static final DataParameter<Boolean> DIGESTING = EntityDataManager.createKey(EntityJens.class, DataSerializers.BOOLEAN);
private static final DataParameter<Integer> BOOST_TIME = EntityDataManager.createKey(EntityJens.class, DataSerializers.VARINT); private static final DataParameter<Integer> BOOST_TIME = EntityDataManager.createKey(EntityJens.class, DataSerializers.VARINT);
private static final DataParameter<Integer> DIGEST_TIME = EntityDataManager.createKey(EntityJens.class, DataSerializers.VARINT); private static final DataParameter<Integer> DIGEST_TIME = EntityDataManager.createKey(EntityJens.class, DataSerializers.VARINT);
private static final Set<Item> TEMPTATION_ITEMS = Sets.newHashSet(ModItems.RAM); private static final Set<Item> TEMPTATION_ITEMS = Sets.newHashSet(ModItems.RAM);
private static final Set<Item> FISH_ITEMS = Sets.newHashSet(Items.FISH); private static final Set<Item> FISH_ITEMS = Sets.newHashSet(Items.FISH);
public boolean digesting; public boolean digesting;
public int digestTime; public int digestTime;
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)
Minecraft MINECRAFT = Minecraft.getMinecraft(); Minecraft MINECRAFT = Minecraft.getMinecraft();
public EntityJens(World worldIn) { public EntityJens(World worldIn)
super(worldIn); {
setSize(0.6F, 2.2F); super(worldIn);
} setSize(0.6F, 2.2F);
}
@Override @Override
protected void applyEntityAttributes() { protected void applyEntityAttributes()
super.applyEntityAttributes(); {
this.getEntityAttribute(SharedMonsterAttributes.MAX_HEALTH).setBaseValue(20.0D); super.applyEntityAttributes();
this.getEntityAttribute(SharedMonsterAttributes.MOVEMENT_SPEED).setBaseValue(0.25D); this.getEntityAttribute(SharedMonsterAttributes.MAX_HEALTH).setBaseValue(20.0D);
} this.getEntityAttribute(SharedMonsterAttributes.MOVEMENT_SPEED).setBaseValue(0.25D);
}
@Override @Override
public boolean canBeSteered() { public boolean canBeSteered()
Entity entity = this.getControllingPassenger(); {
Entity entity = this.getControllingPassenger();
if(!(entity instanceof EntityPlayer)) { if (!(entity instanceof EntityPlayer))
return false; {
}else { return false;
EntityPlayer entityplayer = (EntityPlayer)entity; } else
return entityplayer.getHeldItemMainhand().getItem() == ModItems.RAM_ON_A_STICK || entityplayer.getHeldItemOffhand().getItem() == ModItems.RAM_ON_A_STICK; {
} EntityPlayer entityplayer = (EntityPlayer) entity;
} return entityplayer.getHeldItemMainhand().getItem() == ModItems.RAM_ON_A_STICK || entityplayer.getHeldItemOffhand().getItem() == ModItems.RAM_ON_A_STICK;
}
}
@Override @Override
public EntityJens createChild(EntityAgeable ageable) { public EntityJens createChild(EntityAgeable ageable)
return new EntityJens(this.world); {
} return new EntityJens(this.world);
}
public void digestFish() { public void digestFish()
this.playSound(ModSoundEvents.ENTITY_JENS_EAT, 1.0F, 1.0F); {
this.playSound(ModSoundEvents.ENTITY_JENS_EAT, 1.0F, 1.0F);
this.digesting = true; this.digesting = true;
this.dataManager.set(DIGESTING, true); this.dataManager.set(DIGESTING, true);
this.digestTime = (ModConfigs.Jens_digest_time * 20); this.digestTime = (ModConfigs.Jens_digest_time * 20);
this.dataManager.set(DIGEST_TIME, this.digestTime); this.dataManager.set(DIGEST_TIME, this.digestTime);
for(int i = 0; i < 7; ++i) { for (int i = 0; i < 7; ++i)
double d0 = this.rand.nextGaussian() * 0.02D; {
double d1 = this.rand.nextGaussian() * 0.02D; double d0 = this.rand.nextGaussian() * 0.02D;
double d2 = this.rand.nextGaussian() * 0.02D; double d1 = 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, double d2 = this.rand.nextGaussian() * 0.02D;
this.posZ + this.rand.nextFloat() * this.width * 2.0F - this.width, d0, d1, d2); 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 @Override
protected void entityInit() { protected void entityInit()
super.entityInit(); {
this.dataManager.register(SADDLED, false); super.entityInit();
this.dataManager.register(DIGESTING, false); this.dataManager.register(SADDLED, false);
this.dataManager.register(BOOST_TIME, 0); this.dataManager.register(DIGESTING, false);
this.dataManager.register(DIGEST_TIME, 0); this.dataManager.register(BOOST_TIME, 0);
} this.dataManager.register(DIGEST_TIME, 0);
}
@Override @Override
protected SoundEvent getAmbientSound() { protected SoundEvent getAmbientSound()
return ModSoundEvents.ENTITY_JENS_AMBIENT; {
} return ModSoundEvents.ENTITY_JENS_AMBIENT;
}
@Override @Override
protected SoundEvent getDeathSound() { protected SoundEvent getDeathSound()
return ModSoundEvents.ENTITY_JENS_DEATH; {
} return ModSoundEvents.ENTITY_JENS_DEATH;
}
@Override @Override
protected SoundEvent getHurtSound(DamageSource damageSourceIn) { protected SoundEvent getHurtSound(DamageSource damageSourceIn)
return ModSoundEvents.ENTITY_JENS_HURT; {
} return ModSoundEvents.ENTITY_JENS_HURT;
}
@Override @Override
protected ResourceLocation getLootTable() { protected ResourceLocation getLootTable()
return ModLootTableList.ENTITIES_JENS; {
} return ModLootTableList.ENTITIES_JENS;
}
@Override @Override
protected void initEntityAI() { protected void initEntityAI()
this.tasks.addTask(0, new EntityAISwimming(this)); {
this.tasks.addTask(1, new EntityAIPanic(this, 1.25D)); this.tasks.addTask(0, new EntityAISwimming(this));
this.tasks.addTask(2, new EntityAIDance(this, ModConfigs.Jens_search_distance)); this.tasks.addTask(1, new EntityAIPanic(this, 1.25D));
this.tasks.addTask(2, new EntityAIEatDroppedFish(this)); this.tasks.addTask(2, new EntityAIDance(this, ModConfigs.Jens_search_distance));
this.tasks.addTask(3, new EntityAIMate(this, 1.0D)); this.tasks.addTask(2, new EntityAIEatDroppedFish(this));
this.tasks.addTask(4, new EntityAITempt(this, 1.2D, false, TEMPTATION_ITEMS)); this.tasks.addTask(3, new EntityAIMate(this, 1.0D));
this.tasks.addTask(4, new EntityAITempt(this, 1.2D, ModItems.RAM_ON_A_STICK, false)); this.tasks.addTask(4, new EntityAITempt(this, 1.2D, false, TEMPTATION_ITEMS));
this.tasks.addTask(5, new EntityAIFollowParent(this, 1.1D)); this.tasks.addTask(4, new EntityAITempt(this, 1.2D, ModItems.RAM_ON_A_STICK, false));
this.tasks.addTask(6, new EntityAIWanderAvoidWater(this, 1.0D)); this.tasks.addTask(5, new EntityAIFollowParent(this, 1.1D));
this.tasks.addTask(7, new EntityAIWatchClosest(this, EntityPlayer.class, 6.0F)); this.tasks.addTask(6, new EntityAIWanderAvoidWater(this, 1.0D));
this.tasks.addTask(8, new EntityAILookIdle(this)); this.tasks.addTask(7, new EntityAIWatchClosest(this, EntityPlayer.class, 6.0F));
} this.tasks.addTask(8, new EntityAILookIdle(this));
}
@Override @Override
public boolean isBreedingItem(ItemStack stack) { public boolean isBreedingItem(ItemStack stack)
return TEMPTATION_ITEMS.contains(stack.getItem()); {
} return TEMPTATION_ITEMS.contains(stack.getItem());
}
public boolean isFishItem(ItemStack stack) { public boolean isFishItem(ItemStack stack)
return FISH_ITEMS.contains(stack.getItem()); {
} return FISH_ITEMS.contains(stack.getItem());
}
@Override @Override
public void onLivingUpdate() { public void onLivingUpdate()
super.onLivingUpdate(); {
super.onLivingUpdate();
if(!this.world.isRemote && this.digesting && this.digestTime > 0) { if (!this.world.isRemote && this.digesting && this.digestTime > 0)
this.digestTime--; {
this.dataManager.set(DIGEST_TIME, this.digestTime); this.digestTime--;
} this.dataManager.set(DIGEST_TIME, this.digestTime);
}
if(!this.world.isRemote && this.digesting && this.digestTime <= 0) { if (!this.world.isRemote && this.digesting && this.digestTime <= 0)
for(int i = 0; i < 7; ++i) { {
double d0 = this.rand.nextGaussian() * 0.02D; for (int i = 0; i < 7; ++i)
double d1 = this.rand.nextGaussian() * 0.02D; {
double d2 = this.rand.nextGaussian() * 0.02D; double d0 = 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, double d1 = this.rand.nextGaussian() * 0.02D;
this.posZ + this.rand.nextFloat() * this.width * 2.0F - this.width, d0, d1, d2); 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.playSound(ModSoundEvents.ENTITY_JENS_POOP, 1.0F, (this.rand.nextFloat() - this.rand.nextFloat()) * 0.2F + 1.0F); this.posZ + this.rand.nextFloat() * this.width * 2.0F - this.width, d0, d1, d2);
this.dropItem(ModItems.SURSTROEMMING, 1); }
this.clearActivePotions(); 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.digesting = false;
this.dataManager.set(DIGESTING, false); this.dataManager.set(DIGESTING, false);
this.digestTime = 0; this.digestTime = 0;
this.dataManager.set(DIGEST_TIME, 0); this.dataManager.set(DIGEST_TIME, 0);
} }
} }
@Override @Override
public boolean processInteract(EntityPlayer player, EnumHand hand) { public boolean processInteract(EntityPlayer player, EnumHand hand)
if(!super.processInteract(player, hand)) { {
ItemStack itemstack = player.getHeldItem(hand); if (!super.processInteract(player, hand))
if(itemstack.getItem() == Items.FISH && !this.isChild() && !this.digesting) { {
itemstack.shrink(1); ItemStack itemstack = player.getHeldItem(hand);
digestFish(); if (itemstack.getItem() == Items.FISH && !this.isChild() && !this.digesting)
return true; {
}else if(itemstack.getItem() == Items.NAME_TAG) { itemstack.shrink(1);
itemstack.interactWithEntity(player, this, hand); digestFish();
return true; return true;
}else if(this.getSaddled() && !this.isBeingRidden()) { } else if (itemstack.getItem() == Items.NAME_TAG)
if(!this.world.isRemote) { {
player.startRiding(this); itemstack.interactWithEntity(player, this, hand);
} return true;
return true; } else if (this.getSaddled() && !this.isBeingRidden())
}else if(itemstack.getItem() == Items.SADDLE) { {
itemstack.interactWithEntity(player, this, hand); if (!this.world.isRemote)
this.setCustomNameTag("Reitbarer Jens"); {
this.setAlwaysRenderNameTag(true); player.startRiding(this);
return true; }
}else { return true;
return false; } else if (itemstack.getItem() == Items.SADDLE)
} {
}else { itemstack.interactWithEntity(player, this, hand);
return true; this.setCustomNameTag("Reitbarer Jens");
} this.setAlwaysRenderNameTag(true);
} return true;
} else
{
return false;
}
} else
{
return true;
}
}
@Override @Override
public void readEntityFromNBT(NBTTagCompound compound) { public void readEntityFromNBT(NBTTagCompound compound)
super.readEntityFromNBT(compound); {
this.setSaddled(compound.getBoolean("Saddle")); super.readEntityFromNBT(compound);
this.digesting = compound.getBoolean("Digesting"); this.setSaddled(compound.getBoolean("Saddle"));
this.digestTime = compound.getInteger("DigestTime"); this.digesting = compound.getBoolean("Digesting");
} this.digestTime = compound.getInteger("DigestTime");
}
@Override @Override
public void writeEntityToNBT(NBTTagCompound compound) { public void writeEntityToNBT(NBTTagCompound compound)
super.writeEntityToNBT(compound); {
compound.setBoolean("Saddle", this.getSaddled()); super.writeEntityToNBT(compound);
compound.setBoolean("Digesting", this.digesting); compound.setBoolean("Saddle", this.getSaddled());
compound.setInteger("DigestTime", this.digestTime); compound.setBoolean("Digesting", this.digesting);
} compound.setInteger("DigestTime", this.digestTime);
}
} }

View file

@ -6,24 +6,29 @@ import net.minecraft.util.DamageSource;
import net.minecraft.util.SoundEvent; import net.minecraft.util.SoundEvent;
import net.minecraft.world.World; import net.minecraft.world.World;
public class EntityMarcellDAvis extends EntityZombie { public class EntityMarcellDAvis extends EntityZombie
public EntityMarcellDAvis(World worldIn) { {
super(worldIn); public EntityMarcellDAvis(World worldIn)
this.setSize(0.6F, 1.95F); {
} super(worldIn);
this.setSize(0.6F, 1.95F);
}
@Override @Override
protected SoundEvent getAmbientSound() { protected SoundEvent getAmbientSound()
return ModSoundEvents.ENTITY_MARCELLDAVIS_AMBIENT; {
} return ModSoundEvents.ENTITY_MARCELLDAVIS_AMBIENT;
}
@Override @Override
protected SoundEvent getHurtSound(DamageSource damageSourceIn) { protected SoundEvent getHurtSound(DamageSource damageSourceIn)
return ModSoundEvents.ENTITY_MARCELLDAVIS_HURT; {
} return ModSoundEvents.ENTITY_MARCELLDAVIS_HURT;
}
@Override @Override
protected SoundEvent getDeathSound() { protected SoundEvent getDeathSound()
return ModSoundEvents.ENTITY_MARCELLDAVIS_DEATH; {
} return ModSoundEvents.ENTITY_MARCELLDAVIS_DEATH;
}
} }

View file

@ -6,24 +6,29 @@ import net.minecraft.util.DamageSource;
import net.minecraft.util.SoundEvent; import net.minecraft.util.SoundEvent;
import net.minecraft.world.World; import net.minecraft.world.World;
public class EntityMrBean extends EntityZombie { public class EntityMrBean extends EntityZombie
public EntityMrBean(World worldIn) { {
super(worldIn); public EntityMrBean(World worldIn)
this.setSize(0.6F, 1.95F); {
} super(worldIn);
this.setSize(0.6F, 1.95F);
}
@Override @Override
protected SoundEvent getAmbientSound() { protected SoundEvent getAmbientSound()
return ModSoundEvents.ENTITY_MRBEAN_AMBIENT; {
} return ModSoundEvents.ENTITY_MRBEAN_AMBIENT;
}
@Override @Override
protected SoundEvent getHurtSound(DamageSource damageSourceIn) { protected SoundEvent getHurtSound(DamageSource damageSourceIn)
return ModSoundEvents.ENTITY_MRBEAN_HURT; {
} return ModSoundEvents.ENTITY_MRBEAN_HURT;
}
@Override @Override
protected SoundEvent getDeathSound() { protected SoundEvent getDeathSound()
return ModSoundEvents.ENTITY_MRBEAN_DEATH; {
} return ModSoundEvents.ENTITY_MRBEAN_DEATH;
}
} }

View file

@ -7,67 +7,79 @@ import net.minecraft.util.DamageSource;
import net.minecraft.util.SoundEvent; import net.minecraft.util.SoundEvent;
import net.minecraft.world.World; import net.minecraft.world.World;
public class EntitySmavaCreeper extends EntityCreeper { public class EntitySmavaCreeper extends EntityCreeper
private int lastActiveTime; {
private int timeSinceIgnited; private int lastActiveTime;
private int fuseTime = 20; private int timeSinceIgnited;
private int explosionRadius = 6; private final int fuseTime = 20;
private final int explosionRadius = 6;
public EntitySmavaCreeper(World worldIn) { public EntitySmavaCreeper(World worldIn)
super(worldIn); {
setSize(0.6F, 1.7F); super(worldIn);
getEntityAttribute(SharedMonsterAttributes.MOVEMENT_SPEED).setBaseValue(0.5D); setSize(0.6F, 1.7F);
} getEntityAttribute(SharedMonsterAttributes.MOVEMENT_SPEED).setBaseValue(0.5D);
}
@Override @Override
public void onUpdate() { public void onUpdate()
if(this.isEntityAlive()) { {
this.lastActiveTime = this.timeSinceIgnited; if (this.isEntityAlive())
{
this.lastActiveTime = this.timeSinceIgnited;
if(this.hasIgnited()) { if (this.hasIgnited())
this.setCreeperState(1); {
} this.setCreeperState(1);
}
int i = this.getCreeperState(); int i = this.getCreeperState();
if(i > 0 && this.timeSinceIgnited == 0) { if (i > 0 && this.timeSinceIgnited == 0)
this.playSound(ModSoundEvents.ENTITY_SMAVACREEPER_FUSE, 1.0F, 1.0F); {
} this.playSound(ModSoundEvents.ENTITY_SMAVACREEPER_FUSE, 1.0F, 1.0F);
}
this.timeSinceIgnited += i; this.timeSinceIgnited += i;
if(this.timeSinceIgnited < 0) { if (this.timeSinceIgnited < 0)
this.timeSinceIgnited = 0; {
} this.timeSinceIgnited = 0;
}
if(this.timeSinceIgnited >= this.fuseTime) { if (this.timeSinceIgnited >= this.fuseTime)
this.timeSinceIgnited = this.fuseTime; {
this.explode(); this.timeSinceIgnited = this.fuseTime;
} this.explode();
} }
}
super.onUpdate(); super.onUpdate();
} }
private void explode() { private void explode()
if(!this.world.isRemote) { {
boolean flag = net.minecraftforge.event.ForgeEventFactory.getMobGriefingEvent(this.world, this); if (!this.world.isRemote)
float f = this.getPowered() ? 2.0F : 1.0F; {
this.dead = true; boolean flag = net.minecraftforge.event.ForgeEventFactory.getMobGriefingEvent(this.world, this);
this.world.playSound(null, getPosition(), ModSoundEvents.ENTITY_SMAVACREEPER_BLOW, getSoundCategory(), 5.0F, float f = this.getPowered() ? 2.0F : 1.0F;
1.0F); this.dead = true;
this.world.createExplosion(this, this.posX, this.posY, this.posZ, this.explosionRadius * f, flag); this.world.playSound(null, getPosition(), ModSoundEvents.ENTITY_SMAVACREEPER_BLOW, getSoundCategory(), 5.0F,
this.setDead(); 1.0F);
} this.world.createExplosion(this, this.posX, this.posY, this.posZ, this.explosionRadius * f, flag);
} this.setDead();
}
}
@Override @Override
protected SoundEvent getHurtSound(DamageSource damageSourceIn) { protected SoundEvent getHurtSound(DamageSource damageSourceIn)
return ModSoundEvents.ENTITY_SMAVACREEPER_HURT; {
} return ModSoundEvents.ENTITY_SMAVACREEPER_HURT;
}
@Override @Override
protected SoundEvent getAmbientSound() { protected SoundEvent getAmbientSound()
return ModSoundEvents.ENTITY_SMAVACREEPER_AMBIENT; {
} return ModSoundEvents.ENTITY_SMAVACREEPER_AMBIENT;
}
} }

View file

@ -1,83 +1,96 @@
package mod.acgaming.spackenmobs.entities; package mod.acgaming.spackenmobs.entities;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityAgeable; import net.minecraft.entity.EntityAgeable;
import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.ai.EntityAIAvoidEntity;
import net.minecraft.entity.monster.EntityCreeper; import net.minecraft.entity.monster.EntityCreeper;
import net.minecraft.entity.monster.EntityGhast; import net.minecraft.entity.monster.EntityGhast;
import net.minecraft.entity.passive.AbstractHorse; import net.minecraft.entity.passive.AbstractHorse;
import net.minecraft.entity.passive.EntityAnimal; import net.minecraft.entity.passive.EntityAnimal;
import net.minecraft.entity.passive.EntityLlama;
import net.minecraft.entity.passive.EntityWolf; import net.minecraft.entity.passive.EntityWolf;
import net.minecraft.entity.player.EntityPlayer; 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 net.minecraft.world.World;
import java.util.UUID; import java.util.UUID;
public class EntityWolfMZTE extends EntityWolf { public class EntityWolfMZTE extends EntityWolf
public EntityWolfMZTE(World worldIn) { {
super(worldIn); public EntityWolfMZTE(World worldIn)
this.setSize(0.6F, 0.85F); {
this.setTamed(false); super(worldIn);
} this.setSize(0.6F, 0.85F);
this.setTamed(false);
}
@Override @Override
public EntityWolfMZTE createChild(EntityAgeable ageable) { public EntityWolfMZTE createChild(EntityAgeable ageable)
EntityWolfMZTE entitywolfmzte = new EntityWolfMZTE(this.world); {
UUID uuid = this.getOwnerId(); EntityWolfMZTE entitywolfmzte = new EntityWolfMZTE(this.world);
UUID uuid = this.getOwnerId();
if(uuid != null) { if (uuid != null)
entitywolfmzte.setOwnerId(uuid); {
entitywolfmzte.setTamed(true); entitywolfmzte.setOwnerId(uuid);
} entitywolfmzte.setTamed(true);
}
return entitywolfmzte; return entitywolfmzte;
} }
@Override @Override
public boolean canMateWith(EntityAnimal otherAnimal) { public boolean canMateWith(EntityAnimal otherAnimal)
if(otherAnimal == this) { {
return false; if (otherAnimal == this)
}else if(!this.isTamed()) { {
return false; return false;
}else if(!(otherAnimal instanceof EntityWolfMZTE)) { } else if (!this.isTamed())
return false; {
}else { return false;
EntityWolfMZTE entitywolfmzte = (EntityWolfMZTE)otherAnimal; } else if (!(otherAnimal instanceof EntityWolfMZTE))
{
return false;
} else
{
EntityWolfMZTE entitywolfmzte = (EntityWolfMZTE) otherAnimal;
if(!entitywolfmzte.isTamed()) { if (!entitywolfmzte.isTamed())
return false; {
}else if(entitywolfmzte.isSitting()) { return false;
return false; } else if (entitywolfmzte.isSitting())
}else { {
return this.isInLove() && entitywolfmzte.isInLove(); return false;
} } else
} {
} return this.isInLove() && entitywolfmzte.isInLove();
}
}
}
@Override @Override
public boolean shouldAttackEntity(EntityLivingBase target, EntityLivingBase owner) { public boolean shouldAttackEntity(EntityLivingBase target, EntityLivingBase owner)
if(!(target instanceof EntityCreeper) && !(target instanceof EntityGhast)) { {
if(target instanceof EntityWolfMZTE) { if (!(target instanceof EntityCreeper) && !(target instanceof EntityGhast))
EntityWolfMZTE entitywolfmzte = (EntityWolfMZTE)target; {
if (target instanceof EntityWolfMZTE)
{
EntityWolfMZTE entitywolfmzte = (EntityWolfMZTE) target;
if(entitywolfmzte.isTamed() && entitywolfmzte.getOwner() == owner) { if (entitywolfmzte.isTamed() && entitywolfmzte.getOwner() == owner)
return false; {
} return false;
} }
}
if(target instanceof EntityPlayer && owner instanceof EntityPlayer if (target instanceof EntityPlayer && owner instanceof EntityPlayer
&& !((EntityPlayer)owner).canAttackPlayer((EntityPlayer)target)) { && !((EntityPlayer) owner).canAttackPlayer((EntityPlayer) target))
return false; {
}else { return false;
return !(target instanceof AbstractHorse) || !((AbstractHorse)target).isTame(); } else
} {
}else { return !(target instanceof AbstractHorse) || !((AbstractHorse) target).isTame();
return false; }
} } else
} {
return false;
}
}
} }

View file

@ -8,14 +8,18 @@ import net.minecraft.potion.PotionEffect;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import net.minecraftforge.fml.common.gameevent.TickEvent.PlayerTickEvent; import net.minecraftforge.fml.common.gameevent.TickEvent.PlayerTickEvent;
public class SurstroemmingSmellsBadEvent { public class SurstroemmingSmellsBadEvent
@SubscribeEvent {
public void onEvent(PlayerTickEvent event) { @SubscribeEvent
if(event.player != null) { public void onEvent(PlayerTickEvent event)
EntityPlayer player = event.player; {
if(player.inventory.hasItemStack(new ItemStack(ModItems.SURSTROEMMING))) { if (event.player != null)
player.addPotionEffect(new PotionEffect(MobEffects.NAUSEA, 100)); {
} EntityPlayer player = event.player;
} if (player.inventory.hasItemStack(new ItemStack(ModItems.SURSTROEMMING)))
} {
player.addPotionEffect(new PotionEffect(MobEffects.NAUSEA, 100));
}
}
}
} }

View file

@ -8,20 +8,25 @@ import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import net.minecraftforge.fml.common.gameevent.InputEvent.KeyInputEvent; import net.minecraftforge.fml.common.gameevent.InputEvent.KeyInputEvent;
import org.lwjgl.input.Keyboard; import org.lwjgl.input.Keyboard;
public class TauntDrachenlordEvent { 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 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) { public static void makeAngry(EntityPlayer player, EntityDrachenlord drache)
drache.attackEntityFrom(DamageSource.causePlayerDamage(player), 0); {
} drache.attackEntityFrom(DamageSource.causePlayerDamage(player), 0);
}
@SubscribeEvent @SubscribeEvent
public void onKeyPress(KeyInputEvent event, EntityDrachenlord drache, EntityPlayer player) { public void onKeyPress(KeyInputEvent event, EntityDrachenlord drache, EntityPlayer player)
final int aggroRange = 64; {
if(Keyboard.isKeyDown(Keyboard.KEY_J)) { final int aggroRange = 64;
if (Keyboard.isKeyDown(Keyboard.KEY_J))
{
} }
} }
} }

View file

@ -8,15 +8,18 @@ import net.minecraftforge.client.model.ModelLoader;
import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly; import net.minecraftforge.fml.relauncher.SideOnly;
public class ItemBase extends Item { public class ItemBase extends Item
public ItemBase(String name, CreativeTabs tab) { {
setRegistryName(name); public ItemBase(String name, CreativeTabs tab)
setUnlocalizedName(Spackenmobs.MODID + "." + name); {
setCreativeTab(tab); setRegistryName(name);
} setUnlocalizedName(Spackenmobs.MODID + "." + name);
setCreativeTab(tab);
}
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)
public void initModel() { public void initModel()
ModelLoader.setCustomModelResourceLocation(this, 0, new ModelResourceLocation(getRegistryName(), "inventory")); {
} ModelLoader.setCustomModelResourceLocation(this, 0, new ModelResourceLocation(getRegistryName(), "inventory"));
}
} }

View file

@ -2,11 +2,13 @@ package mod.acgaming.spackenmobs.items;
import net.minecraft.potion.Potion; import net.minecraft.potion.Potion;
public class ItemPotion extends Potion { public class ItemPotion extends Potion
public ItemPotion(String name, boolean isBadPotion, int color, int iconIndexX, int iconIndexY) { {
super(isBadPotion, color); public ItemPotion(String name, boolean isBadPotion, int color, int iconIndexX, int iconIndexY)
setPotionName("effect." + name); {
setIconIndex(iconIndexX, iconIndexY); super(isBadPotion, color);
setRegistryName(name); setPotionName("effect." + name);
} setIconIndex(iconIndexX, iconIndexY);
setRegistryName(name);
}
} }

View file

@ -9,31 +9,38 @@ import java.util.ArrayList;
import java.util.List; import java.util.List;
// Thanks to Vazkii! // Thanks to Vazkii!
public class BiomeHelper { public class BiomeHelper
{
public static Biome[] getBiomesWithMonster(Class<? extends Entity> clazz) { public static Biome[] getBiomesWithMonster(Class<? extends Entity> clazz)
List<Biome> biomes = new ArrayList<>(); {
for(Biome b : Biome.REGISTRY) { List<Biome> biomes = new ArrayList<>();
List<SpawnListEntry> spawnList = b.getSpawnableList(EnumCreatureType.MONSTER); for (Biome b : Biome.REGISTRY)
for(SpawnListEntry e : spawnList) {
if(e.entityClass == clazz) { List<SpawnListEntry> spawnList = b.getSpawnableList(EnumCreatureType.MONSTER);
biomes.add(b); for (SpawnListEntry e : spawnList)
break; if (e.entityClass == clazz)
} {
} biomes.add(b);
return biomes.toArray(new Biome[0]); break;
} }
}
return biomes.toArray(new Biome[0]);
}
public static Biome[] getBiomesWithCreature(Class<? extends Entity> clazz) { public static Biome[] getBiomesWithCreature(Class<? extends Entity> clazz)
List<Biome> biomes = new ArrayList<>(); {
for(Biome b : Biome.REGISTRY) { List<Biome> biomes = new ArrayList<>();
List<SpawnListEntry> spawnList = b.getSpawnableList(EnumCreatureType.CREATURE); for (Biome b : Biome.REGISTRY)
for(SpawnListEntry e : spawnList) {
if(e.entityClass == clazz) { List<SpawnListEntry> spawnList = b.getSpawnableList(EnumCreatureType.CREATURE);
biomes.add(b); for (SpawnListEntry e : spawnList)
break; if (e.entityClass == clazz)
} {
} biomes.add(b);
return biomes.toArray(new Biome[0]); break;
} }
}
return biomes.toArray(new Biome[0]);
}
} }

View file

@ -10,107 +10,111 @@ import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
@Config(modid = "spackenmobs") @Config(modid = "spackenmobs")
@LangKey("spackenmobs.config.title") @LangKey("spackenmobs.config.title")
public class ModConfigs { public class ModConfigs
@Name("Allow ApoRed to spawn?") {
public static boolean ApoRed_spawn = true; @Name("Allow ApoRed to spawn?")
@Name("Allow Baka Mitai Creeper to spawn?") public static boolean ApoRed_spawn = true;
public static boolean BakaMitaiCreeper_spawn = true; @Name("Allow Baka Mitai Creeper to spawn?")
@Name("Allow Drachenlord to spawn?") public static boolean BakaMitaiCreeper_spawn = true;
public static boolean Drachenlord_spawn = true; @Name("Allow Drachenlord to spawn?")
@Name("Allow Holzstammhuhn to spawn?") public static boolean Drachenlord_spawn = true;
public static boolean Holzstammhuhn_spawn = true; @Name("Allow Holzstammhuhn to spawn?")
@Name("Allow Islamist to spawn?") public static boolean Holzstammhuhn_spawn = true;
public static boolean Islamist_spawn = true; @Name("Allow Islamist to spawn?")
@Name("Allow Jens to spawn?") public static boolean Islamist_spawn = true;
public static boolean Jens_spawn = true; @Name("Allow Jens to spawn?")
@Name("Allow Marcell D'Avis to spawn?") public static boolean Jens_spawn = true;
public static boolean MarcellDAvis_spawn = true; @Name("Allow Marcell D'Avis to spawn?")
@Name("Allow Mr. Bean to spawn?") public static boolean MarcellDAvis_spawn = true;
public static boolean MrBean_spawn = true; @Name("Allow Mr. Bean to spawn?")
@Name("Allow Schalker to spawn?") public static boolean MrBean_spawn = true;
public static boolean Schalker_spawn = true; @Name("Allow Schalker to spawn?")
@Name("Allow Smava Creeper to spawn?") public static boolean Schalker_spawn = true;
public static boolean SmavaCreeper_spawn = true; @Name("Allow Smava Creeper to spawn?")
@Name("Allow WolfMZTE to spawn?") public static boolean SmavaCreeper_spawn = true;
public static boolean WolfMZTE_spawn = true; @Name("Allow WolfMZTE to spawn?")
@Name("ApoRed spawn probability:") public static boolean WolfMZTE_spawn = true;
public static int ApoRed_weight = 50; @Name("ApoRed spawn probability:")
@Name("ApoRed min group size:") public static int ApoRed_weight = 50;
public static int ApoRed_min = 1; @Name("ApoRed min group size:")
@Name("ApoRed max group size:") public static int ApoRed_min = 1;
public static int ApoRed_max = 4; @Name("ApoRed max group size:")
@Name("Baka Mitai Creeper spawn probability:") public static int ApoRed_max = 4;
public static int BakaMitaiCreeper_weight = 10; @Name("Baka Mitai Creeper spawn probability:")
@Name("Baka Mitai Creeper min group size:") public static int BakaMitaiCreeper_weight = 10;
public static int BakaMitaiCreeper_min = 1; @Name("Baka Mitai Creeper min group size:")
@Name("Baka Mitai Creeper max group size:") public static int BakaMitaiCreeper_min = 1;
public static int BakaMitaiCreeper_max = 2; @Name("Baka Mitai Creeper max group size:")
@Name("Drachenlord spawn probability:") public static int BakaMitaiCreeper_max = 2;
public static int Drachenlord_weight = 50; @Name("Drachenlord spawn probability:")
@Name("Drachenlord min group size:") public static int Drachenlord_weight = 50;
public static int Drachenlord_min = 1; @Name("Drachenlord min group size:")
@Name("Drachenlord max group size:") public static int Drachenlord_min = 1;
public static int Drachenlord_max = 4; @Name("Drachenlord max group size:")
@Name("Holzstammhuhn spawn probability:") public static int Drachenlord_max = 4;
public static int Holzstammhuhn_weight = 50; @Name("Holzstammhuhn spawn probability:")
@Name("Holzstammhuhn min group size:") public static int Holzstammhuhn_weight = 50;
public static int Holzstammhuhn_min = 1; @Name("Holzstammhuhn min group size:")
@Name("Holzstammhuhn max group size:") public static int Holzstammhuhn_min = 1;
public static int Holzstammhuhn_max = 4; @Name("Holzstammhuhn max group size:")
@Name("Islamist spawn probability:") public static int Holzstammhuhn_max = 4;
public static int Islamist_weight = 50; @Name("Islamist spawn probability:")
@Name("Islamist min group size:") public static int Islamist_weight = 50;
public static int Islamist_min = 1; @Name("Islamist min group size:")
@Name("Islamist max group size:") public static int Islamist_min = 1;
public static int Islamist_max = 4; @Name("Islamist max group size:")
@Name("Jens spawn probability:") public static int Islamist_max = 4;
public static int Jens_weight = 25; @Name("Jens spawn probability:")
@Name("Jens min group size:") public static int Jens_weight = 25;
public static int Jens_min = 1; @Name("Jens min group size:")
@Name("Jens max group size:") public static int Jens_min = 1;
public static int Jens_max = 4; @Name("Jens max group size:")
@Name("Marcell D'Avis spawn probability:") public static int Jens_max = 4;
public static int MarcellDAvis_weight = 50; @Name("Marcell D'Avis spawn probability:")
@Name("Marcell D'Avis min group size:") public static int MarcellDAvis_weight = 50;
public static int MarcellDAvis_min = 1; @Name("Marcell D'Avis min group size:")
@Name("Marcell D'Avis max group size:") public static int MarcellDAvis_min = 1;
public static int MarcellDAvis_max = 4; @Name("Marcell D'Avis max group size:")
@Name("Mr. Bean spawn probability:") public static int MarcellDAvis_max = 4;
public static int MrBean_weight = 50; @Name("Mr. Bean spawn probability:")
@Name("Mr. Bean min group size:") public static int MrBean_weight = 50;
public static int MrBean_min = 1; @Name("Mr. Bean min group size:")
@Name("Mr. Bean max group size:") public static int MrBean_min = 1;
public static int MrBean_max = 4; @Name("Mr. Bean max group size:")
@Name("Schalker spawn probability:") public static int MrBean_max = 4;
public static int Schalker_weight = 50; @Name("Schalker spawn probability:")
@Name("Schalker min group size:") public static int Schalker_weight = 50;
public static int Schalker_min = 1; @Name("Schalker min group size:")
@Name("Schalker max group size:") public static int Schalker_min = 1;
public static int Schalker_max = 4; @Name("Schalker max group size:")
@Name("Smava Creeper spawn probability:") public static int Schalker_max = 4;
public static int SmavaCreeper_weight = 25; @Name("Smava Creeper spawn probability:")
@Name("Smava Creeper min group size:") public static int SmavaCreeper_weight = 25;
public static int SmavaCreeper_min = 1; @Name("Smava Creeper min group size:")
@Name("Smava Creeper max group size:") public static int SmavaCreeper_min = 1;
public static int SmavaCreeper_max = 4; @Name("Smava Creeper max group size:")
@Name("WolfMZTE spawn probability:") public static int SmavaCreeper_max = 4;
public static int WolfMZTE_weight = 50; @Name("WolfMZTE spawn probability:")
@Name("WolfMZTE min group size:") public static int WolfMZTE_weight = 50;
public static int WolfMZTE_min = 1; @Name("WolfMZTE min group size:")
@Name("WolfMZTE max group size:") public static int WolfMZTE_min = 1;
public static int WolfMZTE_max = 4; @Name("WolfMZTE max group size:")
@Name("Time in seconds Jens needs to digest:") public static int WolfMZTE_max = 4;
public static int Jens_digest_time = 120; @Name("Time in seconds Jens needs to digest:")
@Name("Maximum distance in blocks Jens can search:") public static int Jens_digest_time = 120;
public static int Jens_search_distance = 10; @Name("Maximum distance in blocks Jens can search:")
public static int Jens_search_distance = 10;
@EventBusSubscriber(modid = "spackenmobs") @EventBusSubscriber(modid = "spackenmobs")
private static class EventHandler { private static class EventHandler
@SubscribeEvent {
public void onConfigChanged(ConfigChangedEvent.OnConfigChangedEvent event) { @SubscribeEvent
if(event.getModID().equals("spackenmobs")) { public void onConfigChanged(ConfigChangedEvent.OnConfigChangedEvent event)
ConfigManager.sync("spackenmobs", Config.Type.INSTANCE); {
} if (event.getModID().equals("spackenmobs"))
} {
} ConfigManager.sync("spackenmobs", Config.Type.INSTANCE);
}
}
}
} }

View file

@ -4,17 +4,19 @@ import mod.acgaming.spackenmobs.entities.*;
import mod.acgaming.spackenmobs.render.*; import mod.acgaming.spackenmobs.render.*;
import net.minecraftforge.fml.client.registry.RenderingRegistry; import net.minecraftforge.fml.client.registry.RenderingRegistry;
public class ModEntities { public class ModEntities
public static void initModels() { {
RenderingRegistry.registerEntityRenderingHandler(EntityApoRed.class, RenderApoRed.FACTORY); public static void initModels()
RenderingRegistry.registerEntityRenderingHandler(EntityDrachenlord.class, RenderDrachenlord.FACTORY); {
RenderingRegistry.registerEntityRenderingHandler(EntityIslamist.class, RenderIslamist.FACTORY); RenderingRegistry.registerEntityRenderingHandler(EntityApoRed.class, RenderApoRed.FACTORY);
RenderingRegistry.registerEntityRenderingHandler(EntityJens.class, RenderJens.FACTORY); RenderingRegistry.registerEntityRenderingHandler(EntityDrachenlord.class, RenderDrachenlord.FACTORY);
RenderingRegistry.registerEntityRenderingHandler(EntityMarcellDAvis.class, RenderMarcellDAvis.FACTORY); RenderingRegistry.registerEntityRenderingHandler(EntityIslamist.class, RenderIslamist.FACTORY);
RenderingRegistry.registerEntityRenderingHandler(EntityMrBean.class, RenderMrBean.FACTORY); RenderingRegistry.registerEntityRenderingHandler(EntityJens.class, RenderJens.FACTORY);
RenderingRegistry.registerEntityRenderingHandler(EntitySchalker.class, RenderSchalker.FACTORY); RenderingRegistry.registerEntityRenderingHandler(EntityMarcellDAvis.class, RenderMarcellDAvis.FACTORY);
RenderingRegistry.registerEntityRenderingHandler(EntitySmavaCreeper.class, RenderSmavaCreeper.FACTORY); RenderingRegistry.registerEntityRenderingHandler(EntityMrBean.class, RenderMrBean.FACTORY);
RenderingRegistry.registerEntityRenderingHandler(EntityWolfMZTE.class, RenderWolfMZTE.FACTORY); RenderingRegistry.registerEntityRenderingHandler(EntitySchalker.class, RenderSchalker.FACTORY);
RenderingRegistry.registerEntityRenderingHandler(EntityHolzstammhuhn.class, RenderHolzstammhuhn.FACTORY); RenderingRegistry.registerEntityRenderingHandler(EntitySmavaCreeper.class, RenderSmavaCreeper.FACTORY);
} RenderingRegistry.registerEntityRenderingHandler(EntityWolfMZTE.class, RenderWolfMZTE.FACTORY);
RenderingRegistry.registerEntityRenderingHandler(EntityHolzstammhuhn.class, RenderHolzstammhuhn.FACTORY);
}
} }

View file

@ -6,8 +6,9 @@ import net.minecraft.item.Item;
import net.minecraftforge.fml.common.registry.GameRegistry.ObjectHolder; import net.minecraftforge.fml.common.registry.GameRegistry.ObjectHolder;
@ObjectHolder(Spackenmobs.MODID) @ObjectHolder(Spackenmobs.MODID)
public class ModItems { public class ModItems
public static final Item RAM = new ItemBase("ram", Spackenmobs.SPACKENMOBS_TAB); {
public static final Item RAM_ON_A_STICK = new ItemBase("ram_on_a_stick", Spackenmobs.SPACKENMOBS_TAB); public static final Item RAM = new ItemBase("ram", Spackenmobs.SPACKENMOBS_TAB);
public static final Item SURSTROEMMING = new ItemBase("surstroemming", 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);
} }

View file

@ -9,37 +9,46 @@ import java.io.File;
import java.util.Collections; import java.util.Collections;
import java.util.Set; import java.util.Set;
public class ModLootTableList { public class ModLootTableList
private static final Set<ResourceLocation> LOOT_TABLES = Sets.<ResourceLocation>newHashSet(); {
public static final ResourceLocation EMPTY = register("empty"); private static final Set<ResourceLocation> LOOT_TABLES = Sets.newHashSet();
public static final ResourceLocation ENTITIES_JENS = register("entities/jens"); public static final ResourceLocation EMPTY = register("empty");
private static final Set<ResourceLocation> READ_ONLY_LOOT_TABLES = Collections.<ResourceLocation>unmodifiableSet(LOOT_TABLES); public static final ResourceLocation ENTITIES_JENS = register("entities/jens");
private static final Set<ResourceLocation> READ_ONLY_LOOT_TABLES = Collections.unmodifiableSet(LOOT_TABLES);
public static Set<ResourceLocation> getAll() { public static Set<ResourceLocation> getAll()
return READ_ONLY_LOOT_TABLES; {
} return READ_ONLY_LOOT_TABLES;
}
public static ResourceLocation register(ResourceLocation id) { public static ResourceLocation register(ResourceLocation id)
if(LOOT_TABLES.add(id)) { {
return id; if (LOOT_TABLES.add(id))
}else { {
throw new IllegalArgumentException(id + " is already a registered built-in loot table"); return id;
} } else
} {
throw new IllegalArgumentException(id + " is already a registered built-in loot table");
}
}
private static ResourceLocation register(String id) { private static ResourceLocation register(String id)
return register(new ResourceLocation("spackenmobs", id)); {
} return register(new ResourceLocation("spackenmobs", id));
}
public static boolean test() { public static boolean test()
LootTableManager loottablemanager = new LootTableManager((File)null); {
LootTableManager loottablemanager = new LootTableManager(null);
for(ResourceLocation resourcelocation : READ_ONLY_LOOT_TABLES) { for (ResourceLocation resourcelocation : READ_ONLY_LOOT_TABLES)
if(loottablemanager.getLootTableFromLocation(resourcelocation) == LootTable.EMPTY_LOOT_TABLE) { {
return false; if (loottablemanager.getLootTableFromLocation(resourcelocation) == LootTable.EMPTY_LOOT_TABLE)
} {
} return false;
}
}
return true; return true;
} }
} }

View file

@ -6,6 +6,7 @@ import net.minecraft.potion.Potion;
import net.minecraftforge.fml.common.registry.GameRegistry.ObjectHolder; import net.minecraftforge.fml.common.registry.GameRegistry.ObjectHolder;
@ObjectHolder(Spackenmobs.MODID) @ObjectHolder(Spackenmobs.MODID)
public class ModPotions { public class ModPotions
public static final Potion SURSTROEMMING_DRINK = new ItemPotion("surstroemming_drink", true, 42, 0, 0); {
public static final Potion SURSTROEMMING_DRINK = new ItemPotion("surstroemming_drink", true, 42, 0, 0);
} }

View file

@ -6,74 +6,46 @@ import net.minecraft.util.SoundEvent;
import net.minecraftforge.fml.common.registry.GameRegistry.ObjectHolder; import net.minecraftforge.fml.common.registry.GameRegistry.ObjectHolder;
@ObjectHolder(Spackenmobs.MODID) @ObjectHolder(Spackenmobs.MODID)
public class ModSoundEvents { 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_FUSE = new SoundEvent(new ResourceLocation("spackenmobs:entities.smava_creeper.fuse"));
public static final SoundEvent ENTITY_SMAVACREEPER_BLOW = new SoundEvent( public static final SoundEvent ENTITY_SMAVACREEPER_BLOW = new SoundEvent(new ResourceLocation("spackenmobs:entities.smava_creeper.blow"));
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_HURT = new SoundEvent( public static final SoundEvent ENTITY_SMAVACREEPER_AMBIENT = new SoundEvent(new ResourceLocation("spackenmobs:entities.smava_creeper.ambient"));
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( public static final SoundEvent ENTITY_MARCELLDAVIS_AMBIENT = new SoundEvent(new ResourceLocation("spackenmobs:entities.marcell_davis.ambient"));
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_HURT = new SoundEvent( public static final SoundEvent ENTITY_MARCELLDAVIS_DEATH = new SoundEvent(new ResourceLocation("spackenmobs:entities.marcell_davis.death"));
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( public static final SoundEvent ENTITY_ISLAMIST_FUSE = new SoundEvent(new ResourceLocation("spackenmobs:entities.islamist.fuse"));
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_BLOW = new SoundEvent( public static final SoundEvent ENTITY_ISLAMIST_HURT = new SoundEvent(new ResourceLocation("spackenmobs:entities.islamist.hurt"));
new ResourceLocation("spackenmobs:entities.islamist.blow")); public static final SoundEvent ENTITY_ISLAMIST_AMBIENT = new SoundEvent(new ResourceLocation("spackenmobs:entities.islamist.ambient"));
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( public static final SoundEvent ENTITY_APORED_AMBIENT = new SoundEvent(new ResourceLocation("spackenmobs:entities.apored.ambient"));
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_HURT = new SoundEvent( public static final SoundEvent ENTITY_APORED_DEATH = new SoundEvent(new ResourceLocation("spackenmobs:entities.apored.death"));
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( public static final SoundEvent ENTITY_MRBEAN_AMBIENT = new SoundEvent(new ResourceLocation("spackenmobs:entities.mr_bean.ambient"));
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_HURT = new SoundEvent( public static final SoundEvent ENTITY_MRBEAN_DEATH = new SoundEvent(new ResourceLocation("spackenmobs:entities.mr_bean.death"));
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( public static final SoundEvent ENTITY_DRACHENLORD_AMBIENT = new SoundEvent(new ResourceLocation("spackenmobs:entities.drachenlord.ambient"));
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_HURT = new SoundEvent( public static final SoundEvent ENTITY_DRACHENLORD_DEATH = new SoundEvent(new ResourceLocation("spackenmobs:entities.drachenlord.death"));
new ResourceLocation("spackenmobs:entities.drachenlord.hurt")); public static final SoundEvent ENTITY_DRACHENLORD_ANGRY = new SoundEvent(new ResourceLocation("spackenmobs:entities.drachenlord.angry"));
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( public static final SoundEvent ENTITY_SCHALKER_AMBIENT = new SoundEvent(new ResourceLocation("spackenmobs:entities.schalker.ambient"));
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_HURT = new SoundEvent( public static final SoundEvent ENTITY_SCHALKER_OPEN = new SoundEvent(new ResourceLocation("spackenmobs:entities.schalker.open"));
new ResourceLocation("spackenmobs:entities.schalker.hurt")); public static final SoundEvent ENTITY_SCHALKER_SHOOT = new SoundEvent(new ResourceLocation("spackenmobs:entities.schalker.shoot"));
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( public static final SoundEvent ENTITY_JENS_AMBIENT = new SoundEvent(new ResourceLocation("spackenmobs:entities.jens.ambient"));
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_HURT = new SoundEvent( public static final SoundEvent ENTITY_JENS_DEATH = new SoundEvent(new ResourceLocation("spackenmobs:entities.jens.death"));
new ResourceLocation("spackenmobs:entities.jens.hurt")); public static final SoundEvent ENTITY_JENS_EAT = new SoundEvent(new ResourceLocation("spackenmobs:entities.jens.eat"));
public static final SoundEvent ENTITY_JENS_DEATH = new SoundEvent( public static final SoundEvent ENTITY_JENS_POOP = new SoundEvent(new ResourceLocation("spackenmobs:entities.jens.poop"));
new ResourceLocation("spackenmobs:entities.jens.death"));
public static final SoundEvent ENTITY_JENS_EAT = new SoundEvent( public static final SoundEvent ENTITY_BAKAMITAICREEPER_FUSE = new SoundEvent(new ResourceLocation("spackenmobs:entities.bakamitai_creeper.fuse"));
new ResourceLocation("spackenmobs:entities.jens.eat")); public static final SoundEvent ENTITY_BAKAMITAICREEPER_BLOW = new SoundEvent(new ResourceLocation("spackenmobs:entities.bakamitai_creeper.blow"));
public static final SoundEvent ENTITY_JENS_POOP = new SoundEvent(
new ResourceLocation("spackenmobs:entities.jens.poop"));
} }

View file

@ -1,10 +1,23 @@
package mod.acgaming.spackenmobs.misc; package mod.acgaming.spackenmobs.misc;
import mod.acgaming.spackenmobs.Spackenmobs; import mod.acgaming.spackenmobs.Spackenmobs;
import mod.acgaming.spackenmobs.entities.*; import mod.acgaming.spackenmobs.entities.EntityApoRed;
import net.minecraft.creativetab.CreativeTabs; 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.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.EntityChicken;
import net.minecraft.entity.passive.EntityPig; import net.minecraft.entity.passive.EntityPig;
import net.minecraft.entity.passive.EntityWolf; import net.minecraft.entity.passive.EntityWolf;
@ -18,178 +31,196 @@ import net.minecraftforge.fml.common.registry.EntityEntry;
import net.minecraftforge.fml.common.registry.EntityRegistry; import net.minecraftforge.fml.common.registry.EntityRegistry;
@EventBusSubscriber(modid = Spackenmobs.MODID) @EventBusSubscriber(modid = Spackenmobs.MODID)
public class RegHandler { public class RegHandler
@SubscribeEvent {
public static void registerItems(Register<Item> event) { @SubscribeEvent
final Item[] items = { public static void registerEntities(Register<EntityEntry> event)
new Item().setRegistryName(Spackenmobs.MODID, "ram").setUnlocalizedName(Spackenmobs.MODID + "." + "ram") {
.setCreativeTab(CreativeTabs.MISC), int id = 1;
new Item().setRegistryName(Spackenmobs.MODID, "ram_on_a_stick")
.setUnlocalizedName(Spackenmobs.MODID + "." + "ram_on_a_stick")
.setCreativeTab(CreativeTabs.MISC),
new Item().setRegistryName(Spackenmobs.MODID, "surstroemming")
.setUnlocalizedName(Spackenmobs.MODID + "." + "surstroemming")
.setCreativeTab(CreativeTabs.MISC)};
event.getRegistry().registerAll(items);
}
@SubscribeEvent // Smava Creeper
public static void registerEntities(Register<EntityEntry> event) { EntityRegistry.registerModEntity(new ResourceLocation("spackenmobs:smava_creeper"), EntitySmavaCreeper.class, "smava_creeper", id++, Spackenmobs.instance, 64, 1, true, 7649828, 11053224);
int id = 1; 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 // Marcell D'Avis
EntityRegistry.registerModEntity(new ResourceLocation("spackenmobs:smava_creeper"), EntitySmavaCreeper.class, EntityRegistry.registerModEntity(new ResourceLocation("spackenmobs:marcell_davis"), EntityMarcellDAvis.class, "marcell_davis", id++, Spackenmobs.instance, 64, 1, true, 15759, 16777215);
"smava_creeper", id++, Spackenmobs.instance, 64, 1, true, 7649828, 11053224); if (ModConfigs.MarcellDAvis_spawn == true)
EntityRegistry.addSpawn(EntitySmavaCreeper.class, 25, 1, 4, EnumCreatureType.MONSTER, {
BiomeHelper.getBiomesWithMonster(EntityCreeper.class)); EntityRegistry.addSpawn(EntityMarcellDAvis.class, ModConfigs.MarcellDAvis_weight, ModConfigs.MarcellDAvis_min, ModConfigs.MarcellDAvis_max, EnumCreatureType.MONSTER,
BiomeHelper.getBiomesWithMonster(EntityZombie.class));
}
// Marcell D'Avis // Islamist
EntityRegistry.registerModEntity(new ResourceLocation("spackenmobs:marcell_davis"), EntityMarcellDAvis.class, EntityRegistry.registerModEntity(new ResourceLocation("spackenmobs:islamist"), EntityIslamist.class, "islamist", id++, Spackenmobs.instance, 64, 1, true, 15263976, 15211548);
"marcell_davis", id++, Spackenmobs.instance, 64, 1, true, 15759, 16777215); if (ModConfigs.Islamist_spawn == true)
EntityRegistry.addSpawn(EntityMarcellDAvis.class, 50, 1, 4, EnumCreatureType.MONSTER, {
BiomeHelper.getBiomesWithMonster(EntityZombie.class)); EntityRegistry.addSpawn(EntityIslamist.class, ModConfigs.Islamist_weight, ModConfigs.Islamist_min, ModConfigs.Islamist_max, EnumCreatureType.MONSTER,
BiomeHelper.getBiomesWithMonster(EntityCreeper.class));
}
// Islamist // ApoRed
EntityRegistry.registerModEntity(new ResourceLocation("spackenmobs:islamist"), EntityIslamist.class, "islamist", EntityRegistry.registerModEntity(new ResourceLocation("spackenmobs:apored"), EntityApoRed.class, "apored", id++, Spackenmobs.instance, 64, 1, true, 2039583, 16711680);
id++, Spackenmobs.instance, 64, 1, true, 15263976, 15211548); if (ModConfigs.ApoRed_spawn == true)
EntityRegistry.addSpawn(EntityIslamist.class, 50, 1, 4, EnumCreatureType.MONSTER, {
BiomeHelper.getBiomesWithMonster(EntityCreeper.class)); EntityRegistry.addSpawn(EntityApoRed.class, ModConfigs.ApoRed_weight, ModConfigs.ApoRed_min, ModConfigs.ApoRed_max, EnumCreatureType.MONSTER,
BiomeHelper.getBiomesWithMonster(EntitySkeleton.class));
}
// ApoRed // Mr. Bean
EntityRegistry.registerModEntity(new ResourceLocation("spackenmobs:apored"), EntityApoRed.class, "apored", id++, EntityRegistry.registerModEntity(new ResourceLocation("spackenmobs:mr_bean"), EntityMrBean.class, "mr_bean", id++, Spackenmobs.instance, 64, 1, true, 4802350, 3220238);
Spackenmobs.instance, 64, 1, true, 2039583, 16711680); if (ModConfigs.MrBean_spawn == true)
EntityRegistry.addSpawn(EntityApoRed.class, 50, 1, 4, EnumCreatureType.MONSTER, {
BiomeHelper.getBiomesWithMonster(EntitySkeleton.class)); EntityRegistry.addSpawn(EntityMrBean.class, ModConfigs.MrBean_weight, ModConfigs.MrBean_min, ModConfigs.MrBean_max, EnumCreatureType.MONSTER,
BiomeHelper.getBiomesWithMonster(EntityZombie.class));
}
// Mr. Bean // Drachenlord
EntityRegistry.registerModEntity(new ResourceLocation("spackenmobs:mr_bean"), EntityMrBean.class, "mr_bean", EntityRegistry.registerModEntity(new ResourceLocation("spackenmobs:drachenlord"), EntityDrachenlord.class, "drachenlord", id++, Spackenmobs.instance, 64, 1, true, 15256745, 8738878);
id++, Spackenmobs.instance, 64, 1, true, 4802350, 3220238); if (ModConfigs.Drachenlord_spawn == true)
EntityRegistry.addSpawn(EntityMrBean.class, 50, 1, 4, EnumCreatureType.MONSTER, {
BiomeHelper.getBiomesWithMonster(EntityZombie.class)); EntityRegistry.addSpawn(EntityDrachenlord.class, ModConfigs.Drachenlord_weight, ModConfigs.Drachenlord_min, ModConfigs.Drachenlord_max, EnumCreatureType.MONSTER,
BiomeHelper.getBiomesWithMonster(EntityPigZombie.class));
}
// Drachenlord // Schalker
EntityRegistry.registerModEntity(new ResourceLocation("spackenmobs:drachenlord"), EntityDrachenlord.class, EntityRegistry.registerModEntity(new ResourceLocation("spackenmobs:schalker"), EntitySchalker.class, "schalker", id++, Spackenmobs.instance, 64, 1, true, 24745, 16777215);
"drachenlord", id++, Spackenmobs.instance, 64, 1, true, 15256745, 8738878); if (ModConfigs.Schalker_spawn == true)
EntityRegistry.addSpawn(EntityDrachenlord.class, 50, 1, 4, EnumCreatureType.MONSTER, {
BiomeHelper.getBiomesWithMonster(EntityPigZombie.class)); EntityRegistry.addSpawn(EntitySchalker.class, ModConfigs.Schalker_weight, ModConfigs.Schalker_min, ModConfigs.Schalker_max, EnumCreatureType.MONSTER,
BiomeHelper.getBiomesWithMonster(EntityShulker.class));
}
// Schalker // Jens
EntityRegistry.registerModEntity(new ResourceLocation("spackenmobs:schalker"), EntitySchalker.class, "schalker", EntityRegistry.registerModEntity(new ResourceLocation("spackenmobs:jens"), EntityJens.class, "jens", id++, Spackenmobs.instance, 64, 1, true, 6704526, 6767911);
id++, Spackenmobs.instance, 64, 1, true, 24745, 16777215); if (ModConfigs.Jens_spawn == true)
EntityRegistry.addSpawn(EntitySchalker.class, 50, 1, 4, EnumCreatureType.MONSTER, {
BiomeHelper.getBiomesWithMonster(EntityShulker.class)); EntityRegistry.addSpawn(EntityJens.class, ModConfigs.Jens_weight, ModConfigs.Jens_min, ModConfigs.Jens_max, EnumCreatureType.CREATURE, BiomeHelper.getBiomesWithCreature(EntityPig.class));
}
// Jens // WolfMZTE
EntityRegistry.registerModEntity(new ResourceLocation("spackenmobs:jens"), EntityJens.class, "jens", id++, EntityRegistry.registerModEntity(new ResourceLocation("spackenmobs:wolfmzte"), EntityWolfMZTE.class, "wolfmzte", id++, Spackenmobs.instance, 64, 1, true, 16711680, 0);
Spackenmobs.instance, 64, 1, true, 6704526, 6767911); if (ModConfigs.WolfMZTE_spawn == true)
EntityRegistry.addSpawn(EntityJens.class, 50, 1, 4, EnumCreatureType.CREATURE, {
BiomeHelper.getBiomesWithCreature(EntityPig.class)); EntityRegistry.addSpawn(EntityJens.class, ModConfigs.WolfMZTE_weight, ModConfigs.WolfMZTE_min, ModConfigs.WolfMZTE_max, EnumCreatureType.CREATURE,
BiomeHelper.getBiomesWithCreature(EntityWolf.class));
}
// WolfMZTE // Holzstammhuhn
EntityRegistry.registerModEntity(new ResourceLocation("spackenmobs:wolfmzte"), EntityWolfMZTE.class, "wolfmzte", EntityRegistry.registerModEntity(new ResourceLocation("spackenmobs:holzstammhuhn"), EntityHolzstammhuhn.class, "holzstammhuhn", id++, Spackenmobs.instance, 64, 1, true, 12096347, 5295899);
id++, Spackenmobs.instance, 64, 1, true, 16711680, 0); if (ModConfigs.Holzstammhuhn_spawn == true)
EntityRegistry.addSpawn(EntityJens.class, 50, 1, 4, EnumCreatureType.CREATURE, {
BiomeHelper.getBiomesWithCreature(EntityWolf.class)); EntityRegistry.addSpawn(EntityJens.class, ModConfigs.Holzstammhuhn_weight, ModConfigs.Holzstammhuhn_min, ModConfigs.Holzstammhuhn_max, EnumCreatureType.CREATURE,
BiomeHelper.getBiomesWithCreature(EntityChicken.class));
}
// Holzstammhuhn // Baka Mitai Creeper
EntityRegistry.registerModEntity(new ResourceLocation("spackenmobs:holzstammhuhn"), EntityHolzstammhuhn.class, EntityRegistry.registerModEntity(new ResourceLocation("spackenmobs:bakamitai_creeper"), EntityBakaMitaiCreeper.class, "bakamitai_creeper", id++, Spackenmobs.instance, 64, 1, true, 826890, 0);
"holzstammhuhn", id++, Spackenmobs.instance, 64, 1, true, 12096347, 5295899); if (ModConfigs.BakaMitaiCreeper_spawn == true)
EntityRegistry.addSpawn(EntityJens.class, 50, 1, 4, EnumCreatureType.CREATURE, {
BiomeHelper.getBiomesWithCreature(EntityChicken.class)); 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<Item> 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 @SubscribeEvent
public static void registerSounds(Register<SoundEvent> event) { public static void registerSounds(Register<SoundEvent> event)
// Smava Creeper {
ModSoundEvents.ENTITY_SMAVACREEPER_FUSE // Smava Creeper
.setRegistryName(new ResourceLocation("spackenmobs:entities.smava_creeper.fuse")); ModSoundEvents.ENTITY_SMAVACREEPER_FUSE.setRegistryName(new ResourceLocation("spackenmobs:entities.smava_creeper.fuse"));
event.getRegistry().register(ModSoundEvents.ENTITY_SMAVACREEPER_FUSE); event.getRegistry().register(ModSoundEvents.ENTITY_SMAVACREEPER_FUSE);
ModSoundEvents.ENTITY_SMAVACREEPER_BLOW ModSoundEvents.ENTITY_SMAVACREEPER_BLOW.setRegistryName(new ResourceLocation("spackenmobs:entities.smava_creeper.blow"));
.setRegistryName(new ResourceLocation("spackenmobs:entities.smava_creeper.blow")); event.getRegistry().register(ModSoundEvents.ENTITY_SMAVACREEPER_BLOW);
event.getRegistry().register(ModSoundEvents.ENTITY_SMAVACREEPER_BLOW); ModSoundEvents.ENTITY_SMAVACREEPER_HURT.setRegistryName(new ResourceLocation("spackenmobs:entities.smava_creeper.hurt"));
ModSoundEvents.ENTITY_SMAVACREEPER_HURT event.getRegistry().register(ModSoundEvents.ENTITY_SMAVACREEPER_HURT);
.setRegistryName(new ResourceLocation("spackenmobs:entities.smava_creeper.hurt")); ModSoundEvents.ENTITY_SMAVACREEPER_AMBIENT.setRegistryName(new ResourceLocation("spackenmobs:entities.smava_creeper.ambient"));
event.getRegistry().register(ModSoundEvents.ENTITY_SMAVACREEPER_HURT); event.getRegistry().register(ModSoundEvents.ENTITY_SMAVACREEPER_AMBIENT);
ModSoundEvents.ENTITY_SMAVACREEPER_AMBIENT
.setRegistryName(new ResourceLocation("spackenmobs:entities.smava_creeper.ambient"));
event.getRegistry().register(ModSoundEvents.ENTITY_SMAVACREEPER_AMBIENT);
// Islamist // Islamist
ModSoundEvents.ENTITY_ISLAMIST_FUSE.setRegistryName(new ResourceLocation("spackenmobs:entities.islamist.fuse")); ModSoundEvents.ENTITY_ISLAMIST_FUSE.setRegistryName(new ResourceLocation("spackenmobs:entities.islamist.fuse"));
event.getRegistry().register(ModSoundEvents.ENTITY_ISLAMIST_FUSE); event.getRegistry().register(ModSoundEvents.ENTITY_ISLAMIST_FUSE);
ModSoundEvents.ENTITY_ISLAMIST_HURT.setRegistryName(new ResourceLocation("spackenmobs:entities.islamist.hurt")); ModSoundEvents.ENTITY_ISLAMIST_BLOW.setRegistryName(new ResourceLocation("spackenmobs:entities.islamist.blow"));
event.getRegistry().register(ModSoundEvents.ENTITY_ISLAMIST_HURT); 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 // Marcell D'Avis
ModSoundEvents.ENTITY_MARCELLDAVIS_AMBIENT ModSoundEvents.ENTITY_MARCELLDAVIS_AMBIENT.setRegistryName(new ResourceLocation("spackenmobs:entities.marcell_davis.ambient"));
.setRegistryName(new ResourceLocation("spackenmobs:entities.marcell_davis.ambient")); event.getRegistry().register(ModSoundEvents.ENTITY_MARCELLDAVIS_AMBIENT);
event.getRegistry().register(ModSoundEvents.ENTITY_MARCELLDAVIS_AMBIENT); ModSoundEvents.ENTITY_MARCELLDAVIS_HURT.setRegistryName(new ResourceLocation("spackenmobs:entities.marcell_davis.hurt"));
ModSoundEvents.ENTITY_MARCELLDAVIS_HURT event.getRegistry().register(ModSoundEvents.ENTITY_MARCELLDAVIS_HURT);
.setRegistryName(new ResourceLocation("spackenmobs:entities.marcell_davis.hurt")); ModSoundEvents.ENTITY_MARCELLDAVIS_DEATH.setRegistryName(new ResourceLocation("spackenmobs:entities.marcell_davis.death"));
event.getRegistry().register(ModSoundEvents.ENTITY_MARCELLDAVIS_HURT); event.getRegistry().register(ModSoundEvents.ENTITY_MARCELLDAVIS_DEATH);
ModSoundEvents.ENTITY_MARCELLDAVIS_DEATH
.setRegistryName(new ResourceLocation("spackenmobs:entities.marcell_davis.death"));
event.getRegistry().register(ModSoundEvents.ENTITY_MARCELLDAVIS_DEATH);
// Mr. Bean // Mr. Bean
ModSoundEvents.ENTITY_MRBEAN_AMBIENT ModSoundEvents.ENTITY_MRBEAN_AMBIENT.setRegistryName(new ResourceLocation("spackenmobs:entities.mr_bean.ambient"));
.setRegistryName(new ResourceLocation("spackenmobs:entities.mr_bean.ambient")); event.getRegistry().register(ModSoundEvents.ENTITY_MRBEAN_AMBIENT);
event.getRegistry().register(ModSoundEvents.ENTITY_MRBEAN_AMBIENT); ModSoundEvents.ENTITY_MRBEAN_HURT.setRegistryName(new ResourceLocation("spackenmobs:entities.mr_bean.hurt"));
ModSoundEvents.ENTITY_MRBEAN_HURT.setRegistryName(new ResourceLocation("spackenmobs:entities.mr_bean.hurt")); event.getRegistry().register(ModSoundEvents.ENTITY_MRBEAN_HURT);
event.getRegistry().register(ModSoundEvents.ENTITY_MRBEAN_HURT); ModSoundEvents.ENTITY_MRBEAN_DEATH.setRegistryName(new ResourceLocation("spackenmobs:entities.mr_bean.death"));
ModSoundEvents.ENTITY_MRBEAN_DEATH.setRegistryName(new ResourceLocation("spackenmobs:entities.mr_bean.death")); event.getRegistry().register(ModSoundEvents.ENTITY_MRBEAN_DEATH);
event.getRegistry().register(ModSoundEvents.ENTITY_MRBEAN_DEATH);
// ApoRed // ApoRed
ModSoundEvents.ENTITY_APORED_AMBIENT ModSoundEvents.ENTITY_APORED_AMBIENT.setRegistryName(new ResourceLocation("spackenmobs:entities.apored.ambient"));
.setRegistryName(new ResourceLocation("spackenmobs:entities.apored.ambient")); event.getRegistry().register(ModSoundEvents.ENTITY_APORED_AMBIENT);
event.getRegistry().register(ModSoundEvents.ENTITY_APORED_AMBIENT); ModSoundEvents.ENTITY_APORED_HURT.setRegistryName(new ResourceLocation("spackenmobs:entities.apored.hurt"));
ModSoundEvents.ENTITY_APORED_HURT.setRegistryName(new ResourceLocation("spackenmobs:entities.apored.hurt")); event.getRegistry().register(ModSoundEvents.ENTITY_APORED_HURT);
event.getRegistry().register(ModSoundEvents.ENTITY_APORED_HURT); ModSoundEvents.ENTITY_APORED_DEATH.setRegistryName(new ResourceLocation("spackenmobs:entities.apored.death"));
ModSoundEvents.ENTITY_APORED_DEATH.setRegistryName(new ResourceLocation("spackenmobs:entities.apored.death")); event.getRegistry().register(ModSoundEvents.ENTITY_APORED_DEATH);
event.getRegistry().register(ModSoundEvents.ENTITY_APORED_DEATH);
// Drachenlord // Drachenlord
ModSoundEvents.ENTITY_DRACHENLORD_AMBIENT ModSoundEvents.ENTITY_DRACHENLORD_AMBIENT.setRegistryName(new ResourceLocation("spackenmobs:entities.drachenlord.ambient"));
.setRegistryName(new ResourceLocation("spackenmobs:entities.drachenlord.ambient")); event.getRegistry().register(ModSoundEvents.ENTITY_DRACHENLORD_AMBIENT);
event.getRegistry().register(ModSoundEvents.ENTITY_DRACHENLORD_AMBIENT); ModSoundEvents.ENTITY_DRACHENLORD_HURT.setRegistryName(new ResourceLocation("spackenmobs:entities.drachenlord.hurt"));
ModSoundEvents.ENTITY_DRACHENLORD_HURT event.getRegistry().register(ModSoundEvents.ENTITY_DRACHENLORD_HURT);
.setRegistryName(new ResourceLocation("spackenmobs:entities.drachenlord.hurt")); ModSoundEvents.ENTITY_DRACHENLORD_DEATH.setRegistryName(new ResourceLocation("spackenmobs:entities.drachenlord.death"));
event.getRegistry().register(ModSoundEvents.ENTITY_DRACHENLORD_HURT); event.getRegistry().register(ModSoundEvents.ENTITY_DRACHENLORD_DEATH);
ModSoundEvents.ENTITY_DRACHENLORD_DEATH ModSoundEvents.ENTITY_DRACHENLORD_ANGRY.setRegistryName(new ResourceLocation("spackenmobs:entities.drachenlord.angry"));
.setRegistryName(new ResourceLocation("spackenmobs:entities.drachenlord.death")); event.getRegistry().register(ModSoundEvents.ENTITY_DRACHENLORD_ANGRY);
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 // Schalker
ModSoundEvents.ENTITY_SCHALKER_AMBIENT ModSoundEvents.ENTITY_SCHALKER_AMBIENT.setRegistryName(new ResourceLocation("spackenmobs:entities.schalker.ambient"));
.setRegistryName(new ResourceLocation("spackenmobs:entities.schalker.ambient")); event.getRegistry().register(ModSoundEvents.ENTITY_SCHALKER_AMBIENT);
event.getRegistry().register(ModSoundEvents.ENTITY_SCHALKER_AMBIENT); ModSoundEvents.ENTITY_SCHALKER_DEATH.setRegistryName(new ResourceLocation("spackenmobs:entities.schalker.death"));
ModSoundEvents.ENTITY_SCHALKER_HURT.setRegistryName(new ResourceLocation("spackenmobs:entities.schalker.hurt")); event.getRegistry().register(ModSoundEvents.ENTITY_SCHALKER_DEATH);
event.getRegistry().register(ModSoundEvents.ENTITY_SCHALKER_HURT); ModSoundEvents.ENTITY_SCHALKER_OPEN.setRegistryName(new ResourceLocation("spackenmobs:entities.schalker.open"));
ModSoundEvents.ENTITY_SCHALKER_DEATH event.getRegistry().register(ModSoundEvents.ENTITY_SCHALKER_OPEN);
.setRegistryName(new ResourceLocation("spackenmobs:entities.schalker.death")); ModSoundEvents.ENTITY_SCHALKER_SHOOT.setRegistryName(new ResourceLocation("spackenmobs:entities.schalker.shoot"));
event.getRegistry().register(ModSoundEvents.ENTITY_SCHALKER_DEATH); event.getRegistry().register(ModSoundEvents.ENTITY_SCHALKER_SHOOT);
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 // Jens
ModSoundEvents.ENTITY_JENS_AMBIENT.setRegistryName(new ResourceLocation("spackenmobs:entities.jens.ambient")); ModSoundEvents.ENTITY_JENS_AMBIENT.setRegistryName(new ResourceLocation("spackenmobs:entities.jens.ambient"));
event.getRegistry().register(ModSoundEvents.ENTITY_JENS_AMBIENT); event.getRegistry().register(ModSoundEvents.ENTITY_JENS_AMBIENT);
ModSoundEvents.ENTITY_JENS_HURT.setRegistryName(new ResourceLocation("spackenmobs:entities.jens.hurt")); ModSoundEvents.ENTITY_JENS_HURT.setRegistryName(new ResourceLocation("spackenmobs:entities.jens.hurt"));
event.getRegistry().register(ModSoundEvents.ENTITY_JENS_HURT); event.getRegistry().register(ModSoundEvents.ENTITY_JENS_HURT);
ModSoundEvents.ENTITY_JENS_DEATH.setRegistryName(new ResourceLocation("spackenmobs:entities.jens.death")); ModSoundEvents.ENTITY_JENS_DEATH.setRegistryName(new ResourceLocation("spackenmobs:entities.jens.death"));
event.getRegistry().register(ModSoundEvents.ENTITY_JENS_DEATH); event.getRegistry().register(ModSoundEvents.ENTITY_JENS_DEATH);
ModSoundEvents.ENTITY_JENS_EAT.setRegistryName(new ResourceLocation("spackenmobs:entities.jens.eat")); ModSoundEvents.ENTITY_JENS_EAT.setRegistryName(new ResourceLocation("spackenmobs:entities.jens.eat"));
event.getRegistry().register(ModSoundEvents.ENTITY_JENS_EAT); event.getRegistry().register(ModSoundEvents.ENTITY_JENS_EAT);
ModSoundEvents.ENTITY_JENS_POOP.setRegistryName(new ResourceLocation("spackenmobs:entities.jens.poop")); ModSoundEvents.ENTITY_JENS_POOP.setRegistryName(new ResourceLocation("spackenmobs:entities.jens.poop"));
event.getRegistry().register(ModSoundEvents.ENTITY_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);
}
} }

View file

@ -10,16 +10,19 @@ import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.Side;
@EventBusSubscriber(value = Side.CLIENT, modid = Spackenmobs.MODID) @EventBusSubscriber(value = Side.CLIENT, modid = Spackenmobs.MODID)
public class RegHandlerModels { public class RegHandlerModels
@SubscribeEvent {
public static void registerModels(ModelRegistryEvent event) { @SubscribeEvent
registerModel(ModItems.RAM, 0); public static void registerModels(ModelRegistryEvent event)
registerModel(ModItems.RAM_ON_A_STICK, 0); {
registerModel(ModItems.SURSTROEMMING, 0); registerModel(ModItems.RAM, 0);
} registerModel(ModItems.RAM_ON_A_STICK, 0);
registerModel(ModItems.SURSTROEMMING, 0);
}
private static void registerModel(Item item, int meta) { private static void registerModel(Item item, int meta)
ModelLoader.setCustomModelResourceLocation(item, meta, {
new ModelResourceLocation(item.getRegistryName(), "inventory")); ModelLoader.setCustomModelResourceLocation(item, meta,
} new ModelResourceLocation(item.getRegistryName(), "inventory"));
}
} }

View file

@ -9,54 +9,61 @@ import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly; import net.minecraftforge.fml.relauncher.SideOnly;
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)
public class ModelSchalker extends ModelBase { public class ModelSchalker extends ModelBase
public final ModelRenderer base; {
public final ModelRenderer lid; public final ModelRenderer base;
public ModelRenderer head; public final ModelRenderer lid;
public ModelRenderer head;
public ModelSchalker() { public ModelSchalker()
this.textureHeight = 64; {
this.textureWidth = 64; this.textureHeight = 64;
this.lid = new ModelRenderer(this); this.textureWidth = 64;
this.base = new ModelRenderer(this); this.lid = new ModelRenderer(this);
this.head = new ModelRenderer(this); this.base = new ModelRenderer(this);
this.lid.setTextureOffset(0, 0).addBox(-8.0F, -16.0F, -8.0F, 16, 12, 16); this.head = new ModelRenderer(this);
this.lid.setRotationPoint(0.0F, 24.0F, 0.0F); this.lid.setTextureOffset(0, 0).addBox(-8.0F, -16.0F, -8.0F, 16, 12, 16);
this.base.setTextureOffset(0, 28).addBox(-8.0F, -8.0F, -8.0F, 16, 8, 16); this.lid.setRotationPoint(0.0F, 24.0F, 0.0F);
this.base.setRotationPoint(0.0F, 24.0F, 0.0F); this.base.setTextureOffset(0, 28).addBox(-8.0F, -8.0F, -8.0F, 16, 8, 16);
this.head.setTextureOffset(0, 52).addBox(-3.0F, 0.0F, -3.0F, 6, 6, 6); this.base.setRotationPoint(0.0F, 24.0F, 0.0F);
this.head.setRotationPoint(0.0F, 12.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 @Override
public void setRotationAngles(float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, public void setRotationAngles(float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw,
float headPitch, float scaleFactor, Entity entityIn) { float headPitch, float scaleFactor, Entity entityIn)
EntitySchalker EntitySchalker = (EntitySchalker)entityIn; {
float f = ageInTicks - EntitySchalker.ticksExisted; EntitySchalker EntitySchalker = (EntitySchalker) entityIn;
float f1 = (0.5F + EntitySchalker.getClientPeekAmount(f)) * (float)Math.PI; float f = ageInTicks - EntitySchalker.ticksExisted;
float f2 = -1.0F + MathHelper.sin(f1); float f1 = (0.5F + EntitySchalker.getClientPeekAmount(f)) * (float) Math.PI;
float f3 = 0.0F; float f2 = -1.0F + MathHelper.sin(f1);
float f3 = 0.0F;
if(f1 > (float)Math.PI) { if (f1 > (float) Math.PI)
f3 = MathHelper.sin(ageInTicks * 0.1F) * 0.7F; {
} 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) { if (EntitySchalker.getClientPeekAmount(f) > 0.3F)
this.lid.rotateAngleY = f2 * f2 * f2 * f2 * (float)Math.PI * 0.125F; {
}else { this.lid.rotateAngleY = f2 * f2 * f2 * f2 * (float) Math.PI * 0.125F;
this.lid.rotateAngleY = 0.0F; } else
} {
this.lid.rotateAngleY = 0.0F;
}
this.head.rotateAngleX = headPitch * 0.017453292F; this.head.rotateAngleX = headPitch * 0.017453292F;
this.head.rotateAngleY = netHeadYaw * 0.017453292F; this.head.rotateAngleY = netHeadYaw * 0.017453292F;
} }
@Override @Override
public void render(Entity entityIn, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, public void render(Entity entityIn, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw,
float headPitch, float scale) { float headPitch, float scale)
this.base.render(scale); {
this.lid.render(scale); this.base.render(scale);
} this.lid.render(scale);
}
} }

View file

@ -15,37 +15,45 @@ import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly; import net.minecraftforge.fml.relauncher.SideOnly;
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)
public class RenderApoRed extends RenderSkeleton { public class RenderApoRed extends RenderSkeleton
public static final Factory FACTORY = new Factory(); {
private static final ResourceLocation APORED_TEXTURE = new ResourceLocation( public static final Factory FACTORY = new Factory();
"spackenmobs:textures/entities/apored.png"); private static final ResourceLocation APORED_TEXTURE = new ResourceLocation(
"spackenmobs:textures/entities/apored.png");
public RenderApoRed(RenderManager renderManagerIn) { public RenderApoRed(RenderManager renderManagerIn)
super(renderManagerIn); {
this.addLayer(new LayerHeldItem(this)); super(renderManagerIn);
this.addLayer(new LayerBipedArmor(this) { this.addLayer(new LayerHeldItem(this));
@Override this.addLayer(new LayerBipedArmor(this)
protected void initArmor() { {
this.modelLeggings = new ModelSkeleton(0.5F, true); @Override
this.modelArmor = new ModelSkeleton(1.0F, true); protected void initArmor()
} {
}); this.modelLeggings = new ModelSkeleton(0.5F, true);
} this.modelArmor = new ModelSkeleton(1.0F, true);
}
});
}
@Override @Override
public void transformHeldFull3DItemLayer() { public void transformHeldFull3DItemLayer()
GlStateManager.translate(0.09375F, 0.1875F, 0.0F); {
} GlStateManager.translate(0.09375F, 0.1875F, 0.0F);
}
@Override @Override
protected ResourceLocation getEntityTexture(AbstractSkeleton entity) { protected ResourceLocation getEntityTexture(AbstractSkeleton entity)
return APORED_TEXTURE; {
} return APORED_TEXTURE;
}
public static class Factory implements IRenderFactory<EntityApoRed> { public static class Factory implements IRenderFactory<EntityApoRed>
@Override {
public Render<? super EntityApoRed> createRenderFor(RenderManager manager) { @Override
return new RenderApoRed(manager); public Render<? super EntityApoRed> createRenderFor(RenderManager manager)
} {
} return new RenderApoRed(manager);
}
}
} }

View file

@ -14,47 +14,56 @@ import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly; import net.minecraftforge.fml.relauncher.SideOnly;
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)
public class RenderBakaMitaiCreeper extends RenderCreeper { 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 static final Factory FACTORY = new Factory();
private static final ResourceLocation CREEPER_TEXTURE = new ResourceLocation("textures/entity/creeper/creeper.png");
public RenderBakaMitaiCreeper(RenderManager renderManagerIn) { public RenderBakaMitaiCreeper(RenderManager renderManagerIn)
super(renderManagerIn); {
this.addLayer(new LayerCreeperCharge(this)); super(renderManagerIn);
} this.addLayer(new LayerCreeperCharge(this));
}
protected int getColorMultiplier(EntityBakaMitaiCreeper entitylivingbaseIn, float lightBrightness, float partialTickTime) { protected int getColorMultiplier(EntityBakaMitaiCreeper entitylivingbaseIn, float lightBrightness, float partialTickTime)
float f = entitylivingbaseIn.getCreeperFlashIntensity(partialTickTime); {
float f = entitylivingbaseIn.getCreeperFlashIntensity(partialTickTime);
if((int)(f * 10.0F) % 2 == 0) { if ((int) (f * 10.0F) % 2 == 0)
return 0; {
}else { return 0;
int i = (int)(f * 0.2F * 255.0F); } else
i = MathHelper.clamp(i, 0, 255); {
return i << 24 | 822083583; int i = (int) (f * 0.2F * 255.0F);
} i = MathHelper.clamp(i, 0, 255);
} return i << 24 | 822083583;
}
}
@Override @Override
protected ResourceLocation getEntityTexture(EntityCreeper entity) { protected ResourceLocation getEntityTexture(EntityCreeper entity)
return CREEPER_TEXTURE; {
} return CREEPER_TEXTURE;
}
protected void preRenderCallback(EntityBakaMitaiCreeper entitylivingbaseIn, float partialTickTime) { protected void preRenderCallback(EntityBakaMitaiCreeper entitylivingbaseIn, float partialTickTime)
float f = entitylivingbaseIn.getCreeperFlashIntensity(partialTickTime); {
float f1 = 1.0F + MathHelper.sin(f * 100.0F) * f * 0.01F; float f = entitylivingbaseIn.getCreeperFlashIntensity(partialTickTime);
f = MathHelper.clamp(f, 0.0F, 1.0F); float f1 = 1.0F + MathHelper.sin(f * 100.0F) * f * 0.01F;
f = f * f; f = MathHelper.clamp(f, 0.0F, 1.0F);
f = f * f; f = f * f;
float f2 = (1.0F + f * 0.4F) * f1; f = f * f;
float f3 = (1.0F + f * 0.1F) / f1; float f2 = (1.0F + f * 0.4F) * f1;
GlStateManager.scale(f2, f3, f2); float f3 = (1.0F + f * 0.1F) / f1;
} GlStateManager.scale(f2, f3, f2);
}
public static class Factory implements IRenderFactory<EntityBakaMitaiCreeper> { public static class Factory implements IRenderFactory<EntityBakaMitaiCreeper>
@Override {
public Render<? super EntityBakaMitaiCreeper> createRenderFor(RenderManager manager) { @Override
return new RenderBakaMitaiCreeper(manager); public Render<? super EntityBakaMitaiCreeper> createRenderFor(RenderManager manager)
} {
} return new RenderBakaMitaiCreeper(manager);
}
}
} }

View file

@ -13,31 +13,38 @@ import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly; import net.minecraftforge.fml.relauncher.SideOnly;
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)
public class RenderDrachenlord extends RenderZombie { public class RenderDrachenlord extends RenderZombie
public static final Factory FACTORY = new Factory(); {
private static final ResourceLocation DRACHENLORD_TEXTURE = new ResourceLocation( public static final Factory FACTORY = new Factory();
"spackenmobs:textures/entities/drachenlord.png"); private static final ResourceLocation DRACHENLORD_TEXTURE = new ResourceLocation(
"spackenmobs:textures/entities/drachenlord.png");
public RenderDrachenlord(RenderManager renderManagerIn) { public RenderDrachenlord(RenderManager renderManagerIn)
super(renderManagerIn); {
this.addLayer(new LayerBipedArmor(this) { super(renderManagerIn);
@Override this.addLayer(new LayerBipedArmor(this)
protected void initArmor() { {
this.modelLeggings = new ModelZombie(0.5F, true); @Override
this.modelArmor = new ModelZombie(1.0F, true); protected void initArmor()
} {
}); this.modelLeggings = new ModelZombie(0.5F, true);
} this.modelArmor = new ModelZombie(1.0F, true);
}
});
}
@Override @Override
protected ResourceLocation getEntityTexture(EntityZombie entity) { protected ResourceLocation getEntityTexture(EntityZombie entity)
return DRACHENLORD_TEXTURE; {
} return DRACHENLORD_TEXTURE;
}
public static class Factory implements IRenderFactory<EntityDrachenlord> { public static class Factory implements IRenderFactory<EntityDrachenlord>
@Override {
public Render<? super EntityDrachenlord> createRenderFor(RenderManager manager) { @Override
return new RenderDrachenlord(manager); public Render<? super EntityDrachenlord> createRenderFor(RenderManager manager)
} {
} return new RenderDrachenlord(manager);
}
}
} }

View file

@ -11,24 +11,29 @@ import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly; import net.minecraftforge.fml.relauncher.SideOnly;
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)
public class RenderHolzstammhuhn extends RenderChicken { public class RenderHolzstammhuhn extends RenderChicken
public static final Factory FACTORY = new Factory(); {
private static final ResourceLocation HOLZSTAMMHUHN_TEXTURE = new ResourceLocation( public static final Factory FACTORY = new Factory();
"spackenmobs:textures/entities/holzstammhuhn.png"); private static final ResourceLocation HOLZSTAMMHUHN_TEXTURE = new ResourceLocation(
"spackenmobs:textures/entities/holzstammhuhn.png");
public RenderHolzstammhuhn(RenderManager renderManagerIn) { public RenderHolzstammhuhn(RenderManager renderManagerIn)
super(renderManagerIn); {
} super(renderManagerIn);
}
@Override @Override
protected ResourceLocation getEntityTexture(EntityChicken entity) { protected ResourceLocation getEntityTexture(EntityChicken entity)
return HOLZSTAMMHUHN_TEXTURE; {
} return HOLZSTAMMHUHN_TEXTURE;
}
public static class Factory implements IRenderFactory<EntityHolzstammhuhn> { public static class Factory implements IRenderFactory<EntityHolzstammhuhn>
@Override {
public Render<? super EntityHolzstammhuhn> createRenderFor(RenderManager manager) { @Override
return new RenderHolzstammhuhn(manager); public Render<? super EntityHolzstammhuhn> createRenderFor(RenderManager manager)
} {
} return new RenderHolzstammhuhn(manager);
}
}
} }

View file

@ -12,25 +12,30 @@ import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly; import net.minecraftforge.fml.relauncher.SideOnly;
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)
public class RenderIslamist extends RenderCreeper { public class RenderIslamist extends RenderCreeper
public static final Factory FACTORY = new Factory(); {
private static final ResourceLocation ISLAMIST_TEXTURE = new ResourceLocation( public static final Factory FACTORY = new Factory();
"spackenmobs:textures/entities/islamist.png"); private static final ResourceLocation ISLAMIST_TEXTURE = new ResourceLocation(
"spackenmobs:textures/entities/islamist.png");
public RenderIslamist(RenderManager renderManagerIn) { public RenderIslamist(RenderManager renderManagerIn)
super(renderManagerIn); {
this.addLayer(new LayerCreeperCharge(this)); super(renderManagerIn);
} this.addLayer(new LayerCreeperCharge(this));
}
@Override @Override
protected ResourceLocation getEntityTexture(EntityCreeper entity) { protected ResourceLocation getEntityTexture(EntityCreeper entity)
return ISLAMIST_TEXTURE; {
} return ISLAMIST_TEXTURE;
}
public static class Factory implements IRenderFactory<EntityIslamist> { public static class Factory implements IRenderFactory<EntityIslamist>
@Override {
public Render<? super EntityIslamist> createRenderFor(RenderManager manager) { @Override
return new RenderIslamist(manager); public Render<? super EntityIslamist> createRenderFor(RenderManager manager)
} {
} return new RenderIslamist(manager);
}
}
} }

View file

@ -11,23 +11,28 @@ import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly; import net.minecraftforge.fml.relauncher.SideOnly;
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)
public class RenderJens extends RenderBiped<EntityJens> { public class RenderJens extends RenderBiped<EntityJens>
public static final Factory FACTORY = new Factory(); {
private static final ResourceLocation JENS_TEXTURE = new ResourceLocation("spackenmobs:textures/entities/jens.png"); public static final Factory FACTORY = new Factory();
private static final ResourceLocation JENS_TEXTURE = new ResourceLocation("spackenmobs:textures/entities/jens.png");
public RenderJens(RenderManager renderManagerIn) { public RenderJens(RenderManager renderManagerIn)
super(renderManagerIn, new ModelBiped(), 0.25F); {
} super(renderManagerIn, new ModelBiped(), 0.25F);
}
@Override @Override
protected ResourceLocation getEntityTexture(EntityJens entity) { protected ResourceLocation getEntityTexture(EntityJens entity)
return JENS_TEXTURE; {
} return JENS_TEXTURE;
}
private static class Factory implements IRenderFactory<EntityJens> { private static class Factory implements IRenderFactory<EntityJens>
@Override {
public Render<? super EntityJens> createRenderFor(RenderManager manager) { @Override
return new RenderJens(manager); public Render<? super EntityJens> createRenderFor(RenderManager manager)
} {
} return new RenderJens(manager);
}
}
} }

View file

@ -13,32 +13,39 @@ import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly; import net.minecraftforge.fml.relauncher.SideOnly;
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)
public class RenderMarcellDAvis extends RenderZombie { public class RenderMarcellDAvis extends RenderZombie
public static final Factory FACTORY = new Factory(); {
private static final ResourceLocation MARCELLDAVIS_TEXTURE = new ResourceLocation( public static final Factory FACTORY = new Factory();
"spackenmobs:textures/entities/marcell_davis.png"); private static final ResourceLocation MARCELLDAVIS_TEXTURE = new ResourceLocation(
"spackenmobs:textures/entities/marcell_davis.png");
public RenderMarcellDAvis(RenderManager renderManagerIn) { public RenderMarcellDAvis(RenderManager renderManagerIn)
super(renderManagerIn); {
LayerBipedArmor layerbipedarmor = new LayerBipedArmor(this) { super(renderManagerIn);
@Override LayerBipedArmor layerbipedarmor = new LayerBipedArmor(this)
protected void initArmor() { {
this.modelLeggings = new ModelZombie(0.5F, true); @Override
this.modelArmor = new ModelZombie(1.0F, true); protected void initArmor()
} {
}; this.modelLeggings = new ModelZombie(0.5F, true);
this.addLayer(layerbipedarmor); this.modelArmor = new ModelZombie(1.0F, true);
} }
};
this.addLayer(layerbipedarmor);
}
@Override @Override
protected ResourceLocation getEntityTexture(EntityZombie entity) { protected ResourceLocation getEntityTexture(EntityZombie entity)
return MARCELLDAVIS_TEXTURE; {
} return MARCELLDAVIS_TEXTURE;
}
public static class Factory implements IRenderFactory<EntityMarcellDAvis> { public static class Factory implements IRenderFactory<EntityMarcellDAvis>
@Override {
public Render<? super EntityMarcellDAvis> createRenderFor(RenderManager manager) { @Override
return new RenderMarcellDAvis(manager); public Render<? super EntityMarcellDAvis> createRenderFor(RenderManager manager)
} {
} return new RenderMarcellDAvis(manager);
}
}
} }

View file

@ -13,32 +13,39 @@ import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly; import net.minecraftforge.fml.relauncher.SideOnly;
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)
public class RenderMrBean extends RenderZombie { public class RenderMrBean extends RenderZombie
public static final Factory FACTORY = new Factory(); {
private static final ResourceLocation MRBEAN_TEXTURE = new ResourceLocation( public static final Factory FACTORY = new Factory();
"spackenmobs:textures/entities/mr_bean.png"); private static final ResourceLocation MRBEAN_TEXTURE = new ResourceLocation(
"spackenmobs:textures/entities/mr_bean.png");
public RenderMrBean(RenderManager renderManagerIn) { public RenderMrBean(RenderManager renderManagerIn)
super(renderManagerIn); {
LayerBipedArmor layerbipedarmor = new LayerBipedArmor(this) { super(renderManagerIn);
@Override LayerBipedArmor layerbipedarmor = new LayerBipedArmor(this)
protected void initArmor() { {
this.modelLeggings = new ModelZombie(0.5F, true); @Override
this.modelArmor = new ModelZombie(1.0F, true); protected void initArmor()
} {
}; this.modelLeggings = new ModelZombie(0.5F, true);
this.addLayer(layerbipedarmor); this.modelArmor = new ModelZombie(1.0F, true);
} }
};
this.addLayer(layerbipedarmor);
}
@Override @Override
protected ResourceLocation getEntityTexture(EntityZombie entity) { protected ResourceLocation getEntityTexture(EntityZombie entity)
return MRBEAN_TEXTURE; {
} return MRBEAN_TEXTURE;
}
public static class Factory implements IRenderFactory<EntityMrBean> { public static class Factory implements IRenderFactory<EntityMrBean>
@Override {
public Render<? super EntityMrBean> createRenderFor(RenderManager manager) { @Override
return new RenderMrBean(manager); public Render<? super EntityMrBean> createRenderFor(RenderManager manager)
} {
} return new RenderMrBean(manager);
}
}
} }

View file

@ -17,179 +17,198 @@ import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly; import net.minecraftforge.fml.relauncher.SideOnly;
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)
public class RenderSchalker extends RenderLiving<EntitySchalker> { public class RenderSchalker extends RenderLiving<EntitySchalker>
public static final ResourceLocation[] SCHALKER_TEXTURE = new ResourceLocation[]{ {
new ResourceLocation("spackenmobs:textures/entities/schalker.png"), 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"),
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(); new ResourceLocation("spackenmobs:textures/entities/schalker.png")};
public static final Factory FACTORY = new Factory();
public RenderSchalker(RenderManager p_i47194_1_) { public RenderSchalker(RenderManager p_i47194_1_)
super(p_i47194_1_, new ModelSchalker(), 0.0F); {
this.addLayer(new RenderSchalker.HeadLayer()); super(p_i47194_1_, new ModelSchalker(), 0.0F);
} this.addLayer(new RenderSchalker.HeadLayer());
}
@Override @Override
public ModelSchalker getMainModel() { public ModelSchalker getMainModel()
return (ModelSchalker)super.getMainModel(); {
} return (ModelSchalker) super.getMainModel();
}
@Override @Override
public void doRender(EntitySchalker entity, double x, double y, double z, float entityYaw, float partialTicks) { public void doRender(EntitySchalker entity, double x, double y, double z, float entityYaw, float partialTicks)
int i = entity.getClientTeleportInterp(); {
int i = entity.getClientTeleportInterp();
if(i > 0 && entity.isAttachedToBlock()) { if (i > 0 && entity.isAttachedToBlock())
BlockPos blockpos = entity.getAttachmentPos(); {
BlockPos blockpos1 = entity.getOldAttachPos(); BlockPos blockpos = entity.getAttachmentPos();
double d0 = (i - partialTicks) / 6.0D; BlockPos blockpos1 = entity.getOldAttachPos();
d0 = d0 * d0; double d0 = (i - partialTicks) / 6.0D;
double d1 = (blockpos.getX() - blockpos1.getX()) * d0; d0 = d0 * d0;
double d2 = (blockpos.getY() - blockpos1.getY()) * d0; double d1 = (blockpos.getX() - blockpos1.getX()) * d0;
double d3 = (blockpos.getZ() - blockpos1.getZ()) * d0; double d2 = (blockpos.getY() - blockpos1.getY()) * d0;
super.doRender(entity, x - d1, y - d2, z - d3, entityYaw, partialTicks); double d3 = (blockpos.getZ() - blockpos1.getZ()) * d0;
}else { super.doRender(entity, x - d1, y - d2, z - d3, entityYaw, partialTicks);
super.doRender(entity, x, y, z, entityYaw, partialTicks); } else
} {
} super.doRender(entity, x, y, z, entityYaw, partialTicks);
}
}
@Override @Override
public boolean shouldRender(EntitySchalker livingEntity, ICamera camera, double camX, double camY, double camZ) { public boolean shouldRender(EntitySchalker livingEntity, ICamera camera, double camX, double camY, double camZ)
if(super.shouldRender(livingEntity, camera, camX, camY, camZ)) { {
return true; if (super.shouldRender(livingEntity, camera, camX, camY, camZ))
}else { {
if(livingEntity.getClientTeleportInterp() > 0 && livingEntity.isAttachedToBlock()) { return true;
BlockPos blockpos = livingEntity.getOldAttachPos(); } else
BlockPos blockpos1 = livingEntity.getAttachmentPos(); {
Vec3d vec3d = new Vec3d(blockpos1.getX(), blockpos1.getY(), blockpos1.getZ()); if (livingEntity.getClientTeleportInterp() > 0 && livingEntity.isAttachedToBlock())
Vec3d vec3d1 = new Vec3d(blockpos.getX(), blockpos.getY(), blockpos.getZ()); {
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( return camera.isBoundingBoxInFrustum(
new AxisAlignedBB(vec3d1.x, vec3d1.y, vec3d1.z, vec3d.x, vec3d.y, vec3d.z))) { new AxisAlignedBB(vec3d1.x, vec3d1.y, vec3d1.z, vec3d.x, vec3d.y, vec3d.z));
return true; }
}
}
return false; return false;
} }
} }
@Override @Override
protected ResourceLocation getEntityTexture(EntitySchalker entity) { protected ResourceLocation getEntityTexture(EntitySchalker entity)
return SCHALKER_TEXTURE[entity.getColor().getMetadata()]; {
} return SCHALKER_TEXTURE[entity.getColor().getMetadata()];
}
@Override @Override
protected void applyRotations(EntitySchalker entityLiving, float p_77043_2_, float rotationYaw, protected void applyRotations(EntitySchalker entityLiving, float p_77043_2_, float rotationYaw,
float partialTicks) { float partialTicks)
super.applyRotations(entityLiving, p_77043_2_, rotationYaw, partialTicks); {
super.applyRotations(entityLiving, p_77043_2_, rotationYaw, partialTicks);
switch(entityLiving.getAttachmentFacing()) { switch (entityLiving.getAttachmentFacing())
case DOWN: {
default: case DOWN:
break; default:
case EAST: break;
GlStateManager.translate(0.5F, 0.5F, 0.0F); case EAST:
GlStateManager.rotate(90.0F, 1.0F, 0.0F, 0.0F); GlStateManager.translate(0.5F, 0.5F, 0.0F);
GlStateManager.rotate(90.0F, 0.0F, 0.0F, 1.0F); GlStateManager.rotate(90.0F, 1.0F, 0.0F, 0.0F);
break; GlStateManager.rotate(90.0F, 0.0F, 0.0F, 1.0F);
case WEST: break;
GlStateManager.translate(-0.5F, 0.5F, 0.0F); case WEST:
GlStateManager.rotate(90.0F, 1.0F, 0.0F, 0.0F); GlStateManager.translate(-0.5F, 0.5F, 0.0F);
GlStateManager.rotate(-90.0F, 0.0F, 0.0F, 1.0F); GlStateManager.rotate(90.0F, 1.0F, 0.0F, 0.0F);
break; GlStateManager.rotate(-90.0F, 0.0F, 0.0F, 1.0F);
case NORTH: break;
GlStateManager.translate(0.0F, 0.5F, -0.5F); case NORTH:
GlStateManager.rotate(90.0F, 1.0F, 0.0F, 0.0F); GlStateManager.translate(0.0F, 0.5F, -0.5F);
break; GlStateManager.rotate(90.0F, 1.0F, 0.0F, 0.0F);
case SOUTH: break;
GlStateManager.translate(0.0F, 0.5F, 0.5F); case SOUTH:
GlStateManager.rotate(90.0F, 1.0F, 0.0F, 0.0F); GlStateManager.translate(0.0F, 0.5F, 0.5F);
GlStateManager.rotate(180.0F, 0.0F, 0.0F, 1.0F); GlStateManager.rotate(90.0F, 1.0F, 0.0F, 0.0F);
break; GlStateManager.rotate(180.0F, 0.0F, 0.0F, 1.0F);
case UP: break;
GlStateManager.translate(0.0F, 1.0F, 0.0F); case UP:
GlStateManager.rotate(180.0F, 1.0F, 0.0F, 0.0F); GlStateManager.translate(0.0F, 1.0F, 0.0F);
} GlStateManager.rotate(180.0F, 1.0F, 0.0F, 0.0F);
} }
}
@Override @Override
protected void preRenderCallback(EntitySchalker entitylivingbaseIn, float partialTickTime) { protected void preRenderCallback(EntitySchalker entitylivingbaseIn, float partialTickTime)
float f = 0.999F; {
GlStateManager.scale(0.999F, 0.999F, 0.999F); float f = 0.999F;
} GlStateManager.scale(0.999F, 0.999F, 0.999F);
}
public static class Factory implements IRenderFactory<EntitySchalker> { public static class Factory implements IRenderFactory<EntitySchalker>
@Override {
public Render<? super EntitySchalker> createRenderFor(RenderManager manager) { @Override
return new RenderSchalker(manager); public Render<? super EntitySchalker> createRenderFor(RenderManager manager)
} {
} return new RenderSchalker(manager);
}
}
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)
class HeadLayer implements LayerRenderer<EntitySchalker> { class HeadLayer implements LayerRenderer<EntitySchalker>
private HeadLayer() { {
} private HeadLayer()
{
}
@Override @Override
public void doRenderLayer(EntitySchalker entitylivingbaseIn, float limbSwing, float limbSwingAmount, public void doRenderLayer(EntitySchalker entitylivingbaseIn, float limbSwing, float limbSwingAmount,
float partialTicks, float ageInTicks, float netHeadYaw, float headPitch, float scale) { float partialTicks, float ageInTicks, float netHeadYaw, float headPitch, float scale)
GlStateManager.pushMatrix(); {
GlStateManager.pushMatrix();
switch(entitylivingbaseIn.getAttachmentFacing()) { switch (entitylivingbaseIn.getAttachmentFacing())
case DOWN: {
default: case DOWN:
break; default:
case EAST: break;
GlStateManager.rotate(90.0F, 0.0F, 0.0F, 1.0F); case EAST:
GlStateManager.rotate(90.0F, 1.0F, 0.0F, 0.0F); GlStateManager.rotate(90.0F, 0.0F, 0.0F, 1.0F);
GlStateManager.translate(1.0F, -1.0F, 0.0F); GlStateManager.rotate(90.0F, 1.0F, 0.0F, 0.0F);
GlStateManager.rotate(180.0F, 0.0F, 1.0F, 0.0F); GlStateManager.translate(1.0F, -1.0F, 0.0F);
break; GlStateManager.rotate(180.0F, 0.0F, 1.0F, 0.0F);
case WEST: break;
GlStateManager.rotate(-90.0F, 0.0F, 0.0F, 1.0F); case WEST:
GlStateManager.rotate(90.0F, 1.0F, 0.0F, 0.0F); GlStateManager.rotate(-90.0F, 0.0F, 0.0F, 1.0F);
GlStateManager.translate(-1.0F, -1.0F, 0.0F); GlStateManager.rotate(90.0F, 1.0F, 0.0F, 0.0F);
GlStateManager.rotate(180.0F, 0.0F, 1.0F, 0.0F); GlStateManager.translate(-1.0F, -1.0F, 0.0F);
break; GlStateManager.rotate(180.0F, 0.0F, 1.0F, 0.0F);
case NORTH: break;
GlStateManager.rotate(90.0F, 1.0F, 0.0F, 0.0F); case NORTH:
GlStateManager.translate(0.0F, -1.0F, -1.0F); GlStateManager.rotate(90.0F, 1.0F, 0.0F, 0.0F);
break; GlStateManager.translate(0.0F, -1.0F, -1.0F);
case SOUTH: break;
GlStateManager.rotate(180.0F, 0.0F, 0.0F, 1.0F); case SOUTH:
GlStateManager.rotate(90.0F, 1.0F, 0.0F, 0.0F); GlStateManager.rotate(180.0F, 0.0F, 0.0F, 1.0F);
GlStateManager.translate(0.0F, -1.0F, 1.0F); GlStateManager.rotate(90.0F, 1.0F, 0.0F, 0.0F);
break; GlStateManager.translate(0.0F, -1.0F, 1.0F);
case UP: break;
GlStateManager.rotate(180.0F, 1.0F, 0.0F, 0.0F); case UP:
GlStateManager.translate(0.0F, -2.0F, 0.0F); 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 modelrenderer = RenderSchalker.this.getMainModel().head;
modelrenderer.rotateAngleY = netHeadYaw * 0.017453292F; modelrenderer.rotateAngleY = netHeadYaw * 0.017453292F;
modelrenderer.rotateAngleX = headPitch * 0.017453292F; modelrenderer.rotateAngleX = headPitch * 0.017453292F;
RenderSchalker.this RenderSchalker.this
.bindTexture(RenderSchalker.SCHALKER_TEXTURE[entitylivingbaseIn.getColor().getMetadata()]); .bindTexture(RenderSchalker.SCHALKER_TEXTURE[entitylivingbaseIn.getColor().getMetadata()]);
modelrenderer.render(scale); modelrenderer.render(scale);
GlStateManager.popMatrix(); GlStateManager.popMatrix();
} }
@Override @Override
public boolean shouldCombineTextures() { public boolean shouldCombineTextures()
return false; {
} return false;
} }
}
} }

View file

@ -12,25 +12,30 @@ import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly; import net.minecraftforge.fml.relauncher.SideOnly;
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)
public class RenderSmavaCreeper extends RenderCreeper { public class RenderSmavaCreeper extends RenderCreeper
public static final Factory FACTORY = new Factory(); {
private static final ResourceLocation SMAVA_TEXTURE = new ResourceLocation( public static final Factory FACTORY = new Factory();
"spackenmobs:textures/entities/smava_creeper.png"); private static final ResourceLocation SMAVA_TEXTURE = new ResourceLocation(
"spackenmobs:textures/entities/smava_creeper.png");
public RenderSmavaCreeper(RenderManager renderManagerIn) { public RenderSmavaCreeper(RenderManager renderManagerIn)
super(renderManagerIn); {
this.addLayer(new LayerCreeperCharge(this)); super(renderManagerIn);
} this.addLayer(new LayerCreeperCharge(this));
}
@Override @Override
protected ResourceLocation getEntityTexture(EntityCreeper entity) { protected ResourceLocation getEntityTexture(EntityCreeper entity)
return SMAVA_TEXTURE; {
} return SMAVA_TEXTURE;
}
public static class Factory implements IRenderFactory<EntitySmavaCreeper> { public static class Factory implements IRenderFactory<EntitySmavaCreeper>
@Override {
public Render<? super EntitySmavaCreeper> createRenderFor(RenderManager manager) { @Override
return new RenderSmavaCreeper(manager); public Render<? super EntitySmavaCreeper> createRenderFor(RenderManager manager)
} {
} return new RenderSmavaCreeper(manager);
}
}
} }

View file

@ -13,48 +13,58 @@ import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly; import net.minecraftforge.fml.relauncher.SideOnly;
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)
public class RenderWolfMZTE extends RenderWolf { public class RenderWolfMZTE extends RenderWolf
public static final Factory FACTORY = new Factory(); {
private static final ResourceLocation WOLFMZTE_TEXTURE = new ResourceLocation( public static final Factory FACTORY = new Factory();
"spackenmobs:textures/entities/wolfmzte.png"); private static final ResourceLocation WOLFMZTE_TEXTURE = new ResourceLocation(
private static final ResourceLocation TAMED_WOLFMZTE_TEXTURE = new ResourceLocation( "spackenmobs:textures/entities/wolfmzte.png");
"spackenmobs:textures/entities/wolfmzte_tame.png"); private static final ResourceLocation TAMED_WOLFMZTE_TEXTURE = new ResourceLocation(
private static final ResourceLocation ANRGY_WOLFMZTE_TEXTURE = new ResourceLocation( "spackenmobs:textures/entities/wolfmzte_tame.png");
"spackenmobs:textures/entities/wolfmzte_angry.png"); private static final ResourceLocation ANRGY_WOLFMZTE_TEXTURE = new ResourceLocation(
"spackenmobs:textures/entities/wolfmzte_angry.png");
public RenderWolfMZTE(RenderManager renderManagerIn) { public RenderWolfMZTE(RenderManager renderManagerIn)
super(renderManagerIn); {
this.addLayer(new LayerWolfCollar(this)); super(renderManagerIn);
} this.addLayer(new LayerWolfCollar(this));
}
@Override @Override
protected float handleRotationFloat(EntityWolf livingBase, float partialTicks) { protected float handleRotationFloat(EntityWolf livingBase, float partialTicks)
return livingBase.getTailRotation(); {
} return livingBase.getTailRotation();
}
@Override @Override
public void doRender(EntityWolf entity, double x, double y, double z, float entityYaw, float partialTicks) { 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); if (entity.isWolfWet())
GlStateManager.color(f, f, f); {
} 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 @Override
protected ResourceLocation getEntityTexture(EntityWolf entity) { protected ResourceLocation getEntityTexture(EntityWolf entity)
if(entity.isTamed()) { {
return TAMED_WOLFMZTE_TEXTURE; if (entity.isTamed())
}else { {
return entity.isAngry() ? ANRGY_WOLFMZTE_TEXTURE : WOLFMZTE_TEXTURE; return TAMED_WOLFMZTE_TEXTURE;
} } else
} {
return entity.isAngry() ? ANRGY_WOLFMZTE_TEXTURE : WOLFMZTE_TEXTURE;
}
}
public static class Factory implements IRenderFactory<EntityWolfMZTE> { public static class Factory implements IRenderFactory<EntityWolfMZTE>
@Override {
public Render<? super EntityWolfMZTE> createRenderFor(RenderManager manager) { @Override
return new RenderWolfMZTE(manager); public Render<? super EntityWolfMZTE> createRenderFor(RenderManager manager)
} {
} return new RenderWolfMZTE(manager);
}
}
} }

View file

@ -1,26 +1,31 @@
{ {
"pools": [{ "pools": [
"name": "jens", {
"rolls": 1, "name": "jens",
"entries": [{ "rolls": 1,
"type": "item", "entries": [
"name": "spackenmobs:ram", {
"weight": 1, "type": "item",
"functions": [{ "name": "spackenmobs:ram",
"function": "set_count", "weight": 1,
"count": { "functions": [
"min": 1, {
"max": 3 "function": "set_count",
} "count": {
}, "min": 1,
{ "max": 3
"function": "looting_enchant", }
"count": { },
"min": 0, {
"max": 1 "function": "looting_enchant",
} "count": {
} "min": 0,
] "max": 1
}] }
}] }
]
}
]
}
]
} }

View file

@ -1,6 +1,6 @@
{ {
"parent": "item/generated", "parent": "item/generated",
"textures": { "textures": {
"layer0": "spackenmobs:items/ram" "layer0": "spackenmobs:items/ram"
} }
} }

View file

@ -1,6 +1,6 @@
{ {
"parent": "item/handheld_rod", "parent": "item/handheld_rod",
"textures": { "textures": {
"layer0": "spackenmobs:items/ram_on_a_stick" "layer0": "spackenmobs:items/ram_on_a_stick"
} }
} }

View file

@ -1,6 +1,6 @@
{ {
"parent": "item/generated", "parent": "item/generated",
"textures": { "textures": {
"layer0": "spackenmobs:items/surstroemming" "layer0": "spackenmobs:items/surstroemming"
} }
} }

File diff suppressed because it is too large Load diff