SonarSonic / Flux-Networks

Wireless Energy - Minecraft Forge Mod
MIT License
108 stars 58 forks source link

Issues with Mekanism power transport #38

Closed GuntherDW closed 7 years ago

GuntherDW commented 7 years ago

There appear to be a couple issues regarding Flux Networks' interactions with Mekanism. I don't know who is at fault here, so I should maybe crosspost this to the Mekanism Issues page?

I first noticed this when I was transferring power from my Mekanism fusion reactor to my Induction matrix. This was on a "clean" network, with just the reactor and the matrix as connections. (besides the controller of course). When connecting them to a Mekanism machine they appear to have a tendency to pull power out of thin air. It will then fill the buffers as fast as it can. It pulled way more power than I was producing. Kind of like a creative buffer. This was only when I was transferring power from and to Mekanism though. I have an advanced generators generator also connected that outputs 25K RF/t, which doesn't show this behaviour.

It is also noticeable when you for example create a power loop from said matrix. In the screenshot I included there is 1 network, a maxsize matrix, and the output goes right back to the input. Even with an empty matrix it started to create "free" energy. No power producers of any kind connected to the network.

Screenshots: (These are setup to ignore the limits) http://i.imgur.com/80WZocp.png http://i.imgur.com/e7EQ6MJ.png

I'll also show you a screenshot from when I attached a voidifier to my power-in network in my real world. Even though was taking insane amounts of power, no such hit was visible from any of my producers. It acted just like a creative source. http://i.imgur.com/LD3tygi.png

Versions:

GuntherDW commented 7 years ago

After updating Mekanism to 1.10.2-9.2.1.298 Flux Networks no longer sends/receives power, and dumps this exception (constantly) in the log.

This however feels more like Mekanism is causing it, not Flux Networks. Now nothing from Mekanism will receive power from Flux Networks.

It detects that there is a destination for said power, but will just extract into a black hole. Nothing comes out at the other end. Outputting to non-Mekanism blocks works.

If attached to an EnderIO capacitor (Mekanism cube -> plug, point -> Capacitor bank) it'll get filled. But when you output to a cube it'll void the energy.

I didn't get an exception when pulling/stuffing energy from cubes though, only from the Induction matrix this time.

[16:38:38] [Server thread/INFO] [STDERR]: [mekanism.common.capabilities.CapabilityWrapperManager:getWrapper:30]: java.lang.NoSuchMethodException: mekanism.common.integration.TeslaIntegration.<init>(mekanism.common.tile.TileEntityElectricBlock, net.minecraft.util.EnumFacing)
[16:38:38] [Server thread/INFO] [STDERR]: [mekanism.common.capabilities.CapabilityWrapperManager:getWrapper:30]:    at java.lang.Class.getConstructor0(Class.java:3082)
[16:38:38] [Server thread/INFO] [STDERR]: [mekanism.common.capabilities.CapabilityWrapperManager:getWrapper:30]:    at java.lang.Class.getConstructor(Class.java:1825)
[16:38:38] [Server thread/INFO] [STDERR]: [mekanism.common.capabilities.CapabilityWrapperManager:getWrapper:30]:    at mekanism.common.capabilities.CapabilityWrapperManager.getWrapper(CapabilityWrapperManager.java:26)
[16:38:38] [Server thread/INFO] [STDERR]: [mekanism.common.capabilities.CapabilityWrapperManager:getWrapper:30]:    at mekanism.common.tile.TileEntityInductionPort.getCapability(TileEntityInductionPort.java:529)
[16:38:38] [Server thread/INFO] [STDERR]: [mekanism.common.capabilities.CapabilityWrapperManager:getWrapper:30]:    at sonar.core.energy.GenericTeslaHandler.removeEnergy(GenericTeslaHandler.java:59)
[16:38:38] [Server thread/INFO] [STDERR]: [mekanism.common.capabilities.CapabilityWrapperManager:getWrapper:30]:    at sonar.core.handlers.energy.TeslaHandler.removeEnergy(TeslaHandler.java:34)
[16:38:38] [Server thread/INFO] [STDERR]: [mekanism.common.capabilities.CapabilityWrapperManager:getWrapper:30]:    at sonar.core.helpers.EnergyHelper.performExtract(EnergyHelper.java:57)
[16:38:38] [Server thread/INFO] [STDERR]: [mekanism.common.capabilities.CapabilityWrapperManager:getWrapper:30]:    at sonar.core.helpers.EnergyHelper.extractEnergy(EnergyHelper.java:48)
[16:38:38] [Server thread/INFO] [STDERR]: [mekanism.common.capabilities.CapabilityWrapperManager:getWrapper:30]:    at sonar.flux.connection.FluxHelper.pullEnergy(FluxHelper.java:36)
[16:38:38] [Server thread/INFO] [STDERR]: [mekanism.common.capabilities.CapabilityWrapperManager:getWrapper:30]:    at sonar.flux.connection.BasicFluxNetwork.updateNetwork(BasicFluxNetwork.java:87)
[16:38:38] [Server thread/INFO] [STDERR]: [mekanism.common.capabilities.CapabilityWrapperManager:getWrapper:30]:    at sonar.flux.FluxEvents.onServerTick(FluxEvents.java:35)
[16:38:38] [Server thread/INFO] [STDERR]: [mekanism.common.capabilities.CapabilityWrapperManager:getWrapper:30]:    at net.minecraftforge.fml.common.eventhandler.ASMEventHandler_1141_FluxEvents_onServerTick_ServerTickEvent.invoke(.dynamic)
[16:38:38] [Server thread/INFO] [STDERR]: [mekanism.common.capabilities.CapabilityWrapperManager:getWrapper:30]:    at net.minecraftforge.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:90)
[16:38:38] [Server thread/INFO] [STDERR]: [mekanism.common.capabilities.CapabilityWrapperManager:getWrapper:30]:    at net.minecraftforge.fml.common.eventhandler.EventBus.post(EventBus.java:185)
[16:38:38] [Server thread/INFO] [STDERR]: [mekanism.common.capabilities.CapabilityWrapperManager:getWrapper:30]:    at net.minecraftforge.fml.common.FMLCommonHandler.onPreServerTick(FMLCommonHandler.java:274)
[16:38:38] [Server thread/INFO] [STDERR]: [mekanism.common.capabilities.CapabilityWrapperManager:getWrapper:30]:    at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:602)
[16:38:38] [Server thread/INFO] [STDERR]: [mekanism.common.capabilities.CapabilityWrapperManager:getWrapper:30]:    at net.minecraft.server.integrated.IntegratedServer.func_71217_p(IntegratedServer.java:149)
[16:38:38] [Server thread/INFO] [STDERR]: [mekanism.common.capabilities.CapabilityWrapperManager:getWrapper:30]:    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:471)
[16:38:38] [Server thread/INFO] [STDERR]: [mekanism.common.capabilities.CapabilityWrapperManager:getWrapper:30]:    at java.lang.Thread.run(Thread.java:745)
GuntherDW commented 7 years ago

I believe I have found/fixed the issue myself.

I installed Teslafied ( https://minecraft.curseforge.com/projects/teslafied ) a while back, but seeing as AE and more and more other mods are making the move to Tesla, I decided to try and remove it. For mods that didn't have support yet, and IC2 I installed Synergy ( https://minecraft.curseforge.com/projects/energysynergy ).

Now this issue no longer happens. No exceptions, and it "just" works.

My other issue regarding the Wireless Terminal still is broken though.

GuntherDW commented 7 years ago

When we updated our server it looks like it's not fixed.

When I re-attached the fusion reactor to my induction matrix, this happened : http://i.imgur.com/A4AYc91.png http://i.imgur.com/HY97OpF.png

So while it was working for cubes in my singleplayer world, apparently it's still not cooperating with Induction Matrixes for whatever reason.

GuntherDW commented 7 years ago

I don't know which mod is causing what issue to trigger, but it just got even weirder. I somehow managed to get the network power to something... way out of proportion. http://i.imgur.com/TBBrwjJ.png

Just putting a point on the induction matrix, it can even be a clean network and the "Max receive" goes wild. Goes from 0RF/t to 2 billion and back again. http://i.imgur.com/Q10Vn3m.png

This is without the aforementioned "Teslafied" mod installed.

EDIT: After adding a controller, a totally clean network, and adding a flux point again, but no flux plug on the entire network was stable. Transferring power on that network from the reactor made it go haywire again. So it in fact is the reactor causing the issue. I'm sorry for spamming your github and/or mailbox. It's all just acting so weird and right when I think it's fixed or I found the problem it screws up again.

EDIT2: Another edit, I replaced the Induction matrix with a Draconic Evolution tier 8 "Orb". It at first seemed to work fine, but it's power gain is ramping up, even though I've set the reactor to only a fraction of that power output.

Reactor: http://i.imgur.com/USSktbk.png Plug: http://i.imgur.com/pn8MwL1.png This is the output from the reactor at the moment

Draconic Evolution orb : http://i.imgur.com/RuGNhdN.png

I'm beginning to think it's just the reactor that's at fault here.

EDIT3: It seems linked somehow, but the amount gotten from the reactor scales with the production. I lowered the injection rate and the rate at which the power is sent also decreases. Could this be a translation error then?

GuntherDW commented 7 years ago

It seems to be an issue with the other power translation mod I installed. Disabling EnergySynergy seems to have fixed said translation errors (and some other issues alongside it).

It might still just be Mekanism that's at the root of the issue, but at least it's not something on Flux Networks' end.