Ender IO Zoo

Ender IO Zoo

962k Downloads

RFTools Liquid Monitor cannot see an EnderIO Fluid Tank.

AnthonyKane5528X opened this issue ยท 9 comments

commented

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.

commented

@McJty ping

commented

It uses fluid access with side == null (since it doesn't have a side). Maybe that's the issue?

commented

Hey guys, both Henry and McJty,

Just wanted to thank you both for investigating this :)

commented

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."

commented

McJty, that's why I build one just for you. So why is it still not working?

commented

Hmm. Well not sure what's wrong then. The fluid monitor properly detects other fluid containers.

commented

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();
        }
commented

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;
    }
}
commented

@HenryLoenwind

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.