summaryrefslogtreecommitdiff
path: root/src/main/java/darkknight/jewelrycraft/curses/CurseMidasTouch.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/darkknight/jewelrycraft/curses/CurseMidasTouch.java')
-rwxr-xr-x[-rw-r--r--]src/main/java/darkknight/jewelrycraft/curses/CurseMidasTouch.java248
1 files changed, 163 insertions, 85 deletions
diff --git a/src/main/java/darkknight/jewelrycraft/curses/CurseMidasTouch.java b/src/main/java/darkknight/jewelrycraft/curses/CurseMidasTouch.java
index 86d9622..ef78b12 100644..100755
--- 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;
+ }
}