-
Notifications
You must be signed in to change notification settings - Fork 755
/
CastingChannelDataProvider.java
77 lines (65 loc) · 3.1 KB
/
CastingChannelDataProvider.java
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
package tconstruct.plugins.waila;
import java.util.List;
import mcp.mobius.waila.api.IWailaConfigHandler;
import mcp.mobius.waila.api.IWailaDataAccessor;
import mcp.mobius.waila.api.IWailaDataProvider;
import net.minecraft.item.ItemStack;
import net.minecraft.util.StatCollector;
import net.minecraftforge.common.util.ForgeDirection;
import net.minecraftforge.fluids.FluidStack;
import net.minecraftforge.fluids.FluidTankInfo;
import tconstruct.blocks.logic.CastingChannelLogic;
public class CastingChannelDataProvider implements IWailaDataProvider
{
@Override
public ItemStack getWailaStack (IWailaDataAccessor accessor, IWailaConfigHandler config)
{
return null;
}
@Override
public List<String> getWailaHead (ItemStack itemStack, List<String> currenttip, IWailaDataAccessor accessor, IWailaConfigHandler config)
{
return currenttip;
}
@Override
public List<String> getWailaBody (ItemStack itemStack, List<String> currenttip, IWailaDataAccessor accessor, IWailaConfigHandler config)
{
if (accessor.getTileEntity() instanceof CastingChannelLogic)
{
CastingChannelLogic te = (CastingChannelLogic) accessor.getTileEntity();
FluidTankInfo internalTank = te.getTankInfo(null)[0];
FluidTankInfo northTank = te.getTankInfo(ForgeDirection.NORTH)[0];
FluidTankInfo southTank = te.getTankInfo(ForgeDirection.SOUTH)[0];
FluidTankInfo westTank = te.getTankInfo(ForgeDirection.WEST)[0];
FluidTankInfo eastTank = te.getTankInfo(ForgeDirection.EAST)[0];
if (internalTank.fluid != null && internalTank.fluid.amount > 0)
{
FluidStack fs = internalTank.fluid;
currenttip.add(StatCollector.translateToLocal("tconstruct.waila.liquidtag") + WailaRegistrar.fluidNameHelper(fs));
currenttip.add(StatCollector.translateToLocal("tconstruct.waila.amounttag") + fs.amount + "/" + internalTank.capacity);
}
else
{
currenttip.add("§o" + StatCollector.translateToLocal("tconstruct.waila.empty")); // "§o" == Italics
}
currenttip.add(StatCollector.translateToLocal("tconstruct.waila.subtanks"));
String s1, s2, s3, s4;
s1 = s2 = s3 = s4 = "§o" + StatCollector.translateToLocal("tconstruct.waila.empty");
if (northTank.fluid != null)
s1 = northTank.fluid.amount + " / " + northTank.capacity;
if (southTank.fluid != null)
s2 = southTank.fluid.amount + " / " + southTank.capacity;
if (westTank.fluid != null)
s3 = westTank.fluid.amount + " / " + westTank.capacity;
if (eastTank.fluid != null)
s4 = eastTank.fluid.amount + " / " + eastTank.capacity;
currenttip.add(s1 + "; " + s2 + "; " + s3 + "; " + s4);
}
return currenttip;
}
@Override
public List<String> getWailaTail (ItemStack itemStack, List<String> currenttip, IWailaDataAccessor accessor, IWailaConfigHandler config)
{
return currenttip;
}
}