From e5882901e1e441ffce2840ff8e3ce4aab6ff1911 Mon Sep 17 00:00:00 2001 From: Progwml6 Date: Mon, 17 Feb 2014 21:34:34 -0500 Subject: [PATCH 1/4] part one of moving books over fully to new mantle interfaces --- .../java/tconstruct/client/TProxyClient.java | 4 +- src/main/java/tconstruct/items/Manual.java | 1 + .../java/tconstruct/items/ManualInfo.java | 54 +++++++++++++++++++ 3 files changed, 58 insertions(+), 1 deletion(-) create mode 100644 src/main/java/tconstruct/items/ManualInfo.java diff --git a/src/main/java/tconstruct/client/TProxyClient.java b/src/main/java/tconstruct/client/TProxyClient.java index e8e3ffdd..8cd57e2c 100644 --- a/src/main/java/tconstruct/client/TProxyClient.java +++ b/src/main/java/tconstruct/client/TProxyClient.java @@ -135,6 +135,7 @@ import tconstruct.entity.projectile.ArrowEntity; import tconstruct.entity.projectile.DaggerEntity; import tconstruct.entity.projectile.LaunchedPotion; import tconstruct.inventory.ContainerLandmine; +import tconstruct.items.ManualInfo; import tconstruct.library.TConstructRegistry; import tconstruct.library.client.TConstructClientRegistry; import tconstruct.library.client.ToolGuiElement; @@ -359,7 +360,7 @@ public class TProxyClient extends TProxyCommon public static Document volume1; public static Document volume2; public static Document smelter; - + public static ManualInfo manualData; @Override public void readManuals () { @@ -371,6 +372,7 @@ public class TProxyClient extends TProxyCommon initManualIcons(); initManualRecipes(); initManualPages(); + manualData = new ManualInfo(); } Document readManual (String location, DocumentBuilderFactory dbFactory) diff --git a/src/main/java/tconstruct/items/Manual.java b/src/main/java/tconstruct/items/Manual.java index b648c27e..ddee6711 100644 --- a/src/main/java/tconstruct/items/Manual.java +++ b/src/main/java/tconstruct/items/Manual.java @@ -22,6 +22,7 @@ public class Manual extends CraftingItem { super(name, textureName, "", "tinker", TConstructRegistry.materialTab); setUnlocalizedName("tconstruct.manual"); + } @Override diff --git a/src/main/java/tconstruct/items/ManualInfo.java b/src/main/java/tconstruct/items/ManualInfo.java new file mode 100644 index 00000000..3a28584a --- /dev/null +++ b/src/main/java/tconstruct/items/ManualInfo.java @@ -0,0 +1,54 @@ +package tconstruct.items; + +import net.minecraft.util.ResourceLocation; +import net.minecraft.util.StatCollector; + +import org.w3c.dom.Document; + +import tconstruct.client.TProxyClient; +import cpw.mods.fml.common.FMLCommonHandler; +import cpw.mods.fml.relauncher.Side; +import mantle.books.BookData; +import mantle.books.BookDataStore; +import mantle.books.ManualReader; + +public class ManualInfo +{ + // static String[] name = new String[] { "beginner", "toolstation", "smeltery", "diary" }; + // static String[] textureName = new String[] { "tinkerbook_diary", "tinkerbook_toolstation", "tinkerbook_smeltery", "tinkerbook_blue" }; + + BookData beginner = new BookData(); + BookData toolStation = new BookData(); + BookData smeltery = new BookData(); + BookData diary = new BookData(); + + /* diary = readManual("/assets/tinker/manuals/diary.xml", dbFactory); + volume1 = readManual("/assets/tinker/manuals/firstday.xml", dbFactory); + volume2 = readManual("/assets/tinker/manuals/materials.xml", dbFactory); + smelter = readManual("/assets/tinker/manuals/smeltery.xml", dbFactory);*/ + + public ManualInfo() + { + Side side = FMLCommonHandler.instance().getEffectiveSide(); + beginner = initManual(beginner, "tconstruct.manual.beginner", "\u00a7o" + StatCollector.translateToLocal("manual1.tooltip"), side == Side.CLIENT ? TProxyClient.volume1 : null, "tinker:tinkerbook_diary"); + toolStation = initManual(toolStation, "tconstruct.manual.toolstation", "\u00a7o" + StatCollector.translateToLocal("manual2.tooltip"), side == Side.CLIENT ? TProxyClient.volume2 : null, "tinker:tinkerbook_toolstation"); + smeltery = initManual(smeltery, "tconstruct.manual.smeltery", "\u00a7o" + StatCollector.translateToLocal("manual3.tooltip"), side == Side.CLIENT ? TProxyClient.smelter : null, "tinker:tinkerbook_smeltery"); + diary = initManual(diary, "tconstruct.manual.diary", "\u00a7o" + StatCollector.translateToLocal("manual4.tooltip"), side == Side.CLIENT ? TProxyClient.diary : null, "tinker:tinkerbook_blue"); + + + + } + + public BookData initManual (BookData data, String unlocName, String toolTip, Document xmlDoc, String itemImage) + { + //proxy.readManuals(); + data.unlocalizedName = unlocName; + data.toolTip = unlocName; + data.modID = "TConstruct"; + data.itemImage = new ResourceLocation(data.modID, itemImage); + data.doc = xmlDoc; + BookDataStore.addBook(data); + return data; + } + +} From 5c4d01f5d0e7f6458310ed3250b67ef16fe723b8 Mon Sep 17 00:00:00 2001 From: Progwml6 Date: Thu, 20 Feb 2014 12:40:03 -0500 Subject: [PATCH 2/4] remove remnants of drawbridge registries.. have been moved to TMech --- .../library/TConstructRegistry.java | 174 ------------------ 1 file changed, 174 deletions(-) diff --git a/src/main/java/tconstruct/library/TConstructRegistry.java b/src/main/java/tconstruct/library/TConstructRegistry.java index b1fc8a1f..31258cc6 100644 --- a/src/main/java/tconstruct/library/TConstructRegistry.java +++ b/src/main/java/tconstruct/library/TConstructRegistry.java @@ -547,180 +547,6 @@ public class TConstructRegistry activeModifiers.add(mod); } - /* - * Used to determine how blocks are laid out in the drawbridge 0: Metadata - * has to match 1: Metadata has no meaning 2: Should not be placed 3: Has - * rotational metadata 4: Rails 5: Has rotational TileEntity data 6: Custom - * placement logic - */ - - // moved to TMech - // public static HashMap drawbridgeState = new - // HashMap(); - /* - * Blocks that are interchangable with each other. Ex: Still and flowing - * water - */ - // static HashMap interchangableBlockMapping = new - // HashMap (); - /* Blocks that place items, and vice versa */ - // public static HashBiMap blockToItemMapping; - - static void initializeDrawbridgeState () - { - // TODO fix this mess and move to TMech - /* - * drawbridgeState[Blocks.stone] = 1; drawbridgeState[Blocks.grass] = 1; - * drawbridgeState[Blocks.dirt] = 1; drawbridgeState[Blocks.cobblestone] - * = 1; drawbridgeState[Blocks.bedrock] = 2; - * drawbridgeState[Blocks.water] = 1; drawbridgeState[Blocks.lava] = 1; - * drawbridgeState[Blocks.sand] = 1; drawbridgeState[Blocks.gravel] = 1; - * drawbridgeState[Blocks.gold_ore] = 1; - * drawbridgeState[Blocks.iron_ore] = 1; - * drawbridgeState[Blocks.coal_ore] = 1; drawbridgeState[Blocks.sponge] - * = 1; drawbridgeState[Blocks.lapis_ore] = 1; - * drawbridgeState[Blocks.lapis_block] = 1; - * drawbridgeState[Blocks.dispenser] = 3; drawbridgeState[Blocks.music] - * = 1; drawbridgeState[Blocks.bed] = 2; - * drawbridgeState[Blocks.railPowered] = 4; - * drawbridgeState[Blocks.railDetector] = 4; - * drawbridgeState[Blocks.sticky_piston] = 3; - * drawbridgeState[Blocks.web] = 1; drawbridgeState[Blocks.piston] = 3; - * drawbridgeState[Blocks.piston_extension] = 2; - * drawbridgeState[Blocks.plantYellow] = 1; - * drawbridgeState[Blocks.plantRed] = 1; - * drawbridgeState[Blocks.mushroomBrown] = 1; - * drawbridgeState[Blocks.mushroomRed] = 1; - * drawbridgeState[Blocks.gold_block] = 1; - * drawbridgeState[Blocks.iron_block] = 1; - * drawbridgeState[Blocks.brick_block] = 1; drawbridgeState[Blocks.tnt] - * = 1; drawbridgeState[Blocks.bookshelf] = 1; - * drawbridgeState[Blocks.mossy_cobblestone] = 1; - * drawbridgeState[Blocks.obsidian] = 1; - * drawbridgeState[Blocks.torchWood] = 1; drawbridgeState[Blocks.fire] = - * 1; drawbridgeState[Blocks.mobSpawner] = 2; - * drawbridgeState[Blocks.stairsWoodOak] = 3; - * drawbridgeState[Blocks.chest] = 5; - * drawbridgeState[Blocks.redstoneWire] = 1; - * blockToItemMapping[Blocks.redstoneWire] = Items.redstone; - * blockToItemMapping[Items.redstone] = Blocks.redstoneWire; - * drawbridgeState[Blocks.diamond_ore] = 1; - * drawbridgeState[Blocks.diamond_block] = 1; - * drawbridgeState[Blocks.crafting_table] = 1; - * drawbridgeState[Blocks.crops] = 2; - * drawbridgeState[Blocks.tilledField] = 1; - * drawbridgeState[Blocks.furnaceIdle] = 3; - * drawbridgeState[Blocks.furnaceBurning] = 3; - * interchangableBlockMapping[Blocks.furnaceIdle] = - * Blocks.furnaceBurning; - * interchangableBlockMapping[Blocks.furnaceBurning] = - * Blocks.furnaceIdle; drawbridgeState[Blocks.tilledField] = 1; - * drawbridgeState[Blocks.signPost] = 3; - * drawbridgeState[Blocks.doorWood] = 2; drawbridgeState[Blocks.ladder] - * = 1; drawbridgeState[Blocks.rail] = 4; - * drawbridgeState[Blocks.stairsCobblestone] = 3; - * drawbridgeState[Blocks.signWall] = 3; drawbridgeState[Blocks.lever] = - * 3; drawbridgeState[Blocks.pressurePlateStone] = 1; - * drawbridgeState[Blocks.doorIron] = 2; - * drawbridgeState[Blocks.pressurePlatePlanks] = 1; - * drawbridgeState[Blocks.oreRedstone] = 1; - * drawbridgeState[Blocks.oreRedstoneGlowing] = 1; - * drawbridgeState[Blocks.torchRedstoneIdle] = 1; - * drawbridgeState[Blocks.torchRedstoneActive] = 1; - * drawbridgeState[Blocks.stoneButton] = 3; drawbridgeState[Blocks.snow] - * = 1; drawbridgeState[Blocks.ice] = 1; - * drawbridgeState[Blocks.blockSnow] = 1; drawbridgeState[Blocks.cactus] - * = 2; drawbridgeState[Blocks.blockClay] = 1; - * drawbridgeState[Blocks.reed] = 1; drawbridgeState[Blocks.jukebox] = - * 1; drawbridgeState[Blocks.fence] = 1; drawbridgeState[Blocks.pumpkin] - * = 1; drawbridgeState[Blocks.netherrack] = 1; - * drawbridgeState[Blocks.slowSand] = 1; - * drawbridgeState[Blocks.glowStone] = 1; drawbridgeState[Blocks.portal] - * = 2; drawbridgeState[Blocks.pumpkinLantern] = 1; - * drawbridgeState[Blocks.cake] = 2; - * drawbridgeState[Blocks.redstoneRepeaterIdle] = 3; - * drawbridgeState[Blocks.redstoneRepeaterActive] = 3; - * interchangableBlockMapping[Blocks.redstoneRepeaterIdle] = - * Blocks.redstoneRepeaterActive; - * interchangableBlockMapping[Blocks.redstoneRepeaterActive] = - * Blocks.redstoneRepeaterIdle; - * blockToItemMapping[Blocks.redstoneRepeaterIdle] = - * Items.redstoneRepeater.itemID; - * blockToItemMapping[Blocks.redstoneRepeaterActive] = - * Items.redstoneRepeater.itemID; - * blockToItemMapping[Items.redstoneRepeater] = - * Blocks.redstoneRepeaterIdle; drawbridgeState[Blocks.lockedChest] = 5; - * drawbridgeState[Blocks.trapdoor] = 3; - * drawbridgeState[Blocks.mushroomCapBrown] = 1; - * drawbridgeState[Blocks.mushroomCapRed] = 1; - * drawbridgeState[Blocks.fenceIron] = 1; - * drawbridgeState[Blocks.thinGlass] = 1; drawbridgeState[Blocks.melon] - * = 1; drawbridgeState[Blocks.pumpkinStem] = 2; - * drawbridgeState[Blocks.melonStem] = 2; drawbridgeState[Blocks.vine] = - * 3; drawbridgeState[Blocks.fenceGate] = 3; - * drawbridgeState[Blocks.stairsBrick] = 3; - * drawbridgeState[Blocks.stairsStoneBrick] = 3; - * drawbridgeState[Blocks.mycelium] = 1; - * drawbridgeState[Blocks.waterlily] = 1; - * drawbridgeState[Blocks.netherBrick] = 1; - * drawbridgeState[Blocks.netherFence] = 1; - * drawbridgeState[Blocks.netherFence] = 3; - * drawbridgeState[Blocks.netherStalk] = 2; - * drawbridgeState[Blocks.enchantmentTable] = 1; - * drawbridgeState[Blocks.brewingStand] = 1; - * drawbridgeState[Blocks.cauldron] = 1; - * drawbridgeState[Blocks.endPortal] = 2; - * drawbridgeState[Blocks.dragonEgg] = 1; - * drawbridgeState[Blocks.redstoneLampIdle] = 1; - * drawbridgeState[Blocks.redstoneLampActive] = 1; - * drawbridgeState[Blocks.cocoaPlant] = 2; - * drawbridgeState[Blocks.stairsSandStone] = 3; - * drawbridgeState[Blocks.oreEmerald] = 1; - * drawbridgeState[Blocks.enderChest] = 5; - * drawbridgeState[Blocks.tripWireSource] = 1; - * drawbridgeState[Blocks.tripWire] = 1; - * drawbridgeState[Blocks.blockEmerald] = 1; - * drawbridgeState[Blocks.stairsWoodSpruce] = 3; - * drawbridgeState[Blocks.stairsWoodBirch] = 3; - * drawbridgeState[Blocks.stairsWoodJungle] = 3; - * drawbridgeState[Blocks.commandBlock] = 1; - * drawbridgeState[Blocks.beacon] = 1; - * drawbridgeState[Blocks.cobblestoneWall] = 1; - * drawbridgeState[Blocks.flowerPot] = 1; drawbridgeState[Blocks.carrot] - * = 2; drawbridgeState[Blocks.potato] = 1; - * drawbridgeState[Blocks.woodenButton] = 3; - * drawbridgeState[Blocks.skull] = 2; - * drawbridgeState[Blocks.chestTrapped] = 5; - * drawbridgeState[Blocks.pressurePlateGold] = 1; - * drawbridgeState[Blocks.pressurePlateIron] = 1; - * drawbridgeState[Blocks.redstoneComparatorIdle] = 1; - * drawbridgeState[Blocks.redstoneComparatorActive] = 1; - * interchangableBlockMapping[Blocks.redstoneComparatorIdle] = - * Blocks.redstoneComparatorActive; - * interchangableBlockMapping[Blocks.redstoneComparatorActive] = - * Blocks.redstoneComparatorIdle; - * blockToItemMapping[Blocks.redstoneComparatorIdle] = - * Items.comparator.itemID; - * blockToItemMapping[Blocks.redstoneComparatorActive] = - * Items.comparator.itemID; blockToItemMapping[Items.comparator] = - * Blocks.redstoneComparatorIdle; drawbridgeState[Blocks.daylightSensor] - * = 1; drawbridgeState[Blocks.blockRedstone] = 1; - * drawbridgeState[Blocks.oreNetherQuartz] = 1; - * drawbridgeState[Blocks.hopperBlock] = 3; - * drawbridgeState[Blocks.blockNetherQuartz] = 1; - * drawbridgeState[Blocks.stairsNetherQuartz] = 3; - * drawbridgeState[Blocks.railActivator] = 4; - * drawbridgeState[Blocks.dropper] = 3; - * interchangableBlockMapping[Blocks.dirt] = Blocks.grass; - * interchangableBlockMapping[Blocks.grass] = Blocks.dirt; - */ - } - - static - { - initializeDrawbridgeState(); - } - /** * Default Material Index 0: Wood 1: Stone 2: Iron 3: Flint 4: Cactus 5: * Bone 6: Obsidian 7: Netherrack 8: Green Slime 9: Paper 10: Cobalt 11: From 38dee74ac8542640075537baf5ac406f3ec1fb9a Mon Sep 17 00:00:00 2001 From: Progwml6 Date: Thu, 20 Feb 2014 14:20:02 -0500 Subject: [PATCH 3/4] change API logger to log4j2 --- .../library/TConstructRegistry.java | 22 ++++++++++--------- .../tconstruct/library/tools/ToolCore.java | 16 +++++--------- 2 files changed, 18 insertions(+), 20 deletions(-) diff --git a/src/main/java/tconstruct/library/TConstructRegistry.java b/src/main/java/tconstruct/library/TConstructRegistry.java index 31258cc6..d015f27b 100644 --- a/src/main/java/tconstruct/library/TConstructRegistry.java +++ b/src/main/java/tconstruct/library/TConstructRegistry.java @@ -5,7 +5,9 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; import java.util.List; -import java.util.logging.Logger; + +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import mantle.lib.TabTools; import net.minecraft.item.Item; @@ -31,7 +33,7 @@ public class TConstructRegistry { public static TConstructRegistry instance = new TConstructRegistry(); - public static Logger logger = Logger.getLogger("TCon-API"); + public static Logger logger = LogManager.getLogger("TCon-API"); /* Creative tabs */ public static TabTools toolTab; @@ -70,7 +72,7 @@ public class TConstructRegistry { Item add = itemDirectory.get(name); if (add != null) - logger.warning(name + " is already present in the Item directory"); + logger.warn(name + " is already present in the Item directory"); itemDirectory.put(name, itemstack); } @@ -87,7 +89,7 @@ public class TConstructRegistry { Item ret = itemDirectory.get(name); if (ret == null) - logger.warning("Could not find " + name + " in the Item directory"); + logger.warn("Could not find " + name + " in the Item directory"); return ret; } @@ -125,7 +127,7 @@ public class TConstructRegistry { ItemStack add = itemstackDirectory.get(name); if (add != null) - logger.warning(name + " is already present in the ItemStack directory"); + logger.warn(name + " is already present in the ItemStack directory"); itemstackDirectory.put(name, itemstack); } @@ -142,7 +144,7 @@ public class TConstructRegistry { ItemStack ret = itemstackDirectory.get(name); if (ret == null) - logger.warning("Could not find " + name + " in the ItemStack directory"); + logger.warn("Could not find " + name + " in the ItemStack directory"); return ret; } @@ -221,7 +223,7 @@ public class TConstructRegistry { ToolBuilder tb = ToolBuilder.instance; if (parts.length < 2 || parts.length > 4) - logger.warning("Wrong amount of items to craft into a tool"); + logger.warn("Wrong amount of items to craft into a tool"); tb.addToolRecipe(output, parts); } @@ -493,7 +495,7 @@ public class TConstructRegistry } catch (Exception e) { - logger.warning("Could not find casting table recipes."); + logger.warn("Could not find casting table recipes."); return null; } } @@ -514,7 +516,7 @@ public class TConstructRegistry } catch (Exception e) { - logger.warning("Could not find casting basin recipes."); + logger.warn("Could not find casting basin recipes."); return null; } } @@ -535,7 +537,7 @@ public class TConstructRegistry } catch (Exception e) { - logger.warning("Could not find chisel detailing recipes."); + logger.warn("Could not find chisel detailing recipes."); return null; } } diff --git a/src/main/java/tconstruct/library/tools/ToolCore.java b/src/main/java/tconstruct/library/tools/ToolCore.java index 8099b1c0..6788a188 100644 --- a/src/main/java/tconstruct/library/tools/ToolCore.java +++ b/src/main/java/tconstruct/library/tools/ToolCore.java @@ -58,8 +58,8 @@ public abstract class ToolCore extends Item implements IEnergyContainerItem, IBa { // TE power constants -- TODO grab these from the items added protected int capacity = 400000; - protected int maxReceive = 75; - protected int maxExtract = 75; + protected int maxReceive = 80; + protected int maxExtract = 80; protected Random random = new Random(); protected int damageVsEntity; @@ -546,23 +546,19 @@ public abstract class ToolCore extends Item implements IEnergyContainerItem, IBa boolean supress = false; try { - clazz = Class.forName("tconstruct.common.TRepo"); // TODO: Make - // sure this - // is still - // working - // in 1.7. + clazz = Class.forName("tconstruct.common.TRepo"); fld = clazz.getField("supressMissingToolLogs"); supress = fld.getBoolean(fld); } catch (Exception e) { - TConstructRegistry.logger.severe("TConstruct Library could not find parts of TContent"); + TConstructRegistry.logger.error("TConstruct Library could not find parts of TContent"); e.printStackTrace(); } if (!supress) { - TConstructRegistry.logger.severe("Creative builder failed tool for " + name + this.getToolName()); - TConstructRegistry.logger.severe("Make sure you do not have item ID conflicts"); + TConstructRegistry.logger.error("Creative builder failed tool for " + name + this.getToolName()); + TConstructRegistry.logger.error("Make sure you do not have item ID conflicts"); } } else From 5d8f03ce0d9e6530e17e62619a909cbfbfc92bf0 Mon Sep 17 00:00:00 2001 From: Progwml6 Date: Thu, 20 Feb 2014 15:03:12 -0500 Subject: [PATCH 4/4] manually handle lava bucket b/c of forge issue --- .../java/tconstruct/blocks/LavaTankBlock.java | 40 ++++++++++++++++++- 1 file changed, 39 insertions(+), 1 deletion(-) diff --git a/src/main/java/tconstruct/blocks/LavaTankBlock.java b/src/main/java/tconstruct/blocks/LavaTankBlock.java index d0d552f7..74f49c10 100644 --- a/src/main/java/tconstruct/blocks/LavaTankBlock.java +++ b/src/main/java/tconstruct/blocks/LavaTankBlock.java @@ -11,6 +11,7 @@ import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; @@ -20,8 +21,10 @@ import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; import net.minecraftforge.fluids.FluidContainerRegistry; +import net.minecraftforge.fluids.FluidRegistry; import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.fluids.FluidTankInfo; +import tconstruct.TConstruct; import tconstruct.blocks.logic.LavaTankLogic; import tconstruct.client.block.TankRender; import tconstruct.library.TConstructRegistry; @@ -164,8 +167,16 @@ public class LavaTankBlock extends BlockContainer ItemStack current = entityplayer.inventory.getCurrentItem(); if (current != null) { - FluidStack liquid = FluidContainerRegistry.getFluidForFilledItem(current); + FluidStack liquid; LavaTankLogic logic = (LavaTankLogic) world.getTileEntity(i, j, k); + if (current.getItem() == Items.lava_bucket) + { + liquid = new FluidStack(FluidRegistry.LAVA, TConstruct.blockLiquidValue); + } + else + { + liquid = FluidContainerRegistry.getFluidForFilledItem(current); + } if (liquid != null) { int amount = logic.fill(ForgeDirection.UNKNOWN, liquid, false); @@ -179,6 +190,33 @@ public class LavaTankBlock extends BlockContainer else return true; } + else if (current.getItem() == Items.lava_bucket) + { + FluidTankInfo[] tanks = logic.getTankInfo(ForgeDirection.UNKNOWN); + FluidStack fillFluid = tanks[0].fluid;// getFluid(); + ItemStack fillStack = new ItemStack(Items.bucket); + if (fillStack != null) + { + logic.drain(ForgeDirection.UNKNOWN, TConstruct.blockLiquidValue, true); + if (!entityplayer.capabilities.isCreativeMode) + { + if (current.stackSize == 1) + { + entityplayer.inventory.setInventorySlotContents(entityplayer.inventory.currentItem, fillStack); + } + else + { + entityplayer.inventory.setInventorySlotContents(entityplayer.inventory.currentItem, consumeItem(current)); + + if (!entityplayer.inventory.addItemStackToInventory(fillStack)) + { + entityplayer.dropPlayerItemWithRandomChoice(fillStack, false); + } + } + } + return true; + } + } else if (FluidContainerRegistry.isBucket(current)) { FluidTankInfo[] tanks = logic.getTankInfo(ForgeDirection.UNKNOWN);