Integrated Dynamics

Integrated Dynamics

63M Downloads

Energy transfer also happens client side?

McJty opened this issue ยท 1 comments

commented

It seems as if Integrated Dynamics is also letting energy transfer client side and that's not a good idea. This can produce problems like these:

java.lang.NullPointerException: Ticking block entity
at mcjty.rftools.blocks.powercell.PowerCellTileEntity.getNetwork(PowerCellTileEntity.java:152)
at mcjty.rftools.blocks.powercell.PowerCellTileEntity.receiveEnergyMulti(PowerCellTileEntity.java:474)
at mcjty.rftools.blocks.powercell.PowerCellTileEntity.receiveEnergy(PowerCellTileEntity.java:463)
at mcjty.rftools.blocks.powercell.PowerCellTileEntity$1.receiveEnergy(PowerCellTileEntity.java:710)
at de.ellpeck.actuallyadditions.mod.tile.TileEntityLaserRelayEnergy.transferEnergyToReceiverInNeed(TileEntityLaserRelayEnergy.java:168)
at de.ellpeck.actuallyadditions.mod.tile.TileEntityLaserRelayEnergy.transmitEnergy(TileEntityLaserRelayEnergy.java:96)
at de.ellpeck.actuallyadditions.mod.tile.TileEntityLaserRelayEnergy.access$000(TileEntityLaserRelayEnergy.java:40)
at de.ellpeck.actuallyadditions.mod.tile.TileEntityLaserRelayEnergy$1.receiveEnergy(TileEntityLaserRelayEnergy.java:56)
at org.cyclops.integrateddynamics.core.helper.EnergyHelpers.fillNeigbours(EnergyHelpers.java:54)
at org.cyclops.integrateddynamics.tileentity.TileEnergyBattery.addEnergyFe(TileEnergyBattery.java:123)
at org.cyclops.integrateddynamics.tileentity.TileEnergyBattery.addEnergy(TileEnergyBattery.java:117)
at org.cyclops.integrateddynamics.tileentity.TileEnergyBattery.updateTileEntity(TileEnergyBattery.java:130)
at org.cyclops.cyclopscore.tileentity.CyclopsTileEntity.updateTicking(CyclopsTileEntity.java:94)
at org.cyclops.cyclopscore.tileentity.CyclopsTileEntity.access$000(CyclopsTileEntity.java:38)
at org.cyclops.cyclopscore.tileentity.CyclopsTileEntity$TickingTileComponent.func_73660_a(CyclopsTileEntity.java:347)
at org.cyclops.integrateddynamics.core.tileentity.TileCableConnectable.func_73660_a(TileCableConnectable.java:22)
at net.minecraft.world.World.func_72939_s(World.java:1801)
at net.minecraft.client.Minecraft.func_71407_l(Minecraft.java:1784)
at net.minecraft.client.Minecraft.func_71411_J(Minecraft.java:1056)
at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:372)
at net.minecraft.client.main.Main.main(SourceFile:124)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.multimc.onesix.OneSixLauncher.launchWithMainClass(OneSixLauncher.java:236)
at org.multimc.onesix.OneSixLauncher.launch(OneSixLauncher.java:297)
at org.multimc.EntryPoint.listen(EntryPoint.java:162)
at org.multimc.EntryPoint.main(EntryPoint.java:53)

The RFTools PowerCell cannot handle energy client-side as it doesn't have the needed multiblock information there

commented

I'm not sure what the energy capability interface says about whether or not it should only run server-side or not. My assumption was that client-side energy transfer is still required until synchronization is done by the server.

I'll look into it.