From 8ed8c659da9496bf49fec94c049b0abae21746a8 Mon Sep 17 00:00:00 2001 From: Foghrye4 Date: Wed, 24 May 2017 20:13:22 +0300 Subject: fixing bugs with Iron workbench and fractionator --- .../chemistry/ApparatusProcessableInvSlot.java | 8 +- ihl/processing/chemistry/BatteryItem.java | 1 - .../chemistry/ChemicalReactorContainer.java | 3 - ihl/processing/chemistry/ChemicalReactorGui.java | 6 +- .../chemistry/ChemicalReactorTileEntity.java | 25 +++-- .../chemistry/CryogenicDistillerContainer.java | 3 - .../chemistry/CryogenicDistillerTileEntity.java | 4 +- ihl/processing/chemistry/DosingPumpGui.java | 22 ++-- ihl/processing/chemistry/DosingPumpTileEntity.java | 20 ++-- .../chemistry/ElectricEvaporatorGui.java | 9 +- .../chemistry/ElectricEvaporatorTileEntity.java | 19 ++-- ihl/processing/chemistry/ElectrolysisBathGui.java | 9 +- .../chemistry/ElectrolysisBathTileEntity.java | 21 ++-- ihl/processing/chemistry/EvaporatorGui.java | 9 +- ihl/processing/chemistry/EvaporatorTileEntity.java | 21 ++-- ihl/processing/chemistry/ExtruderModel.java | 2 +- .../chemistry/FluidizedBedReactorContainer.java | 3 - .../chemistry/FluidizedBedReactorGui.java | 6 +- .../chemistry/FluidizedBedReactorTileEntity.java | 23 ++--- .../chemistry/FractionatorBottomTileEntity.java | 39 +++++-- .../chemistry/FractionatorSectionTileEntity.java | 5 +- .../GaedesMercuryRotaryPumpTileEntity.java | 6 +- ihl/processing/chemistry/LabElectrolyzerGui.java | 6 +- .../chemistry/LabElectrolyzerTileEntity.java | 20 ++-- ihl/processing/chemistry/LeadOvenGui.java | 4 +- ihl/processing/chemistry/LeadOvenTileEntity.java | 21 ++-- ihl/processing/chemistry/LoomModel.java | 2 +- ihl/processing/chemistry/LoomTileEntity.java | 5 +- .../chemistry/PaperMachineContainer.java | 3 - ihl/processing/chemistry/PaperMachineGui.java | 6 +- .../chemistry/PaperMachineTileEntity.java | 22 ++-- .../chemistry/RefluxCondenserTileEntity.java | 5 +- .../chemistry/SolarEvaporatorContainer.java | 112 +++++++++++++++++++++ ihl/processing/chemistry/SolarEvaporatorGui.java | 78 ++++++++++++++ .../chemistry/SolarEvaporatorTileEntity.java | 108 ++++++++++++++++++++ 35 files changed, 480 insertions(+), 176 deletions(-) create mode 100644 ihl/processing/chemistry/SolarEvaporatorContainer.java create mode 100644 ihl/processing/chemistry/SolarEvaporatorGui.java create mode 100644 ihl/processing/chemistry/SolarEvaporatorTileEntity.java (limited to 'ihl/processing/chemistry') diff --git a/ihl/processing/chemistry/ApparatusProcessableInvSlot.java b/ihl/processing/chemistry/ApparatusProcessableInvSlot.java index 84a931b..bfed5c9 100644 --- a/ihl/processing/chemistry/ApparatusProcessableInvSlot.java +++ b/ihl/processing/chemistry/ApparatusProcessableInvSlot.java @@ -1,11 +1,11 @@ package ihl.processing.chemistry; -import ic2.api.recipe.IRecipeInput; -import ic2.core.block.TileEntityInventory; -import ic2.core.block.invslot.InvSlot; import java.util.ArrayList; import java.util.List; +import ic2.api.recipe.IRecipeInput; +import ic2.core.block.TileEntityInventory; +import ic2.core.block.invslot.InvSlot; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; @@ -13,7 +13,7 @@ public class ApparatusProcessableInvSlot extends InvSlot { public ApparatusProcessableInvSlot(TileEntityInventory base1, String name1, int oldStartIndex1, Access access1, int count, int stackSizeLimit1) { - super(base1, name1, oldStartIndex1, access1, count); + super(base1, name1, oldStartIndex1, Access.I, count); this.setStackSizeLimit(stackSizeLimit1); } diff --git a/ihl/processing/chemistry/BatteryItem.java b/ihl/processing/chemistry/BatteryItem.java index 10cd7cd..b9c5435 100644 --- a/ihl/processing/chemistry/BatteryItem.java +++ b/ihl/processing/chemistry/BatteryItem.java @@ -8,7 +8,6 @@ import java.util.Map; import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; - import ic2.api.item.ElectricItem; import ic2.api.item.IElectricItem; import ic2.api.item.IItemHudInfo; diff --git a/ihl/processing/chemistry/ChemicalReactorContainer.java b/ihl/processing/chemistry/ChemicalReactorContainer.java index a1cc0b4..a426765 100644 --- a/ihl/processing/chemistry/ChemicalReactorContainer.java +++ b/ihl/processing/chemistry/ChemicalReactorContainer.java @@ -2,12 +2,9 @@ package ihl.processing.chemistry; import java.util.List; -import ic2.core.ContainerBase; import ic2.core.IC2; import ic2.core.slot.SlotInvSlot; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.inventory.ICrafting; -import net.minecraft.inventory.Slot; import net.minecraftforge.fluids.FluidStack; public class ChemicalReactorContainer extends BasicElectricMotorContainer { diff --git a/ihl/processing/chemistry/ChemicalReactorGui.java b/ihl/processing/chemistry/ChemicalReactorGui.java index 029281b..de22f76 100644 --- a/ihl/processing/chemistry/ChemicalReactorGui.java +++ b/ihl/processing/chemistry/ChemicalReactorGui.java @@ -1,12 +1,12 @@ package ihl.processing.chemistry; -import cpw.mods.fml.relauncher.Side; +import org.lwjgl.opengl.GL11; +import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import ihl.utils.IHLRenderUtils; import net.minecraft.client.gui.inventory.GuiContainer; import net.minecraft.util.ResourceLocation; -import org.lwjgl.opengl.GL11; -import ihl.utils.IHLRenderUtils; @SideOnly(Side.CLIENT) public class ChemicalReactorGui extends GuiContainer { diff --git a/ihl/processing/chemistry/ChemicalReactorTileEntity.java b/ihl/processing/chemistry/ChemicalReactorTileEntity.java index 2630ed2..a124265 100644 --- a/ihl/processing/chemistry/ChemicalReactorTileEntity.java +++ b/ihl/processing/chemistry/ChemicalReactorTileEntity.java @@ -3,26 +3,15 @@ package ihl.processing.chemistry; import java.util.Arrays; import java.util.List; import java.util.Map; + import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; - -import net.minecraft.client.gui.GuiScreen; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; -import net.minecraftforge.common.util.ForgeDirection; -import net.minecraftforge.fluids.Fluid; -import net.minecraftforge.fluids.FluidStack; -import net.minecraftforge.fluids.FluidTankInfo; -import net.minecraftforge.fluids.IFluidHandler; import ic2.core.ContainerBase; import ic2.core.IC2; import ic2.core.block.invslot.InvSlot; import ic2.core.block.invslot.InvSlot.Access; import ic2.core.block.invslot.InvSlotConsumableLiquid; import ic2.core.block.invslot.InvSlotOutput; -import ihl.processing.chemistry.ApparatusProcessableInvSlot; import ihl.processing.invslots.IHLInvSlotOutput; import ihl.processing.invslots.InvSlotConsumableLiquidIHL; import ihl.processing.metallurgy.BasicElectricMotorTileEntity; @@ -31,6 +20,16 @@ import ihl.recipes.UniversalRecipeManager; import ihl.recipes.UniversalRecipeOutput; import ihl.utils.IHLFluidTank; import ihl.utils.IHLUtils; +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraftforge.common.util.ForgeDirection; +import net.minecraftforge.fluids.Fluid; +import net.minecraftforge.fluids.FluidStack; +import net.minecraftforge.fluids.FluidTankInfo; +import net.minecraftforge.fluids.IFluidHandler; public class ChemicalReactorTileEntity extends BasicElectricMotorTileEntity implements IFluidHandler { @@ -49,7 +48,7 @@ public class ChemicalReactorTileEntity extends BasicElectricMotorTileEntity impl this.drainInputSlot = new InvSlotConsumableLiquidIHL(this, "drainInput", -1, InvSlot.Access.I, 1, InvSlot.InvSide.TOP, InvSlotConsumableLiquid.OpType.Drain); this.fillInputSlot = new InvSlotConsumableLiquidIHL(this, "fillInput", -1, InvSlot.Access.I, 1, InvSlot.InvSide.BOTTOM, InvSlotConsumableLiquid.OpType.Fill); this.emptyFluidItemsSlot = new InvSlotOutput(this, "fluidCellsOutput", 2, 1); - this.input = new ApparatusProcessableInvSlot(this, "input", 3, Access.IO, 2, 64); + this.input = new ApparatusProcessableInvSlot(this, "input", 3, Access.I, 2, 64); } @Override diff --git a/ihl/processing/chemistry/CryogenicDistillerContainer.java b/ihl/processing/chemistry/CryogenicDistillerContainer.java index d04ec4e..988b844 100644 --- a/ihl/processing/chemistry/CryogenicDistillerContainer.java +++ b/ihl/processing/chemistry/CryogenicDistillerContainer.java @@ -2,12 +2,9 @@ package ihl.processing.chemistry; import java.util.List; -import ic2.core.ContainerBase; import ic2.core.IC2; import ic2.core.slot.SlotInvSlot; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.inventory.ICrafting; -import net.minecraft.inventory.Slot; import net.minecraftforge.fluids.FluidStack; public class CryogenicDistillerContainer extends BasicElectricMotorContainer { diff --git a/ihl/processing/chemistry/CryogenicDistillerTileEntity.java b/ihl/processing/chemistry/CryogenicDistillerTileEntity.java index 9bd11a3..e197088 100644 --- a/ihl/processing/chemistry/CryogenicDistillerTileEntity.java +++ b/ihl/processing/chemistry/CryogenicDistillerTileEntity.java @@ -4,6 +4,8 @@ import java.util.Arrays; import java.util.List; import java.util.Map; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import ic2.core.ContainerBase; import ic2.core.block.invslot.InvSlot; import ic2.core.block.invslot.InvSlotConsumableLiquid; @@ -25,8 +27,6 @@ import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.fluids.FluidTankInfo; import net.minecraftforge.fluids.IFluidHandler; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; public class CryogenicDistillerTileEntity extends BasicElectricMotorTileEntity implements IFluidHandler { diff --git a/ihl/processing/chemistry/DosingPumpGui.java b/ihl/processing/chemistry/DosingPumpGui.java index 090bdec..dde4f13 100644 --- a/ihl/processing/chemistry/DosingPumpGui.java +++ b/ihl/processing/chemistry/DosingPumpGui.java @@ -1,29 +1,27 @@ package ihl.processing.chemistry; -import cpw.mods.fml.relauncher.Side; - -import cpw.mods.fml.relauncher.SideOnly; -import ic2.core.IC2; -import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.GuiTextField; -import net.minecraft.client.gui.inventory.GuiContainer; -import net.minecraft.util.ResourceLocation; -import net.minecraft.util.StatCollector; - import java.awt.event.KeyEvent; import org.lwjgl.opengl.GL11; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import ihl.ClientProxy; import ihl.IHLMod; import ihl.utils.IHLRenderUtils; import ihl.utils.IHLUtils; +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.GuiTextField; +import net.minecraft.client.gui.inventory.GuiContainer; +import net.minecraft.util.ResourceLocation; +import net.minecraft.util.StatCollector; @SideOnly(Side.CLIENT) public class DosingPumpGui extends GuiContainer { private static final ResourceLocation background = new ResourceLocation("ihl", "textures/gui/GUIDosingPump.png"); private DosingPumpContainer container; private GuiTextField setpointTextField; + private int lastFluidAmountSetpoint = -1; private final static int TANK_HEIGHT = 58; public DosingPumpGui(DosingPumpContainer container1) { @@ -38,6 +36,10 @@ public class DosingPumpGui extends GuiContainer { @Override protected void drawGuiContainerForegroundLayer(int par1, int par2) { + if(lastFluidAmountSetpoint!= this.container.tileEntity.fluidAmountSetpoint){ + setpointTextField.setText(Integer.toString(this.container.tileEntity.fluidAmountSetpoint)); + lastFluidAmountSetpoint= this.container.tileEntity.fluidAmountSetpoint; + } int xOffset = (this.width - xSize) / 2; int yOffset = (this.height - ySize) / 2; GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); diff --git a/ihl/processing/chemistry/DosingPumpTileEntity.java b/ihl/processing/chemistry/DosingPumpTileEntity.java index d676bf9..e1e4996 100644 --- a/ihl/processing/chemistry/DosingPumpTileEntity.java +++ b/ihl/processing/chemistry/DosingPumpTileEntity.java @@ -1,9 +1,18 @@ package ihl.processing.chemistry; import java.util.List; + import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; - +import ic2.core.ContainerBase; +import ic2.core.IC2; +import ic2.core.block.invslot.InvSlot; +import ic2.core.block.invslot.InvSlotConsumableLiquid; +import ic2.core.block.invslot.InvSlotOutput; +import ihl.processing.invslots.InvSlotConsumableLiquidIHL; +import ihl.processing.metallurgy.BasicElectricMotorTileEntity; +import ihl.utils.IHLFluidTank; +import ihl.utils.IHLUtils; import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; @@ -14,15 +23,6 @@ import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.fluids.FluidTankInfo; import net.minecraftforge.fluids.IFluidHandler; -import ic2.core.ContainerBase; -import ic2.core.IC2; -import ic2.core.block.invslot.InvSlot; -import ic2.core.block.invslot.InvSlotConsumableLiquid; -import ic2.core.block.invslot.InvSlotOutput; -import ihl.processing.invslots.InvSlotConsumableLiquidIHL; -import ihl.processing.metallurgy.BasicElectricMotorTileEntity; -import ihl.utils.IHLFluidTank; -import ihl.utils.IHLUtils; public class DosingPumpTileEntity extends BasicElectricMotorTileEntity implements IFluidHandler { public final InvSlotConsumableLiquidIHL drainInputSlot; diff --git a/ihl/processing/chemistry/ElectricEvaporatorGui.java b/ihl/processing/chemistry/ElectricEvaporatorGui.java index 016335f..4a36631 100644 --- a/ihl/processing/chemistry/ElectricEvaporatorGui.java +++ b/ihl/processing/chemistry/ElectricEvaporatorGui.java @@ -1,8 +1,11 @@ package ihl.processing.chemistry; -import cpw.mods.fml.relauncher.Side; +import org.lwjgl.opengl.GL11; +import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import ic2.core.util.DrawUtil; +import ic2.core.util.GuiTooltipHelper; import net.minecraft.client.gui.inventory.GuiContainer; import net.minecraft.client.renderer.texture.TextureMap; import net.minecraft.util.IIcon; @@ -11,10 +14,6 @@ import net.minecraft.util.StatCollector; import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fluids.FluidStack; -import org.lwjgl.opengl.GL11; -import ic2.core.util.DrawUtil; -import ic2.core.util.GuiTooltipHelper; - @SideOnly(Side.CLIENT) public class ElectricEvaporatorGui extends GuiContainer { private static final ResourceLocation background = new ResourceLocation("ihl", "textures/gui/GUIElectricEvaporator.png"); diff --git a/ihl/processing/chemistry/ElectricEvaporatorTileEntity.java b/ihl/processing/chemistry/ElectricEvaporatorTileEntity.java index 1b5b647..cdf3524 100644 --- a/ihl/processing/chemistry/ElectricEvaporatorTileEntity.java +++ b/ihl/processing/chemistry/ElectricEvaporatorTileEntity.java @@ -6,15 +6,6 @@ import java.util.Set; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; - -import net.minecraft.client.gui.GuiScreen; -import net.minecraft.entity.item.EntityItem; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.common.util.ForgeDirection; import ic2.api.energy.event.EnergyTileLoadEvent; import ic2.api.energy.event.EnergyTileUnloadEvent; import ic2.api.energy.tile.IEnergySink; @@ -25,14 +16,22 @@ import ic2.core.IC2; import ic2.core.IHasGui; import ic2.core.audio.AudioSource; import ic2.core.block.invslot.InvSlot; -import ic2.core.block.invslot.InvSlotUpgrade; import ic2.core.block.invslot.InvSlot.Access; +import ic2.core.block.invslot.InvSlotUpgrade; import ic2.core.upgrade.IUpgradableBlock; import ic2.core.upgrade.IUpgradeItem; import ic2.core.upgrade.UpgradableProperty; import ihl.IHLMod; import ihl.utils.IHLInvSlotDischarge; import ihl.utils.IHLUtils; +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraftforge.common.MinecraftForge; +import net.minecraftforge.common.util.ForgeDirection; public class ElectricEvaporatorTileEntity extends EvaporatorTileEntity implements IEnergySink, IUpgradableBlock, INetworkTileEntityEventListener { diff --git a/ihl/processing/chemistry/ElectrolysisBathGui.java b/ihl/processing/chemistry/ElectrolysisBathGui.java index 89b8ddb..404ef94 100644 --- a/ihl/processing/chemistry/ElectrolysisBathGui.java +++ b/ihl/processing/chemistry/ElectrolysisBathGui.java @@ -1,16 +1,15 @@ package ihl.processing.chemistry; -import cpw.mods.fml.relauncher.Side; +import org.lwjgl.opengl.GL11; +import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import ic2.core.IC2; +import ihl.utils.GuiMultiTextureButton; +import ihl.utils.IHLRenderUtils; import net.minecraft.client.gui.GuiButton; import net.minecraft.client.gui.inventory.GuiContainer; import net.minecraft.util.ResourceLocation; -import org.lwjgl.opengl.GL11; - -import ihl.utils.GuiMultiTextureButton; -import ihl.utils.IHLRenderUtils; @SideOnly(Side.CLIENT) public class ElectrolysisBathGui extends GuiContainer { diff --git a/ihl/processing/chemistry/ElectrolysisBathTileEntity.java b/ihl/processing/chemistry/ElectrolysisBathTileEntity.java index f8fae63..8a498b6 100644 --- a/ihl/processing/chemistry/ElectrolysisBathTileEntity.java +++ b/ihl/processing/chemistry/ElectrolysisBathTileEntity.java @@ -6,16 +6,6 @@ import java.util.Map; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; -import net.minecraftforge.common.util.ForgeDirection; -import net.minecraftforge.fluids.Fluid; -import net.minecraftforge.fluids.FluidStack; -import net.minecraftforge.fluids.FluidTankInfo; -import net.minecraftforge.fluids.IFluidHandler; import ic2.api.network.INetworkClientTileEntityEventListener; import ic2.core.ContainerBase; import ic2.core.IC2; @@ -25,13 +15,22 @@ import ic2.core.block.invslot.InvSlot.Access; import ic2.core.block.invslot.InvSlotConsumableLiquid; import ic2.core.block.invslot.InvSlotOutput; import ihl.flexible_cable.FlexibleCableHolderBaseTileEntity; -import ihl.processing.chemistry.ApparatusProcessableInvSlot; import ihl.processing.invslots.InvSlotConsumableLiquidIHL; import ihl.recipes.UniversalRecipeInput; import ihl.recipes.UniversalRecipeManager; import ihl.recipes.UniversalRecipeOutput; import ihl.utils.IHLFluidTank; import ihl.utils.IHLUtils; +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraftforge.common.util.ForgeDirection; +import net.minecraftforge.fluids.Fluid; +import net.minecraftforge.fluids.FluidStack; +import net.minecraftforge.fluids.FluidTankInfo; +import net.minecraftforge.fluids.IFluidHandler; public class ElectrolysisBathTileEntity extends FlexibleCableHolderBaseTileEntity implements IHasGui, INetworkClientTileEntityEventListener, IFluidHandler { diff --git a/ihl/processing/chemistry/EvaporatorGui.java b/ihl/processing/chemistry/EvaporatorGui.java index 12edba9..05f7c31 100644 --- a/ihl/processing/chemistry/EvaporatorGui.java +++ b/ihl/processing/chemistry/EvaporatorGui.java @@ -1,8 +1,11 @@ package ihl.processing.chemistry; -import cpw.mods.fml.relauncher.Side; +import org.lwjgl.opengl.GL11; +import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import ic2.core.util.DrawUtil; +import ic2.core.util.GuiTooltipHelper; import net.minecraft.client.gui.inventory.GuiContainer; import net.minecraft.client.renderer.texture.TextureMap; import net.minecraft.util.IIcon; @@ -11,10 +14,6 @@ import net.minecraft.util.StatCollector; import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fluids.FluidStack; -import org.lwjgl.opengl.GL11; -import ic2.core.util.DrawUtil; -import ic2.core.util.GuiTooltipHelper; - @SideOnly(Side.CLIENT) public class EvaporatorGui extends GuiContainer { private static final ResourceLocation background = new ResourceLocation("ihl", "textures/gui/GUISolidFuelEvaporator.png"); diff --git a/ihl/processing/chemistry/EvaporatorTileEntity.java b/ihl/processing/chemistry/EvaporatorTileEntity.java index dbdf2e1..279fa17 100644 --- a/ihl/processing/chemistry/EvaporatorTileEntity.java +++ b/ihl/processing/chemistry/EvaporatorTileEntity.java @@ -5,16 +5,6 @@ import java.util.Map; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; - -import net.minecraft.client.gui.GuiScreen; -import net.minecraft.entity.item.EntityItem; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraftforge.common.util.ForgeDirection; -import net.minecraftforge.fluids.Fluid; -import net.minecraftforge.fluids.FluidRegistry; -import net.minecraftforge.fluids.FluidStack; import ic2.api.item.IC2Items; import ic2.core.ContainerBase; import ic2.core.IC2; @@ -31,6 +21,15 @@ import ihl.recipes.UniversalRecipeInput; import ihl.recipes.UniversalRecipeManager; import ihl.recipes.UniversalRecipeOutput; import ihl.utils.IHLUtils; +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraftforge.common.util.ForgeDirection; +import net.minecraftforge.fluids.Fluid; +import net.minecraftforge.fluids.FluidRegistry; +import net.minecraftforge.fluids.FluidStack; public class EvaporatorTileEntity extends TileEntityLiquidTankInventory implements IHasGui { @@ -142,7 +141,7 @@ public class EvaporatorTileEntity extends TileEntityLiquidTankInventory implemen { IHLUtils.handleFluidSlotsBehaviour(fillItemsSlot, fluidItemsSlot, emptyFluidItemsSlot, fluidTank); } - if (this.fuel <= 0 && this.canOperate()) + if (this.fuel <= 0 && this.canOperate() && this.fuelSlot instanceof InvSlotConsumableFuel) { this.fuel = this.maxFuel = ((InvSlotConsumableFuel) this.fuelSlot).consumeFuel(); } diff --git a/ihl/processing/chemistry/ExtruderModel.java b/ihl/processing/chemistry/ExtruderModel.java index 25e1263..4d4688a 100644 --- a/ihl/processing/chemistry/ExtruderModel.java +++ b/ihl/processing/chemistry/ExtruderModel.java @@ -1,8 +1,8 @@ package ihl.processing.chemistry; +import ihl.model.IHLModelRenderer; import net.minecraft.client.model.ModelBase; import net.minecraftforge.common.util.ForgeDirection; -import ihl.model.IHLModelRenderer; public class ExtruderModel extends ModelBase { diff --git a/ihl/processing/chemistry/FluidizedBedReactorContainer.java b/ihl/processing/chemistry/FluidizedBedReactorContainer.java index f8ea002..8b7aa47 100644 --- a/ihl/processing/chemistry/FluidizedBedReactorContainer.java +++ b/ihl/processing/chemistry/FluidizedBedReactorContainer.java @@ -2,12 +2,9 @@ package ihl.processing.chemistry; import java.util.List; -import ic2.core.ContainerBase; import ic2.core.IC2; import ic2.core.slot.SlotInvSlot; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.inventory.ICrafting; -import net.minecraft.inventory.Slot; import net.minecraftforge.fluids.FluidStack; public class FluidizedBedReactorContainer extends BasicElectricMotorContainer { diff --git a/ihl/processing/chemistry/FluidizedBedReactorGui.java b/ihl/processing/chemistry/FluidizedBedReactorGui.java index d79a09d..95ba8f0 100644 --- a/ihl/processing/chemistry/FluidizedBedReactorGui.java +++ b/ihl/processing/chemistry/FluidizedBedReactorGui.java @@ -1,12 +1,12 @@ package ihl.processing.chemistry; -import cpw.mods.fml.relauncher.Side; +import org.lwjgl.opengl.GL11; +import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import ihl.utils.IHLRenderUtils; import net.minecraft.client.gui.inventory.GuiContainer; import net.minecraft.util.ResourceLocation; -import org.lwjgl.opengl.GL11; -import ihl.utils.IHLRenderUtils; @SideOnly(Side.CLIENT) public class FluidizedBedReactorGui extends GuiContainer { diff --git a/ihl/processing/chemistry/FluidizedBedReactorTileEntity.java b/ihl/processing/chemistry/FluidizedBedReactorTileEntity.java index bb6cf1e..4961fc6 100644 --- a/ihl/processing/chemistry/FluidizedBedReactorTileEntity.java +++ b/ihl/processing/chemistry/FluidizedBedReactorTileEntity.java @@ -3,25 +3,14 @@ package ihl.processing.chemistry; import java.util.Arrays; import java.util.List; import java.util.Map; + import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; - -import net.minecraft.client.gui.GuiScreen; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; -import net.minecraftforge.common.util.ForgeDirection; -import net.minecraftforge.fluids.Fluid; -import net.minecraftforge.fluids.FluidStack; -import net.minecraftforge.fluids.FluidTankInfo; -import net.minecraftforge.fluids.IFluidHandler; import ic2.core.ContainerBase; import ic2.core.block.invslot.InvSlot; import ic2.core.block.invslot.InvSlot.Access; import ic2.core.block.invslot.InvSlotConsumableLiquid; import ic2.core.block.invslot.InvSlotOutput; -import ihl.processing.chemistry.ApparatusProcessableInvSlot; import ihl.processing.invslots.IHLInvSlotOutput; import ihl.processing.invslots.InvSlotConsumableLiquidIHL; import ihl.processing.metallurgy.BasicElectricMotorTileEntity; @@ -31,6 +20,16 @@ import ihl.recipes.UniversalRecipeManager; import ihl.recipes.UniversalRecipeOutput; import ihl.utils.IHLFluidTank; import ihl.utils.IHLUtils; +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraftforge.common.util.ForgeDirection; +import net.minecraftforge.fluids.Fluid; +import net.minecraftforge.fluids.FluidStack; +import net.minecraftforge.fluids.FluidTankInfo; +import net.minecraftforge.fluids.IFluidHandler; public class FluidizedBedReactorTileEntity extends BasicElectricMotorTileEntity implements IFluidHandler { diff --git a/ihl/processing/chemistry/FractionatorBottomTileEntity.java b/ihl/processing/chemistry/FractionatorBottomTileEntity.java index 2f3b43f..288924e 100644 --- a/ihl/processing/chemistry/FractionatorBottomTileEntity.java +++ b/ihl/processing/chemistry/FractionatorBottomTileEntity.java @@ -6,14 +6,6 @@ import java.util.Iterator; import java.util.List; import java.util.Map; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; -import net.minecraftforge.common.util.ForgeDirection; -import net.minecraftforge.fluids.FluidStack; -import net.minecraftforge.fluids.FluidTankInfo; -import net.minecraftforge.fluids.IFluidHandler; import ic2.api.energy.tile.IHeatSource; import ic2.core.IC2; import ic2.core.block.TileEntityInventory; @@ -24,8 +16,17 @@ import ihl.recipes.UniversalRecipeOutput; import ihl.utils.IHLFluidTank; import ihl.utils.IHLUtils; import ihl.worldgen.ores.IHLFluid; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraftforge.common.util.ForgeDirection; +import net.minecraftforge.fluids.Fluid; +import net.minecraftforge.fluids.FluidStack; +import net.minecraftforge.fluids.FluidTankInfo; +import net.minecraftforge.fluids.IFluidHandler; -public class FractionatorBottomTileEntity extends TileEntityInventory +public class FractionatorBottomTileEntity extends TileEntityInventory implements IFluidHandler { private final static UniversalRecipeManager recipeManager = new UniversalRecipeManager("fractionator"); private static float kF = 24000F; @@ -385,4 +386,24 @@ public class FractionatorBottomTileEntity extends TileEntityInventory { return pass==0; } + + @Override + public FluidStack drain(ForgeDirection from, FluidStack resource, boolean doDrain) { + return this.fluidTank.drain(resource, doDrain); + } + + @Override + public FluidStack drain(ForgeDirection from, int maxDrain, boolean doDrain) { + return this.fluidTank.drain(maxDrain, doDrain); + } + + @Override + public boolean canFill(ForgeDirection from, Fluid fluid) { + return true; + } + + @Override + public boolean canDrain(ForgeDirection from, Fluid fluid) { + return true; + } } \ No newline at end of file diff --git a/ihl/processing/chemistry/FractionatorSectionTileEntity.java b/ihl/processing/chemistry/FractionatorSectionTileEntity.java index ddd3f31..e71c453 100644 --- a/ihl/processing/chemistry/FractionatorSectionTileEntity.java +++ b/ihl/processing/chemistry/FractionatorSectionTileEntity.java @@ -139,7 +139,10 @@ public class FractionatorSectionTileEntity extends TileEntity implements IWrench @Override public FluidTankInfo[] getTankInfo(ForgeDirection arg0) { - return columnBottom.getTankInfo(arg0); + if(columnBottom!=null) + return columnBottom.getTankInfo(arg0); + else + return new FluidTankInfo[] {new FluidTankInfo(null, 8000)}; } } diff --git a/ihl/processing/chemistry/GaedesMercuryRotaryPumpTileEntity.java b/ihl/processing/chemistry/GaedesMercuryRotaryPumpTileEntity.java index 3227ab7..186b606 100644 --- a/ihl/processing/chemistry/GaedesMercuryRotaryPumpTileEntity.java +++ b/ihl/processing/chemistry/GaedesMercuryRotaryPumpTileEntity.java @@ -2,15 +2,15 @@ package ihl.processing.chemistry; import java.util.List; -import net.minecraft.client.gui.GuiScreen; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import ic2.core.ContainerBase; import ihl.interfaces.IWorkspaceElement; import ihl.processing.metallurgy.BasicElectricMotorTileEntity; import ihl.utils.IHLUtils; +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; public class GaedesMercuryRotaryPumpTileEntity extends BasicElectricMotorTileEntity implements IWorkspaceElement{ diff --git a/ihl/processing/chemistry/LabElectrolyzerGui.java b/ihl/processing/chemistry/LabElectrolyzerGui.java index 8690257..3eb14a3 100644 --- a/ihl/processing/chemistry/LabElectrolyzerGui.java +++ b/ihl/processing/chemistry/LabElectrolyzerGui.java @@ -1,12 +1,12 @@ package ihl.processing.chemistry; -import cpw.mods.fml.relauncher.Side; +import org.lwjgl.opengl.GL11; +import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import ihl.utils.IHLRenderUtils; import net.minecraft.client.gui.inventory.GuiContainer; import net.minecraft.util.ResourceLocation; -import org.lwjgl.opengl.GL11; -import ihl.utils.IHLRenderUtils; @SideOnly(Side.CLIENT) public class LabElectrolyzerGui extends GuiContainer { diff --git a/ihl/processing/chemistry/LabElectrolyzerTileEntity.java b/ihl/processing/chemistry/LabElectrolyzerTileEntity.java index 11647d6..19348b6 100644 --- a/ihl/processing/chemistry/LabElectrolyzerTileEntity.java +++ b/ihl/processing/chemistry/LabElectrolyzerTileEntity.java @@ -3,18 +3,9 @@ package ihl.processing.chemistry; import java.util.Arrays; import java.util.List; import java.util.Map; + import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; - -import net.minecraft.client.gui.GuiScreen; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraftforge.common.util.ForgeDirection; -import net.minecraftforge.fluids.Fluid; -import net.minecraftforge.fluids.FluidStack; -import net.minecraftforge.fluids.FluidTankInfo; -import net.minecraftforge.fluids.IFluidHandler; import ic2.core.ContainerBase; import ic2.core.IC2; import ic2.core.block.invslot.InvSlot; @@ -28,6 +19,15 @@ import ihl.recipes.UniversalRecipeManager; import ihl.recipes.UniversalRecipeOutput; import ihl.utils.IHLFluidTank; import ihl.utils.IHLUtils; +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraftforge.common.util.ForgeDirection; +import net.minecraftforge.fluids.Fluid; +import net.minecraftforge.fluids.FluidStack; +import net.minecraftforge.fluids.FluidTankInfo; +import net.minecraftforge.fluids.IFluidHandler; public class LabElectrolyzerTileEntity extends BasicElectricMotorTileEntity implements IFluidHandler { private final static UniversalRecipeManager recipeManager = new UniversalRecipeManager("labelectrolyzer"); diff --git a/ihl/processing/chemistry/LeadOvenGui.java b/ihl/processing/chemistry/LeadOvenGui.java index 0c35a21..72fb107 100644 --- a/ihl/processing/chemistry/LeadOvenGui.java +++ b/ihl/processing/chemistry/LeadOvenGui.java @@ -1,12 +1,12 @@ package ihl.processing.chemistry; -import cpw.mods.fml.relauncher.Side; +import org.lwjgl.opengl.GL11; +import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import ihl.utils.IHLRenderUtils; import net.minecraft.client.gui.inventory.GuiContainer; import net.minecraft.util.ResourceLocation; -import org.lwjgl.opengl.GL11; @SideOnly(Side.CLIENT) public class LeadOvenGui extends GuiContainer { diff --git a/ihl/processing/chemistry/LeadOvenTileEntity.java b/ihl/processing/chemistry/LeadOvenTileEntity.java index c2067d8..95636ad 100644 --- a/ihl/processing/chemistry/LeadOvenTileEntity.java +++ b/ihl/processing/chemistry/LeadOvenTileEntity.java @@ -6,26 +6,16 @@ import java.util.Map; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; - -import net.minecraft.client.gui.GuiScreen; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraftforge.common.util.ForgeDirection; -import net.minecraftforge.fluids.Fluid; -import net.minecraftforge.fluids.FluidStack; -import net.minecraftforge.fluids.FluidTankInfo; -import net.minecraftforge.fluids.IFluidHandler; import ic2.api.recipe.IRecipeInput; import ic2.core.ContainerBase; import ic2.core.IC2; import ic2.core.IHasGui; import ic2.core.block.TileEntityInventory; import ic2.core.block.invslot.InvSlot; +import ic2.core.block.invslot.InvSlot.Access; import ic2.core.block.invslot.InvSlotConsumableFuel; import ic2.core.block.invslot.InvSlotConsumableLiquid; import ic2.core.block.invslot.InvSlotOutput; -import ic2.core.block.invslot.InvSlot.Access; import ihl.processing.invslots.IHLInvSlotOutput; import ihl.processing.invslots.InvSlotConsumableLiquidIHL; import ihl.recipes.RecipeOutputItemStack; @@ -34,6 +24,15 @@ import ihl.recipes.UniversalRecipeManager; import ihl.recipes.UniversalRecipeOutput; import ihl.utils.IHLFluidTank; import ihl.utils.IHLUtils; +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraftforge.common.util.ForgeDirection; +import net.minecraftforge.fluids.Fluid; +import net.minecraftforge.fluids.FluidStack; +import net.minecraftforge.fluids.FluidTankInfo; +import net.minecraftforge.fluids.IFluidHandler; public class LeadOvenTileEntity extends TileEntityInventory implements IHasGui, IFluidHandler { public final InvSlotConsumableFuel fuelSlot; diff --git a/ihl/processing/chemistry/LoomModel.java b/ihl/processing/chemistry/LoomModel.java index afef73d..31c2724 100644 --- a/ihl/processing/chemistry/LoomModel.java +++ b/ihl/processing/chemistry/LoomModel.java @@ -1,8 +1,8 @@ package ihl.processing.chemistry; +import ihl.model.IHLModelRenderer; import net.minecraft.client.model.ModelBase; import net.minecraftforge.common.util.ForgeDirection; -import ihl.model.IHLModelRenderer; public class LoomModel extends ModelBase { diff --git a/ihl/processing/chemistry/LoomTileEntity.java b/ihl/processing/chemistry/LoomTileEntity.java index 4ff9bc4..8432a2d 100644 --- a/ihl/processing/chemistry/LoomTileEntity.java +++ b/ihl/processing/chemistry/LoomTileEntity.java @@ -4,6 +4,8 @@ import java.util.Arrays; import java.util.List; import java.util.Map; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import ic2.api.network.INetworkClientTileEntityEventListener; import ic2.api.recipe.IRecipeInput; import ic2.core.ContainerBase; @@ -11,7 +13,6 @@ import ic2.core.IC2; import ic2.core.IHasGui; import ic2.core.block.TileEntityInventory; import ic2.core.block.invslot.InvSlot.Access; -import ihl.processing.chemistry.ApparatusProcessableInvSlot; import ihl.processing.invslots.IHLInvSlotOutput; import ihl.recipes.RecipeInputWire; import ihl.recipes.UniversalRecipeInput; @@ -21,8 +22,6 @@ import ihl.utils.IHLUtils; import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; public class LoomTileEntity extends TileEntityInventory implements IHasGui, INetworkClientTileEntityEventListener { diff --git a/ihl/processing/chemistry/PaperMachineContainer.java b/ihl/processing/chemistry/PaperMachineContainer.java index 0969649..01db6fd 100644 --- a/ihl/processing/chemistry/PaperMachineContainer.java +++ b/ihl/processing/chemistry/PaperMachineContainer.java @@ -2,12 +2,9 @@ package ihl.processing.chemistry; import java.util.List; -import ic2.core.ContainerBase; import ic2.core.IC2; import ic2.core.slot.SlotInvSlot; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.inventory.ICrafting; -import net.minecraft.inventory.Slot; import net.minecraftforge.fluids.FluidStack; public class PaperMachineContainer extends BasicElectricMotorContainer { diff --git a/ihl/processing/chemistry/PaperMachineGui.java b/ihl/processing/chemistry/PaperMachineGui.java index b65f041..8fea247 100644 --- a/ihl/processing/chemistry/PaperMachineGui.java +++ b/ihl/processing/chemistry/PaperMachineGui.java @@ -1,12 +1,12 @@ package ihl.processing.chemistry; -import cpw.mods.fml.relauncher.Side; +import org.lwjgl.opengl.GL11; +import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import ihl.utils.IHLRenderUtils; import net.minecraft.client.gui.inventory.GuiContainer; import net.minecraft.util.ResourceLocation; -import org.lwjgl.opengl.GL11; -import ihl.utils.IHLRenderUtils; @SideOnly(Side.CLIENT) public class PaperMachineGui extends GuiContainer { diff --git a/ihl/processing/chemistry/PaperMachineTileEntity.java b/ihl/processing/chemistry/PaperMachineTileEntity.java index eb28314..dddd306 100644 --- a/ihl/processing/chemistry/PaperMachineTileEntity.java +++ b/ihl/processing/chemistry/PaperMachineTileEntity.java @@ -3,19 +3,9 @@ package ihl.processing.chemistry; import java.util.Arrays; import java.util.List; import java.util.Map; + import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; - -import net.minecraft.client.gui.GuiScreen; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; -import net.minecraftforge.common.util.ForgeDirection; -import net.minecraftforge.fluids.Fluid; -import net.minecraftforge.fluids.FluidStack; -import net.minecraftforge.fluids.FluidTankInfo; -import net.minecraftforge.fluids.IFluidHandler; import ic2.core.ContainerBase; import ic2.core.IC2; import ic2.core.block.invslot.InvSlot; @@ -29,6 +19,16 @@ import ihl.recipes.UniversalRecipeManager; import ihl.recipes.UniversalRecipeOutput; import ihl.utils.IHLFluidTank; import ihl.utils.IHLUtils; +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraftforge.common.util.ForgeDirection; +import net.minecraftforge.fluids.Fluid; +import net.minecraftforge.fluids.FluidStack; +import net.minecraftforge.fluids.FluidTankInfo; +import net.minecraftforge.fluids.IFluidHandler; public class PaperMachineTileEntity extends BasicElectricMotorTileEntity implements IFluidHandler { diff --git a/ihl/processing/chemistry/RefluxCondenserTileEntity.java b/ihl/processing/chemistry/RefluxCondenserTileEntity.java index b6cbcb0..83eb108 100644 --- a/ihl/processing/chemistry/RefluxCondenserTileEntity.java +++ b/ihl/processing/chemistry/RefluxCondenserTileEntity.java @@ -139,7 +139,10 @@ public class RefluxCondenserTileEntity extends TileEntity implements IWrenchable @Override public FluidTankInfo[] getTankInfo(ForgeDirection arg0) { - return columnBottom.getTankInfo(arg0); + if(columnBottom!=null) + return columnBottom.getTankInfo(arg0); + else + return new FluidTankInfo[] {new FluidTankInfo(null, 8000)}; } } diff --git a/ihl/processing/chemistry/SolarEvaporatorContainer.java b/ihl/processing/chemistry/SolarEvaporatorContainer.java new file mode 100644 index 0000000..4ecf44d --- /dev/null +++ b/ihl/processing/chemistry/SolarEvaporatorContainer.java @@ -0,0 +1,112 @@ +package ihl.processing.chemistry; + +import ic2.core.ContainerBase; +import ic2.core.slot.SlotInvSlot; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.ICrafting; +import net.minecraft.inventory.Slot; +import net.minecraftforge.fluids.FluidRegistry; +import net.minecraftforge.fluids.FluidStack; + +public class SolarEvaporatorContainer extends ContainerBase { + + protected SolarEvaporatorTileEntity tileEntity; + public int lastFluidAmount = -1; + public int lastFuel = -1; + public short lastProgress = -1; + private final static int height = 166; + public int lastNumberOfFluids = -1; + public int lastVisibleFluidID = -1; + public int lastVisibleFluidAmount = -1; + + public SolarEvaporatorContainer(EntityPlayer entityPlayer, SolarEvaporatorTileEntity tileEntity1) { + super(tileEntity1); + this.tileEntity = tileEntity1; + int col; + + for (col = 0; col < 3; ++col) { + for (int col1 = 0; col1 < 9; ++col1) { + this.addSlotToContainer( + new Slot(entityPlayer.inventory, col1 + col * 9 + 9, 8 + col1 * 18, height + -82 + col * 18)); + } + } + + for (col = 0; col < 9; ++col) { + this.addSlotToContainer(new Slot(entityPlayer.inventory, col, 8 + col * 18, height + -24)); + } + this.addSlotToContainer(new SlotInvSlot(tileEntity1.fluidItemsSlot, 0, 44, 14)); + this.addSlotToContainer(new SlotInvSlot(tileEntity1.emptyFluidItemsSlot, 0, 44, 32)); + this.addSlotToContainer(new SlotInvSlot(tileEntity1.fillItemsSlot, 0, 44, 50)); + this.addSlotToContainer(new SlotInvSlot(tileEntity1.outputSlot, 0, 117, 32)); + + } + + @Override + public void detectAndSendChanges() { + super.detectAndSendChanges(); + for (int i = 0; i < this.crafters.size(); ++i) { + ICrafting icrafting = (ICrafting) this.crafters.get(i); + + if (this.tileEntity.getFluidTank().getFluid() != null + && this.tileEntity.getFluidTank().getFluidAmount() != this.lastFluidAmount) { + icrafting.sendProgressBarUpdate(this, 0, this.tileEntity.getFluidTank().getFluid().getFluid().getID()); + icrafting.sendProgressBarUpdate(this, 1, this.tileEntity.getFluidTank().getFluidAmount()); + } + + if (this.tileEntity.fuel != this.lastFuel) { + icrafting.sendProgressBarUpdate(this, 2, this.tileEntity.fuel); + } + + if (this.tileEntity.progress != this.lastProgress) { + icrafting.sendProgressBarUpdate(this, 3, this.tileEntity.progress); + } + if (this.tileEntity.visibleFluidId != this.lastVisibleFluidID) + { + icrafting.sendProgressBarUpdate(this, 4, this.tileEntity.visibleFluidId); + } + if (this.tileEntity.visibleFluidAmount != this.lastVisibleFluidAmount) + { + icrafting.sendProgressBarUpdate(this, 5, this.tileEntity.visibleFluidAmount); + } + } + + this.lastFluidAmount = this.tileEntity.getFluidTank().getFluidAmount(); + this.lastFuel = this.tileEntity.fuel; + this.lastProgress = this.tileEntity.progress; + this.lastVisibleFluidID=this.tileEntity.visibleFluidId; + this.lastVisibleFluidAmount=this.tileEntity.visibleFluidAmount; + } + + @Override + public void updateProgressBar(int index, int value) { + super.updateProgressBar(index, value); + + switch (index) { + case 0: + this.tileEntity.getFluidTank().setFluid(new FluidStack(FluidRegistry.getFluid(value), 1000)); + break; + case 1: + this.tileEntity.getFluidTank() + .setFluid(new FluidStack(this.tileEntity.getFluidTank().getFluid().getFluid(), value)); + break; + case 2: + this.tileEntity.fuel = value; + break; + case 3: + this.tileEntity.progress = (short) value; + break; + case 4: + this.tileEntity.visibleFluidId=value; + break; + case 5: + this.tileEntity.visibleFluidAmount=value; + break; + + } + } + + @Override + public boolean canInteractWith(EntityPlayer var1) { + return tileEntity.isUseableByPlayer(var1); + } +} diff --git a/ihl/processing/chemistry/SolarEvaporatorGui.java b/ihl/processing/chemistry/SolarEvaporatorGui.java new file mode 100644 index 0000000..e97f9e0 --- /dev/null +++ b/ihl/processing/chemistry/SolarEvaporatorGui.java @@ -0,0 +1,78 @@ +package ihl.processing.chemistry; + +import org.lwjgl.opengl.GL11; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import ic2.core.util.DrawUtil; +import ic2.core.util.GuiTooltipHelper; +import net.minecraft.client.gui.inventory.GuiContainer; +import net.minecraft.client.renderer.texture.TextureMap; +import net.minecraft.util.IIcon; +import net.minecraft.util.ResourceLocation; +import net.minecraft.util.StatCollector; +import net.minecraftforge.fluids.Fluid; +import net.minecraftforge.fluids.FluidStack; + +@SideOnly(Side.CLIENT) +public class SolarEvaporatorGui extends GuiContainer { + private static final ResourceLocation background = new ResourceLocation("ihl", + "textures/gui/GUISolarEvaporator.png"); + private SolarEvaporatorContainer container; + + public SolarEvaporatorGui(SolarEvaporatorContainer container1) { + // the container is instanciated and passed to the superclass for + // handling + super(container1); + this.container = container1; + } + + @Override + protected void drawGuiContainerForegroundLayer(int par1, int par2) { + int xOffset = (this.width - xSize) / 2; + int yOffset = (this.height - ySize) / 2; + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + this.mc.renderEngine.bindTexture(background); + int i1; + if (this.container.tileEntity.getActive()) { + this.drawTexturedModalRect(9, 16, 176, 0, 14, 14); + } + if (this.container.tileEntity.progress > 0) { + i1 = Math.min(this.container.tileEntity.gaugeProgressScaled(18), 18); + this.drawTexturedModalRect(99, 34, 198, 0, i1 + 1, 13); + } + + if (this.container.tileEntity.getTankAmount() > 0) { + FluidStack fluidStack = this.container.tileEntity.getFluidTank().getFluid(); + if (fluidStack != null) { + Fluid fluid = fluidStack.getFluid(); + if (fluid != null) { + + IIcon fluidIcon = fluid.getIcon(); + + if (fluidIcon != null) { + this.mc.renderEngine.bindTexture(TextureMap.locationBlocksTexture); + int liquidHeight = this.container.tileEntity.gaugeLiquidScaled(47); + DrawUtil.drawRepeated(fluidIcon, (82), 16 + 47 - liquidHeight, 12.0D, liquidHeight, + this.zLevel); + this.mc.renderEngine.bindTexture(background); + } + } + String tooltip = StatCollector.translateToLocal(fluidStack.getFluid().getUnlocalizedName()) + ": " + + fluidStack.amount + "mB"; + GuiTooltipHelper.drawAreaTooltip(par1 - 90, par2 - 32, tooltip, xOffset - 8, yOffset - 15, xOffset + 2, + yOffset + 30); + } + } + } + + @Override + protected void drawGuiContainerBackgroundLayer(float par1, int par2, int par3) { + // draw your Gui here, only thing you need to change is the path + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + this.mc.renderEngine.bindTexture(background); + int x = (width - xSize) / 2; + int y = (height - ySize) / 2; + this.drawTexturedModalRect(x, y, 0, 0, xSize, ySize); + } +} \ No newline at end of file diff --git a/ihl/processing/chemistry/SolarEvaporatorTileEntity.java b/ihl/processing/chemistry/SolarEvaporatorTileEntity.java new file mode 100644 index 0000000..947a88a --- /dev/null +++ b/ihl/processing/chemistry/SolarEvaporatorTileEntity.java @@ -0,0 +1,108 @@ +package ihl.processing.chemistry; + +import java.util.List; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import ic2.core.ContainerBase; +import ic2.core.IC2; +import ihl.interfaces.IFluidTankVisual; +import ihl.utils.IHLUtils; +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.world.EnumSkyBlock; + +public class SolarEvaporatorTileEntity extends EvaporatorTileEntity implements IFluidTankVisual { + public int visibleFluidId = -1; + public int visibleFluidAmount = 1; + + public SolarEvaporatorTileEntity(){ + super(); + this.fuelSlot = null; + this.maxProgress = 4500; + } + + @Override + public List getNetworkedFields() + { + List ret = super.getNetworkedFields(); + ret.add("visibleFluidId"); + ret.add("visibleFluidAmount"); + return ret; + } + + @Override + public void updateEntityServer() + { + super.updateEntityServer(); + if(this.fluidTank.getFluid()!=null && (visibleFluidId!=this.fluidTank.getFluid().getFluid().getID() || visibleFluidAmount!=this.fluidTank.getFluidAmount())) + { + visibleFluidId = this.fluidTank.getFluid().getFluid().getID(); + visibleFluidAmount = this.fluidTank.getFluidAmount(); + IC2.network.get().updateTileEntityField(this, "visibleFluidId"); + IC2.network.get().updateTileEntityField(this, "visibleFluidAmount"); + } + else if(this.fluidTank.getFluid()==null && visibleFluidId!=-1) + { + visibleFluidId=-1; + IC2.network.get().updateTileEntityField(this, "visibleFluidId"); + } + } + @Override + public boolean isBurning() + { + return this.worldObj.getSkyBlockTypeBrightness(EnumSkyBlock.Sky, xCoord, yCoord, zCoord)>=15; + } + + @Override + public ContainerBase getGuiContainer(EntityPlayer entityPlayer) + { + return new SolarEvaporatorContainer(entityPlayer, this); + } + + @Override + @SideOnly(Side.CLIENT) + public GuiScreen getGui(EntityPlayer entityPlayer, boolean isAdmin) + { + return new SolarEvaporatorGui(new SolarEvaporatorContainer(entityPlayer, this)); + } + + @Override + public short getFacing() + { + return 3; + } + + @Override + public boolean wrenchCanSetFacing(EntityPlayer entityPlayer, int side) { + return false; + } + + @Override + public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { + return IHLUtils.getThisModItemStack("solarEvaporator"); + } + + @Override + public int getVisibleFluidId() { + return this.visibleFluidId; + } + + @Override + public int getVisibleFluidAmount() { + return this.visibleFluidAmount; + } + + @Override + public float getRenderLiquidLevel() + { + return (float)this.visibleFluidAmount/(float)this.fluidTank.getCapacity()/2; + } + + @Override + public boolean shouldRenderInPass(int pass) + { + return pass==0; + } +} -- cgit v1.2.3