blob: 947a88a523e01b801a78d0fa7642c955570944db (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
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;
}
}
|