
RFTools Liquid Monitor cannot see an EnderIO Fluid Tank.
AnthonyKane5528X opened this issue ยท 9 comments
Issue Description:
RFTools Liquid Monitor cannot see an EnderIO Fluid Tank.
-This issue was reported to McJty here: McJtyMods/RFTools#1004
Minecraft 1.10.2
Forge Mod Loader (FML) 1.10.2-12.18.3.2185
RFTools 1.1x-5.82
EnderCore 1.10.2-0.4.1.65-beta
Ender IO 1.10.2-3.1.156
This was reported to him back on Jan 24, 2017. According to the logs:
McJty: This is probably caused by them not implementing 'null' facing properly for their tank.
McJty: Will be fixed in the next release of EnderIO.
What happens:
-Place RFTools Liquid Monitor next to EnderIO fluid tank: Liquid Monitor does not see Fluid Tank.
-Place RFTools Liquid Monitor next to Extra Utilities Drum: Liquid Monitor SEES drum.
What you expected to happen:
-When RFTools liquid Monitor is placed next to an EnderIO Fluid tank, that the Fluid Monitor is able to read the Fluid Tank.
Steps to reproduce:
-Place RFTools Liquid Monitor next to EnderIO fluid tank
Affected Versions (Do not use "latest"):
- EnderIO: 1.10.2-3.1.183 (Newer version of EnderIO released after issue was suppose to be fixed)
- EnderCore: 1.10.2-0.4.1.66 (Newer Version of EnderCore released after issue was suppose to be fixed)
- Minecraft: 1.10.2
- Forge: 12.18.3.2254
Your most recent log file where the issue was present:
-Not a crash
As far as I can tell this issue was suppose to have been addressed. For whatever reason the Fluid Monitor still cannot see the Fluid Tank. I hope this report can help you narrow down what is wrong and lead towards a fix.
@McJty ping
It uses fluid access with side == null (since it doesn't have a side). Maybe that's the issue?
Hey guys, both Henry and McJty,
Just wanted to thank you both for investigating this :)
Ok, got it:
if (tileEntity != null && tileEntity.hasCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY, null)) {
So it would work if the user would configure the side null to allow in- our output. So I'll add yet another "McJty tries to access the tank" bypass...
BTW: Quoting from the javadoc: "This is a light weight version of getCapability, intended for metadata uses."
Hmm. Well not sure what's wrong then. The fluid monitor properly detects other fluid containers.
Here is my detection code btw:
TileEntity tileEntity = getWorld().getTileEntity(monitor);
net.minecraftforge.fluids.capability.IFluidHandler fluidHandler = RFToolsTools.hasFluidCapabilitySafe(tileEntity);
if (fluidHandler != null) {
IFluidTankProperties[] properties = fluidHandler.getTankProperties();
if (properties != null && properties.length > 0) {
if (properties[0].getContents() != null) {
stored = properties[0].getContents().amount;
}
maxContents = properties[0].getCapacity();
}
And also:
public static IFluidHandler hasFluidCapabilitySafe(TileEntity tileEntity) {
try {
if (tileEntity != null && tileEntity.hasCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY, null)) {
IFluidHandler capability = tileEntity.getCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY, null);
if (capability == null) {
reportWrongBlock(tileEntity, null);
}
return capability;
}
return null;
} catch (Exception e) {
reportWrongBlock(tileEntity, e);
return null;
}
}
Thanks again for all the work you do.
I'm just looking for an update on this ticket. Do you think this issue will be fixed in 1.10.2? Or, should we not expect a fix any time soon.