Ender IO Zoo

Ender IO Zoo

962k Downloads

[1.10.2] Can't pull Forge Energy from EnderIO stuff

SoniEx2 opened this issue ยท 16 comments

commented

Issue Description:

I'm backporting PowerCrops to 1.10.2 and I can't pull Forge Energy from EnderIO machines, even tho pushing into them works fine.

What happens:

Can't pull power.

What you expected to happen:

Power to be pulled.

Steps to reproduce:

  1. Attempt to pull power from an EnderIO thing using Forge Energy API.
    ...

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
[21:27:13] [Client thread/INFO]: [net.minecraft.init.Bootstrap:printToSYSOUT:649]: #@!@# Game crashed! Crash report saved to: #@!@# /home/soniex2/git/bitbucket/PowerCrops/run/./crash-reports/crash-2017-03-07_21.27.13-client.txt
commented

Works as designed. FE, just like RF which is based on, is a push-based energy system.

commented

It also implements a fully functional pull API for cases where push isn't good enough. You're the ones who are too lazy to do things correctly.

commented

Lazy? Are you joking? Do you have any idea how much extra work it is to have a a proper external interface for energy/items/fluids that respects all restrictions and rules in addition to the internal interface?

commented

Again, you're the one not implementing the full interface. So yes, that is lazy. At least throw UnsupportedOperationException so others can know who they should moan at when their stuff doesn't work.

commented

RF and Forge's Energy are push-based by convention. It helps prevent energy-loops and other issues. You can decide to return 0 from extract just like you can return 0 from receive, and other mods have to be prepared for that to happen.

commented

It's literally impossible for me to do it push-based in this case.

commented

Because it's an entity.

commented

Why is that?

commented

Not without breaking progression.

commented

Can you create an entity-charger block for your mod?

commented

A 1.10.2 version of the mod should be available soon at https://minecraft.curseforge.com/projects/powercrops, if you wanna try it out.

commented

I think you will have to figure out a way to work it in. It's not fair to take your own progression challenges and impose changes on EnderIO.

commented

It's not fair to have an unimplemented method that doesn't throw UnsupportedOperationException.

commented

The methods should be implemented (returning 0 is still implemented), and they should follow the contract defined by IEnergyStorage#canExtract and IEnergyStorage#canReceive. Beyond that it's up to them.

commented

Can I pass negative values to the receiveEnergy method?

commented

enough