summaryrefslogtreecommitdiff
path: root/ihl/processing/chemistry/SolarEvaporatorTileEntity.java
diff options
context:
space:
mode:
authorFoghrye4 <foghrye4@gmail.com>2017-05-24 20:13:22 +0300
committerFoghrye4 <foghrye4@gmail.com>2017-05-24 20:13:22 +0300
commit8ed8c659da9496bf49fec94c049b0abae21746a8 (patch)
treee8fd775699a2255c17a804b26b4a0a6f43d857a0 /ihl/processing/chemistry/SolarEvaporatorTileEntity.java
parentb67ac617dc9c5f43b911158a281c3c61ced5ea5a (diff)
fixing bugs with Iron workbench and fractionator
Diffstat (limited to 'ihl/processing/chemistry/SolarEvaporatorTileEntity.java')
-rw-r--r--ihl/processing/chemistry/SolarEvaporatorTileEntity.java108
1 files changed, 108 insertions, 0 deletions
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<String> getNetworkedFields()
+ {
+ List<String> 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<? extends EvaporatorTileEntity> 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;
+ }
+}