From 89963a23fba81a1b0f49ae6bcaee711f76bdf395 Mon Sep 17 00:00:00 2001 From: Ellpeck Date: Fri, 6 May 2016 23:23:29 +0200 Subject: [PATCH] Replaced bucket slots in GUIs with right click functionality --- .../mod/blocks/BlockCanolaPress.java | 4 +- .../mod/blocks/BlockCoffeeMachine.java | 4 +- .../mod/blocks/BlockFermentingBarrel.java | 4 +- .../mod/blocks/BlockFluidCollector.java | 4 +- .../mod/blocks/BlockOilGenerator.java | 4 +- .../mod/blocks/base/BlockContainerBase.java | 9 ++- .../mod/inventory/ContainerCanolaPress.java | 9 +-- .../mod/inventory/ContainerCoffeeMachine.java | 10 +-- .../inventory/ContainerFermentingBarrel.java | 24 +------ .../inventory/ContainerFluidCollector.java | 17 +---- .../mod/inventory/ContainerOilGenerator.java | 23 ++----- .../inventory/gui/GuiFermentingBarrel.java | 2 +- .../mod/inventory/gui/GuiFluidCollector.java | 2 +- .../mod/inventory/gui/GuiOilGenerator.java | 2 +- .../mod/tile/TileEntityBase.java | 11 +++ .../mod/tile/TileEntityCanolaPress.java | 11 ++- .../mod/tile/TileEntityCoffeeMachine.java | 13 ++-- .../mod/tile/TileEntityFermentingBarrel.java | 27 ++------ .../mod/tile/TileEntityFireworkBox.java | 4 ++ .../mod/tile/TileEntityFishingNet.java | 4 ++ .../mod/tile/TileEntityFluidCollector.java | 63 +++++------------ .../mod/tile/TileEntityFurnaceSolar.java | 4 ++ .../mod/tile/TileEntityGreenhouseGlass.java | 4 ++ .../mod/tile/TileEntityHeatCollector.java | 4 ++ .../mod/tile/TileEntityInventoryBase.java | 7 +- .../mod/tile/TileEntityLaserRelay.java | 4 ++ .../tile/TileEntityLavaFactoryController.java | 4 ++ .../mod/tile/TileEntityLeafGenerator.java | 4 ++ .../mod/tile/TileEntityOilGenerator.java | 24 ++----- .../mod/tile/TileEntityPhantomBooster.java | 3 + .../mod/tile/TileEntitySmileyCloud.java | 4 ++ .../actuallyadditions/mod/util/Util.java | 2 + .../actuallyadditions/mod/util/WorldUtil.java | 64 +++--------------- .../textures/gui/guiCanolaPress.png | Bin 2441 -> 3050 bytes .../textures/gui/guiCoffeeMachine.png | Bin 2563 -> 3686 bytes .../textures/gui/guiFermentingBarrel.png | Bin 2459 -> 2941 bytes .../textures/gui/guiFluidCollector.png | Bin 1890 -> 1366 bytes .../textures/gui/guiOilGenerator.png | Bin 2121 -> 2634 bytes 38 files changed, 138 insertions(+), 241 deletions(-) diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockCanolaPress.java b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockCanolaPress.java index 78bb4be1f..27bd04c36 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockCanolaPress.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockCanolaPress.java @@ -46,7 +46,9 @@ public class BlockCanolaPress extends BlockContainerBase{ if(!world.isRemote){ TileEntityCanolaPress press = (TileEntityCanolaPress)world.getTileEntity(pos); if(press != null){ - player.openGui(ActuallyAdditions.instance, GuiHandler.GuiTypes.CANOLA_PRESS.ordinal(), world, pos.getX(), pos.getY(), pos.getZ()); + if(!this.tryUseItemOnTank(player, stack, side, press)){ + player.openGui(ActuallyAdditions.instance, GuiHandler.GuiTypes.CANOLA_PRESS.ordinal(), world, pos.getX(), pos.getY(), pos.getZ()); + } } return true; } diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockCoffeeMachine.java b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockCoffeeMachine.java index 08d4f9c75..106879a53 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockCoffeeMachine.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockCoffeeMachine.java @@ -66,7 +66,9 @@ public class BlockCoffeeMachine extends BlockContainerBase{ if(!world.isRemote){ TileEntityCoffeeMachine machine = (TileEntityCoffeeMachine)world.getTileEntity(pos); if(machine != null){ - player.openGui(ActuallyAdditions.instance, GuiHandler.GuiTypes.COFFEE_MACHINE.ordinal(), world, pos.getX(), pos.getY(), pos.getZ()); + if(!this.tryUseItemOnTank(player, stack, f6, machine)){ + player.openGui(ActuallyAdditions.instance, GuiHandler.GuiTypes.COFFEE_MACHINE.ordinal(), world, pos.getX(), pos.getY(), pos.getZ()); + } } return true; } diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockFermentingBarrel.java b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockFermentingBarrel.java index d8794f597..532b85d4d 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockFermentingBarrel.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockFermentingBarrel.java @@ -52,7 +52,9 @@ public class BlockFermentingBarrel extends BlockContainerBase{ if(!world.isRemote){ TileEntityFermentingBarrel press = (TileEntityFermentingBarrel)world.getTileEntity(pos); if(press != null){ - player.openGui(ActuallyAdditions.instance, GuiHandler.GuiTypes.FERMENTING_BARREL.ordinal(), world, pos.getX(), pos.getY(), pos.getZ()); + if(!this.tryUseItemOnTank(player, heldItem, par6, press)){ + player.openGui(ActuallyAdditions.instance, GuiHandler.GuiTypes.FERMENTING_BARREL.ordinal(), world, pos.getX(), pos.getY(), pos.getZ()); + } } return true; } diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockFluidCollector.java b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockFluidCollector.java index 7f4f5ad2f..6596e80f1 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockFluidCollector.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockFluidCollector.java @@ -59,7 +59,9 @@ public class BlockFluidCollector extends BlockContainerBase{ if(!world.isRemote){ TileEntityFluidCollector collector = (TileEntityFluidCollector)world.getTileEntity(pos); if(collector != null){ - player.openGui(ActuallyAdditions.instance, GuiHandler.GuiTypes.FLUID_COLLECTOR.ordinal(), world, pos.getX(), pos.getY(), pos.getZ()); + if(!this.tryUseItemOnTank(player, stack, par6, collector)){ + player.openGui(ActuallyAdditions.instance, GuiHandler.GuiTypes.FLUID_COLLECTOR.ordinal(), world, pos.getX(), pos.getY(), pos.getZ()); + } } return true; } diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockOilGenerator.java b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockOilGenerator.java index 12ba314e2..ada610e7b 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockOilGenerator.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockOilGenerator.java @@ -68,7 +68,9 @@ public class BlockOilGenerator extends BlockContainerBase{ if(!world.isRemote){ TileEntityOilGenerator generator = (TileEntityOilGenerator)world.getTileEntity(pos); if(generator != null){ - player.openGui(ActuallyAdditions.instance, GuiHandler.GuiTypes.OIL_GENERATOR.ordinal(), world, pos.getX(), pos.getY(), pos.getZ()); + if(!this.tryUseItemOnTank(player, stack, par6, generator)){ + player.openGui(ActuallyAdditions.instance, GuiHandler.GuiTypes.OIL_GENERATOR.ordinal(), world, pos.getX(), pos.getY(), pos.getZ()); + } } return true; } diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/base/BlockContainerBase.java b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/base/BlockContainerBase.java index 69efb8475..9c438c630 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/base/BlockContainerBase.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/base/BlockContainerBase.java @@ -13,7 +13,6 @@ package de.ellpeck.actuallyadditions.mod.blocks.base; import de.ellpeck.actuallyadditions.mod.ActuallyAdditions; import de.ellpeck.actuallyadditions.mod.tile.*; import de.ellpeck.actuallyadditions.mod.util.ItemUtil; -import de.ellpeck.actuallyadditions.mod.util.ModUtil; import de.ellpeck.actuallyadditions.mod.util.Util; import net.minecraft.block.Block; import net.minecraft.block.BlockContainer; @@ -33,11 +32,13 @@ import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.EnumBlockRenderType; -import net.minecraft.util.ResourceLocation; +import net.minecraft.util.EnumFacing; import net.minecraft.util.math.BlockPos; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import net.minecraftforge.fluids.FluidStack; +import net.minecraftforge.fluids.FluidUtil; +import net.minecraftforge.fluids.IFluidHandler; import java.util.ArrayList; import java.util.Random; @@ -174,6 +175,10 @@ public abstract class BlockContainerBase extends BlockContainer{ } } + protected boolean tryUseItemOnTank(EntityPlayer player, ItemStack heldItem, EnumFacing sideHit, IFluidHandler tank){ + return heldItem != null && FluidUtil.interactWithTank(heldItem, player, tank, sideHit); + } + @Override public void onBlockAdded(World world, BlockPos pos, IBlockState state){ this.updateRedstoneState(world, pos); diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/ContainerCanolaPress.java b/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/ContainerCanolaPress.java index dc636f81f..ef0f9321b 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/ContainerCanolaPress.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/ContainerCanolaPress.java @@ -34,8 +34,6 @@ public class ContainerCanolaPress extends Container{ this.press = (TileEntityCanolaPress)tile; this.addSlotToContainer(new Slot(this.press, 0, 81, 10)); - this.addSlotToContainer(new Slot(this.press, 1, 136, 73)); - this.addSlotToContainer(new SlotOutput(this.press, 2, 136, 42)); for(int i = 0; i < 3; i++){ for(int j = 0; j < 9; j++){ @@ -49,7 +47,7 @@ public class ContainerCanolaPress extends Container{ @Override public ItemStack transferStackInSlot(EntityPlayer player, int slot){ - final int inventoryStart = 3; + final int inventoryStart = 1; final int inventoryEnd = inventoryStart+26; final int hotbarStart = inventoryEnd+1; final int hotbarEnd = hotbarStart+8; @@ -68,11 +66,6 @@ public class ContainerCanolaPress extends Container{ return null; } } - else if(FluidContainerRegistry.getContainerCapacity(new FluidStack(InitFluids.fluidCanolaOil, 1), newStack) > 0){ - if(!this.mergeItemStack(newStack, 1, 2, false)){ - return null; - } - } // else if(slot >= inventoryStart && slot <= inventoryEnd){ diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/ContainerCoffeeMachine.java b/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/ContainerCoffeeMachine.java index 9aa870112..ecbe9a177 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/ContainerCoffeeMachine.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/ContainerCoffeeMachine.java @@ -44,9 +44,6 @@ public class ContainerCoffeeMachine extends Container{ } } - this.addSlotToContainer(new Slot(this.machine, TileEntityCoffeeMachine.SLOT_WATER_INPUT, 26, 73)); - this.addSlotToContainer(new SlotOutput(this.machine, TileEntityCoffeeMachine.SLOT_WATER_OUTPUT, 45, 73)); - for(int i = 0; i < 3; i++){ for(int j = 0; j < 9; j++){ this.addSlotToContainer(new Slot(inventory, j+i*9+9, 8+j*18, 97+i*18)); @@ -59,7 +56,7 @@ public class ContainerCoffeeMachine extends Container{ @Override public ItemStack transferStackInSlot(EntityPlayer player, int slot){ - final int inventoryStart = 13; + final int inventoryStart = 11; final int inventoryEnd = inventoryStart+26; final int hotbarStart = inventoryEnd+1; final int hotbarEnd = hotbarStart+8; @@ -85,11 +82,6 @@ public class ContainerCoffeeMachine extends Container{ return null; } } - else if(FluidContainerRegistry.containsFluid(newStack, new FluidStack(FluidRegistry.WATER, 1))){ - if(!this.mergeItemStack(newStack, TileEntityCoffeeMachine.SLOT_WATER_INPUT, TileEntityCoffeeMachine.SLOT_WATER_INPUT+1, false)){ - return null; - } - } else if(ItemCoffee.getIngredientFromStack(newStack) != null){ if(!this.mergeItemStack(newStack, 3, 11, false)){ return null; diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/ContainerFermentingBarrel.java b/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/ContainerFermentingBarrel.java index 6a23ad5df..c0dba6b6a 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/ContainerFermentingBarrel.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/ContainerFermentingBarrel.java @@ -31,11 +31,6 @@ public class ContainerFermentingBarrel extends Container{ public ContainerFermentingBarrel(InventoryPlayer inventory, TileEntityBase tile){ this.barrel = (TileEntityFermentingBarrel)tile; - this.addSlotToContainer(new Slot(this.barrel, 0, 42, 74)); - this.addSlotToContainer(new SlotOutput(this.barrel, 1, 42, 43)); - this.addSlotToContainer(new Slot(this.barrel, 2, 118, 74)); - this.addSlotToContainer(new SlotOutput(this.barrel, 3, 118, 43)); - for(int i = 0; i < 3; i++){ for(int j = 0; j < 9; j++){ this.addSlotToContainer(new Slot(inventory, j+i*9+9, 8+j*18, 97+i*18)); @@ -48,7 +43,7 @@ public class ContainerFermentingBarrel extends Container{ @Override public ItemStack transferStackInSlot(EntityPlayer player, int slot){ - final int inventoryStart = 4; + final int inventoryStart = 0; final int inventoryEnd = inventoryStart+26; final int hotbarStart = inventoryEnd+1; final int hotbarEnd = hotbarStart+8; @@ -61,20 +56,7 @@ public class ContainerFermentingBarrel extends Container{ //Other Slots in Inventory excluded if(slot >= inventoryStart){ - //Shift from Inventory - if(FluidContainerRegistry.containsFluid(newStack, new FluidStack(InitFluids.fluidCanolaOil, 1))){ - if(!this.mergeItemStack(newStack, 0, 1, false)){ - return null; - } - } - else if(FluidContainerRegistry.getContainerCapacity(new FluidStack(InitFluids.fluidOil, 1), newStack) > 0){ - if(!this.mergeItemStack(newStack, 2, 3, false)){ - return null; - } - } - // - - else if(slot >= inventoryStart && slot <= inventoryEnd){ + if(slot >= inventoryStart && slot <= inventoryEnd){ if(!this.mergeItemStack(newStack, hotbarStart, hotbarEnd+1, false)){ return null; } @@ -106,6 +88,6 @@ public class ContainerFermentingBarrel extends Container{ @Override public boolean canInteractWith(EntityPlayer player){ - return this.barrel.isUseableByPlayer(player); + return this.barrel.canPlayerUse(player); } } \ No newline at end of file diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/ContainerFluidCollector.java b/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/ContainerFluidCollector.java index 7dcc3499a..7dafd4566 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/ContainerFluidCollector.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/ContainerFluidCollector.java @@ -29,9 +29,6 @@ public class ContainerFluidCollector extends Container{ public ContainerFluidCollector(InventoryPlayer inventory, TileEntityBase tile){ this.collector = (TileEntityFluidCollector)tile; - this.addSlotToContainer(new Slot(this.collector, 0, 90, 73)); - this.addSlotToContainer(new SlotOutput(this.collector, 1, 90, 42)); - for(int i = 0; i < 3; i++){ for(int j = 0; j < 9; j++){ this.addSlotToContainer(new Slot(inventory, j+i*9+9, 8+j*18, 97+i*18)); @@ -44,7 +41,7 @@ public class ContainerFluidCollector extends Container{ @Override public ItemStack transferStackInSlot(EntityPlayer player, int slot){ - final int inventoryStart = 2; + final int inventoryStart = 0; final int inventoryEnd = inventoryStart+26; final int hotbarStart = inventoryEnd+1; final int hotbarEnd = hotbarStart+8; @@ -64,15 +61,7 @@ public class ContainerFluidCollector extends Container{ } //Other Slots in Inventory excluded else if(slot >= inventoryStart){ - //Shift from Inventory - if(FluidContainerRegistry.isEmptyContainer(newStack)){ - if(!this.mergeItemStack(newStack, 0, 1, false)){ - return null; - } - } - // - - else if(slot >= inventoryStart && slot <= inventoryEnd){ + if(slot >= inventoryStart && slot <= inventoryEnd){ if(!this.mergeItemStack(newStack, hotbarStart, hotbarEnd+1, false)){ return null; } @@ -104,6 +93,6 @@ public class ContainerFluidCollector extends Container{ @Override public boolean canInteractWith(EntityPlayer player){ - return this.collector.isUseableByPlayer(player); + return this.collector.canPlayerUse(player); } } \ No newline at end of file diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/ContainerOilGenerator.java b/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/ContainerOilGenerator.java index a41d04864..8b4a1e05c 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/ContainerOilGenerator.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/ContainerOilGenerator.java @@ -10,8 +10,6 @@ package de.ellpeck.actuallyadditions.mod.inventory; -import de.ellpeck.actuallyadditions.mod.fluids.InitFluids; -import de.ellpeck.actuallyadditions.mod.inventory.slot.SlotOutput; import de.ellpeck.actuallyadditions.mod.tile.TileEntityBase; import de.ellpeck.actuallyadditions.mod.tile.TileEntityOilGenerator; import invtweaks.api.container.InventoryContainer; @@ -20,8 +18,6 @@ import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.inventory.Container; import net.minecraft.inventory.Slot; import net.minecraft.item.ItemStack; -import net.minecraftforge.fluids.FluidContainerRegistry; -import net.minecraftforge.fluids.FluidStack; @InventoryContainer public class ContainerOilGenerator extends Container{ @@ -31,9 +27,6 @@ public class ContainerOilGenerator extends Container{ public ContainerOilGenerator(InventoryPlayer inventory, TileEntityBase tile){ this.generator = (TileEntityOilGenerator)tile; - this.addSlotToContainer(new Slot(this.generator, 0, 98, 74)); - this.addSlotToContainer(new SlotOutput(this.generator, 1, 98, 43)); - for(int i = 0; i < 3; i++){ for(int j = 0; j < 9; j++){ this.addSlotToContainer(new Slot(inventory, j+i*9+9, 8+j*18, 97+i*18)); @@ -46,12 +39,12 @@ public class ContainerOilGenerator extends Container{ @Override public ItemStack transferStackInSlot(EntityPlayer player, int slot){ - final int inventoryStart = 2; + final int inventoryStart = 0; final int inventoryEnd = inventoryStart+26; final int hotbarStart = inventoryEnd+1; final int hotbarEnd = hotbarStart+8; - Slot theSlot = (Slot)this.inventorySlots.get(slot); + Slot theSlot = this.inventorySlots.get(slot); if(theSlot != null && theSlot.getHasStack()){ ItemStack newStack = theSlot.getStack(); @@ -59,15 +52,7 @@ public class ContainerOilGenerator extends Container{ //Other Slots in Inventory excluded if(slot >= inventoryStart){ - //Shift from Inventory - if(FluidContainerRegistry.containsFluid(newStack, new FluidStack(InitFluids.fluidOil, 1))){ - if(!this.mergeItemStack(newStack, 0, 1, false)){ - return null; - } - } - // - - else if(slot >= inventoryStart && slot <= inventoryEnd){ + if(slot >= inventoryStart && slot <= inventoryEnd){ if(!this.mergeItemStack(newStack, hotbarStart, hotbarEnd+1, false)){ return null; } @@ -99,6 +84,6 @@ public class ContainerOilGenerator extends Container{ @Override public boolean canInteractWith(EntityPlayer player){ - return this.generator.isUseableByPlayer(player); + return this.generator.canPlayerUse(player); } } \ No newline at end of file diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/gui/GuiFermentingBarrel.java b/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/gui/GuiFermentingBarrel.java index 061999f80..59bd13efb 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/gui/GuiFermentingBarrel.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/gui/GuiFermentingBarrel.java @@ -54,7 +54,7 @@ public class GuiFermentingBarrel extends GuiContainer{ @Override public void drawGuiContainerForegroundLayer(int x, int y){ - AssetUtil.displayNameString(this.fontRendererObj, this.xSize, -10, this.press.getName()); + AssetUtil.displayNameString(this.fontRendererObj, this.xSize, -10, this.press.name); } @Override diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/gui/GuiFluidCollector.java b/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/gui/GuiFluidCollector.java index 3644aa6ea..e19eab4df 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/gui/GuiFluidCollector.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/gui/GuiFluidCollector.java @@ -49,7 +49,7 @@ public class GuiFluidCollector extends GuiContainer{ @Override public void drawGuiContainerForegroundLayer(int x, int y){ - AssetUtil.displayNameString(this.fontRendererObj, this.xSize, -10, this.collector.getName()); + AssetUtil.displayNameString(this.fontRendererObj, this.xSize, -10, this.collector.name); } @Override diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/gui/GuiOilGenerator.java b/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/gui/GuiOilGenerator.java index 14c78bf42..4938c3ebe 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/gui/GuiOilGenerator.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/gui/GuiOilGenerator.java @@ -52,7 +52,7 @@ public class GuiOilGenerator extends GuiContainer{ @Override public void drawGuiContainerForegroundLayer(int x, int y){ - AssetUtil.displayNameString(this.fontRendererObj, this.xSize, -10, this.generator.getName()); + AssetUtil.displayNameString(this.fontRendererObj, this.xSize, -10, this.generator.name); } @Override diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityBase.java b/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityBase.java index fc082c81a..90a9f2f5f 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityBase.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityBase.java @@ -15,6 +15,7 @@ import de.ellpeck.actuallyadditions.mod.network.PacketHandler; import de.ellpeck.actuallyadditions.mod.network.PacketUpdateTileEntity; import de.ellpeck.actuallyadditions.mod.util.ModUtil; import net.minecraft.block.state.IBlockState; +import net.minecraft.entity.player.EntityPlayer; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.network.NetworkManager; import net.minecraft.network.Packet; @@ -30,7 +31,13 @@ public abstract class TileEntityBase extends TileEntity implements ITickable{ public boolean isRedstonePowered; protected int ticksElapsed; + public String name; + public TileEntityBase(String name){ + this.name = "container."+ModUtil.MOD_ID+"."+name; + } + + //TODO Change for next major update to use the name variable automatically public static void init(){ ModUtil.LOGGER.info("Registering TileEntities..."); @@ -151,6 +158,10 @@ public abstract class TileEntityBase extends TileEntity implements ITickable{ this.markDirty(); } + public boolean canPlayerUse(EntityPlayer player){ + return player.getDistanceSq(this.getPos().getX()+0.5D, this.pos.getY()+0.5D, this.pos.getZ()+0.5D) <= 64 && !this.isInvalid() && this.worldObj.getTileEntity(this.pos) == this; + } + protected final boolean sendUpdateWithInterval(){ if(this.ticksElapsed%ConfigIntValues.TILE_ENTITY_UPDATE_INTERVAL.getValue() == 0){ this.sendUpdate(); diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityCanolaPress.java b/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityCanolaPress.java index a038b524c..e59983c75 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityCanolaPress.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityCanolaPress.java @@ -15,6 +15,7 @@ import cofh.api.energy.IEnergyReceiver; import de.ellpeck.actuallyadditions.mod.fluids.InitFluids; import de.ellpeck.actuallyadditions.mod.items.InitItems; import de.ellpeck.actuallyadditions.mod.items.metalists.TheMiscItems; +import de.ellpeck.actuallyadditions.mod.util.Util; import de.ellpeck.actuallyadditions.mod.util.WorldUtil; import net.minecraft.init.Items; import net.minecraft.item.ItemStack; @@ -30,14 +31,14 @@ public class TileEntityCanolaPress extends TileEntityInventoryBase implements IE public static final int ENERGY_USE = 35; private static final int TIME = 30; public EnergyStorage storage = new EnergyStorage(40000); - public FluidTank tank = new FluidTank(2*FluidContainerRegistry.BUCKET_VOLUME); + public FluidTank tank = new FluidTank(2*Util.BUCKET); public int currentProcessTime; private int lastEnergyStored; private int lastTankAmount; private int lastProcessTime; public TileEntityCanolaPress(){ - super(3, "canolaPress"); + super(1, "canolaPress"); } @SideOnly(Side.CLIENT) @@ -97,8 +98,6 @@ public class TileEntityCanolaPress extends TileEntityInventoryBase implements IE this.currentProcessTime = 0; } - WorldUtil.fillBucket(this.tank, this.slots, 1, 2); - if(this.tank.getFluidAmount() > 0){ WorldUtil.pushFluid(this.worldObj, this.pos, EnumFacing.DOWN, this.tank); if(!this.isRedstonePowered){ @@ -119,7 +118,7 @@ public class TileEntityCanolaPress extends TileEntityInventoryBase implements IE @Override public boolean isItemValidForSlot(int i, ItemStack stack){ - return (i == 0 && stack.getItem() == InitItems.itemMisc && stack.getItemDamage() == TheMiscItems.CANOLA.ordinal()) || (i == 1 && stack.getItem() == Items.BUCKET); + return (i == 0 && stack.getItem() == InitItems.itemMisc && stack.getItemDamage() == TheMiscItems.CANOLA.ordinal()); } public boolean isCanola(int slot){ @@ -133,7 +132,7 @@ public class TileEntityCanolaPress extends TileEntityInventoryBase implements IE @Override public boolean canExtractItem(int slot, ItemStack stack, EnumFacing side){ - return slot == 2 && FluidContainerRegistry.containsFluid(this.slots[0], new FluidStack(InitFluids.fluidCanolaOil, FluidContainerRegistry.BUCKET_VOLUME)); + return false; } @Override diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityCoffeeMachine.java b/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityCoffeeMachine.java index 49ca1c558..7c2996d3b 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityCoffeeMachine.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityCoffeeMachine.java @@ -19,6 +19,7 @@ import de.ellpeck.actuallyadditions.mod.items.ItemCoffee; import de.ellpeck.actuallyadditions.mod.items.metalists.TheMiscItems; import de.ellpeck.actuallyadditions.mod.misc.SoundHandler; import de.ellpeck.actuallyadditions.mod.network.gui.IButtonReactor; +import de.ellpeck.actuallyadditions.mod.util.Util; import de.ellpeck.actuallyadditions.mod.util.WorldUtil; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; @@ -34,15 +35,13 @@ public class TileEntityCoffeeMachine extends TileEntityInventoryBase implements public static final int SLOT_COFFEE_BEANS = 0; public static final int SLOT_INPUT = 1; public static final int SLOT_OUTPUT = 2; - public static final int SLOT_WATER_INPUT = 11; - public static final int SLOT_WATER_OUTPUT = 12; public static final int CACHE_USE = 15; public static final int ENERGY_USED = 150; public static final int WATER_USE = 500; public static final int COFFEE_CACHE_MAX_AMOUNT = 300; private static final int TIME_USED = 500; public EnergyStorage storage = new EnergyStorage(300000); - public FluidTank tank = new FluidTank(4*FluidContainerRegistry.BUCKET_VOLUME); + public FluidTank tank = new FluidTank(4*Util.BUCKET); public int coffeeCacheAmount; public int brewTime; private int lastEnergy; @@ -51,7 +50,7 @@ public class TileEntityCoffeeMachine extends TileEntityInventoryBase implements private int lastBrewTime; public TileEntityCoffeeMachine(){ - super(13, "coffeeMachine"); + super(11, "coffeeMachine"); } @SideOnly(Side.CLIENT) @@ -113,7 +112,7 @@ public class TileEntityCoffeeMachine extends TileEntityInventoryBase implements @Override public boolean isItemValidForSlot(int i, ItemStack stack){ - return (i >= 3 && ItemCoffee.getIngredientFromStack(stack) != null) || (i == SLOT_COFFEE_BEANS && stack.getItem() == InitItems.itemCoffeeBean) || (i == SLOT_INPUT && stack.getItem() == InitItems.itemMisc && stack.getItemDamage() == TheMiscItems.CUP.ordinal()) || (i == SLOT_WATER_INPUT && FluidContainerRegistry.containsFluid(stack, new FluidStack(FluidRegistry.WATER, 1))); + return (i >= 3 && ItemCoffee.getIngredientFromStack(stack) != null) || (i == SLOT_COFFEE_BEANS && stack.getItem() == InitItems.itemCoffeeBean) || (i == SLOT_INPUT && stack.getItem() == InitItems.itemMisc && stack.getItemDamage() == TheMiscItems.CUP.ordinal()); } public void storeCoffee(){ @@ -127,8 +126,6 @@ public class TileEntityCoffeeMachine extends TileEntityInventoryBase implements this.coffeeCacheAmount += toAdd; } } - - WorldUtil.emptyBucket(this.tank, this.slots, SLOT_WATER_INPUT, SLOT_WATER_OUTPUT, FluidRegistry.WATER); } public void brew(){ @@ -180,7 +177,7 @@ public class TileEntityCoffeeMachine extends TileEntityInventoryBase implements @Override public boolean canExtractItem(int slot, ItemStack stack, EnumFacing side){ - return slot == SLOT_OUTPUT || (slot >= 3 && slot < this.slots.length-2 && ItemCoffee.getIngredientFromStack(stack) == null) || slot == SLOT_WATER_OUTPUT; + return slot == SLOT_OUTPUT || (slot >= 3 && slot < this.slots.length-2 && ItemCoffee.getIngredientFromStack(stack) == null); } @Override diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityFermentingBarrel.java b/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityFermentingBarrel.java index ab8f4c0c2..a615575b6 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityFermentingBarrel.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityFermentingBarrel.java @@ -11,6 +11,7 @@ package de.ellpeck.actuallyadditions.mod.tile; import de.ellpeck.actuallyadditions.mod.fluids.InitFluids; +import de.ellpeck.actuallyadditions.mod.util.Util; import de.ellpeck.actuallyadditions.mod.util.WorldUtil; import net.minecraft.init.Items; import net.minecraft.item.ItemStack; @@ -20,18 +21,18 @@ import net.minecraftforge.fluids.*; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; -public class TileEntityFermentingBarrel extends TileEntityInventoryBase implements IFluidHandler, IFluidSaver{ +public class TileEntityFermentingBarrel extends TileEntityBase implements IFluidHandler, IFluidSaver{ private static final int PROCESS_TIME = 100; - public FluidTank canolaTank = new FluidTank(2*FluidContainerRegistry.BUCKET_VOLUME); - public FluidTank oilTank = new FluidTank(2*FluidContainerRegistry.BUCKET_VOLUME); + public FluidTank canolaTank = new FluidTank(2*Util.BUCKET); + public FluidTank oilTank = new FluidTank(2*Util.BUCKET); public int currentProcessTime; private int lastCanola; private int lastOil; private int lastProcessTime; public TileEntityFermentingBarrel(){ - super(4, "fermentingBarrel"); + super("fermentingBarrel"); } @Override @@ -72,9 +73,6 @@ public class TileEntityFermentingBarrel extends TileEntityInventoryBase implemen this.currentProcessTime = 0; } - WorldUtil.emptyBucket(this.canolaTank, this.slots, 0, 1, InitFluids.fluidCanolaOil); - WorldUtil.fillBucket(this.oilTank, this.slots, 2, 3); - if(this.oilTank.getFluidAmount() > 0){ WorldUtil.pushFluid(this.worldObj, this.pos, EnumFacing.DOWN, this.oilTank); if(!this.isRedstonePowered){ @@ -93,11 +91,6 @@ public class TileEntityFermentingBarrel extends TileEntityInventoryBase implemen } } - @Override - public boolean isItemValidForSlot(int i, ItemStack stack){ - return (i == 0 && FluidContainerRegistry.containsFluid(stack, new FluidStack(InitFluids.fluidCanolaOil, FluidContainerRegistry.BUCKET_VOLUME))) || (i == 2 && stack.getItem() == Items.BUCKET); - } - @SideOnly(Side.CLIENT) public int getProcessScaled(int i){ return this.currentProcessTime*i/PROCESS_TIME; @@ -113,16 +106,6 @@ public class TileEntityFermentingBarrel extends TileEntityInventoryBase implemen return this.canolaTank.getFluidAmount()*i/this.canolaTank.getCapacity(); } - @Override - public boolean canInsertItem(int slot, ItemStack stack, EnumFacing side){ - return this.isItemValidForSlot(slot, stack); - } - - @Override - public boolean canExtractItem(int slot, ItemStack stack, EnumFacing side){ - return (slot == 1 && stack.getItem() == Items.BUCKET) || (slot == 3 && FluidContainerRegistry.containsFluid(stack, new FluidStack(InitFluids.fluidOil, FluidContainerRegistry.BUCKET_VOLUME))); - } - @Override public int fill(EnumFacing from, FluidStack resource, boolean doFill){ if(from != EnumFacing.DOWN && resource.getFluid() == InitFluids.fluidCanolaOil){ diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityFireworkBox.java b/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityFireworkBox.java index b25f87e19..fd3729b9b 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityFireworkBox.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityFireworkBox.java @@ -32,6 +32,10 @@ public class TileEntityFireworkBox extends TileEntityBase implements IEnergyRece private boolean activateOnceWithSignal; private int oldEnergy; + public TileEntityFireworkBox(){ + super("fireworkBox"); + } + @Override public void writeSyncableNBT(NBTTagCompound compound, boolean sync){ super.writeSyncableNBT(compound, sync); diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityFishingNet.java b/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityFishingNet.java index a43ffb12a..ce0cb97e8 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityFishingNet.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityFishingNet.java @@ -32,6 +32,10 @@ public class TileEntityFishingNet extends TileEntityBase{ public int timeUntilNextDrop; + public TileEntityFishingNet(){ + super("fishingNet"); + } + @Override public void writeSyncableNBT(NBTTagCompound compound, boolean sync){ super.writeSyncableNBT(compound, sync); diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityFluidCollector.java b/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityFluidCollector.java index 5c40f980c..605012c44 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityFluidCollector.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityFluidCollector.java @@ -12,11 +12,10 @@ package de.ellpeck.actuallyadditions.mod.tile; import de.ellpeck.actuallyadditions.mod.util.PosUtil; +import de.ellpeck.actuallyadditions.mod.util.Util; import de.ellpeck.actuallyadditions.mod.util.WorldUtil; import net.minecraft.block.Block; import net.minecraft.init.Blocks; -import net.minecraft.init.Items; -import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.EnumFacing; import net.minecraft.util.math.BlockPos; @@ -24,20 +23,20 @@ import net.minecraftforge.fluids.*; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; -public class TileEntityFluidCollector extends TileEntityInventoryBase implements IFluidHandler, IFluidSaver, IRedstoneToggle{ +public class TileEntityFluidCollector extends TileEntityBase implements IFluidHandler, IFluidSaver, IRedstoneToggle{ - public FluidTank tank = new FluidTank(8*FluidContainerRegistry.BUCKET_VOLUME); + public FluidTank tank = new FluidTank(8*Util.BUCKET); public boolean isPlacer; private int lastTankAmount; private int currentTime; private boolean activateOnceWithSignal; - public TileEntityFluidCollector(int slots, String name){ - super(slots, name); + public TileEntityFluidCollector(String name){ + super(name); } public TileEntityFluidCollector(){ - super(2, "fluidCollector"); + this("fluidCollector"); this.isPlacer = false; } @@ -62,28 +61,28 @@ public class TileEntityFluidCollector extends TileEntityInventoryBase implements if(coordsBlock != null){ Block blockToBreak = PosUtil.getBlock(coordsBlock, this.worldObj); - if(!this.isPlacer && blockToBreak != null && PosUtil.getMetadata(coordsBlock, this.worldObj) == 0 && FluidContainerRegistry.BUCKET_VOLUME <= this.tank.getCapacity()-this.tank.getFluidAmount()){ + if(!this.isPlacer && blockToBreak != null && PosUtil.getMetadata(coordsBlock, this.worldObj) == 0 && Util.BUCKET <= this.tank.getCapacity()-this.tank.getFluidAmount()){ if(blockToBreak instanceof IFluidBlock && ((IFluidBlock)blockToBreak).getFluid() != null){ - if(this.tank.fill(new FluidStack(((IFluidBlock)blockToBreak).getFluid(), FluidContainerRegistry.BUCKET_VOLUME), false) >= FluidContainerRegistry.BUCKET_VOLUME){ - this.tank.fill(new FluidStack(((IFluidBlock)blockToBreak).getFluid(), FluidContainerRegistry.BUCKET_VOLUME), true); + if(this.tank.fill(new FluidStack(((IFluidBlock)blockToBreak).getFluid(), Util.BUCKET), false) >= Util.BUCKET){ + this.tank.fill(new FluidStack(((IFluidBlock)blockToBreak).getFluid(), Util.BUCKET), true); WorldUtil.breakBlockAtSide(sideToManipulate, this.worldObj, this.pos); } } else if(blockToBreak == Blocks.LAVA || blockToBreak == Blocks.FLOWING_LAVA){ - if(this.tank.fill(new FluidStack(FluidRegistry.LAVA, FluidContainerRegistry.BUCKET_VOLUME), false) >= FluidContainerRegistry.BUCKET_VOLUME){ - this.tank.fill(new FluidStack(FluidRegistry.LAVA, FluidContainerRegistry.BUCKET_VOLUME), true); + if(this.tank.fill(new FluidStack(FluidRegistry.LAVA, Util.BUCKET), false) >= Util.BUCKET){ + this.tank.fill(new FluidStack(FluidRegistry.LAVA, Util.BUCKET), true); WorldUtil.breakBlockAtSide(sideToManipulate, this.worldObj, this.pos); } } else if(blockToBreak == Blocks.WATER || blockToBreak == Blocks.FLOWING_WATER){ - if(this.tank.fill(new FluidStack(FluidRegistry.WATER, FluidContainerRegistry.BUCKET_VOLUME), false) >= FluidContainerRegistry.BUCKET_VOLUME){ - this.tank.fill(new FluidStack(FluidRegistry.WATER, FluidContainerRegistry.BUCKET_VOLUME), true); + if(this.tank.fill(new FluidStack(FluidRegistry.WATER, Util.BUCKET), false) >= Util.BUCKET){ + this.tank.fill(new FluidStack(FluidRegistry.WATER, Util.BUCKET), true); WorldUtil.breakBlockAtSide(sideToManipulate, this.worldObj, this.pos); } } } else if(this.isPlacer && PosUtil.getBlock(coordsBlock, this.worldObj).isReplaceable(this.worldObj, coordsBlock)){ - if(this.tank.getFluidAmount() >= FluidContainerRegistry.BUCKET_VOLUME){ + if(this.tank.getFluidAmount() >= Util.BUCKET){ Block block = this.tank.getFluid().getFluid().getBlock(); if(block != null){ BlockPos offsetPos = this.pos.offset(sideToManipulate); @@ -91,7 +90,7 @@ public class TileEntityFluidCollector extends TileEntityInventoryBase implements boolean replaceable = blockPresent.isReplaceable(this.worldObj, offsetPos); if(replaceable){ PosUtil.setBlock(offsetPos, this.worldObj, block, 0, 3); - this.tank.drain(FluidContainerRegistry.BUCKET_VOLUME, true); + this.tank.drain(Util.BUCKET, true); } } } @@ -169,13 +168,6 @@ public class TileEntityFluidCollector extends TileEntityInventoryBase implements } } - if(!this.isPlacer){ - WorldUtil.fillBucket(this.tank, this.slots, 0, 1); - } - else{ - WorldUtil.emptyBucket(this.tank, this.slots, 0, 1); - } - if(!this.isPlacer && this.tank.getFluidAmount() > 0){ WorldUtil.pushFluid(this.worldObj, this.pos, EnumFacing.DOWN, this.tank); if(!this.isRedstonePowered){ @@ -192,34 +184,11 @@ public class TileEntityFluidCollector extends TileEntityInventoryBase implements } } - @Override - public boolean isItemValidForSlot(int i, ItemStack stack){ - if(i == 0){ - if(this.isPlacer){ - return FluidContainerRegistry.isFilledContainer(stack); - } - else{ - return stack.isItemEqual(FluidContainerRegistry.EMPTY_BUCKET); - } - } - return false; - } - @SideOnly(Side.CLIENT) public int getTankScaled(int i){ return this.tank.getFluidAmount()*i/this.tank.getCapacity(); } - @Override - public boolean canInsertItem(int slot, ItemStack stack, EnumFacing side){ - return this.isItemValidForSlot(slot, stack); - } - - @Override - public boolean canExtractItem(int slot, ItemStack stack, EnumFacing side){ - return slot == 1; - } - @Override public FluidStack[] getFluids(){ return new FluidStack[]{this.tank.getFluid()}; @@ -233,7 +202,7 @@ public class TileEntityFluidCollector extends TileEntityInventoryBase implements public static class TileEntityFluidPlacer extends TileEntityFluidCollector{ public TileEntityFluidPlacer(){ - super(2, "fluidPlacer"); + super("fluidPlacer"); this.isPlacer = true; } diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityFurnaceSolar.java b/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityFurnaceSolar.java index ed4227725..ed4740804 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityFurnaceSolar.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityFurnaceSolar.java @@ -26,6 +26,10 @@ public class TileEntityFurnaceSolar extends TileEntityBase implements IEnergyPro public EnergyStorage storage = new EnergyStorage(30000); private int oldEnergy; + public TileEntityFurnaceSolar(){ + super("solarPanel"); + } + @Override public int extractEnergy(EnumFacing from, int maxExtract, boolean simulate){ return this.storage.extractEnergy(maxExtract, simulate); diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityGreenhouseGlass.java b/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityGreenhouseGlass.java index ca7d95dc5..4dfdaac40 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityGreenhouseGlass.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityGreenhouseGlass.java @@ -24,6 +24,10 @@ public class TileEntityGreenhouseGlass extends TileEntityBase{ private int timeUntilNextFert; + public TileEntityGreenhouseGlass(){ + super("greenhouseGlass"); + } + @Override public void writeSyncableNBT(NBTTagCompound compound, boolean isForSync){ super.writeSyncableNBT(compound, isForSync); diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityHeatCollector.java b/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityHeatCollector.java index fa38e1cf1..04703218f 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityHeatCollector.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityHeatCollector.java @@ -32,6 +32,10 @@ public class TileEntityHeatCollector extends TileEntityBase implements IEnergyPr public EnergyStorage storage = new EnergyStorage(30000); private int oldEnergy; + public TileEntityHeatCollector(){ + super("heatCollector"); + } + @Override public void writeSyncableNBT(NBTTagCompound compound, boolean isForSync){ super.writeSyncableNBT(compound, isForSync); diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityInventoryBase.java b/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityInventoryBase.java index b464c1f81..66512d9a2 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityInventoryBase.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityInventoryBase.java @@ -27,12 +27,12 @@ import net.minecraftforge.items.wrapper.SidedInvWrapper; public abstract class TileEntityInventoryBase extends TileEntityBase implements ISidedInventory{ public ItemStack slots[]; - public String name; private SidedInvWrapper[] invWrappers = new SidedInvWrapper[6]; public TileEntityInventoryBase(int slots, String name){ + super(name); + this.initializeSlots(slots); - this.name = "container."+ModUtil.MOD_ID+"."+name; for(int i = 0; i < this.invWrappers.length; i++){ this.invWrappers[i] = new SidedInvWrapper(this, EnumFacing.values()[i]); @@ -109,10 +109,9 @@ public abstract class TileEntityInventoryBase extends TileEntityBase implements @Override public boolean isUseableByPlayer(EntityPlayer player){ - return player.getDistanceSq(this.getPos().getX()+0.5D, this.pos.getY()+0.5D, this.pos.getZ()+0.5D) <= 64 && !this.isInvalid() && this.worldObj.getTileEntity(this.pos) == this; + return this.canPlayerUse(player); } - @Override public void openInventory(EntityPlayer player){ diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityLaserRelay.java b/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityLaserRelay.java index 3a1541e35..d07fe7f0e 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityLaserRelay.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityLaserRelay.java @@ -31,6 +31,10 @@ public class TileEntityLaserRelay extends TileEntityBase implements IEnergyRecei public static final int MAX_DISTANCE = 15; private static final float[] COLOR = new float[]{1F, 0F, 0F}; + public TileEntityLaserRelay(){ + super("laserRelay"); + } + @Override public void receiveSyncCompound(NBTTagCompound compound){ BlockPos thisPos = this.pos; diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityLavaFactoryController.java b/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityLavaFactoryController.java index 4100ffce9..df91f798e 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityLavaFactoryController.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityLavaFactoryController.java @@ -33,6 +33,10 @@ public class TileEntityLavaFactoryController extends TileEntityBase implements I private int currentWorkTime; private int oldEnergy; + public TileEntityLavaFactoryController(){ + super("lavaFactory"); + } + @Override public void writeSyncableNBT(NBTTagCompound compound, boolean sync){ super.writeSyncableNBT(compound, sync); diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityLeafGenerator.java b/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityLeafGenerator.java index 7e88f279f..e95cf7373 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityLeafGenerator.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityLeafGenerator.java @@ -37,6 +37,10 @@ public class TileEntityLeafGenerator extends TileEntityBase implements IEnergyPr private int nextUseCounter; private int oldEnergy; + public TileEntityLeafGenerator(){ + super("leafGenerator"); + } + @Override public void writeSyncableNBT(NBTTagCompound compound, boolean sync){ super.writeSyncableNBT(compound, sync); diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityOilGenerator.java b/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityOilGenerator.java index 0aa93cef3..0f36ed4c8 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityOilGenerator.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityOilGenerator.java @@ -14,6 +14,7 @@ import cofh.api.energy.EnergyStorage; import cofh.api.energy.IEnergyProvider; import de.ellpeck.actuallyadditions.mod.fluids.InitFluids; import de.ellpeck.actuallyadditions.mod.util.PosUtil; +import de.ellpeck.actuallyadditions.mod.util.Util; import de.ellpeck.actuallyadditions.mod.util.WorldUtil; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; @@ -22,19 +23,19 @@ import net.minecraftforge.fluids.*; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; -public class TileEntityOilGenerator extends TileEntityInventoryBase implements IEnergyProvider, IFluidHandler, IEnergySaver, IFluidSaver{ +public class TileEntityOilGenerator extends TileEntityBase implements IEnergyProvider, IFluidHandler, IEnergySaver, IFluidSaver{ public static final int ENERGY_PRODUCED = 76; private static final int BURN_TIME = 100; public EnergyStorage storage = new EnergyStorage(50000); - public FluidTank tank = new FluidTank(2*FluidContainerRegistry.BUCKET_VOLUME); + public FluidTank tank = new FluidTank(2*Util.BUCKET); public int currentBurnTime; private int lastEnergy; private int lastTank; private int lastBurnTime; public TileEntityOilGenerator(){ - super(2, "oilGenerator"); + super("oilGenerator"); } @SideOnly(Side.CLIENT) @@ -88,8 +89,6 @@ public class TileEntityOilGenerator extends TileEntityInventoryBase implements I } } - WorldUtil.emptyBucket(this.tank, this.slots, 0, 1, InitFluids.fluidOil); - if(this.storage.getEnergyStored() > 0){ WorldUtil.pushEnergyToAllSides(this.worldObj, this.pos, this.storage); } @@ -115,21 +114,6 @@ public class TileEntityOilGenerator extends TileEntityInventoryBase implements I } } - @Override - public boolean isItemValidForSlot(int i, ItemStack stack){ - return FluidContainerRegistry.containsFluid(stack, new FluidStack(InitFluids.fluidOil, FluidContainerRegistry.BUCKET_VOLUME)) && i == 0; - } - - @Override - public boolean canInsertItem(int slot, ItemStack stack, EnumFacing side){ - return this.isItemValidForSlot(slot, stack); - } - - @Override - public boolean canExtractItem(int slot, ItemStack stack, EnumFacing side){ - return slot == 1; - } - @Override public int extractEnergy(EnumFacing from, int maxExtract, boolean simulate){ return this.storage.extractEnergy(maxExtract, simulate); diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityPhantomBooster.java b/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityPhantomBooster.java index f6d4c700c..b2e5a5753 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityPhantomBooster.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityPhantomBooster.java @@ -12,4 +12,7 @@ package de.ellpeck.actuallyadditions.mod.tile; public class TileEntityPhantomBooster extends TileEntityBase{ + public TileEntityPhantomBooster(){ + super("phantomBooster"); + } } diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntitySmileyCloud.java b/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntitySmileyCloud.java index 549b7cacb..6a54495ca 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntitySmileyCloud.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntitySmileyCloud.java @@ -22,6 +22,10 @@ public class TileEntitySmileyCloud extends TileEntityBase implements IStringReac public String name; private String nameBefore; + public TileEntitySmileyCloud(){ + super("smileyCloud"); + } + @Override public void writeSyncableNBT(NBTTagCompound compound, boolean sync){ super.writeSyncableNBT(compound, sync); diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/util/Util.java b/src/main/java/de/ellpeck/actuallyadditions/mod/util/Util.java index 3c99a2d16..612fd438b 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/util/Util.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/util/Util.java @@ -17,6 +17,7 @@ import net.minecraft.item.Item; import net.minecraft.util.text.TextFormatting; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.common.util.EnumHelper; +import net.minecraftforge.fluids.FluidContainerRegistry; import net.minecraftforge.oredict.OreDictionary; import java.util.Random; @@ -26,6 +27,7 @@ public class Util{ public static final Random RANDOM = new Random(); public static final int WILDCARD = OreDictionary.WILDCARD_VALUE; + public static final int BUCKET = FluidContainerRegistry.BUCKET_VOLUME; public static final EnumRarity CRYSTAL_RED_RARITY = EnumHelper.addRarity(ModUtil.MOD_ID+"crystalRed", TextFormatting.DARK_RED, ModUtil.NAME+" Red Crystal"); public static final EnumRarity CRYSTAL_BLUE_RARITY = EnumHelper.addRarity(ModUtil.MOD_ID+"crystalBlue", TextFormatting.DARK_BLUE, ModUtil.NAME+" Blue Crystal"); diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/util/WorldUtil.java b/src/main/java/de/ellpeck/actuallyadditions/mod/util/WorldUtil.java index a1fb2f1df..b56a92ba5 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/util/WorldUtil.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/util/WorldUtil.java @@ -120,9 +120,17 @@ public class WorldUtil{ boolean replaceable = block.isReplaceable(world, offsetPos); //Fluids - if(replaceable && FluidContainerRegistry.isFilledContainer(stack) && !(block instanceof IFluidBlock) && !(block instanceof BlockLiquid)){ - FluidStack fluid = FluidContainerRegistry.getFluidForFilledItem(stack); - if(fluid != null && fluid.getFluid().getBlock() != null && fluid.getFluid().getBlock().canPlaceBlockAt(world, offsetPos)){ + if(replaceable && !(block instanceof IFluidBlock) && !(block instanceof BlockLiquid)){ + FluidStack fluid = null; + //TODO Remove when FluidContainerRegistry is gone + if(FluidContainerRegistry.isFilledContainer(stack)){ + fluid = FluidContainerRegistry.getFluidForFilledItem(stack); + } + else if(stack.getItem() instanceof IFluidContainerItem){ + fluid = ((IFluidContainerItem)stack.getItem()).getFluid(stack); + } + + if(fluid != null && fluid.amount >= Util.BUCKET && fluid.getFluid().getBlock() != null && fluid.getFluid().getBlock().canPlaceBlockAt(world, offsetPos)){ if(PosUtil.setBlock(offsetPos, world, fluid.getFluid().getBlock(), 0, 2)){ return stack.getItem().getContainerItem(stack); } @@ -170,56 +178,6 @@ public class WorldUtil{ } } - public static void fillBucket(FluidTank tank, ItemStack[] slots, int inputSlot, int outputSlot){ - if(slots[inputSlot] != null && tank.getFluid() != null){ - ItemStack filled = FluidContainerRegistry.fillFluidContainer(tank.getFluid(), slots[inputSlot].copy()); - if(filled != null && FluidContainerRegistry.isEmptyContainer(slots[inputSlot]) && (slots[outputSlot] == null || (slots[outputSlot].isItemEqual(filled) && slots[outputSlot].stackSize < slots[outputSlot].getMaxStackSize()))){ - int cap = FluidContainerRegistry.getContainerCapacity(tank.getFluid(), slots[inputSlot]); - if(cap > 0 && cap <= tank.getFluidAmount()){ - if(slots[outputSlot] == null){ - slots[outputSlot] = FluidContainerRegistry.fillFluidContainer(tank.getFluid(), slots[inputSlot].copy()); - } - else{ - slots[outputSlot].stackSize++; - } - - if(slots[outputSlot] != null){ - tank.drain(cap, true); - slots[inputSlot].stackSize--; - if(slots[inputSlot].stackSize <= 0){ - slots[inputSlot] = null; - } - } - } - } - } - } - - public static void emptyBucket(FluidTank tank, ItemStack[] slots, int inputSlot, int outputSlot){ - emptyBucket(tank, slots, inputSlot, outputSlot, null); - } - - public static void emptyBucket(FluidTank tank, ItemStack[] slots, int inputSlot, int outputSlot, Fluid containedFluid){ - if(slots[inputSlot] != null && FluidContainerRegistry.isFilledContainer(slots[inputSlot]) && (slots[outputSlot] == null || (slots[outputSlot].isItemEqual(FluidContainerRegistry.drainFluidContainer(slots[inputSlot].copy())) && slots[outputSlot].stackSize < slots[outputSlot].getMaxStackSize()))){ - if(containedFluid == null || FluidContainerRegistry.containsFluid(slots[inputSlot], new FluidStack(containedFluid, 0))){ - if((tank.getFluid() == null || FluidContainerRegistry.getFluidForFilledItem(slots[inputSlot]).isFluidEqual(tank.getFluid())) && tank.getCapacity()-tank.getFluidAmount() >= FluidContainerRegistry.getContainerCapacity(slots[inputSlot])){ - if(slots[outputSlot] == null){ - slots[outputSlot] = FluidContainerRegistry.drainFluidContainer(slots[inputSlot].copy()); - } - else{ - slots[outputSlot].stackSize++; - } - - tank.fill(FluidContainerRegistry.getFluidForFilledItem(slots[inputSlot]), true); - slots[inputSlot].stackSize--; - if(slots[inputSlot].stackSize <= 0){ - slots[inputSlot] = null; - } - } - } - } - } - public static EnumFacing getDirectionBySidesInOrder(int side){ switch(side){ case 0: diff --git a/src/main/resources/assets/actuallyadditions/textures/gui/guiCanolaPress.png b/src/main/resources/assets/actuallyadditions/textures/gui/guiCanolaPress.png index 4472e793fc42833b3afb92a9f9192c6991fc7f18..329ca83de04c7b164c6bcc882e00b9394ea9216f 100644 GIT binary patch literal 3050 zcmds3ZBSEZ7QPo7Rt+hNJ3wKDRtt8fKx`^l2TW9SDP;w;C@?}0K@bRpj{pe?NvK`g ztY9kc8U?AftRsfuOKO58kSIuW1H?)hVgpGaAu*aD5Dr?)fy+1Z`VOy(x< zd){--^PF>@_p+iR!%%BI)&c;43jcKPK>z@upCGW>5qc!#*QY^`x6*g--wgn*Y@|6E z0sUW-`)Pau0KCn$f5C(XUw3HHowP5G^f@t&RGgfD9LP=1$RP#f94EcIEnsWF4#LOu zNB}^d2;aLqhKx6kJjo*rt#^$6A{R&n-`eANx@;3d@kiUAm~~TVlP~Ifm47VJ*qyBn z;$~#AwS5{G$-k43z#-$Ch zxjtLbDLSn`ja0H>Vq#{p?Q??vfU^^ zB2^8|UDtuP(-gO3k*Y?%qNHdX@%@NX*k9)IiqBrUdL#}wGuZ3^MbXv}t>(B*CQMO| zqE{HeWC(56wkm0G<~U_>SZAXho-vU=Oaf^$_qH^ns3G*l4P}&fg11+1C2SvX_yj%A z1G=n>Prj03mkc-D%sg@TQ^>*8XtA>8fVmL-K`6K zm$Hd9oYn#p&&UAxCQAGNHS9Ys$gB^(CmmF{?V?=}`j<6oYJH{Z_ zT~1R4*RMBGj{pbM`gyB7MecG}l8o;isPuJ`SGEBIlFk4o8)scWOS_dju@H5C-cWAr zjR$lS3Rh8(W;z~=l@kkzY@K)+^R{GJ&P7Bneli;*bPHK!>@l{kkctxV0e<>Od&}r2 zNR?nj?jZYCNNCup(0<62ZzEno-0$!7XOi#Wy4K1xx=md!cWpR~y-LO(fFJEh0}r3{ zV(FgEX4`3f6(SFeVd>^(B{qAlJ@>owJk!C8Zb(($0^iNC(=oTEw;#ET;S^%(JQ;7< zF=h04Va1{1f$3vM1s|MW?xa_zIn+d8I!ie1RwhrfSQ51m<0o#v$Xf02^_cCs?o!z3 z*b-C}NkP@e_8c4SIf@bMaF0*nY?cX565f-Ja}?~aThm>n_G6mz*~oVfS^`8o_wlH5 zzW6nlPaNu9y1kVi=BaLH1~%v=yT(G0u*#e;^w1XN#}xNW*=7f$)F~__Le>>{9;&js z_piqC$wJWJ?<#5_M2KP`a$mCI$GmD!>(^CcC~2m#9nWWQHuB-Lcl?5?w`zKu%6~jd zQyfSEXAhzZx3oFALj2{Y#DaalkE6NU8Amfxt>h5AbG?FxaovT64r3%oTYviUz3oNN5sfL}9}5bh zM=nx@;a;Bn=Wk#|Z0Rzv+3y|fEIs7M#6u>j=WZRVTN9dNun(YaV<4>03(=kH+#|h@ zY(##?f$T0EZ;_q2{f%b_8E7pvDF2P3Kfh$pj?tu_&hu=zD^7(GToy%{ofQ!i)h;U-`!1;vlvIp1b>mT{R zr+80k5_|vQ(9?ozu-HjWADP#~(H2$-msys^2k+Jb*V7Lu*M<>rHA~z)jRq4J3&A&! zQrG+D*kLEE7`BOnGvV@s@2S%s{|D(_WtsRr!jaEArT(zpl)<~j4w<7<*>I&Ej02jh zaCD?f|N5Z+?z#rC&Q>b13z9h`9*9a`nOv{?%adE{JD_wGHD0xkq$w2)sa;V-%C2Qa zEcQUE4#BNg&nu`zfn_zM1n(21(B(r~kwHQwS&zv5dygr`ED7O})L*rX zY7$f10*{%`Pl~-6(8~xVtpBl2p9&g$7+i>iWg!|7eUJiv?xd(Dlkm1TLr1E$ru%bZ7mEB_>hM86WGBsd0`oHBEdiVVw`lya7 a$ZAHvzea2BOL=HdEPP+&-ljcAzxX#PbgK;j literal 2441 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K58911MRQ8&P5Fo{p?&#~tz_78O`%fY(0|PTd zfKP}kP~6FMq5?d$97 z@9&>5VZx+IlMWp^bolV$BS(%LJ$m%mv17-NA3t&8#L1H&q9iy!t)x7$D3zfgF*C13FE6!3!9>qM&os5wC>2<~y!Ui* z45^5FJNs?aZ8r&*!dWJn+6KNGrf%_UUi*8$+pbA`>sL;AA*J}C>e-(UKO)6Eizi&0 zA9Lqv;YO1;&+Avd{^h;ZZ#!pO+QglYyVEj@c$fT}Kl|BpZSIJD^}*><9)G`QR;4#A zjC{iVVvhdt-`^|SgX({7{#ttbAD{E)6Ji%+pEjj%@2E6pT&);d{^WeaeftU9rsyuP zX3cw@dkd(jLvx^)U zr@vL(72TE=IH%$5)4coN{LN=E>6QC#z905`3tJY~id)YcOJh&YW1M~ZTg0!W6Bb5_ zs4rL_7q0$0q@s{f_O7Uc&VpN}o3b7Dx4!a?p|JH={ z$p@kI1K)#fnTskI8D)W{STM@7|1oRGycxmp(?qObOT)L^-<~WiZ&tnf9>3$i1owjS zf_Y5$3jZ52F`2Et`h`t(sNrU-)KBJFCQG7W*-ol}9pO6t4Eg z&2?dSq>Yps^o3h#9p|h?tR?c%S0>xrS2OyCF5SF8Gv7^6Fu?z-_zo7e z>HFt>7T++pf{o?5{(|IJl?%EW{yvdfQN-r6o>_@$nV`Uh{W5bN{b615`u{&~o@9B#7dVoo%;jVqlJ;uGv%TkjWpInY;V2wDS%~{bfjloXD{z3n7-31bicYjui zJXc#_du#CqhAMWkfL#s$CTh!9v1fMNbBtu_YrV&Kn15qK5lhX3-apC<$|tnFkQGsR zP;o9t&_)gz)(MPa35;L(;sP1|FZ!&qwt>H%zhYa%MBUzc8#@(Q15k+9uC39#wLgzd z=GW>&>*Oc!T(DkH?yx@RmOW7DlJ?Nt?Mwn+)3_-RW*pj2upu+}< z!Cux0M}b<<3_Z$Ok*U)#Q%vIe$Ts*(DcFw>uz9&N&IBZyTS_h~OTk6$<_KU}B=hC6}pI528&L*4@ z_c*^e{$?^dEU)G2`&2Ph-EkUx;GOkXP)ms(>mR5h7(|Z04^O7Q%4O3=gvr4@p4h53es%B#{jc-Em?aB$>?ob^;>g`}{rTsW2_FHN$MgD<}7D z5;>5=8h+$oe3RSb*?m$}H|F813aV&vULLf*gv z+S)+Ucf>Zt-oqipUbRgN@M|#>RRU9J8hIqXq02>tJhg_R#FQ0G1x#DfboxTx`r0A% zbv0p@ME)p2r(FAx0qXIxgqWio4o~@w~9`WtlaL;K#s}ITdmcDK;+LDgSCqUdQAjF2%v4{zQ8T zD!IjWgUlcft9}DKwjIjh1y0I@0&Z8!z+b4!)#(vX)%c;{{=KPPbiB)8V&vGfa_yd5 zY4$EAQ5v2=bG0Jl#+YxR6{f9ae)o67%jGMwm)1I1Tr2chNT>#;`w*#1U;7fZfxp6V zox?5tq{`TJAns@R3N-qz*_*Xyj1SixiPj6uL`vS7@FXNMy6@#s2WugWdjxj2kJDv6 z`CBg*Im%b$1rgs`duakFN@6Xk`OG(7^hBE(6bPnA|o&ANizkl6NCeU_g*iA zKWr}*AW+JE6~R`xkZ^Q)sQAIJ516?;+ynT&o?uiFvxJR4(CE96aQiHEN>vd9sL^6$ zU6PIP1F113BL!+9oXo!QZcKVPx&Y?9^%-$L7Jt|w$5xg>egRgx8^^IV=wB7Nc$$nOY-YYYcD?B+Y5yc#-O7dFv z*dRX7@$yHWSvWu+8>l+2#UiuK*GF`cL~Y&LqX@%-rn`Bh>4iTT!S~Tk;OZds;sPg1 zq=QDX`|+(ToGf65`poTg+826hh0M*a=Q1eI1*=ciNW+z)HyLV<4`!ekbIVAk-*Sp7 za2LU+vSAehb8FfK0y)A!6LcChK;_Pmu zub?I#k}KDidO-1I*xDpB=H>{U;fod7-U16R_3LPz%DN!he+|HcOo639PIY z8Do3fOT?ofix)3DN*@=W3b%NPr1#@3_wR>hSB%EsZ-kHUF~1}?f3i{A2)skQDh>}C zZ=#~lAhxvaz#O6+UewoFLv#9MIL;W*JnZQXG;z-7${dFf+p0KA<7z_`ta`v-bgN{n4704ML(EMi8!LkMylDoTj8$ZW+Wer$A*;?T&ExS$ z;W-!(j@W(a^{=+%^%JIzf1wECVba;L52qWlF&1AE-skKF4#iJvto$8Ou~3@)JF-q0 z(tlndhBBoGgbsIG$ci~or9dyZs*Gg_ez$QknX*xF_cQhgw|E}s`ze2B7Ek0bL-M97 z@~j-g>h0zPP>hQRJIa+s=*3a1zL|!psT0p&m zxFz)RhZnZ%4g<97O?gYe!kmAYasGBf!0moXfhN1ksi6MzJI3c7Jqt1J+M*7s&&&PB z-tMY`yp(*!L~vIH<>Ecm2rGf@w=;33pxs!a9+FyQAYWmG7JsFUCXgWg&D}?1-{CjN z$~@R>#5*7V-y2C(2Bl=bN88tEVk!tDO)n;58kus(6#qjbw1IxEUgbY&=O=Sm+f4co zid%G?t3jBP;eNrdqM}*LJpvkE(rNenjDCr{BPu$p>#?VC=e3dEsBVBnpSvHbZDlB2^*=k8^6sM z&o3`8@9F93?d|RB>+A3D7mLLM0|SGDgL89p>+9J7t7?mOD(y%*0NaG>4c!R;RsE}AS=2~YNXjV| z`$SqCNIj9rWH~V7SXRysjt(wy`A%^FXe9diP(m}K-(S^Z*SKQyU;Oa4lKI`O%TI`{ zl9TV0N~4g4R|P4aP6n>?Gq11K>a3OUcj##S7?d)z_$GacqET~Au_-^WY;VlsHOnJl#KV4s!1$iOoD|j(OC+B*(Z1btZQ&V0;VPeq zDVX&?>hp{JbjIcg9x}9o-UxgVc=EsNl)bdeR;rl!%Gyx+lO*gquA9)k_1x648pk*0 zrMo!h1&t@S%L0t_9Ze%w8h>8ojzzNeHg)lmZ4gT(K2h73k5$3m;B%}MgpDgg(SWNz zUb+iPz{m?)$F1gf1I?Sxg;Uygx{-y5X}j}XOh-|tqC&x z;+S#w+9*Ll5>HtEfnKNF>Cf@z{08d6&3%j^7i5(gBe8+fXAq3*=zwjSoC|3Pf26O* z+UJ&s!pSqmRzMv!Tw)3$$i$aVa^^oXMOQRWVkYs!&co5Qu9NL^;JP+^q04|^XmQ(2 z>c%{t^2tlKhjg5L=VNmGLR#J4$IJG)SwqniZ*OS`*nwQ9cNHBUANG*ac2-*SqlqXl zMFcigGetcI4SuM=SUNxR%#*8Ylee-C9S9?20Xg>YC)}h;6(zz~@ z$SOU(*Lm|z?l29}Y+@rgl-|*+>P1EGbXfW-p|92itxu4S=2F-`Z69(Ez)G=XpA-+( zCM%Fpsw$e{T~EZhL%6X%F0#;CFyg1YYA5E7#TV_7;+q#khz#nRmSVir)}C|Fo4%U0 za5qnQ7|!!7(`zgQZ2HZf7bRkZM((<(;%j%z`{0GM^FbHhg#~O-iV8;^gN8# zLA9X9C}k=Qbi$J~FuqHzwF<~iso_;}gf~e?xvGb#AC>MSJiy5N8)~?!_W%F@ diff --git a/src/main/resources/assets/actuallyadditions/textures/gui/guiFermentingBarrel.png b/src/main/resources/assets/actuallyadditions/textures/gui/guiFermentingBarrel.png index 68f68415e534fc4ceb53daa50221b30a34fda130..a50af9b9847246687a660989131c9849f157ff7a 100644 GIT binary patch literal 2941 zcmds(YfzJC7RR4A5JUrwI8zYI5-3{SZAe5KHCjSYTcEoF+8rfa!Zk80NHCxvxpuc| zn9{P~VidL9oQfkxE@FrR!9s-?Fr``|RxZk|at&a(B_aF7T6EaAvmbUp>}+N-@0+~O z^PKSX;qMIH&X=yjaHj?(qenA{%Fj#=_4l zll>Vf0K9d@{6;3%tT+n4T$}n)Nb0BTgQ;oJ92Q89{!3CSDT$Tp@&RcRiJIso2n1l2 zK47=+pVOIRPxf$}n(eHDfA?)#PWoz(>g3PWg?S{par2F7My;EUYy0)iV*fiiCl1~6 z_NSbSp#1DSTqhxl^G;t!cL0OP$i|F_6=3>>I|7dJ)*fz;L(hm1Eqwbr#{Sj;(h>rw525nU5yn9Jfgqo4(ACo$K3SdOUUW zWv*?Q(*AWvFY=M5E(2>NkFj3qd1pCwY*WqlbgiPbR08` zYv&plg5#Sor33rz8#IwZW8uu`jQPlXY8jsWF;NtHzaE@%&7PQ=>=Inz%K7}TOObb# z)d$}iX*_R-D?C$07P00WJhh&N$$aqu72uJipdB^kNp~G9z#*z0BlcC?cvug^4LyLF zEbI*hd5{|1m44S}982t|Zub66XUcx5^1^GCtybP^W&x?E18xfSI;DHsW=`LOC?a-t znf!l&N5Ut60O84MK+K%P-O77K^7+S4PyD*H$3i>OAiGLQsrj&>Jp@!g`2iz#x9AJF zqkCCDF!No<#BS#*z%zcn!9xedqJH?tt1B8O znnkiJl#~!ccUEf%a3hN3XSP>qFvKrh1*~-WwO2qbF6J}YjOxR(Q& zhk&1+voZk=}wGI|;kfna`EBIr~By4}%eRXfmIzP7fJ$gahrYzt38J|Do+Cy$WWkv+#8 z(bS8vt2@^%q9Nh5VOM9)nxxTcG)3WDq{(YhsEaAMh6Y^21dN+Zq^1e;$Q|;8ST8M= z$MI2Yd9C$ETGGtS2DF^)W#b$WXp^Lzu}-Rc5!Z?aI_~5b#I?D z{pg$Vtv zdXRd)%ynQgWlQ_@*~1A)>-UPXpO15gm3jD7#*T{`{r+}lq|EdfR6%qOLs>7^`H5DJk$UH literal 2459 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K58911MRQ8&P5Fo{p?&#~tz_78O`%fY(0|PTd zfKP}kP~6ySlo%ySsaOdU|_%`}+F& z`}-$Mm@sM5q(g@e9X@>c$dMyQj~+dC?AY<+$4{I%aq{HJM~@!;`0?ZC&!4}3{rdg; z_n$w1{{H>@@87@w|NjH+8U>>vFsMSH{O0sUpo~%y7ttJ5!lqhkHC<)F_D=AMbN@XZW%*-p%%S$a$Fwry6GfizZN@ZYRW%P7$ z45^5FJLh%TEjI~Q-&-boIUbv_sj6o3RQ*pcNndjIxT?`S(V04J#oze(yn9;CZIck# zRQo;V*xjWME8~{t-tIrEbXP6Hr1OyazSnxbD;ux;pTF++x5=zA`|7WYNqPL;o>`IK z;5u1D{DSpYi2zSLECC1IcQgRke$G`RTX^CBs zXYzlmwHBztNBF~U&c}=EtP@K@ehL=M-);ZQoJq`gkrm_VcANjY^1IHe`!e#+&bzE9 zo+))BgR7$E#uDZSc6&wbI?pjyvSoySzx|}qb@GaU12+8c^CL|g5-yw6|2tI69U%Il z@Ao98X`3Tu7-mg=pxDIpOaJZdJnNXlJ46|4&hA`Z>3QJW`ai$!o7MJkC2&{Il4AK_ z8b3koqO}Bz&hJO*tQ$HP?ABytUVSrX$6_r70g(&wJF?5ozOa<|PVW1scRwYBb<3Ci zv5YV8cHd)k|C{$qdPgK9XB9g~1n>L?hX4ou`ONtd4%_1{TU!WhxO=v-Y4QVyGt8@) zm|PhTzf|Dh@>u`>?)r}^BK-}A|IK60b9MM1ead~0Qi8c)4~N9fYhSq~94@)|WOwMX4#-F06@5;|-eozp-mE**3nQGg>0~fbx2^zfloVR{C zXF_n!YqsYNvgT&&5e=++losqiSKKkD;m^Tu0^AGA6Bum*RyHul30;W)aM$^LLP_*> z{RXq@xE(hC?yk%O3y5+o@cVG+Wx+%SInKP7+!OidJY-kaZ=5amK~~J+{Q)K&hZu*t z+t!ZW46o&r7^8|E{w=*P3fke&;xXKb4JylVl(>gqo>90^dEdjIp^-`{Tup5V08F%ye!Z-NBZk|O4UlQK1mAY0iUOtSpp zl%z4?6z>7m;t#DLhe(DppT zf!NQ5c5$^X=ZzT(uGh@z50}6AnTO$ysr>WDSKYtZFf)|Hm0o!Bod3m}-!FmUd)CMA z-}m>&$KGelHqvzj$ z`}_R#wR67SU2m^-{`Y>{|DS<{${+`RzrVb+=gHkV_siWxK9E~IUHx3vIVCg!0CZ3E AkN^Mx literal 1890 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K58911MRQ8&P5Fo{p?&#~tz_78O`%fY(0|PTd zfKP}kP~6RR|Q5mXMsm#F#`kN1`uZSJN?%VC@4|l8c`CQpH@rz;wdX#WAEJ?(Lk5eo>Ah3~P`6`X8U8Y#l4rWHx8DXK7lTn_oil`G$QB zHhW|qBr^5S{ZzyH*wB65^TzBQ{mrZvsfR1hG@hRM_Wz%fH4MvhB>F8S9=xoRljj$W z$c|62c^1J?wyQf|;=ys#<)-`3mh%+sdUQA3jgc#WfluP#J?Ue~Tn+3Z3m8}JpLxlrSX~Wha#v9ea4W|2jiPw0*p6Ns7LhhQP6T%JB((hs$ zm_!)`Y{pjQ8e=0c`~GEfQF&^CkL!?qN`0_u+$cO)eoGH51;e={T^Gpw(fr(a&hxdXl5_2et1yWZsCE~pDkKj-?g>#Tl`ph zX1fLZgG2x7?H;~Ap8hAQR+Fn?s|Z83Cd0KLhBZqWBD@(lOk+yWWjzoz0wk91+4F}j X@X0EFiABrmL8YIktDnm{r-UW|KwL*= diff --git a/src/main/resources/assets/actuallyadditions/textures/gui/guiOilGenerator.png b/src/main/resources/assets/actuallyadditions/textures/gui/guiOilGenerator.png index 79b7459c7768278b3e87149330896abe6e551702..117ca75a8e5f0ab0059f571ed413159f549f591e 100644 GIT binary patch literal 2634 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K5893O0R7}x|G$6&2?&#~tz_78O`%fY(kk47* z5n0T@z_$#98Qbry%m)fel(rIsj|=o#o)<`~!c0rj2m zba4!+h+pJvCsv>GPyz=3My<9q9+Q zNfp~AYT~bICrsZReE4=YL|2xk(TmHBE@7I3+qWbe=eEt7LYqCFxS3LUKd;a0K zLYrmlu6XVWQjffzu-UY3&$jsbzh4(lcL;x_61#Hpn(PfXrS{J@Z24sM^I^Mu+OhPa z-x+e=2+39ZKJ72lX*i!A+k7_cuf0yg`~Cm_b$|Z$_I7{U?;|Du?`OU`f0F4(%{9{- zIamKbX8rJfe*M2iS3dil{bBj{)9L>BDZh$0G1$#7j43a@=B5B`dM3bEx?y*a`pV~XrMMM9&Ur1BW7b}<@<;R##T$*Ziau?g|vx+jW63UnQ1)aAx6?2#dlm@wv?_mJ@ zZtc=ZRrgkIWY|=))Nj+egK5Pa?N&E{ZUH*EmvzEYp!BFy6E=^A>HwrwZ&0@S_Vc&R z_tN@MY&pb4tbz4HDoXzNJM+%;-~Dp?-LR>*7v_HO5tz;~a)r0?sk@?k?7pwOz9$8n zMl2So?(C|KfA{;j-Pc{yd$44b=}&@}zMJ>|N_M;!mK+y1>AdLQ;Pcm?#~ERjUH2yT z;_mBvORzfT`_Xq@_iVpk!j@?-0li;!$F|(It`}RG;At2B&A#g0($S)2v=pSMZh00R z&G5MI|L^DacE2QRw7!B5nD_7VvvThR)i!bEe|Pu7WErC% zvTklW*Wa&yw~_Tj=?rI!82JUPANJIAb0_?J`R~j2{(qs*KJKXF-ci5j-nnKeV~be% z8BqB@FYER*tb2a{|G&HS>-(?Yt_%RySFf2jGt8TwU&Po`v_Dw2_uK7FU+;Wfo3K~*$E>@jYK!+X99u6hcHr#SSzpT@WPkg&`tR=e`}z&vuAA9`VX8S!pU}I|Vf)AyYpP&7Y{kr|*{7)feAa{DY`njxgN@xNA D>xkMO literal 2121 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K58911MRQ8&P5Fo{p?&#~tz_78O`%fY(0|PTd zfKP}kP~61dt{?4unj9bnEkH}&M2EOGW%osY`yBjDdQQ{g= z5}cn_Ql40p%21G)nOCBhms+A=qGzCIn%ZiV3M^38d%8G=RK&fV!yP<3K!SDaw~5pL z{IAcpKT+hn_~>fGz9(o&aJBc&}+P=9V- zcD?zZzv-`hvIRc;?%}^L`rZEg3S&(NMy`YnsZiqr8FuzCi7a4X)o@_^lBdyN_udUe z1JwjHFo_&UI1M#+F+-6gNDWB%#oYjg+Izhq8mI=Ox8dNlh2_onc==vG`^EG_?uzkm z6UN`hZPB71{;b_uzt4U-LzQ`6*nun6aq|Kh_DXNJW?lAZt5x0^jfQ)@Rq9L1AFHv1 zY|XUIKf6aD;KJ@gWu{wJ5e`#lo2SRwG0Vxnyt_k?G4%J5Lq6A>1sIRZx?f^BBPM0Y zwCdK&RTGQZ|FE-O*ga7#q5jX&6T*jB_BbtTn5>?>q@nQJW=YM2sy}Dhm{?_gpJ%IK zyRds9*rQwl49&XE@7eZB%UnBqozp_m`@l!zkHUW{Vi>s=lsiNGzJP%(y6qlsmAS>5 z*;hF&axC5_-bs4Sy2k%NnTdh!?b;;`hqw7v#Tc>XlzlD!x-PG=FcBgvVsMXXchrqa z#@E6dq`eMU{BJipc#eBT;LrKJ;*zX?s%#z~W{R^8=B${#>%rM|yRNU^zdkzgvnJE3 z81^kc8P?a>{L}jLP$@ORI_F#a*&na^wK57BA9vqo6t4`G$m%?N_p%A|tE1~nBNrTH z^_#|t_yMHguZd^@C06NFd;p~*a19@|d;=l7R%s)~l zai8JXr>#>p9t7ksdAwZbxTv*$LMfA-H0y+o8Vx