From 0ef6a00aa79f022e5bd56b3f77e6861bbecf6d94 Mon Sep 17 00:00:00 2001 From: OnyxDarkKnight Date: Thu, 13 Aug 2015 21:12:11 +0100 Subject: Added a new structure, a new curse, achievements, challenges, curses entry in the guide; reworked liquids to be tile entities, cleaned the structures code, potion code and... you know what? I improved and changed so much stuff that I literally forgot what I did... --- .../jewelrycraft/item/ItemMoltenMetalBucket.java | 95 ++++------------------ 1 file changed, 18 insertions(+), 77 deletions(-) (limited to 'src/main/java/darkknight/jewelrycraft/item/ItemMoltenMetalBucket.java') diff --git a/src/main/java/darkknight/jewelrycraft/item/ItemMoltenMetalBucket.java b/src/main/java/darkknight/jewelrycraft/item/ItemMoltenMetalBucket.java index d376648..869af26 100644 --- a/src/main/java/darkknight/jewelrycraft/item/ItemMoltenMetalBucket.java +++ b/src/main/java/darkknight/jewelrycraft/item/ItemMoltenMetalBucket.java @@ -1,52 +1,37 @@ package darkknight.jewelrycraft.item; import java.io.IOException; - +import cpw.mods.fml.common.eventhandler.Event; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import darkknight.jewelrycraft.block.BlockList; +import darkknight.jewelrycraft.tileentity.TileEntityMoltenMetal; +import darkknight.jewelrycraft.util.JewelryNBT; +import darkknight.jewelrycraft.util.JewelrycraftUtil; +import darkknight.jewelrycraft.util.Variables; import net.minecraft.block.Block; import net.minecraft.block.material.Material; -import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; import net.minecraft.init.Items; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntity; import net.minecraft.util.IIcon; import net.minecraft.util.MovingObjectPosition; import net.minecraft.util.StatCollector; import net.minecraft.world.World; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.event.entity.player.FillBucketEvent; -import cpw.mods.fml.common.eventhandler.Event; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import darkknight.jewelrycraft.JewelrycraftMod; -import darkknight.jewelrycraft.block.BlockList; -import darkknight.jewelrycraft.network.PacketRequestLiquidData; -import darkknight.jewelrycraft.network.PacketSendLiquidData; -import darkknight.jewelrycraft.util.JewelryNBT; -import darkknight.jewelrycraft.util.JewelrycraftUtil; -import darkknight.jewelrycraft.util.Variables; public class ItemMoltenMetalBucket extends Item { - public IIcon liquid; + public IIcon liquid; - /** - * - */ public ItemMoltenMetalBucket() { maxStackSize = 1; } - /** - * Called whenever this item is equipped and the right mouse button is - * pressed. Args: itemStack, world, entityPlayer - * - * @param stack - * @param par2World - * @param par3EntityPlayer - * @return - */ @Override public ItemStack onItemRightClick(ItemStack stack, World par2World, EntityPlayer par3EntityPlayer) { boolean flag = BlockList.moltenMetal == Blocks.air; @@ -75,11 +60,11 @@ public class ItemMoltenMetalBucket extends Item { } else { if (BlockList.moltenMetal == Blocks.air) return new ItemStack(Items.bucket); if (movingobjectposition.sideHit == 0) --j; - if (movingobjectposition.sideHit == 1) ++j; - if (movingobjectposition.sideHit == 2) --k; - if (movingobjectposition.sideHit == 3) ++k; - if (movingobjectposition.sideHit == 4) --i; - if (movingobjectposition.sideHit == 5) ++i; + else if (movingobjectposition.sideHit == 1) ++j; + else if (movingobjectposition.sideHit == 2) --k; + else if (movingobjectposition.sideHit == 3) ++k; + else if (movingobjectposition.sideHit == 4) --i; + else if (movingobjectposition.sideHit == 5) ++i; if (!par3EntityPlayer.canPlayerEdit(i, j, k, movingobjectposition.sideHit, stack)) return stack; if (tryPlaceContainedLiquid(par2World, i, j, k, stack) && !par3EntityPlayer.capabilities.isCreativeMode) return new ItemStack(Items.bucket); } @@ -88,12 +73,6 @@ public class ItemMoltenMetalBucket extends Item { } } - /** - * @param p_150910_1_ - * @param p_150910_2_ - * @param p_150910_3_ - * @return - */ private ItemStack func_150910_a(ItemStack p_150910_1_, EntityPlayer p_150910_2_, Item p_150910_3_) { if (p_150910_2_.capabilities.isCreativeMode) return p_150910_1_; else if (--p_150910_1_.stackSize <= 0) return new ItemStack(p_150910_3_); @@ -103,18 +82,7 @@ public class ItemMoltenMetalBucket extends Item { } } - /** - * Attempts to place the liquid contained inside the bucket. - * - * @param world - * @param x - * @param y - * @param z - * @param stack - * @return - * @throws IOException - */ - public boolean tryPlaceContainedLiquid(World world, int x, int y, int z, ItemStack stack) { + public static boolean tryPlaceContainedLiquid(World world, int x, int y, int z, ItemStack stack) { if (BlockList.moltenMetal == Blocks.air) return false; else { Material material = world.getBlock(x, y, z).getMaterial(); @@ -122,30 +90,20 @@ public class ItemMoltenMetalBucket extends Item { if (!world.isAirBlock(x, y, z) && !flag) return false; else if (stack != null && JewelryNBT.ingot(stack) != null) { if (!world.isRemote && flag && !material.isLiquid()) world.func_147480_a(x, y, z, true); - if (world.isRemote) { - JewelrycraftMod.saveData.setString(x + " " + y + " " + z + " " + world.provider.dimensionId, Item.getIdFromItem(JewelryNBT.ingot(stack).getItem()) + ":" + JewelryNBT.ingot(stack).getItemDamage()); - JewelrycraftMod.netWrapper.sendToAll(new PacketSendLiquidData(world.provider.dimensionId, x, y, z, Item.getIdFromItem(JewelryNBT.ingot(stack).getItem()), JewelryNBT.ingot(stack).getItemDamage())); - } world.setBlock(x, y, z, BlockList.moltenMetal, 0, 3); + TileEntity moltenLiquid = world.getTileEntity(x, y, z); + if(moltenLiquid instanceof TileEntityMoltenMetal) ((TileEntityMoltenMetal) moltenLiquid).setMetal(JewelryNBT.ingot(stack)); return true; } else return false; } } - /** - * @param iconRegister - */ @Override public void registerIcons(IIconRegister iconRegister) { itemIcon = iconRegister.registerIcon("bucket_empty"); liquid = iconRegister.registerIcon(Variables.MODID + ":bucketOverlay"); } - /** - * @param stack - * @param pass - * @return - */ @Override @SideOnly(Side.CLIENT) public int getColorFromItemStack(ItemStack stack, int pass) { @@ -153,19 +111,11 @@ public class ItemMoltenMetalBucket extends Item { return 16777215; } - /** - * @return - */ @Override public boolean requiresMultipleRenderPasses() { return true; } - /** - * @param stack - * @param pass - * @return - */ @Override public IIcon getIcon(ItemStack stack, int pass) { if (pass == 0) return itemIcon; @@ -173,27 +123,18 @@ public class ItemMoltenMetalBucket extends Item { return itemIcon; } - /** - * @param ingot - * @return - */ public ItemStack getModifiedItemStack(ItemStack ingot) { ItemStack itemstack = new ItemStack(this); JewelryNBT.addMetal(itemstack, ingot); return itemstack; } - /** - * @param stack - * @return - */ @Override public String getItemStackDisplayName(ItemStack stack) { try { if (JewelryNBT.ingot(stack) != null) { ItemStack ingot = JewelryNBT.ingot(stack); if (ingot != null) { - if (Item.getIdFromItem(ingot.getItem()) == Block.getIdFromBlock(Blocks.stained_glass) || Item.getIdFromItem(ingot.getItem()) == Block.getIdFromBlock(Blocks.stained_hardened_clay) || Item.getIdFromItem(ingot.getItem()) == Block.getIdFromBlock(Blocks.wool) || Item.getIdFromItem(ingot.getItem()) == Block.getIdFromBlock(Blocks.carpet)) ingot.setItemDamage(15 - ingot.getItemDamage()); return StatCollector.translateToLocal(getUnlocalizedNameInefficiently(stack) + ".name").trim() + " " + ingot.getDisplayName().replace("Ingot", " ").trim(); } else return StatCollector.translateToLocal("bucket.unknown"); } -- cgit v1.2.3