From 4f7ad220df0438b6f3382110577b53f29da46453 Mon Sep 17 00:00:00 2001 From: bculkin2442 Date: Thu, 24 May 2018 15:50:07 -0400 Subject: Update of all changes --- .../jewelrycraft/entities/EntityHalfHeart.java | 33 +-- .../jewelrycraft/entities/EntityHeart.java | 310 +++++++++++---------- .../jewelrycraft/entities/EntityList.java | 51 ++-- .../jewelrycraft/entities/renders/HeartRender.java | 107 +++---- .../entities/renders/RenderHelper.java | 34 +-- 5 files changed, 285 insertions(+), 250 deletions(-) mode change 100644 => 100755 src/main/java/darkknight/jewelrycraft/entities/EntityHalfHeart.java mode change 100644 => 100755 src/main/java/darkknight/jewelrycraft/entities/EntityHeart.java mode change 100644 => 100755 src/main/java/darkknight/jewelrycraft/entities/EntityList.java mode change 100644 => 100755 src/main/java/darkknight/jewelrycraft/entities/renders/HeartRender.java mode change 100644 => 100755 src/main/java/darkknight/jewelrycraft/entities/renders/RenderHelper.java (limited to 'src/main/java/darkknight/jewelrycraft/entities') diff --git a/src/main/java/darkknight/jewelrycraft/entities/EntityHalfHeart.java b/src/main/java/darkknight/jewelrycraft/entities/EntityHalfHeart.java old mode 100644 new mode 100755 index 06bf7b7..259bf13 --- a/src/main/java/darkknight/jewelrycraft/entities/EntityHalfHeart.java +++ b/src/main/java/darkknight/jewelrycraft/entities/EntityHalfHeart.java @@ -6,22 +6,19 @@ import net.minecraft.world.World; /** * @author Sorin */ -public class EntityHalfHeart extends EntityHeart -{ - public EntityHalfHeart(World world) - { - super(world); - } - - protected void entityInit() - { - super.entityInit(); - this.dataWatcher.updateObject(17, 1f); - } - - @Override - public void onCollideWithPlayer(EntityPlayer player) - { - super.onCollideWithPlayer(player); - } +public class EntityHalfHeart extends EntityHeart { + public EntityHalfHeart(World world) { + super(world); + } + + @Override + protected void entityInit() { + super.entityInit(); + this.dataWatcher.updateObject(17, 1f); + } + + @Override + public void onCollideWithPlayer(EntityPlayer player) { + super.onCollideWithPlayer(player); + } } diff --git a/src/main/java/darkknight/jewelrycraft/entities/EntityHeart.java b/src/main/java/darkknight/jewelrycraft/entities/EntityHeart.java old mode 100644 new mode 100755 index f84a23a..cbfc21a --- a/src/main/java/darkknight/jewelrycraft/entities/EntityHeart.java +++ b/src/main/java/darkknight/jewelrycraft/entities/EntityHeart.java @@ -26,149 +26,169 @@ import net.minecraft.world.World; /** * @author Sorin */ -public class EntityHeart extends EntityLiving -{ - public EntityHeart(World world) - { - super(world); - this.setSize(0.4F, 0.4F); - } - - protected void applyEntityAttributes() - { - super.applyEntityAttributes(); - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(getQuantity()); - } - - @Override - public void updateEntityActionState() - { - if (ConfigHandler.HEARTS_DESPAWN) - ++this.entityAge; - this.setCanPickUpLoot(true); - } - - public void onLivingUpdate() - { - super.onLivingUpdate(); - if (ConfigHandler.HEARTS_DESPAWN && this.entityAge > ConfigHandler.HEART_DESPAWN_TIME) - this.setDead(); - } - - protected void collideWithEntity(Entity entity) - { - super.collideWithEntity(entity); - if (!this.worldObj.isRemote && entity instanceof EntityHeart && getType().equals(((EntityHeart)entity).getType())) { - setQuantity(getQuantity() + ((EntityHeart)entity).getQuantity()); - entity.setDead(); - } - } - - @Override - public void onCollideWithPlayer(EntityPlayer player) - { - if (!this.worldObj.isRemote) { - NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); - if (playerInfo != null) { - if (getType().equals("Red") && player.getHealth() < player.getMaxHealth()) { - float healAmount = player.getMaxHealth() - player.getHealth(); - if (getQuantity() > healAmount) { - player.heal(healAmount); - this.setQuantity(getQuantity() - healAmount); - }else{ - player.heal(getQuantity()); - this.setDead(); - } - }else - if (getType().equals("White") && playerInfo.getFloat("WhiteHeart") > 0.1F) { - playerInfo.setFloat(getType() + "Heart", 0F); - if (player.getMaxHealth() < 40F) { - player.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(player.getMaxHealth() + 2f); - player.setHealth(player.getHealth() + 2f); - } - JewelrycraftMod.netWrapper.sendTo(new PacketSendClientPlayerInfo(playerInfo), (EntityPlayerMP)player); - this.setDead(); - }else - if (!getType().equals("Red") && ((getType().equals("Black") && playerInfo.getFloat("BlackHeart") <= ConfigHandler.MAX_BLACK_HEARTS_PICKUP) || (getType().equals("Blue") && playerInfo.getFloat("BlueHeart") <= ConfigHandler.MAX_BLUE_HEARTS_PICKUP) || getType().equals("White"))) { - if (playerInfo.hasKey(getType() + "Heart")) - playerInfo.setFloat(getType() + "Heart", playerInfo.getFloat(getType() + "Heart") + getQuantity()); - else playerInfo.setFloat(getType() + "Heart", getQuantity()); - JewelrycraftMod.netWrapper.sendTo(new PacketSendClientPlayerInfo(playerInfo), (EntityPlayerMP)player); - this.setDead(); - } - } - } - } - - public void onDeath(DamageSource source) - { - super.onDeath(source); - if (source.getEntity() != null && source.getEntity() instanceof EntityPlayer) - ((EntityPlayer)source.getEntity()).addChatMessage(new ChatComponentText(StatCollector.translateToLocal("chatmessage." + Variables.MODID + ".heartKilled." + this.getType()))); - } - - @SideOnly (Side.CLIENT) - public boolean canRenderOnFire() - { - return false; - } - - protected void entityInit() - { - super.entityInit(); - this.dataWatcher.addObject(16, "Red"); - this.dataWatcher.addObject(17, 2f); - } - - public void writeEntityToNBT(NBTTagCompound nbt) - { - super.writeEntityToNBT(nbt); - nbt.setString("Type", getType()); - nbt.setFloat("Quantity", getQuantity()); - } - - /** - * (abstract) Protected helper method to read subclass entity data from NBT. - */ - public void readEntityFromNBT(NBTTagCompound nbt) - { - super.readEntityFromNBT(nbt); - setType(nbt.getString("Type")); - setQuantity(nbt.getFloat("Quantity")); - } - - public String getType() - { - return this.dataWatcher.getWatchableObjectString(16); - } - - public void setType(String type) - { - this.dataWatcher.updateObject(16, type); - } - - public Float getQuantity() - { - return this.dataWatcher.getWatchableObjectFloat(17); - } - - public void setQuantity(Float qty) - { - this.dataWatcher.updateObject(17, qty); - } - - public EnumCreatureAttribute getCreatureAttribute() - { - return JewelrycraftUtil.HEART; - } - - public boolean isEntityInvulnerable() - { - return false; - } - - public boolean canPickUpLoot() - { - return false; - } +public class EntityHeart extends EntityLiving { + public EntityHeart(World world) { + super(world); + this.setSize(0.4F, 0.4F); + } + + @Override + protected void applyEntityAttributes() { + super.applyEntityAttributes(); + this.getEntityAttribute(SharedMonsterAttributes.maxHealth) + .setBaseValue(getQuantity()); + } + + @Override + public void updateEntityActionState() { + if (ConfigHandler.HEARTS_DESPAWN) + ++this.entityAge; + this.setCanPickUpLoot(true); + } + + @Override + public void onLivingUpdate() { + super.onLivingUpdate(); + if (ConfigHandler.HEARTS_DESPAWN + && this.entityAge > ConfigHandler.HEART_DESPAWN_TIME) + this.setDead(); + } + + @Override + protected void collideWithEntity(Entity entity) { + super.collideWithEntity(entity); + if (!this.worldObj.isRemote && entity instanceof EntityHeart + && getType().equals(((EntityHeart) entity).getType())) { + setQuantity( + getQuantity() + ((EntityHeart) entity).getQuantity()); + entity.setDead(); + } + } + + @Override + public void onCollideWithPlayer(EntityPlayer player) { + if (!this.worldObj.isRemote) { + NBTTagCompound playerInfo = PlayerUtils + .getModPlayerPersistTag(player, Variables.MODID); + if (playerInfo != null) { + if (getType().equals("Red") + && player.getHealth() < player.getMaxHealth()) { + float healAmount = + player.getMaxHealth() - player.getHealth(); + if (getQuantity() > healAmount) { + player.heal(healAmount); + this.setQuantity(getQuantity() - healAmount); + } else { + player.heal(getQuantity()); + this.setDead(); + } + } else if (getType().equals("White") + && playerInfo.getFloat("WhiteHeart") > 0.1F) { + playerInfo.setFloat(getType() + "Heart", 0F); + if (player.getMaxHealth() < 40F) { + player.getEntityAttribute( + SharedMonsterAttributes.maxHealth) + .setBaseValue(player.getMaxHealth() + 2f); + player.setHealth(player.getHealth() + 2f); + } + JewelrycraftMod.netWrapper.sendTo( + new PacketSendClientPlayerInfo(playerInfo), + (EntityPlayerMP) player); + this.setDead(); + } else if (!getType().equals("Red") + && ((getType().equals("Black") + && playerInfo.getFloat( + "BlackHeart") <= ConfigHandler.MAX_BLACK_HEARTS_PICKUP) + || (getType().equals("Blue") + && playerInfo.getFloat( + "BlueHeart") <= ConfigHandler.MAX_BLUE_HEARTS_PICKUP) + || getType().equals("White"))) { + if (playerInfo.hasKey(getType() + "Heart")) + playerInfo.setFloat(getType() + "Heart", + playerInfo.getFloat(getType() + "Heart") + + getQuantity()); + else + playerInfo.setFloat(getType() + "Heart", + getQuantity()); + JewelrycraftMod.netWrapper.sendTo( + new PacketSendClientPlayerInfo(playerInfo), + (EntityPlayerMP) player); + this.setDead(); + } + } + } + } + + @Override + public void onDeath(DamageSource source) { + super.onDeath(source); + if (source.getEntity() != null + && source.getEntity() instanceof EntityPlayer) + ((EntityPlayer) source.getEntity()).addChatMessage( + new ChatComponentText(StatCollector.translateToLocal( + "chatmessage." + Variables.MODID + + ".heartKilled." + this.getType()))); + } + + @Override + @SideOnly(Side.CLIENT) + public boolean canRenderOnFire() { + return false; + } + + @Override + protected void entityInit() { + super.entityInit(); + this.dataWatcher.addObject(16, "Red"); + this.dataWatcher.addObject(17, 2f); + } + + @Override + public void writeEntityToNBT(NBTTagCompound nbt) { + super.writeEntityToNBT(nbt); + nbt.setString("Type", getType()); + nbt.setFloat("Quantity", getQuantity()); + } + + /** + * (abstract) Protected helper method to read subclass entity data from + * NBT. + */ + @Override + public void readEntityFromNBT(NBTTagCompound nbt) { + super.readEntityFromNBT(nbt); + setType(nbt.getString("Type")); + setQuantity(nbt.getFloat("Quantity")); + } + + public String getType() { + return this.dataWatcher.getWatchableObjectString(16); + } + + public void setType(String type) { + this.dataWatcher.updateObject(16, type); + } + + public Float getQuantity() { + return this.dataWatcher.getWatchableObjectFloat(17); + } + + public void setQuantity(Float qty) { + this.dataWatcher.updateObject(17, qty); + } + + @Override + public EnumCreatureAttribute getCreatureAttribute() { + return JewelrycraftUtil.HEARTS; + } + + @Override + public boolean isEntityInvulnerable() { + return false; + } + + @Override + public boolean canPickUpLoot() { + return false; + } } diff --git a/src/main/java/darkknight/jewelrycraft/entities/EntityList.java b/src/main/java/darkknight/jewelrycraft/entities/EntityList.java old mode 100644 new mode 100755 index ceb2625..8a23598 --- a/src/main/java/darkknight/jewelrycraft/entities/EntityList.java +++ b/src/main/java/darkknight/jewelrycraft/entities/EntityList.java @@ -7,27 +7,38 @@ import darkknight.jewelrycraft.item.ItemSpawnEgg; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLiving; -public class EntityList -{ - public static void preInit(FMLPreInitializationEvent e) - { - registerEntity(1, EntityHeart.class, "Heart", 0x000000, 0xFF0000); //Red - ItemSpawnEgg.registerSpawnEgg(EntityHeart.class, "Heart", 2, 0x000000, 0xFFFFFF); // White - ItemSpawnEgg.registerSpawnEgg(EntityHeart.class, "Heart", 3, 0x000000, 0x006BBD); // Blue - ItemSpawnEgg.registerSpawnEgg(EntityHeart.class, "Heart", 4, 0x000000, 0x404040); // Black - - registerEntity(5, EntityHalfHeart.class, "HalfHeart", 0x000000, 0xFF0000); // Red - ItemSpawnEgg.registerSpawnEgg(EntityHalfHeart.class, "HalfHeart", 6, 0x000000, 0xFFFFFF); // White - ItemSpawnEgg.registerSpawnEgg(EntityHalfHeart.class, "HalfHeart", 7, 0x000000, 0x006BBD); // Blue - ItemSpawnEgg.registerSpawnEgg(EntityHalfHeart.class, "HalfHeart", 8, 0x000000, 0x404040); // Black - - } - private static final void registerEntity(int id, Class entityClass, String name) { - EntityRegistry.registerModEntity(entityClass, name, id, JewelrycraftMod.instance, 256, 1, true); +public class EntityList { + public static void preInit(FMLPreInitializationEvent e) { + registerEntity(1, EntityHeart.class, "Heart", 0x000000, 0xFF0000); // Red + ItemSpawnEgg.registerSpawnEgg(EntityHeart.class, "Heart", 2, + 0x000000, 0xFFFFFF); // White + ItemSpawnEgg.registerSpawnEgg(EntityHeart.class, "Heart", 3, + 0x000000, 0x006BBD); // Blue + ItemSpawnEgg.registerSpawnEgg(EntityHeart.class, "Heart", 4, + 0x000000, 0x404040); // Black + + registerEntity(5, EntityHalfHeart.class, "HalfHeart", 0x000000, + 0xFF0000); // Red + ItemSpawnEgg.registerSpawnEgg(EntityHalfHeart.class, "HalfHeart", + 6, 0x000000, 0xFFFFFF); // White + ItemSpawnEgg.registerSpawnEgg(EntityHalfHeart.class, "HalfHeart", + 7, 0x000000, 0x006BBD); // Blue + ItemSpawnEgg.registerSpawnEgg(EntityHalfHeart.class, "HalfHeart", + 8, 0x000000, 0x404040); // Black + } - - private static final void registerEntity(int id, Class entityClass, String name, int eggBackgroundColor, int eggForegroundColor) { + + private static final void registerEntity(int id, + Class entityClass, String name) { + EntityRegistry.registerModEntity(entityClass, name, id, + JewelrycraftMod.instance, 256, 1, true); + } + + private static final void registerEntity(int id, + Class entityClass, String name, + int eggBackgroundColor, int eggForegroundColor) { registerEntity(id, entityClass, name); - ItemSpawnEgg.registerSpawnEgg(entityClass, name, id, eggBackgroundColor, eggForegroundColor); + ItemSpawnEgg.registerSpawnEgg(entityClass, name, id, + eggBackgroundColor, eggForegroundColor); } } diff --git a/src/main/java/darkknight/jewelrycraft/entities/renders/HeartRender.java b/src/main/java/darkknight/jewelrycraft/entities/renders/HeartRender.java old mode 100644 new mode 100755 index d25ecbe..41f7a85 --- a/src/main/java/darkknight/jewelrycraft/entities/renders/HeartRender.java +++ b/src/main/java/darkknight/jewelrycraft/entities/renders/HeartRender.java @@ -1,7 +1,9 @@ package darkknight.jewelrycraft.entities.renders; import java.util.Random; + import org.lwjgl.opengl.GL11; + import darkknight.jewelrycraft.entities.EntityHeart; import darkknight.jewelrycraft.util.Variables; import net.minecraft.client.model.ModelBase; @@ -13,55 +15,58 @@ import net.minecraft.util.ResourceLocation; /** * @author Sorin */ -public class HeartRender extends RenderLiving -{ - protected ResourceLocation texture; - Random rnd = new Random(); - - public HeartRender(ModelBase modelBase, float shadowSize) - { - super(modelBase, shadowSize); - } - - protected void renderModel(EntityLivingBase entity, float x, float y, float z, float rot1, float rot2, float rot3) - { - super.renderModel(entity, x, y, z, rot1, rot2, rot3); - rnd.setSeed(1542372345); - if (((EntityHeart)entity).getQuantity() > 2f){ - for(int i = 0; i < ((EntityHeart)entity).getQuantity() / 10f; i++){ - float posX = rnd.nextFloat() * 0.2f * (rnd.nextBoolean()?1:-1); - float posY = rnd.nextFloat() * 0.2f * (rnd.nextBoolean()?1:-1); - float rotY = rnd.nextFloat() * 35f * (rnd.nextBoolean()?1:-1); - float rotZ = rnd.nextFloat() * 35f * (rnd.nextBoolean()?1:-1); - GL11.glTranslatef(-0.15F, 0.0F, 0.0F); - GL11.glTranslatef(posX, posY, 0F); - GL11.glRotatef(rotY, 0F, 1F, 0F); - GL11.glRotatef(rotZ, 0F, 0F, 1F); - GL11.glPushMatrix(); - this.mainModel.render(entity, x, y, z, rot1, rot2, rot3); - GL11.glPopMatrix(); - } - } - } - - @Override - protected void preRenderCallback(EntityLivingBase entity, float f) - { - preRenderCallbackHeart((EntityHeart)entity, f); - } - - protected void preRenderCallbackHeart(EntityHeart entity, float f) - { - GL11.glScalef(0.4F, 0.4F, 0.4F); - GL11.glRotatef(55F, 1F, 0F, 0F); - String type = entity.getType(); - if (type == "" || type == null) type = "Red"; - texture = new ResourceLocation(Variables.MODID, "textures/entities/" + type + "Heart.png"); - } - - @Override - protected ResourceLocation getEntityTexture(Entity par1Entity) - { - return texture; - } +public class HeartRender extends RenderLiving { + protected ResourceLocation texture; + Random rnd = new Random(); + + public HeartRender(ModelBase modelBase, float shadowSize) { + super(modelBase, shadowSize); + } + + @Override + protected void renderModel(EntityLivingBase entity, float x, float y, + float z, float rot1, float rot2, float rot3) { + super.renderModel(entity, x, y, z, rot1, rot2, rot3); + rnd.setSeed(1542372345); + if (((EntityHeart) entity).getQuantity() > 2f) { + for (int i = 0; i < ((EntityHeart) entity).getQuantity() / 10f; + i++) { + float posX = rnd.nextFloat() * 0.2f + * (rnd.nextBoolean() ? 1 : -1); + float posY = rnd.nextFloat() * 0.2f + * (rnd.nextBoolean() ? 1 : -1); + float rotY = rnd.nextFloat() * 35f + * (rnd.nextBoolean() ? 1 : -1); + float rotZ = rnd.nextFloat() * 35f + * (rnd.nextBoolean() ? 1 : -1); + GL11.glTranslatef(-0.15F, 0.0F, 0.0F); + GL11.glTranslatef(posX, posY, 0F); + GL11.glRotatef(rotY, 0F, 1F, 0F); + GL11.glRotatef(rotZ, 0F, 0F, 1F); + GL11.glPushMatrix(); + this.mainModel.render(entity, x, y, z, rot1, rot2, rot3); + GL11.glPopMatrix(); + } + } + } + + @Override + protected void preRenderCallback(EntityLivingBase entity, float f) { + preRenderCallbackHeart((EntityHeart) entity, f); + } + + protected void preRenderCallbackHeart(EntityHeart entity, float f) { + GL11.glScalef(0.4F, 0.4F, 0.4F); + GL11.glRotatef(55F, 1F, 0F, 0F); + String type = entity.getType(); + if (type == "" || type == null) + type = "Red"; + texture = new ResourceLocation(Variables.MODID, + "textures/entities/" + type + "Heart.png"); + } + + @Override + protected ResourceLocation getEntityTexture(Entity par1Entity) { + return texture; + } } diff --git a/src/main/java/darkknight/jewelrycraft/entities/renders/RenderHelper.java b/src/main/java/darkknight/jewelrycraft/entities/renders/RenderHelper.java old mode 100644 new mode 100755 index 9fd3c62..8080251 --- a/src/main/java/darkknight/jewelrycraft/entities/renders/RenderHelper.java +++ b/src/main/java/darkknight/jewelrycraft/entities/renders/RenderHelper.java @@ -1,23 +1,25 @@ package darkknight.jewelrycraft.entities.renders; import org.lwjgl.opengl.GL11; + import net.minecraft.client.Minecraft; import net.minecraft.entity.player.EntityPlayer; -public class RenderHelper -{ - public static void rotateIfSneaking(EntityPlayer player) - { - if (player.isSneaking()) applySneakingRotation(); - } - - public static void applySneakingRotation() - { - GL11.glRotatef(28.64789F, 1.0F, 0.0F, 0.0F); - } - - public static void translateToHeadLevel(EntityPlayer player) - { - GL11.glTranslated(0, (player != Minecraft.getMinecraft().thePlayer ? 1.62F : 0F) - player.getDefaultEyeHeight() + (player.isSneaking() ? 0.0625 : 0), 0); - } +public class RenderHelper { + public static void rotateIfSneaking(EntityPlayer player) { + if (player.isSneaking()) + applySneakingRotation(); + } + + public static void applySneakingRotation() { + GL11.glRotatef(28.64789F, 1.0F, 0.0F, 0.0F); + } + + public static void translateToHeadLevel(EntityPlayer player) { + GL11.glTranslated(0, + (player != Minecraft.getMinecraft().thePlayer ? 1.62F : 0F) + - player.getDefaultEyeHeight() + + (player.isSneaking() ? 0.0625 : 0), + 0); + } } \ No newline at end of file -- cgit v1.2.3