
[1.10.2] Using ActuallyAdditions Phantom Energyface with Energy Conduit voids energy
SoniEx2 opened this issue ยท 5 comments
Issue Description:
What happens:
Energy is voided.
What you expected to happen:
Nothing.
Steps to reproduce:
- Put Phantom Energyface.
- Put Conduit.
- Link Energyface to Conduit.
- (Break and replace conduit?)
- Give power to conduit.
- ??? Where's my power going?
...
Affected Versions (Do not use "latest"):
[21:27:13] [Client thread/INFO]: [net.minecraft.init.Bootstrap:printToSYSOUT:649]: ---- Minecraft Crash Report ----
WARNING: coremods are present:
EnderCorePlugin (EnderCore-1.10.2-0.4.1.65-beta.jar)
Contact their authors BEFORE contacting forge
// You're mean.
Time: 07/03/17 9:27 PM
Description: Manually triggered debug crash
java.lang.Throwable
at net.minecraft.client.Minecraft.runTickKeyboard(Minecraft.java:1963)
at net.minecraft.client.Minecraft.runTick(Minecraft.java:1846)
at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1118)
at net.minecraft.client.Minecraft.run(Minecraft.java:406)
at net.minecraft.client.main.Main.main(Main.java:118)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
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(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97)
at GradleStart.main(GradleStart.java:26)
A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------
-- Head --
Thread: Client thread
Stacktrace:
at net.minecraft.client.Minecraft.runTickKeyboard(Minecraft.java:1963)
-- Affected level --
Details:
Level name: MpServer
All players: 1 total; [EntityPlayerSP['Player812'/75, l='MpServer', x=-912.35, y=5.00, z=-1326.54]]
Chunk stats: MultiplayerChunkCache: 289, 289
Level seed: 0
Level generator: ID 01 - flat, ver 0. Features enabled: false
Level generator options:
Level spawn location: World: (-906,4,-1316), Chunk: (at 6,0,12 in -57,-83; contains blocks -912,0,-1328 to -897,255,-1313), Region: (-2,-3; contains chunks -64,-96 to -33,-65, blocks -1024,0,-1536 to -513,255,-1025)
Level time: 27916 game time, 16876 day time
Level dimension: 0
Level storage version: 0x00000 - Unknown?
Level weather: Rain time: 0 (now: false), thunder time: 0 (now: false)
Level game mode: Game mode: creative (ID 1). Hardcore: false. Cheats: false
Forced entities: 32 total; [EntityCow['Cow'/2, l='MpServer', x=-983.50, y=4.00, z=-1402.50], EntityPig['Pig'/3, l='MpServer', x=-985.50, y=4.00, z=-1406.50], EntityCow['Cow'/4, l='MpServer', x=-976.50, y=4.00, z=-1357.50], EntitySheep['Sheep'/5, l='MpServer', x=-978.80, y=4.00, z=-1313.49], EntityHorse['Donkey'/6, l='MpServer', x=-984.20, y=4.00, z=-1311.20], EntitySheep['Sheep'/7, l='MpServer', x=-977.73, y=4.00, z=-1305.82], EntityCow['Cow'/8, l='MpServer', x=-966.81, y=4.00, z=-1366.29], EntityCow['Cow'/9, l='MpServer', x=-971.50, y=4.00, z=-1357.50], EntityCow['Cow'/10, l='MpServer', x=-975.50, y=4.00, z=-1359.50], EntitySheep['Sheep'/11, l='MpServer', x=-975.79, y=4.00, z=-1310.63], EntitySheep['Sheep'/15, l='MpServer', x=-950.39, y=4.00, z=-1300.76], EntityChicken['Chicken'/16, l='MpServer', x=-944.18, y=4.00, z=-1283.39], EntityChicken['Chicken'/18, l='MpServer', x=-938.89, y=4.00, z=-1247.76], EntitySheep['Sheep'/24, l='MpServer', x=-942.35, y=4.00, z=-1309.21], EntitySheep['Sheep'/25, l='MpServer', x=-947.33, y=4.00, z=-1309.21], EntityChicken['Chicken'/26, l='MpServer', x=-938.50, y=4.00, z=-1282.50], EntitySheep['Sheep'/27, l='MpServer', x=-941.50, y=4.00, z=-1280.50], EntityItem['item.item.egg'/498908, l='MpServer', x=-938.38, y=4.00, z=-1281.67], EntitySheep['Sheep'/28, l='MpServer', x=-940.50, y=4.00, z=-1280.50], EntityChicken['Chicken'/31, l='MpServer', x=-934.78, y=4.00, z=-1247.58], EntitySheep['Sheep'/33, l='MpServer', x=-932.25, y=4.00, z=-1297.34], EntityCow['Cow'/34, l='MpServer', x=-899.27, y=4.00, z=-1382.86], EntityCow['Cow'/35, l='MpServer', x=-889.77, y=4.00, z=-1397.54], EntityCow['Cow'/36, l='MpServer', x=-888.09, y=4.00, z=-1396.77], EntityCow['Cow'/37, l='MpServer', x=-885.43, y=4.00, z=-1398.15], EntityPig['Pig'/38, l='MpServer', x=-848.19, y=4.00, z=-1395.74], EntityChicken['Chicken'/41, l='MpServer', x=-832.88, y=4.00, z=-1400.28], EntityPig['Pig'/42, l='MpServer', x=-832.79, y=4.00, z=-1394.70], EntityPig['Pig'/43, l='MpServer', x=-846.77, y=4.00, z=-1398.73], EntitySheep['Sheep'/45, l='MpServer', x=-836.84, y=4.00, z=-1278.84], EntityCow['Cow'/46, l='MpServer', x=-845.30, y=4.00, z=-1252.14], EntityPlayerSP['Player812'/75, l='MpServer', x=-912.35, y=5.00, z=-1326.54]]
Retry entities: 0 total; []
Server brand: fml,forge
Server type: Integrated singleplayer server
Stacktrace:
at net.minecraft.client.multiplayer.WorldClient.addWorldInfoToCrashReport(WorldClient.java:451)
at net.minecraft.client.Minecraft.addGraphicsAndWorldToCrashReport(Minecraft.java:2779)
at net.minecraft.client.Minecraft.run(Minecraft.java:427)
at net.minecraft.client.main.Main.main(Main.java:118)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
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(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97)
at GradleStart.main(GradleStart.java:26)
-- System Details --
Details:
Minecraft Version: 1.10.2
Operating System: Linux (amd64) version 4.9.11-2-ck-ivybridge
Java Version: 1.8.0_121, Oracle Corporation
Java VM Version: OpenJDK 64-Bit Server VM (mixed mode), Oracle Corporation
Memory: 371900424 bytes (354 MB) / 1155530752 bytes (1102 MB) up to 1834483712 bytes (1749 MB)
JVM Flags: 0 total;
IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
FML: MCP 9.32 Powered by Forge 12.18.3.2185 7 mods loaded, 7 mods active
States: 'U' = Unloaded 'L' = Loaded 'C' = Constructed 'H' = Pre-initialized 'I' = Initialized 'J' = Post-initialized 'A' = Available 'D' = Disabled 'E' = Errored
UCHIJAAAA mcp{9.19} [Minecraft Coder Pack] (minecraft.jar)
UCHIJAAAA FML{8.0.99.99} [Forge Mod Loader] (forgeSrc-1.10.2-12.18.3.2185.jar)
UCHIJAAAA Forge{12.18.3.2185} [Minecraft Forge] (forgeSrc-1.10.2-12.18.3.2185.jar)
UCHIJAAAA powercrops{1.0.0} [You wouldn't get this from any other guy] (PowerCrops)
UCHIJAAAA actuallyadditions{1.10.2-r98} [Actually Additions] (ActuallyAdditions-1.10.2-r98.jar)
UCHIJAAAA endercore{1.10.2-0.4.1.65-beta} [EnderCore] (EnderCore-1.10.2-0.4.1.65-beta.jar)
UCHIJAAAA EnderIO{1.10.2-3.1.173} [Ender IO] (EnderIO-1.10.2-3.1.173.jar)
Loaded coremods (and transformers):
EnderCorePlugin (EnderCore-1.10.2-0.4.1.65-beta.jar)
com.enderio.core.common.transform.EnderCoreTransformer
GL info: ' Vendor: 'X.Org' Version: '3.0 Mesa 17.0.0' Renderer: 'Gallium 0.4 on AMD CAYMAN (DRM 2.48.0 / 4.9.11-2-ck-ivybridge, LLVM 3.9.1)'
EnderIO: No known problems detected.
Detailed RF API diagnostics:
* RF API class 'EnergyStorage' is loaded from: jar:file:/home/soniex2/git/bitbucket/PowerCrops/run/mods/1.10.2/ActuallyAdditions-1.10.2-r98.jar!/cofh/api/energy/EnergyStorage.class
* RF API class 'IEnergyConnection' is loaded from: jar:file:/home/soniex2/git/bitbucket/PowerCrops/run/mods/1.10.2/ActuallyAdditions-1.10.2-r98.jar!/cofh/api/energy/IEnergyConnection.class
* RF API class 'IEnergyContainerItem' is loaded from: jar:file:/home/soniex2/git/bitbucket/PowerCrops/run/mods/1.10.2/ActuallyAdditions-1.10.2-r98.jar!/cofh/api/energy/IEnergyContainerItem.class
* RF API class 'IEnergyHandler' is loaded from: jar:file:/home/soniex2/git/bitbucket/PowerCrops/run/mods/1.10.2/ActuallyAdditions-1.10.2-r98.jar!/cofh/api/energy/IEnergyHandler.class
* RF API class 'IEnergyProvider' is loaded from: jar:file:/home/soniex2/git/bitbucket/PowerCrops/run/mods/1.10.2/ActuallyAdditions-1.10.2-r98.jar!/cofh/api/energy/IEnergyProvider.class
* RF API class 'IEnergyReceiver' is loaded from: jar:file:/home/soniex2/git/bitbucket/PowerCrops/run/mods/1.10.2/ActuallyAdditions-1.10.2-r98.jar!/cofh/api/energy/IEnergyReceiver.class
* RF API class 'IEnergyStorage' is loaded from: jar:file:/home/soniex2/git/bitbucket/PowerCrops/run/mods/1.10.2/ActuallyAdditions-1.10.2-r98.jar!/cofh/api/energy/IEnergyStorage.class
* RF API class 'ItemEnergyContainer' is loaded from: jar:file:/home/soniex2/git/bitbucket/PowerCrops/run/mods/1.10.2/ActuallyAdditions-1.10.2-r98.jar!/cofh/api/energy/ItemEnergyContainer.class
* RF API class 'TileEnergyHandler' could not be loaded (reason: java.lang.ClassNotFoundException: cofh.api.energy.TileEnergyHandler)
Detailed Tesla API diagnostics:
* Tesla API class 'Tesla' could not be loaded (reason: java.lang.ClassNotFoundException: net.darkhax.tesla.Tesla)
* Tesla API class 'TeslaCapabilities' could not be loaded (reason: java.lang.ClassNotFoundException: net.darkhax.tesla.capability.TeslaCapabilities)
* Tesla API class 'ITeslaConsumer' could not be loaded (reason: java.lang.ClassNotFoundException: net.darkhax.tesla.api.ITeslaConsumer)
* Tesla API class 'ITeslaHolder' could not be loaded (reason: java.lang.ClassNotFoundException: net.darkhax.tesla.api.ITeslaHolder)
* Tesla API class 'ITeslaProducer' could not be loaded (reason: java.lang.ClassNotFoundException: net.darkhax.tesla.api.ITeslaProducer)
* Tesla API class 'BaseTeslaContainer' could not be loaded (reason: java.lang.ClassNotFoundException: net.darkhax.tesla.api.implementation.BaseTeslaContainer)
* Tesla API class 'BaseTeslaContainerProvider' could not be loaded (reason: java.lang.ClassNotFoundException: net.darkhax.tesla.api.implementation.BaseTeslaContainerProvider)
* Tesla API class 'InfiniteTeslaConsumer' could not be loaded (reason: java.lang.ClassNotFoundException: net.darkhax.tesla.api.implementation.InfiniteTeslaConsumer)
* Tesla API class 'InfiniteTeslaConsumerProvider' could not be loaded (reason: java.lang.ClassNotFoundException: net.darkhax.tesla.api.implementation.InfiniteTeslaConsumerProvider)
* Tesla API class 'InfiniteTeslaProducer' could not be loaded (reason: java.lang.ClassNotFoundException: net.darkhax.tesla.api.implementation.InfiniteTeslaProducer)
* Tesla API class 'InfiniteTeslaProducerProvider' could not be loaded (reason: java.lang.ClassNotFoundException: net.darkhax.tesla.api.implementation.InfiniteTeslaProducerProvider)
Launched Version: 1.10.2
LWJGL: 2.9.4
OpenGL: Gallium 0.4 on AMD CAYMAN (DRM 2.48.0 / 4.9.11-2-ck-ivybridge, LLVM 3.9.1) GL version 3.0 Mesa 17.0.0, X.Org
GL Caps: Using GL 1.3 multitexturing.
Using GL 1.3 texture combiners.
Using framebuffer objects because OpenGL 3.0 is supported and separate blending is supported.
Shaders are available because OpenGL 2.1 is supported.
VBOs are available because OpenGL 1.5 is supported.
Using VBOs: Yes
Is Modded: Definitely; Client brand changed to 'fml,forge'
Type: Client (map_client.txt)
Resource Packs:
Current Language: English (US)
Profiler Position: N/A (disabled)
CPU: 4x Intel(R) Core(TM) i5-3330 CPU @ 3.00GHz
@Ellpeck ping
Yea, I know. And I still don't know why this would be an Actually Additions problem. All I do is pass on the capability / energy values of the block that the Phantomface is connected to, so this would just generate somewhat of a loopback or whatever, but it shouldn't void power.
[1:34 PM] Ellpeck: The Phantomface doesn't interact with power itself in any way
[1:34 PM] Ellpeck: so this is an EnderIO thing
First guess would be that you are exposing the capability of a conduit-side that is not connected to anything. But I need to get into the debugger to see what actually happens. Just wanted to link you in.
I'm just surprised this doesn't give an endless loop. As the phantomface is no conduit block, our loop detection doesn't work here. It's probably a bad idea to link blocks to themselves...the endless loop would actually be the correct behavior for conduits here.
EnderIO should not accept energy when it doesn't want to accept energy.
I literally don't check if you want to accept energy, I just push energy. I assume you're doing something similar with conduits?
This is just a guess, but I assume connections start uncached, so you cache them. While caching them, connections start connected. So when you replace the conduit the phantomface is linked to, it sees itself and goes "I can push power here" and caches it like that. Then it just attempts to push power and for some reason that causes power to be voided.
Keep in mind Forge itself doesn't let you push power when you're not allowed to push power, regardless of if you've checked if you can push power.
I haven't tested with PowerCrops but I doubt I'd be able to reproduce race conditions with it. Only phantomfaces can expose race conditions like this.