From 6312636fd9a4d0f56dc7c9ff474a99d879bcb4e9 Mon Sep 17 00:00:00 2001 From: OnyxDarkKnight Date: Mon, 23 Mar 2015 14:51:06 +0000 Subject: Reworked the whole repo. --- .../jewelrycraft/events/BucketHandler.java | 79 ++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 src/main/java/darkknight/jewelrycraft/events/BucketHandler.java (limited to 'src/main/java/darkknight/jewelrycraft/events/BucketHandler.java') diff --git a/src/main/java/darkknight/jewelrycraft/events/BucketHandler.java b/src/main/java/darkknight/jewelrycraft/events/BucketHandler.java new file mode 100644 index 0000000..871f26e --- /dev/null +++ b/src/main/java/darkknight/jewelrycraft/events/BucketHandler.java @@ -0,0 +1,79 @@ +/** + * Copyright (c) SpaceToad, 2011 http://www.mod-buildcraft.com + * + * BuildCraft is distributed under the terms of the Minecraft Mod Public License + * 1.0, or MMPL. Please check the contents of the license located in + * http://www.mod-buildcraft.com/MMPL-1.0.txt + */ +package darkknight.jewelrycraft.events; + +import java.util.HashMap; +import java.util.Map; +import net.minecraft.block.Block; +import net.minecraft.init.Blocks; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.MovingObjectPosition; +import net.minecraft.world.World; +import net.minecraftforge.event.entity.player.FillBucketEvent; +import cpw.mods.fml.common.eventhandler.Event.Result; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import darkknight.jewelrycraft.JewelrycraftMod; +import darkknight.jewelrycraft.block.BlockMoltenMetal; +import darkknight.jewelrycraft.util.JewelryNBT; + +public class BucketHandler +{ + public static BucketHandler INSTANCE = new BucketHandler(); + public Map buckets = new HashMap(); + + /** + * + */ + private BucketHandler() + {} + + /** + * @param event + */ + @SubscribeEvent + public void onBucketFill(FillBucketEvent event) + { + ItemStack result = fillCustomBucket(event.world, event.target); + if (result == null) return; + event.result = result; + event.setResult(Result.ALLOW); + } + + /** + * @param world + * @param pos + * @return + */ + private ItemStack fillCustomBucket(World world, MovingObjectPosition pos) + { + Block block = world.getBlock(pos.blockX, pos.blockY, pos.blockZ); + Item bucket = buckets.get(block); + if (bucket != null && world.getBlock(pos.blockX, pos.blockY, pos.blockZ) != Blocks.air && world.getBlock(pos.blockX, pos.blockY, pos.blockZ) instanceof BlockMoltenMetal){ + world.setBlockToAir(pos.blockX, pos.blockY, pos.blockZ); + ItemStack item = new ItemStack(bucket); + String ingotData = JewelrycraftMod.saveData.getString(pos.blockX + " " + pos.blockY + " " + pos.blockZ + " " + world.provider.dimensionId); + if (ingotData != null && ingotData != ""){ + String[] splitData = ingotData.split(":"); + if (splitData.length == 3){ + int itemID, itemDamage; + try{ + itemID = Integer.parseInt(splitData[0]); + itemDamage = Integer.parseInt(splitData[1]); + Integer.parseInt(splitData[2]); + JewelryNBT.addMetal(item, new ItemStack(Item.getItemById(itemID), 1, itemDamage)); + } + catch(Exception e){ + e.printStackTrace(); + } + } + } + return item; + }else return null; + } +} \ No newline at end of file -- cgit v1.2.3