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 --- .../darkknight/jewelrycraft/curses/CurseBlind.java | 80 +++---- .../jewelrycraft/curses/CurseDeathsTouch.java | 58 ++--- .../jewelrycraft/curses/CurseDoubleDown.java | 61 +++++ .../jewelrycraft/curses/CurseFlamingSoul.java | 46 ++-- .../darkknight/jewelrycraft/curses/CurseGreed.java | 57 +++-- .../jewelrycraft/curses/CurseHumbleBundle.java | 94 ++++---- .../curses/CurseIncredibleDevotion.java | 39 ++++ .../jewelrycraft/curses/CurseInfamy.java | 138 +++++++----- .../darkknight/jewelrycraft/curses/CurseList.java | 112 +++++++--- .../jewelrycraft/curses/CurseMidasTouch.java | 248 ++++++++++++++------- .../jewelrycraft/curses/CurseMoneyEqualsPower.java | 108 +++++++++ .../jewelrycraft/curses/CursePentagram.java | 156 ++++++++++--- .../jewelrycraft/curses/CurseRabbitsPaw.java | 84 +++---- .../jewelrycraft/curses/CurseRottenHeart.java | 68 +++--- .../jewelrycraft/curses/CurseSacredOath.java | 26 +++ .../jewelrycraft/curses/CurseScionOfHell.java | 46 ++++ .../jewelrycraft/curses/CurseVampireHunger.java | 67 +++--- 17 files changed, 1019 insertions(+), 469 deletions(-) mode change 100644 => 100755 src/main/java/darkknight/jewelrycraft/curses/CurseBlind.java mode change 100644 => 100755 src/main/java/darkknight/jewelrycraft/curses/CurseDeathsTouch.java create mode 100755 src/main/java/darkknight/jewelrycraft/curses/CurseDoubleDown.java mode change 100644 => 100755 src/main/java/darkknight/jewelrycraft/curses/CurseFlamingSoul.java mode change 100644 => 100755 src/main/java/darkknight/jewelrycraft/curses/CurseGreed.java mode change 100644 => 100755 src/main/java/darkknight/jewelrycraft/curses/CurseHumbleBundle.java create mode 100755 src/main/java/darkknight/jewelrycraft/curses/CurseIncredibleDevotion.java mode change 100644 => 100755 src/main/java/darkknight/jewelrycraft/curses/CurseInfamy.java mode change 100644 => 100755 src/main/java/darkknight/jewelrycraft/curses/CurseList.java mode change 100644 => 100755 src/main/java/darkknight/jewelrycraft/curses/CurseMidasTouch.java create mode 100755 src/main/java/darkknight/jewelrycraft/curses/CurseMoneyEqualsPower.java mode change 100644 => 100755 src/main/java/darkknight/jewelrycraft/curses/CursePentagram.java mode change 100644 => 100755 src/main/java/darkknight/jewelrycraft/curses/CurseRabbitsPaw.java mode change 100644 => 100755 src/main/java/darkknight/jewelrycraft/curses/CurseRottenHeart.java create mode 100644 src/main/java/darkknight/jewelrycraft/curses/CurseSacredOath.java create mode 100755 src/main/java/darkknight/jewelrycraft/curses/CurseScionOfHell.java mode change 100644 => 100755 src/main/java/darkknight/jewelrycraft/curses/CurseVampireHunger.java (limited to 'src/main/java/darkknight/jewelrycraft/curses') diff --git a/src/main/java/darkknight/jewelrycraft/curses/CurseBlind.java b/src/main/java/darkknight/jewelrycraft/curses/CurseBlind.java old mode 100644 new mode 100755 index 800718c..8996605 --- a/src/main/java/darkknight/jewelrycraft/curses/CurseBlind.java +++ b/src/main/java/darkknight/jewelrycraft/curses/CurseBlind.java @@ -1,6 +1,7 @@ package darkknight.jewelrycraft.curses; import java.util.Random; + import darkknight.jewelrycraft.api.Curse; import darkknight.jewelrycraft.config.ConfigHandler; import darkknight.jewelrycraft.util.Variables; @@ -10,45 +11,48 @@ import net.minecraft.potion.PotionEffect; import net.minecraft.util.StatCollector; import net.minecraft.world.World; -public class CurseBlind extends Curse -{ - public CurseBlind(String name, int txtID, String pack) - { - super(name, txtID, pack); - } - - @Override - public void action(World world, EntityPlayer player) - { - if (!player.isPotionActive(Potion.blindness) || player.getActivePotionEffect(Potion.blindness).getDuration() < 30) player.addPotionEffect(new PotionEffect(Potion.blindness.id, 60)); - } - - public String getDescription() - { - return StatCollector.translateToLocal("curse." + Variables.MODID + ".blind.description"); - } - - @Override - public boolean canCurseBeActivated(World world) - { - return world.getWorldInfo().isHardcoreModeEnabled() ? false : ConfigHandler.CURSE_BLIND; - } - - @Override - public boolean canCurseBeActivated() - { - return ConfigHandler.CURSE_BLIND; - } - - @Override - public int weight(World world, EntityPlayer player, Random random) - { - return 7; - } +public class CurseBlind extends Curse { + public CurseBlind(String name, int txtID, String pack) { + super(name, txtID, pack); + } + + @Override + public void action(World world, EntityPlayer player) { + if (!player.isPotionActive(Potion.blindness) + || player.getActivePotionEffect(Potion.blindness) + .getDuration() < 30) + player.addPotionEffect( + new PotionEffect(Potion.blindness.id, 60)); + } + + @Override + public String getDescription() { + return StatCollector.translateToLocal( + "curse." + Variables.MODID + ".blind.description"); + } + + @Override + public boolean canCurseBeActivated(World world) { + if (world.getWorldInfo().isHardcoreModeEnabled()) { + return false; + } + + return ConfigHandler.CURSE_BLIND; + } + + @Override + public boolean canCurseBeActivated() { + return ConfigHandler.CURSE_BLIND; + } + + @Override + public int weight(World world, EntityPlayer player, Random random) { + return 7; + } @Override - public String getDisplayName() - { - return StatCollector.translateToLocal("curse." + Variables.MODID + ".blind"); + public String getDisplayName() { + return StatCollector + .translateToLocal("curse." + Variables.MODID + ".blind"); } } diff --git a/src/main/java/darkknight/jewelrycraft/curses/CurseDeathsTouch.java b/src/main/java/darkknight/jewelrycraft/curses/CurseDeathsTouch.java old mode 100644 new mode 100755 index 92e2dfa..aeb3e22 --- a/src/main/java/darkknight/jewelrycraft/curses/CurseDeathsTouch.java +++ b/src/main/java/darkknight/jewelrycraft/curses/CurseDeathsTouch.java @@ -10,35 +10,37 @@ import net.minecraft.util.StatCollector; import net.minecraft.world.World; import net.minecraftforge.event.entity.living.LivingAttackEvent; -public class CurseDeathsTouch extends Curse -{ - public CurseDeathsTouch(String name, int txtID, String pack) - { - super(name, txtID, pack); - } - - @Override - public boolean attackedByPlayerActionCancelable(LivingAttackEvent event, World world, EntityPlayer player, Entity target) - { - if (!world.isRemote) target.attackEntityFrom(DamageSource.wither, event.ammount); - return true; - } - - public String getDescription() - { - return StatCollector.translateToLocal("curse." + Variables.MODID + ".deathsTouch.description"); - } - +public class CurseDeathsTouch extends Curse { + public CurseDeathsTouch(String name, int txtID, String pack) { + super(name, txtID, pack); + } + + @Override + public boolean attackedByPlayerActionCancelable( + LivingAttackEvent event, World world, EntityPlayer player, + Entity target) { + if (!world.isRemote) { + target.attackEntityFrom(DamageSource.wither, event.ammount); + } + + return true; + } + + @Override + public String getDescription() { + return StatCollector.translateToLocal( + "curse." + Variables.MODID + ".deathsTouch.description"); + } + + @Override + public String getDisplayName() { + return StatCollector.translateToLocal( + "curse." + Variables.MODID + ".deathsTouch"); + } + @Override - public String getDisplayName() - { - return StatCollector.translateToLocal("curse." + Variables.MODID + ".deathsTouch"); + public boolean canCurseBeActivated() { + return ConfigHandler.CURSE_DEATHS_TOUCH; } - @Override - public boolean canCurseBeActivated() - { - return ConfigHandler.CURSE_DEATHS_TOUCH; - } - } diff --git a/src/main/java/darkknight/jewelrycraft/curses/CurseDoubleDown.java b/src/main/java/darkknight/jewelrycraft/curses/CurseDoubleDown.java new file mode 100755 index 0000000..d1d872b --- /dev/null +++ b/src/main/java/darkknight/jewelrycraft/curses/CurseDoubleDown.java @@ -0,0 +1,61 @@ +package darkknight.jewelrycraft.curses; + +import darkknight.jewelrycraft.api.Curse; +import darkknight.jewelrycraft.config.ConfigHandler; +import darkknight.jewelrycraft.damage.DamageSourceList; +import darkknight.jewelrycraft.util.Variables; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.util.StatCollector; +import net.minecraft.world.World; +import net.minecraftforge.event.entity.living.LivingAttackEvent; + +public class CurseDoubleDown extends Curse { + public CurseDoubleDown(String name, int txtID, String pack) { + super(name, txtID, pack); + } + + @Override + public void attackedAction(World world, EntityPlayer player, + LivingAttackEvent event, Entity attacker) { + if (event.source.damageType.equals("doubleDown")) { + return; // Don't stack double down + } + + player.attackEntityFrom(DamageSourceList.doubleDown, + event.ammount); + } + + @Override + public void attackedByPlayerAction(LivingAttackEvent event, + World world, EntityPlayer player, Entity target) { + if (event.source.damageType.equals("doubleDown")) { + return; // Don't stack double down + } + + target.attackEntityFrom(DamageSourceList.doubleDown, + event.ammount); + } + + @Override + public boolean canCurseBeActivated() { + return ConfigHandler.CURSE_DOUBLE_DOWN; + } + + @Override + public String getDescription() { + return StatCollector.translateToLocal( + "curse." + Variables.MODID + ".doubledown.description"); + } + + @Override + public String getDisplayName() { + return StatCollector.translateToLocal( + "curse." + Variables.MODID + ".doubledown"); + } + + @Override + public int luck() { + return 5; + } +} diff --git a/src/main/java/darkknight/jewelrycraft/curses/CurseFlamingSoul.java b/src/main/java/darkknight/jewelrycraft/curses/CurseFlamingSoul.java old mode 100644 new mode 100755 index 6772d92..e808c84 --- a/src/main/java/darkknight/jewelrycraft/curses/CurseFlamingSoul.java +++ b/src/main/java/darkknight/jewelrycraft/curses/CurseFlamingSoul.java @@ -8,32 +8,30 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.util.StatCollector; import net.minecraft.world.World; -public class CurseFlamingSoul extends Curse -{ - public CurseFlamingSoul(String name, int txtID, String pack) - { - super(name, txtID, pack); - } - - public void attackedByPlayerAction(World world, EntityPlayer player, Entity target) - { - player.setFire(5); - } - - public String getDescription() - { - return StatCollector.translateToLocal("curse." + Variables.MODID + ".flamingsoul.description"); - } +public class CurseFlamingSoul extends Curse { + public CurseFlamingSoul(String name, int txtID, String pack) { + super(name, txtID, pack); + } + + public void attackedByPlayerAction(World world, EntityPlayer player, + Entity target) { + player.setFire(5); + } + + @Override + public String getDescription() { + return StatCollector.translateToLocal( + "curse." + Variables.MODID + ".flamingsoul.description"); + } - @Override - public boolean canCurseBeActivated() - { - return ConfigHandler.CURSE_FLAMING_SOUL; - } + @Override + public boolean canCurseBeActivated() { + return ConfigHandler.CURSE_FLAMING_SOUL; + } @Override - public String getDisplayName() - { - return StatCollector.translateToLocal("curse." + Variables.MODID + ".flamingsoul"); + public String getDisplayName() { + return StatCollector.translateToLocal( + "curse." + Variables.MODID + ".flamingsoul"); } } diff --git a/src/main/java/darkknight/jewelrycraft/curses/CurseGreed.java b/src/main/java/darkknight/jewelrycraft/curses/CurseGreed.java old mode 100644 new mode 100755 index 5e535b8..5d8d29c --- a/src/main/java/darkknight/jewelrycraft/curses/CurseGreed.java +++ b/src/main/java/darkknight/jewelrycraft/curses/CurseGreed.java @@ -7,38 +7,35 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.util.StatCollector; import net.minecraft.world.World; -public class CurseGreed extends Curse -{ - public CurseGreed(String name, int txtID, String pack) - { - super(name, txtID, pack); - } - - @Override - public void action(World world, EntityPlayer player) - { - } - - @Override - public boolean itemToss() - { - return true; - } - - public String getDescription() - { - return StatCollector.translateToLocal("curse." + Variables.MODID + ".greed.description"); - } +public class CurseGreed extends Curse { + public CurseGreed(String name, int txtID, String pack) { + super(name, txtID, pack); + } + + @Override + public void action(World world, EntityPlayer player) { + // Do nothing + } + + @Override + public boolean itemToss() { + return true; + } + + @Override + public String getDescription() { + return StatCollector.translateToLocal( + "curse." + Variables.MODID + ".greed.description"); + } - @Override - public boolean canCurseBeActivated() - { - return ConfigHandler.CURSE_GREED; - } + @Override + public boolean canCurseBeActivated() { + return ConfigHandler.CURSE_GREED; + } @Override - public String getDisplayName() - { - return StatCollector.translateToLocal("curse." + Variables.MODID + ".greed"); + public String getDisplayName() { + return StatCollector + .translateToLocal("curse." + Variables.MODID + ".greed"); } } diff --git a/src/main/java/darkknight/jewelrycraft/curses/CurseHumbleBundle.java b/src/main/java/darkknight/jewelrycraft/curses/CurseHumbleBundle.java old mode 100644 new mode 100755 index 3d0f582..3ad73f2 --- a/src/main/java/darkknight/jewelrycraft/curses/CurseHumbleBundle.java +++ b/src/main/java/darkknight/jewelrycraft/curses/CurseHumbleBundle.java @@ -4,6 +4,7 @@ package darkknight.jewelrycraft.curses; import java.util.ArrayList; + import darkknight.jewelrycraft.api.Curse; import darkknight.jewelrycraft.config.ConfigHandler; import darkknight.jewelrycraft.util.Variables; @@ -20,53 +21,56 @@ import net.minecraftforge.event.world.BlockEvent; * @author Sorin * */ -public class CurseHumbleBundle extends Curse -{ - protected CurseHumbleBundle(String name, int txtID, String texturepack) - { - super(name, txtID, texturepack); - } - - @Override - public void entityDropItems(EntityPlayer player, Entity target, ArrayList drops) - { - for(EntityItem item: drops){ - ItemStack drop = item.getEntityItem().copy(); - target.entityDropItem(drop, 0.5F); - } - } - - public void onBlockItemsDrop(EntityPlayer player, BlockEvent.HarvestDropsEvent event) - { - for(ItemStack item: event.drops){ - ItemStack drop = item.copy(); - if(drop.getItem() != Item.getItemFromBlock(event.block)) dropItem(event.world, event.x, event.y, event.z, drop); - } - } - - public void dropItem(World world, double x, double y, double z, ItemStack stack) - { - EntityItem entityitem = new EntityItem(world, x + 0.5D, y + 0.5D, z + 0.5D, stack); - entityitem.motionX = 0; - entityitem.motionZ = 0; - entityitem.motionY = 0.11000000298023224D; - world.spawnEntityInWorld(entityitem); - } - - public String getDescription() - { - return StatCollector.translateToLocal("curse." + Variables.MODID + ".humblebundle.description"); - } +public class CurseHumbleBundle extends Curse { + protected CurseHumbleBundle(String name, int txtID, + String texturepack) { + super(name, txtID, texturepack); + } + + @Override + public void entityDropItems(EntityPlayer player, Entity target, + ArrayList drops) { + for (EntityItem item : drops) { + ItemStack drop = item.getEntityItem().copy(); + target.entityDropItem(drop, 0.5F); + } + } + + @Override + public void onBlockItemsDrop(EntityPlayer player, + BlockEvent.HarvestDropsEvent event) { + for (ItemStack item : event.drops) { + ItemStack drop = item.copy(); + + if (drop.getItem() != Item.getItemFromBlock(event.block)) + dropItem(event.world, event.x, event.y, event.z, drop); + } + } + + public void dropItem(World world, double x, double y, double z, + ItemStack stack) { + EntityItem entityitem = + new EntityItem(world, x + 0.5D, y + 0.5D, z + 0.5D, stack); + entityitem.motionX = 0; + entityitem.motionZ = 0; + entityitem.motionY = 0.11000000298023224D; + world.spawnEntityInWorld(entityitem); + } + + @Override + public String getDescription() { + return StatCollector.translateToLocal( + "curse." + Variables.MODID + ".humblebundle.description"); + } @Override - public String getDisplayName() - { - return StatCollector.translateToLocal("curse." + Variables.MODID + ".humblebundle"); + public String getDisplayName() { + return StatCollector.translateToLocal( + "curse." + Variables.MODID + ".humblebundle"); } - @Override - public boolean canCurseBeActivated() - { - return ConfigHandler.CURSE_HUMBLE_BUNDLE; - } + @Override + public boolean canCurseBeActivated() { + return ConfigHandler.CURSE_HUMBLE_BUNDLE; + } } diff --git a/src/main/java/darkknight/jewelrycraft/curses/CurseIncredibleDevotion.java b/src/main/java/darkknight/jewelrycraft/curses/CurseIncredibleDevotion.java new file mode 100755 index 0000000..43fa756 --- /dev/null +++ b/src/main/java/darkknight/jewelrycraft/curses/CurseIncredibleDevotion.java @@ -0,0 +1,39 @@ +package darkknight.jewelrycraft.curses; + +import darkknight.jewelrycraft.api.Curse; +import darkknight.jewelrycraft.config.ConfigHandler; +import darkknight.jewelrycraft.util.Variables; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.util.StatCollector; +import net.minecraft.world.World; + +public class CurseIncredibleDevotion extends Curse { + protected CurseIncredibleDevotion(String name, int txtID, + String texturepack) { + super(name, txtID, texturepack); + } + + @Override + public void entityDeathAction(World world, EntityLivingBase target, + EntityPlayer player) { + if (rand.nextInt(10) == 0) { + world.createExplosion(target, target.posX, target.posY, + target.posZ, target.getMaxHealth() / (10.0f + * (1 / ConfigHandler.DEVOTION_FACTOR)), + true); + } + } + + @Override + public String getDisplayName() { + return StatCollector.translateToLocal( + "curse." + Variables.MODID + ".incredibledevotion"); + } + + @Override + public String getDescription() { + return StatCollector.translateToLocal("curse." + Variables.MODID + + ".incredibledevotion.description"); + } +} diff --git a/src/main/java/darkknight/jewelrycraft/curses/CurseInfamy.java b/src/main/java/darkknight/jewelrycraft/curses/CurseInfamy.java old mode 100644 new mode 100755 index 4f91244..8d99006 --- a/src/main/java/darkknight/jewelrycraft/curses/CurseInfamy.java +++ b/src/main/java/darkknight/jewelrycraft/curses/CurseInfamy.java @@ -1,6 +1,7 @@ package darkknight.jewelrycraft.curses; import org.lwjgl.opengl.GL11; + import darkknight.jewelrycraft.JewelrycraftMod; import darkknight.jewelrycraft.api.Curse; import darkknight.jewelrycraft.config.ConfigHandler; @@ -25,63 +26,88 @@ import net.minecraft.world.World; import net.minecraftforge.client.event.RenderPlayerEvent; import net.minecraftforge.event.entity.living.LivingAttackEvent; -public class CurseInfamy extends Curse -{ - public CurseInfamy(String name, int txtID, String pack) - { - super(name, txtID, pack); - } - - @Override - public void attackedByPlayerAction(LivingAttackEvent event, World world, EntityPlayer player, Entity target) - { - if (rand.nextInt(5) == 0 && !world.isRemote && !(target instanceof EntityMob) && target instanceof EntityLiving && !(target instanceof EntityHeart) && !(target instanceof EntityHalfHeart) && target.canAttackWithItem()){ - NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); - playerInfo.setFloat("BlackHeart", playerInfo.getFloat("BlackHeart") + 1.0F); - if (player.getMaxHealth() >= 3F){ - player.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(player.getMaxHealth() - 1.0F); - player.setHealth(player.getHealth() - 1.0F); - } - JewelrycraftUtil.addCursePoints(player, 10); - JewelrycraftMod.netWrapper.sendToAll(new PacketSendServerPlayersInfo()); - JewelrycraftMod.netWrapper.sendTo(new PacketSendClientPlayerInfo(playerInfo), (EntityPlayerMP)player); - } - } - - @Override - public void playerRender(EntityPlayer player, RenderPlayerEvent.Specials.Post event) - { - MaskRender mask = new MaskRender(); - float yaw = player.prevRotationYawHead + (player.rotationYawHead - player.prevRotationYawHead) * event.partialRenderTick; - float yawOffset = player.prevRenderYawOffset + (player.renderYawOffset - player.prevRenderYawOffset) * event.partialRenderTick; - float pitch = player.prevRotationPitch + (player.rotationPitch - player.prevRotationPitch) * event.partialRenderTick; - GL11.glPushMatrix(); - GL11.glColor4f(1, 1, 1, 1); - GL11.glRotatef(yawOffset, 0, -1, 0); - GL11.glRotatef(yaw - 90, 0, 1, 0); - GL11.glRotatef(pitch, 0, 0, -1); - GL11.glRotatef(90F, 0, 1F, 0F); - RenderHelper.translateToHeadLevel(player); - GL11.glScalef(1.6f, 1.6f, 1.6f); - GL11.glTranslatef(-0.25F, -0.25F, -0.25F); - mask.doRender(event.entityPlayer, 0F, 0F, 0F, 0F, 0F); - GL11.glPopMatrix(); - } - - public String getDescription() - { - return StatCollector.translateToLocal("curse." + Variables.MODID + ".infamy.description"); - } - +public class CurseInfamy extends Curse { + public CurseInfamy(String name, int txtID, String pack) { + super(name, txtID, pack); + } + @Override - public String getDisplayName() - { - return StatCollector.translateToLocal("curse." + Variables.MODID + ".infamy"); + public void attackedByPlayerAction(LivingAttackEvent event, + World world, EntityPlayer player, Entity target) { + if (rand.nextInt(5) == 0 && !world.isRemote + && !(target instanceof EntityMob) + && target instanceof EntityLiving + && !(target instanceof EntityHeart) + && !(target instanceof EntityHalfHeart) + && target.canAttackWithItem()) { + NBTTagCompound playerInfo = PlayerUtils + .getModPlayerPersistTag(player, Variables.MODID); + + playerInfo.setFloat("BlackHeart", + playerInfo.getFloat("BlackHeart") + 1.0F); + + if (player.getMaxHealth() >= 3F) { + player.getEntityAttribute( + SharedMonsterAttributes.maxHealth) + .setBaseValue(player.getMaxHealth() - 1.0F); + + player.setHealth(player.getHealth() - 1.0F); + } + + JewelrycraftUtil.addCursePoints(player, 10); + + JewelrycraftMod.netWrapper + .sendToAll(new PacketSendServerPlayersInfo()); + + JewelrycraftMod.netWrapper.sendTo( + new PacketSendClientPlayerInfo(playerInfo), + (EntityPlayerMP) player); + } } - @Override - public boolean canCurseBeActivated() - { - return ConfigHandler.CURSE_INFAMY; - } + @Override + public void playerRender(EntityPlayer player, + RenderPlayerEvent.Specials.Post event) { + MaskRender mask = new MaskRender(); + + float yaw = player.prevRotationYawHead + + (player.rotationYawHead - player.prevRotationYawHead) + * event.partialRenderTick; + + float yawOffset = player.prevRenderYawOffset + + (player.renderYawOffset - player.prevRenderYawOffset) + * event.partialRenderTick; + + float pitch = player.prevRotationPitch + + (player.rotationPitch - player.prevRotationPitch) + * event.partialRenderTick; + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + GL11.glRotatef(yawOffset, 0, -1, 0); + GL11.glRotatef(yaw - 90, 0, 1, 0); + GL11.glRotatef(pitch, 0, 0, -1); + GL11.glRotatef(90F, 0, 1F, 0F); + RenderHelper.translateToHeadLevel(player); + GL11.glScalef(1.6f, 1.6f, 1.6f); + GL11.glTranslatef(-0.25F, -0.25F, -0.25F); + mask.doRender(event.entityPlayer, 0F, 0F, 0F, 0F, 0F); + GL11.glPopMatrix(); + } + + @Override + public String getDescription() { + return StatCollector.translateToLocal( + "curse." + Variables.MODID + ".infamy.description"); + } + + @Override + public String getDisplayName() { + return StatCollector + .translateToLocal("curse." + Variables.MODID + ".infamy"); + } + + @Override + public boolean canCurseBeActivated() { + return ConfigHandler.CURSE_INFAMY; + } } diff --git a/src/main/java/darkknight/jewelrycraft/curses/CurseList.java b/src/main/java/darkknight/jewelrycraft/curses/CurseList.java old mode 100644 new mode 100755 index 4a33f67..2c11364 --- a/src/main/java/darkknight/jewelrycraft/curses/CurseList.java +++ b/src/main/java/darkknight/jewelrycraft/curses/CurseList.java @@ -5,33 +5,93 @@ import darkknight.jewelrycraft.api.Curse; import darkknight.jewelrycraft.util.Variables; public class CurseList { - public static Curse rotten; - public static Curse flaming; - public static Curse blind; - public static Curse greed; - public static Curse infamy; - public static Curse midasTouch; - public static Curse rabbitsPaw; - public static Curse pentagram; - public static Curse vampireHunger; - public static Curse humbleBundle; - public static Curse deathsTouch; - public static Curse antichrist; - public static Curse moneyEqualsPower; + private static final String CURSE_TEXPACK = Variables.MODID + + "_curses_0"; + + public static Curse rotten; + public static Curse flaming; + public static Curse blind; + public static Curse greed; + public static Curse incredibleDevotion; + + public static Curse infamy; + public static Curse midasTouch; + public static Curse rabbitsPaw; + public static Curse pentagram; + public static Curse vampireHunger; + public static Curse humbleBundle; + public static Curse deathsTouch; + public static Curse scionOfHell; + public static Curse moneyEqualsPower; + public static Curse doubleDown; + public static Curse sacredOath; + + // Not yet implemented + // None at the moment :) public static void preInit(FMLPreInitializationEvent e) { - rotten = new CurseRottenHeart(Variables.MODNAME + ":" + "Rotten Heart", 0, Variables.MODID + "_curses_0"); - flaming = new CurseFlamingSoul(Variables.MODNAME + ":" + "Flaming Soul", 1, Variables.MODID + "_curses_0"); - greed = new CurseGreed(Variables.MODNAME + ":" + "Greed", 2, Variables.MODID + "_curses_0"); - blind = new CurseBlind(Variables.MODNAME + ":" + "Blind", 3, Variables.MODID + "_curses_0"); - infamy = new CurseInfamy(Variables.MODNAME + ":" + "Infamy", 4, Variables.MODID + "_curses_0"); - midasTouch = new CurseMidasTouch(Variables.MODNAME + ":" + "Midas Touch", 5, Variables.MODID + "_curses_0"); - rabbitsPaw = new CurseRabbitsPaw(Variables.MODNAME + ":" + "Rabbit's Paw", 6, Variables.MODID + "_curses_0"); - pentagram = new CursePentagram(Variables.MODNAME + ":" + "Pentagram", 7, Variables.MODID + "_curses_0"); - vampireHunger = new CurseVampireHunger(Variables.MODNAME + ":" + "Vampire Hunger", 8, Variables.MODID + "_curses_0"); - humbleBundle = new CurseHumbleBundle(Variables.MODNAME + ":" + "Humble Bundle", 9, Variables.MODID + "_curses_0"); - deathsTouch = new CurseDeathsTouch(Variables.MODNAME + ":" + "Deaths Touch", 10, Variables.MODID + "_curses_0"); - // antichrist = new CurseMidasTouch(Variables.MODNAME + ":" + "Antichrist", 11, Variables.MODID + "_curses_0"); - // moneyEqualsPower = new CurseMidasTouch(Variables.MODNAME + ":" + "Money Equals Power", 12, Variables.MODID + "_curses_0"); + rotten = new CurseRottenHeart( + Variables.MODNAME + ":" + "Rotten Heart", + 0, CURSE_TEXPACK); + + flaming = new CurseFlamingSoul( + Variables.MODNAME + ":" + "Flaming Soul", + 1, CURSE_TEXPACK); + + greed = new CurseGreed(Variables.MODNAME + ":" + "Greed", + 2, CURSE_TEXPACK); + + blind = new CurseBlind(Variables.MODNAME + ":" + "Blind", + 3, CURSE_TEXPACK); + + infamy = new CurseInfamy( + Variables.MODNAME + ":" + "Infamy", 4, + CURSE_TEXPACK); + + midasTouch = new CurseMidasTouch( + Variables.MODNAME + ":" + "Midas Touch", 5, + CURSE_TEXPACK); + + rabbitsPaw = new CurseRabbitsPaw( + Variables.MODNAME + ":" + "Rabbit's Paw", + 6, CURSE_TEXPACK); + + pentagram = new CursePentagram( + Variables.MODNAME + ":" + "Pentagram", 7, + CURSE_TEXPACK); + + vampireHunger = new CurseVampireHunger( + Variables.MODNAME + ":" + "Vampire Hunger", + 8, CURSE_TEXPACK); + + humbleBundle = new CurseHumbleBundle( + Variables.MODNAME + ":" + "Humble Bundle", + 9, CURSE_TEXPACK); + + deathsTouch = new CurseDeathsTouch( + Variables.MODNAME + ":" + "Deaths Touch", + 10, CURSE_TEXPACK); + + scionOfHell = new CurseScionOfHell( + Variables.MODNAME + ":" + "Scion of Hell", + 11, CURSE_TEXPACK); + + moneyEqualsPower = new CurseMoneyEqualsPower( + Variables.MODNAME + ":" + + "Money Equals Power", + 12, CURSE_TEXPACK); + + doubleDown = new CurseDoubleDown( + Variables.MODNAME + ":" + "Double Down", + 19, CURSE_TEXPACK); + + incredibleDevotion = new CurseIncredibleDevotion( + Variables.MODNAME + ":" + + "Incredible Devotion", + 20, CURSE_TEXPACK); + + sacredOath = new CurseSacredOath( + Variables.MODNAME + ":" + "Sacred Oath", + 21, CURSE_TEXPACK); } } diff --git a/src/main/java/darkknight/jewelrycraft/curses/CurseMidasTouch.java b/src/main/java/darkknight/jewelrycraft/curses/CurseMidasTouch.java old mode 100644 new mode 100755 index 86d9622..ef78b12 --- a/src/main/java/darkknight/jewelrycraft/curses/CurseMidasTouch.java +++ b/src/main/java/darkknight/jewelrycraft/curses/CurseMidasTouch.java @@ -1,6 +1,7 @@ package darkknight.jewelrycraft.curses; import java.util.Random; + import darkknight.jewelrycraft.api.Curse; import darkknight.jewelrycraft.block.BlockList; import darkknight.jewelrycraft.config.ConfigHandler; @@ -32,92 +33,169 @@ import net.minecraft.util.StatCollector; import net.minecraft.world.World; import net.minecraftforge.event.entity.living.LivingAttackEvent; -public class CurseMidasTouch extends Curse -{ - public CurseMidasTouch(String name, int txtID, String pack) - { - super(name, txtID, pack); - } - - @Override - public void attackedByPlayerAction(LivingAttackEvent event, World world, EntityPlayer player, Entity target) - { - if (!world.isRemote && target instanceof EntityLivingBase && !(target instanceof EntityHeart) && !(target instanceof EntityHalfHeart) && player.inventory.getCurrentItem() == null){ - world.setBlock(MathHelper.floor_double(target.posX), MathHelper.floor_double(target.posY), MathHelper.floor_double(target.posZ), BlockList.midasTouchBlock, 0, 2); - TileEntityMidasTouch midasTouchVictim = new TileEntityMidasTouch(); - midasTouchVictim.setEntity(target); - world.setTileEntity(MathHelper.floor_double(target.posX), MathHelper.floor_double(target.posY), MathHelper.floor_double(target.posZ), midasTouchVictim); - target.setDead(); - } - } - - @Override - public void action(World world, EntityPlayer player) - { - ItemStack curItem = player.inventory.getCurrentItem(); - if(curItem != null && curItem.getItem() != ItemList.goldObj && !isGoldenObject(curItem.getItem())){ - int index = player.inventory.currentItem; - ItemStack item = curItem; - ItemStack result = new ItemStack(ItemList.goldObj, item.stackSize, item.getItemDamage()); - JewelryNBT.addItem(result, item); - if(changeItem(curItem) != null) result = changeItem(curItem); - player.inventory.setInventorySlotContents(index, result); - } - } - - public ItemStack changeItem(ItemStack currItem) - { - if(currItem.getItem() instanceof ItemSword) return new ItemStack(Items.golden_sword, currItem.stackSize, currItem.getItemDamage()); - else if(currItem.getItem() instanceof ItemSpade) return new ItemStack(Items.golden_shovel, currItem.stackSize, currItem.getItemDamage()); - else if(currItem.getItem() instanceof ItemPickaxe) return new ItemStack(Items.golden_pickaxe, currItem.stackSize, currItem.getItemDamage()); - else if(currItem.getItem() instanceof ItemAxe) return new ItemStack(Items.golden_axe, currItem.stackSize, currItem.getItemDamage()); - else if(currItem.getItem() instanceof ItemHoe) return new ItemStack(Items.golden_hoe, currItem.stackSize, currItem.getItemDamage()); - else if(currItem.getItem() instanceof ItemArmor && ((ItemArmor)currItem.getItem()).armorType == 0) return new ItemStack(Items.golden_helmet, currItem.stackSize, currItem.getItemDamage()); - else if(currItem.getItem() instanceof ItemArmor && ((ItemArmor)currItem.getItem()).armorType == 1) return new ItemStack(Items.golden_chestplate, currItem.stackSize, currItem.getItemDamage()); - else if(currItem.getItem() instanceof ItemArmor && ((ItemArmor)currItem.getItem()).armorType == 2) return new ItemStack(Items.golden_leggings, currItem.stackSize, currItem.getItemDamage()); - else if(currItem.getItem() instanceof ItemArmor && ((ItemArmor)currItem.getItem()).armorType == 3) return new ItemStack(Items.golden_boots, currItem.stackSize, currItem.getItemDamage()); - else if(currItem.getItem().getUnlocalizedName().toLowerCase().contains("horsearmor")) return new ItemStack(Items.golden_horse_armor, currItem.stackSize, 0); - else if(currItem.getItem().getUnlocalizedName().toLowerCase().contains("nugget") || currItem.getItem().getItemStackDisplayName(currItem).toLowerCase().contains(" nugget") || currItem.getItem().getItemStackDisplayName(currItem).toLowerCase().contains("nugget ")) return new ItemStack(Items.gold_nugget, currItem.stackSize, 0); - else if(currItem.getItem().getUnlocalizedName().toLowerCase().contains("ingot") || currItem.getItem().getItemStackDisplayName(currItem).toLowerCase().contains(" ingot") || currItem.getItem().getItemStackDisplayName(currItem).toLowerCase().contains("ingot ")) return new ItemStack(Items.gold_ingot, currItem.stackSize, 0); - else if(Block.getBlockFromItem(currItem.getItem()) instanceof BlockPressurePlate || Block.getBlockFromItem(currItem.getItem()) instanceof BlockPressurePlateWeighted) return new ItemStack(Blocks.light_weighted_pressure_plate, currItem.stackSize, 0); - else if(Block.getBlockFromItem(currItem.getItem()) instanceof BlockCompressed) return new ItemStack(Blocks.gold_block, currItem.stackSize, 0); - return null; - } - - public boolean isGoldenObject(Item item) - { - return item.equals(Items.gold_ingot) || item.equals(Items.gold_nugget) || item.equals(Items.golden_helmet) || item.equals(Items.golden_chestplate) || - item.equals(Items.golden_leggings) || item.equals(Items.golden_boots) || item.equals(Items.golden_sword) || item.equals(Items.golden_shovel) || - item.equals(Items.golden_pickaxe) || item.equals(Items.golden_axe) || item.equals(Items.golden_apple) || item.equals(Items.golden_hoe) || - item.equals(Items.golden_horse_armor) || Block.getBlockFromItem(item).equals(Blocks.gold_block) || Block.getBlockFromItem(item).equals(Blocks.light_weighted_pressure_plate); - } - - public String getDescription() - { - return StatCollector.translateToLocal("curse." + Variables.MODID + ".midastouch.description"); - } - +public class CurseMidasTouch extends Curse { + public CurseMidasTouch(String name, int txtID, String pack) { + super(name, txtID, pack); + } + + @Override + public void attackedByPlayerAction(LivingAttackEvent event, + World world, EntityPlayer player, Entity target) { + if (!world.isRemote && target instanceof EntityLivingBase + && !(target instanceof EntityHeart) + && !(target instanceof EntityHalfHeart) + && player.inventory.getCurrentItem() == null) { + world.setBlock(MathHelper.floor_double(target.posX), + MathHelper.floor_double(target.posY), + MathHelper.floor_double(target.posZ), + BlockList.midasTouchBlock, 0, 2); + + TileEntityMidasTouch midasTouchVictim = + new TileEntityMidasTouch(); + midasTouchVictim.setEntity(target); + + world.setTileEntity(MathHelper.floor_double(target.posX), + MathHelper.floor_double(target.posY), + MathHelper.floor_double(target.posZ), + midasTouchVictim); + + target.setDead(); + } + } + + @Override + public void action(World world, EntityPlayer player) { + ItemStack curItem = player.inventory.getCurrentItem(); + + if (curItem != null && curItem.getItem() != ItemList.goldObj + && !isGoldenObject(curItem.getItem())) { + int index = player.inventory.currentItem; + + ItemStack item = curItem; + ItemStack result = new ItemStack(ItemList.goldObj, + item.stackSize, item.getItemDamage()); + + JewelryNBT.addItem(result, item); + + if (changeItem(curItem) != null) { + result = changeItem(curItem); + } + + player.inventory.setInventorySlotContents(index, result); + } + } + + public ItemStack changeItem(ItemStack currItem) { + if (currItem.getItem() instanceof ItemSword) { + return new ItemStack(Items.golden_sword, currItem.stackSize, + currItem.getItemDamage()); + } else if (currItem.getItem() instanceof ItemSpade) { + return new ItemStack(Items.golden_shovel, currItem.stackSize, + currItem.getItemDamage()); + } else if (currItem.getItem() instanceof ItemPickaxe) { + return new ItemStack(Items.golden_pickaxe, currItem.stackSize, + currItem.getItemDamage()); + } else if (currItem.getItem() instanceof ItemAxe) { + return new ItemStack(Items.golden_axe, currItem.stackSize, + currItem.getItemDamage()); + } else if (currItem.getItem() instanceof ItemHoe) { + return new ItemStack(Items.golden_hoe, currItem.stackSize, + currItem.getItemDamage()); + } else if (currItem.getItem() instanceof ItemArmor + && ((ItemArmor) currItem.getItem()).armorType == 0) { + return new ItemStack(Items.golden_helmet, currItem.stackSize, + currItem.getItemDamage()); + } else if (currItem.getItem() instanceof ItemArmor + && ((ItemArmor) currItem.getItem()).armorType == 1) { + return new ItemStack(Items.golden_chestplate, + currItem.stackSize, currItem.getItemDamage()); + } else if (currItem.getItem() instanceof ItemArmor + && ((ItemArmor) currItem.getItem()).armorType == 2) { + return new ItemStack(Items.golden_leggings, currItem.stackSize, + currItem.getItemDamage()); + } else if (currItem.getItem() instanceof ItemArmor + && ((ItemArmor) currItem.getItem()).armorType == 3) { + return new ItemStack(Items.golden_boots, currItem.stackSize, + currItem.getItemDamage()); + } else if (currItem.getItem().getUnlocalizedName().toLowerCase() + .contains("horsearmor")) { + return new ItemStack(Items.golden_horse_armor, + currItem.stackSize, 0); + } else if (currItem.getItem().getUnlocalizedName().toLowerCase() + .contains("nugget") + || currItem.getItem().getItemStackDisplayName(currItem) + .toLowerCase().contains(" nugget") + || currItem.getItem().getItemStackDisplayName(currItem) + .toLowerCase().contains("nugget ")) { + return new ItemStack(Items.gold_nugget, currItem.stackSize, 0); + } else if (currItem.getItem().getUnlocalizedName().toLowerCase() + .contains("ingot") + || currItem.getItem().getItemStackDisplayName(currItem) + .toLowerCase().contains(" ingot") + || currItem.getItem().getItemStackDisplayName(currItem) + .toLowerCase().contains("ingot ")) { + return new ItemStack(Items.gold_ingot, currItem.stackSize, 0); + } else if (Block.getBlockFromItem( + currItem.getItem()) instanceof BlockPressurePlate + || Block.getBlockFromItem(currItem + .getItem()) instanceof BlockPressurePlateWeighted) { + return new ItemStack(Blocks.light_weighted_pressure_plate, + currItem.stackSize, 0); + } else if (Block.getBlockFromItem( + currItem.getItem()) instanceof BlockCompressed) { + return new ItemStack(Blocks.gold_block, currItem.stackSize, 0); + } + + return null; + } + + public boolean isGoldenObject(Item item) { + return item.equals(Items.gold_ingot) + || item.equals(Items.gold_nugget) + || item.equals(Items.golden_helmet) + || item.equals(Items.golden_chestplate) + || item.equals(Items.golden_leggings) + || item.equals(Items.golden_boots) + || item.equals(Items.golden_sword) + || item.equals(Items.golden_shovel) + || item.equals(Items.golden_pickaxe) + || item.equals(Items.golden_axe) + || item.equals(Items.golden_apple) + || item.equals(Items.golden_hoe) + || item.equals(Items.golden_horse_armor) + || Block.getBlockFromItem(item).equals(Blocks.gold_block) + || Block.getBlockFromItem(item) + .equals(Blocks.light_weighted_pressure_plate); + } + @Override - public String getDisplayName() - { - return StatCollector.translateToLocal("curse." + Variables.MODID + ".midastouch"); + public String getDescription() { + return StatCollector.translateToLocal( + "curse." + Variables.MODID + ".midastouch.description"); } - @Override - public boolean canCurseBeActivated(World world) - { - return world.getWorldInfo().isHardcoreModeEnabled() ? false : ConfigHandler.CURSE_MIDAS_TOUCH; - } - - @Override - public boolean canCurseBeActivated() - { - return ConfigHandler.CURSE_MIDAS_TOUCH; - } - - @Override - public int weight(World world, EntityPlayer player, Random random) - { - return 2; - } + @Override + public String getDisplayName() { + return StatCollector.translateToLocal( + "curse." + Variables.MODID + ".midastouch"); + } + + @Override + public boolean canCurseBeActivated(World world) { + if (world.getWorldInfo().isHardcoreModeEnabled()) { + return false; + } + + return ConfigHandler.CURSE_MIDAS_TOUCH; + } + + @Override + public boolean canCurseBeActivated() { + return ConfigHandler.CURSE_MIDAS_TOUCH; + } + + @Override + public int weight(World world, EntityPlayer player, Random random) { + return 2; + } } diff --git a/src/main/java/darkknight/jewelrycraft/curses/CurseMoneyEqualsPower.java b/src/main/java/darkknight/jewelrycraft/curses/CurseMoneyEqualsPower.java new file mode 100755 index 0000000..741a857 --- /dev/null +++ b/src/main/java/darkknight/jewelrycraft/curses/CurseMoneyEqualsPower.java @@ -0,0 +1,108 @@ +package darkknight.jewelrycraft.curses; + +import java.util.ArrayList; + +import darkknight.jewelrycraft.api.Curse; +import darkknight.jewelrycraft.config.ConfigHandler; +import darkknight.jewelrycraft.util.Variables; +import net.minecraft.entity.Entity; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.potion.Potion; +import net.minecraft.potion.PotionEffect; +import net.minecraft.util.ChatComponentText; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.StatCollector; + +public class CurseMoneyEqualsPower extends Curse { + public CurseMoneyEqualsPower(String name, int txtID, + String texturepack) { + super(name, txtID, texturepack); + } + + @Override + public void entityDropItems(EntityPlayer player, Entity target, + ArrayList drops) { + int dropsTaken = 0; + + for (EntityItem item : drops) { + if (rand.nextBoolean()) { + int stackSize = item + .getEntityItem().stackSize; + int takenItems = rand.nextInt(stackSize); + item.getEntityItem().stackSize -= takenItems; + + if (item.getEntityItem().stackSize <= 0) { + item.setDead(); + } + + dropsTaken += takenItems; + } + } + + if (dropsTaken > 0) { + if (dropsTaken > 3) { + player.addPotionEffect(new PotionEffect( + Potion.digSpeed.id, + dropsTaken * 30, 1)); + player.addPotionEffect(new PotionEffect( + Potion.moveSpeed.id, + dropsTaken * 30, 1)); + + player.addChatComponentMessage( + new ChatComponentText( + StatCollector.translateToLocal( + EnumChatFormatting.RED + + "curse.jewlrycraft2.moneyEqualsPower.bless1"))); + } + + if (dropsTaken > 6) { + player.addPotionEffect(new PotionEffect( + Potion.resistance.id, + dropsTaken * 20, 1)); + player.addPotionEffect(new PotionEffect( + Potion.damageBoost.id, + dropsTaken * 20, 1)); + + player.addChatComponentMessage( + new ChatComponentText( + StatCollector.translateToLocal( + EnumChatFormatting.RED + + "curse.jewlrycraft2.moneyEqualsPower.bless2"))); + } + + if (dropsTaken > 9) { + player.addPotionEffect(new PotionEffect( + Potion.regeneration.id, + dropsTaken * 10, 1)); + player.addPotionEffect(new PotionEffect( + Potion.heal.id, + dropsTaken * 10, 1)); + + player.addChatComponentMessage( + new ChatComponentText( + StatCollector.translateToLocal( + EnumChatFormatting.RED + + "curse.jewlrycraft2.moneyEqualsPower.bless3"))); + } + } + } + + @Override + public boolean canCurseBeActivated() { + return ConfigHandler.CURSE_MONEY_EQUALS_POWER; + } + + @Override + public String getDescription() { + return StatCollector.translateToLocal("curse." + + Variables.MODID + + ".moneyEqualsPower.description"); + } + + @Override + public String getDisplayName() { + return StatCollector.translateToLocal("curse." + + Variables.MODID + ".moneyEqualsPower"); + } +} diff --git a/src/main/java/darkknight/jewelrycraft/curses/CursePentagram.java b/src/main/java/darkknight/jewelrycraft/curses/CursePentagram.java old mode 100644 new mode 100755 index c15e25a..a65517d --- a/src/main/java/darkknight/jewelrycraft/curses/CursePentagram.java +++ b/src/main/java/darkknight/jewelrycraft/curses/CursePentagram.java @@ -1,6 +1,7 @@ package darkknight.jewelrycraft.curses; import org.lwjgl.opengl.GL11; + import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import darkknight.jewelrycraft.achievements.AchievementsList; @@ -36,44 +37,101 @@ public class CursePentagram extends Curse { public void action(World world, EntityPlayer player) { super.action(world, player); if (!world.isRemote) { - NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); - for (Object entity : world.getEntitiesWithinAABBExcludingEntity(player, AxisAlignedBB.getBoundingBox(player.boundingBox.minX - 0.5F, player.boundingBox.minY, player.boundingBox.minZ - 0.5F, player.boundingBox.maxX + 0.5F, player.boundingBox.maxY, player.boundingBox.maxZ + 0.5F))) { + NBTTagCompound playerInfo = PlayerUtils + .getModPlayerPersistTag(player, Variables.MODID); + + for (Object entity : world + .getEntitiesWithinAABBExcludingEntity(player, + AxisAlignedBB.getBoundingBox( + player.boundingBox.minX - 0.5F, + player.boundingBox.minY, + player.boundingBox.minZ - 0.5F, + player.boundingBox.maxX + 0.5F, + player.boundingBox.maxY, + player.boundingBox.maxZ + 0.5F))) { if (entity instanceof EntityLivingBase) { - NBTTagCompound target = ((EntityLivingBase) entity).getEntityData(); - if (target.getInteger("stolenHealth") < (JewelrycraftUtil.AchievemtUnlocked(player, AchievementsList.pentagram) ? 3 : 2) && rand.nextInt(40) == 0) { - ((EntityLivingBase) entity).getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(((EntityLivingBase) entity).getMaxHealth() - 2f); - target.setInteger("stolenHealth", target.hasKey("stolenHealth") ? target.getInteger("stolenHealth") + 1 : 1); - playerInfo.setInteger("heartsStolen", playerInfo.hasKey("heartsStolen") ? playerInfo.getInteger("heartsStolen") + 1 : 1); - if (player.shouldHeal()) player.heal(2F); - else player.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(player.getMaxHealth() + 2f); + NBTTagCompound target = + ((EntityLivingBase) entity).getEntityData(); + + if (target + .getInteger("stolenHealth") < (JewelrycraftUtil + .AchievemtUnlocked(player, + AchievementsList.pentagram) ? 3 + : 2) + && rand.nextInt(40) == 0) { + ((EntityLivingBase) entity) + .getEntityAttribute( + SharedMonsterAttributes.maxHealth) + .setBaseValue(((EntityLivingBase) entity) + .getMaxHealth() - 2f); + + target.setInteger("stolenHealth", + target.hasKey("stolenHealth") + ? target.getInteger("stolenHealth") + + 1 + : 1); + + playerInfo + .setInteger("heartsStolen", + playerInfo.hasKey("heartsStolen") + ? playerInfo.getInteger( + "heartsStolen") + 1 + : 1); + + if (player.shouldHeal()) { + player.heal(2F); + } else { + player.getEntityAttribute( + SharedMonsterAttributes.maxHealth) + .setBaseValue( + player.getMaxHealth() + 2f); + } } } } - if (!playerInfo.getBoolean(AchievementsList.pentagram.statId)) { - if (ticksActive > 24000 && playerInfo.getInteger("heartsStolen") <= 0) player.addStat(AchievementsList.pentagram, 1); + + if (!playerInfo + .getBoolean(AchievementsList.pentagram.statId)) { + if (ticksActive > 24000 + && playerInfo.getInteger("heartsStolen") <= 0) + player.addStat(AchievementsList.pentagram, 1); else { - player.addChatComponentMessage(new ChatComponentText(EnumChatFormatting.RED + StatCollector.translateToLocal("challenge.failed") + " " + EnumChatFormatting.GOLD + StatCollector.translateToLocal(AchievementsList.pentagram.statId))); - playerInfo.setBoolean(AchievementsList.pentagram.statId, true); + player.addChatComponentMessage( + new ChatComponentText(EnumChatFormatting.RED + + StatCollector.translateToLocal( + "challenge.failed") + + " " + EnumChatFormatting.GOLD + + StatCollector.translateToLocal( + AchievementsList.pentagram.statId))); + playerInfo.setBoolean( + AchievementsList.pentagram.statId, true); } } } } + @SuppressWarnings("cast") @Override - public void playerRender(EntityPlayer player, RenderPlayerEvent.Specials.Post event) { - ResourceLocation PENTAGRAM_TEXTURE = new ResourceLocation(Variables.MODID, "textures/gui/" + getTexturePack() + ".png"); + public void playerRender(EntityPlayer player, + RenderPlayerEvent.Specials.Post event) { + ResourceLocation PENTAGRAM_TEXTURE = + new ResourceLocation(Variables.MODID, + "textures/gui/" + getTexturePack() + ".png"); GL11.glPushMatrix(); GL11.glEnable(GL11.GL_BLEND); GL11.glBlendFunc(GL11.GL_ONE, GL11.GL_SRC_COLOR); Tessellator tessellator = Tessellator.instance; - TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager(); + TextureManager texturemanager = + Minecraft.getMinecraft().getTextureManager(); texturemanager.bindTexture(PENTAGRAM_TEXTURE); GL11.glRotatef(rot, 0F, 1F, 0F); - GL11.glTranslatef(-0.8F, (player.isSneaking() ? 0.1625F : 0F) + 1.5F, -0.8F); + GL11.glTranslatef(-0.8F, + (player.isSneaking() ? 0.1625F : 0F) + 1.5F, -0.8F); GL11.glRotatef(90F, 1F, 0F, 0F); GL11.glScalef(0.05F, 0.05F, 0.05F); rot += 3F; - if (rot > 360F) rot = 0F; + if (rot > 360F) + rot = 0F; float f = 0.00390625F; float f1 = 0.00390625F; int x = 0; @@ -83,31 +141,49 @@ public class CursePentagram extends Curse { int width = 32; int height = 32; tessellator.startDrawingQuads(); - tessellator.addVertexWithUV((double) (x + 0), (double) (y + height), (double) 0, (double) ((float) (u + 0) * f), (double) ((float) (v + height) * f1)); - tessellator.addVertexWithUV((double) (x + width), (double) (y + height), (double) 0, (double) ((float) (u + width) * f), (double) ((float) (v + height) * f1)); - tessellator.addVertexWithUV((double) (x + width), (double) (y + 0), (double) 0, (double) ((float) (u + width) * f), (double) ((float) (v + 0) * f1)); - tessellator.addVertexWithUV((double) (x + 0), (double) (y + 0), (double) 0, (double) ((float) (u + 0) * f), (double) ((float) (v + 0) * f1)); + tessellator.addVertexWithUV((double) (x + 0), + (double) (y + height), (double) 0, + (double) ((float) (u + 0) * f), + (double) ((float) (v + height) * f1)); + tessellator.addVertexWithUV((double) (x + width), + (double) (y + height), (double) 0, + (double) ((float) (u + width) * f), + (double) ((float) (v + height) * f1)); + tessellator.addVertexWithUV((double) (x + width), (double) (y + 0), + (double) 0, (double) ((float) (u + width) * f), + (double) ((float) (v + 0) * f1)); + tessellator.addVertexWithUV((double) (x + 0), (double) (y + 0), + (double) 0, (double) ((float) (u + 0) * f), + (double) ((float) (v + 0) * f1)); tessellator.draw(); GL11.glDisable(GL11.GL_BLEND); GL11.glPopMatrix(); } + @SuppressWarnings("cast") + @Override @SideOnly(Side.CLIENT) - public void playerHandRender(EntityPlayer player, RenderHandEvent event) { + public void playerHandRender(EntityPlayer player, + RenderHandEvent event) { if (Minecraft.getMinecraft().gameSettings.thirdPersonView == 0) { - ResourceLocation PENTAGRAM_TEXTURE = new ResourceLocation(Variables.MODID, "textures/gui/" + getTexturePack() + ".png"); + ResourceLocation PENTAGRAM_TEXTURE = + new ResourceLocation(Variables.MODID, + "textures/gui/" + getTexturePack() + ".png"); GL11.glPushMatrix(); GL11.glEnable(GL11.GL_BLEND); GL11.glBlendFunc(GL11.GL_ONE, GL11.GL_SRC_COLOR); Tessellator tessellator = Tessellator.instance; - TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager(); + TextureManager texturemanager = + Minecraft.getMinecraft().getTextureManager(); texturemanager.bindTexture(PENTAGRAM_TEXTURE); GL11.glRotatef(rot, 0F, 1F, 0F); - GL11.glTranslatef(-0.8F, (player.isSneaking() ? 0.1625F : 0F) - 1.6F, -0.8F); + GL11.glTranslatef(-0.8F, + (player.isSneaking() ? 0.1625F : 0F) - 1.6F, -0.8F); GL11.glRotatef(90F, 1F, 0F, 0F); GL11.glScalef(0.05F, 0.05F, 0.05F); rot += 3F; - if (rot > 360F) rot = 0F; + if (rot > 360F) + rot = 0F; float f = 0.00390625F; float f1 = 0.00390625F; int x = 0; @@ -117,23 +193,37 @@ public class CursePentagram extends Curse { int width = 32; int height = 32; tessellator.startDrawingQuads(); - tessellator.addVertexWithUV((double) (x + 0), (double) (y + height), (double) 0, (double) ((float) (u + 0) * f), (double) ((float) (v + height) * f1)); - tessellator.addVertexWithUV((double) (x + width), (double) (y + height), (double) 0, (double) ((float) (u + width) * f), (double) ((float) (v + height) * f1)); - tessellator.addVertexWithUV((double) (x + width), (double) (y + 0), (double) 0, (double) ((float) (u + width) * f), (double) ((float) (v + 0) * f1)); - tessellator.addVertexWithUV((double) (x + 0), (double) (y + 0), (double) 0, (double) ((float) (u + 0) * f), (double) ((float) (v + 0) * f1)); + tessellator.addVertexWithUV((double) (x + 0), + (double) (y + height), (double) 0, + (double) ((float) (u + 0) * f), + (double) ((float) (v + height) * f1)); + tessellator.addVertexWithUV((double) (x + width), + (double) (y + height), (double) 0, + (double) ((float) (u + width) * f), + (double) ((float) (v + height) * f1)); + tessellator.addVertexWithUV((double) (x + width), + (double) (y + 0), (double) 0, + (double) ((float) (u + width) * f), + (double) ((float) (v + 0) * f1)); + tessellator.addVertexWithUV((double) (x + 0), (double) (y + 0), + (double) 0, (double) ((float) (u + 0) * f), + (double) ((float) (v + 0) * f1)); tessellator.draw(); GL11.glDisable(GL11.GL_BLEND); GL11.glPopMatrix(); } } + @Override public String getDescription() { - return StatCollector.translateToLocal("curse." + Variables.MODID + ".pentagram.description"); + return StatCollector.translateToLocal( + "curse." + Variables.MODID + ".pentagram.description"); } @Override public String getDisplayName() { - return StatCollector.translateToLocal("curse." + Variables.MODID + ".pentagram"); + return StatCollector.translateToLocal( + "curse." + Variables.MODID + ".pentagram"); } @Override diff --git a/src/main/java/darkknight/jewelrycraft/curses/CurseRabbitsPaw.java b/src/main/java/darkknight/jewelrycraft/curses/CurseRabbitsPaw.java old mode 100644 new mode 100755 index 831f5c5..c185df3 --- a/src/main/java/darkknight/jewelrycraft/curses/CurseRabbitsPaw.java +++ b/src/main/java/darkknight/jewelrycraft/curses/CurseRabbitsPaw.java @@ -17,47 +17,51 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.StatCollector; import net.minecraft.world.World; -public class CurseRabbitsPaw extends Curse -{ - public CurseRabbitsPaw(String name, int txtID, String pack) - { - super(name, txtID, pack); - } - - @Override - public void entityDropItems(EntityPlayer player, Entity target, ArrayList drops) - { - for(EntityItem item: drops){ - ItemStack drop = item.getEntityItem().copy(); - drop.stackSize = this.rand.nextInt(4); - if (drop.stackSize > 0) target.entityDropItem(drop, 0.5F); - } - } - - public void entityDeathAction(World world, EntityLivingBase target, EntityPlayer player) - { - if (rand.nextInt(3) == 0) world.spawnEntityInWorld(new EntityXPOrb(world, target.posX, target.posY, target.posZ, 1 + rand.nextInt(40))); - } - - public int luck() - { - return 10; - } - - public String getDescription() - { - return StatCollector.translateToLocal("curse." + Variables.MODID + ".rabbitspaw.description"); - } - +public class CurseRabbitsPaw extends Curse { + public CurseRabbitsPaw(String name, int txtID, String pack) { + super(name, txtID, pack); + } + + @Override + public void entityDropItems(EntityPlayer player, Entity target, + ArrayList drops) { + for (EntityItem item : drops) { + ItemStack drop = item.getEntityItem().copy(); + + drop.stackSize = this.rand.nextInt(4); + + if (drop.stackSize > 0) + target.entityDropItem(drop, 0.5F); + } + } + + @Override + public void entityDeathAction(World world, EntityLivingBase target, + EntityPlayer player) { + if (rand.nextInt(3) == 0) + world.spawnEntityInWorld(new EntityXPOrb(world, target.posX, + target.posY, target.posZ, 1 + rand.nextInt(40))); + } + @Override - public String getDisplayName() - { - return StatCollector.translateToLocal("curse." + Variables.MODID + ".rabbitspaw"); + public int luck() { + return 10; } - @Override - public boolean canCurseBeActivated() - { - return ConfigHandler.CURSE_RABBIT_PAW; - } + @Override + public String getDescription() { + return StatCollector.translateToLocal( + "curse." + Variables.MODID + ".rabbitspaw.description"); + } + + @Override + public String getDisplayName() { + return StatCollector.translateToLocal( + "curse." + Variables.MODID + ".rabbitspaw"); + } + + @Override + public boolean canCurseBeActivated() { + return ConfigHandler.CURSE_RABBIT_PAW; + } } diff --git a/src/main/java/darkknight/jewelrycraft/curses/CurseRottenHeart.java b/src/main/java/darkknight/jewelrycraft/curses/CurseRottenHeart.java old mode 100644 new mode 100755 index 95f1a2c..050605d --- a/src/main/java/darkknight/jewelrycraft/curses/CurseRottenHeart.java +++ b/src/main/java/darkknight/jewelrycraft/curses/CurseRottenHeart.java @@ -9,39 +9,41 @@ import net.minecraft.potion.PotionEffect; import net.minecraft.util.StatCollector; import net.minecraft.world.World; -public class CurseRottenHeart extends Curse -{ - public CurseRottenHeart(String name, int txtID, String pack) - { - super(name, txtID, pack); - } - - @Override - public void action(World world, EntityPlayer player) - { - if (!player.isPotionActive(Potion.poison) || player.getActivePotionEffect(Potion.poison).getDuration() < 30) player.addPotionEffect(new PotionEffect(Potion.poison.id, 80)); - } - - public String getDescription() - { - return StatCollector.translateToLocal("curse." + Variables.MODID + ".rottenheart.description"); - } - +public class CurseRottenHeart extends Curse { + public CurseRottenHeart(String name, int txtID, String pack) { + super(name, txtID, pack); + } + + @Override + public void action(World world, EntityPlayer player) { + if (!player.isPotionActive(Potion.poison) || player + .getActivePotionEffect(Potion.poison).getDuration() < 30) + player.addPotionEffect(new PotionEffect(Potion.poison.id, 80)); + } + + @Override + public String getDescription() { + return StatCollector.translateToLocal( + "curse." + Variables.MODID + ".rottenheart.description"); + } + + @Override + public String getDisplayName() { + return StatCollector.translateToLocal( + "curse." + Variables.MODID + ".rottenheart"); + } + + @Override + public boolean canCurseBeActivated(World world) { + if (world.getWorldInfo().isHardcoreModeEnabled()) { + return false; + } + + return ConfigHandler.CURSE_ROTTEN_HEART; + } + @Override - public String getDisplayName() - { - return StatCollector.translateToLocal("curse." + Variables.MODID + ".rottenheart"); + public boolean canCurseBeActivated() { + return ConfigHandler.CURSE_ROTTEN_HEART; } - - @Override - public boolean canCurseBeActivated(World world) - { - return world.getWorldInfo().isHardcoreModeEnabled() ? false : ConfigHandler.CURSE_ROTTEN_HEART; - } - - @Override - public boolean canCurseBeActivated() - { - return ConfigHandler.CURSE_ROTTEN_HEART; - } } diff --git a/src/main/java/darkknight/jewelrycraft/curses/CurseSacredOath.java b/src/main/java/darkknight/jewelrycraft/curses/CurseSacredOath.java new file mode 100644 index 0000000..8faf314 --- /dev/null +++ b/src/main/java/darkknight/jewelrycraft/curses/CurseSacredOath.java @@ -0,0 +1,26 @@ +package darkknight.jewelrycraft.curses; + +import darkknight.jewelrycraft.api.Curse; +import darkknight.jewelrycraft.util.Variables; +import net.minecraft.util.StatCollector; + +public class CurseSacredOath extends Curse { + public CurseSacredOath(String name, int txtID, + String texturepack) { + super(name, txtID, texturepack); + } + + @Override + public String getDescription() { + return StatCollector.translateToLocal( + "curse." + Variables.MODID + ".sacredoath.description"); + } + + @Override + public String getDisplayName() { + return StatCollector.translateToLocal( + "curse." + Variables.MODID + ".sacredoath"); + } + + // TODO implement sacred oath to do something +} diff --git a/src/main/java/darkknight/jewelrycraft/curses/CurseScionOfHell.java b/src/main/java/darkknight/jewelrycraft/curses/CurseScionOfHell.java new file mode 100755 index 0000000..4162001 --- /dev/null +++ b/src/main/java/darkknight/jewelrycraft/curses/CurseScionOfHell.java @@ -0,0 +1,46 @@ +package darkknight.jewelrycraft.curses; + +import darkknight.jewelrycraft.api.Curse; +import darkknight.jewelrycraft.config.ConfigHandler; +import darkknight.jewelrycraft.util.Variables; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.util.StatCollector; +import net.minecraft.world.World; +import net.minecraftforge.event.entity.living.LivingHealEvent; + +public class CurseScionOfHell extends Curse { + public CurseScionOfHell(String name, int txtID, String texturepack) { + super(name, txtID, texturepack); + } + + @Override + public void entityDeathAction(World world, EntityLivingBase target, + EntityPlayer player) { + player.setHealth(Math.max(player.getMaxHealth(), + player.getHealth() + target.getMaxHealth() / 5.0f)); + } + + @Override + public void playerHealAction(World world, EntityPlayer player, + LivingHealEvent event) { + event.amount = 0; + } + + @Override + public boolean canCurseBeActivated() { + return ConfigHandler.CURSE_SCION_OF_HELL; + } + + @Override + public String getDescription() { + return StatCollector.translateToLocal( + "curse." + Variables.MODID + ".scionofhell.description"); + } + + @Override + public String getDisplayName() { + return StatCollector.translateToLocal( + "curse." + Variables.MODID + ".scionofhell"); + } +} diff --git a/src/main/java/darkknight/jewelrycraft/curses/CurseVampireHunger.java b/src/main/java/darkknight/jewelrycraft/curses/CurseVampireHunger.java old mode 100644 new mode 100755 index b00552e..6707bc0 --- a/src/main/java/darkknight/jewelrycraft/curses/CurseVampireHunger.java +++ b/src/main/java/darkknight/jewelrycraft/curses/CurseVampireHunger.java @@ -16,38 +16,43 @@ import net.minecraft.world.World; * @author Sorin * */ -public class CurseVampireHunger extends Curse -{ - protected CurseVampireHunger(String name, int txtID, String texturepack) - { - super(name, txtID, texturepack); - } - - public void attackedByPlayerAction(World world, EntityPlayer player, Entity target) - { - if(player.shouldHeal() && rand.nextBoolean()) player.heal(1F); - } - - public void action(World world, EntityPlayer player) - { - if(!player.capabilities.isCreativeMode && world.isDaytime() && !world.isRaining() && world.canBlockSeeTheSky(MathHelper.floor_double(player.posX), MathHelper.floor_double(player.posY + 1F), MathHelper.floor_double(player.posZ))) - player.setFire(8); - } - - public String getDescription() - { - return StatCollector.translateToLocal("curse." + Variables.MODID + ".vampirehunger.description"); - } - +public class CurseVampireHunger extends Curse { + protected CurseVampireHunger(String name, int txtID, + String texturepack) { + super(name, txtID, texturepack); + } + + public void attackedByPlayerAction(World world, EntityPlayer player, + Entity target) { + if (player.shouldHeal() && rand.nextBoolean()) + player.heal(1F); + } + + @Override + public void action(World world, EntityPlayer player) { + if (!player.capabilities.isCreativeMode && world.isDaytime() + && !world.isRaining() + && world.canBlockSeeTheSky( + MathHelper.floor_double(player.posX), + MathHelper.floor_double(player.posY + 1F), + MathHelper.floor_double(player.posZ))) + player.setFire(8); + } + + @Override + public String getDescription() { + return StatCollector.translateToLocal( + "curse." + Variables.MODID + ".vampirehunger.description"); + } + @Override - public String getDisplayName() - { - return StatCollector.translateToLocal("curse." + Variables.MODID + ".vampirehunger"); + public String getDisplayName() { + return StatCollector.translateToLocal( + "curse." + Variables.MODID + ".vampirehunger"); } - @Override - public boolean canCurseBeActivated() - { - return ConfigHandler.CURSE_VAMPIRE_HUNGER; - } + @Override + public boolean canCurseBeActivated() { + return ConfigHandler.CURSE_VAMPIRE_HUNGER; + } } -- cgit v1.2.3