MrTJP / ProjectRed

Redstone Engineering
MIT License
474 stars 184 forks source link

[1.10.2] Forge Multipart causes crash #1125

Closed SirOutlander closed 7 years ago

SirOutlander commented 7 years ago

Placing or interact with multipart blocks from PR causes crash, probably conflict with MCMultiPart. MCMultiPart is used in multiple mods, why dont use it with PR? Is it necessary to create another multipart api?

java.lang.RuntimeException: class codechicken.multipart.handler.MultipartSaveLoad$TileNBTContainer is missing a mapping! This is a bug!
    at net.minecraft.tileentity.TileEntity.func_189516_d(TileEntity.java:81)
    at net.minecraft.tileentity.TileEntity.func_189517_E_(TileEntity.java:209)
    at net.minecraft.network.play.server.SPacketChunkData.<init>(SourceFile:52)
    at net.minecraft.server.management.PlayerChunkMapEntry.func_187280_d(PlayerChunkMapEntry.java:254)
    at net.minecraft.server.management.PlayerChunkMap.func_72693_b(SourceFile:115)
    at net.minecraft.world.WorldServer.func_72835_b(WorldServer.java:222)
    at WorldServerOF.func_72835_b(WorldServerOF.java:37)
    at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:698)
    at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:613)
    at net.minecraft.server.integrated.IntegratedServer.func_71217_p(IntegratedServer.java:240)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:471)
    at java.lang.Thread.run(Unknown Source)

and

java.lang.IllegalStateException: Already building!
    at net.minecraft.client.renderer.VertexBuffer.func_181668_a(VertexBuffer.java:291)
    at net.minecraft.client.gui.Gui.func_73729_b(SourceFile:114)
    at codechicken.lib.gui.GuiDraw.drawTexturedModalRect(GuiDraw.java:68)
    at mrtjp.projectred.transportation.GuiRequester.drawBack_Impl(guis.scala:214)
    at mrtjp.core.gui.TNode$$anonfun$rootDrawBack$1.apply(TNode.scala:238)
    at mrtjp.core.gui.TNode$$anonfun$rootDrawBack$1.apply(TNode.scala:236)
    at scala.collection.immutable.List.foreach(List.scala:383)
    at mrtjp.core.gui.TNode$class.rootDrawBack(TNode.scala:236)
    at mrtjp.core.gui.NodeGui.rootDrawBack(NodeGui.scala:17)
    at mrtjp.core.gui.NodeGui.func_146976_a(NodeGui.scala:106)
    at net.minecraft.client.gui.inventory.GuiContainer.func_73863_a(GuiContainer.java:76)
    at net.minecraftforge.client.ForgeHooksClient.drawScreen(ForgeHooksClient.java:382)
    at sun.reflect.GeneratedMethodAccessor25.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at Reflector.callVoid(Reflector.java:512)
    at net.minecraft.client.renderer.EntityRenderer.func_181560_a(EntityRenderer.java:1398)
    at net.minecraft.client.Minecraft.func_71411_J(Minecraft.java:1076)
    at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:371)
    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)
covers1624 commented 7 years ago

ForgeMultiPart was the origonal mod, McMultipart was a derivative. Its not as simple as just "Using a different API". They are entirely different, Most of what Project Red does relies on FMP's quirks in order to function as efficiently as it does. The crashes will be looked in to.

MrTJP commented 7 years ago

Deal with it for now, MCMP is apparently going to be heavily changed in 1.11, which is when I plan on looking into using it.

Also crash has nothing to do with MCMP. Need more details, as I can place things from PR just fine.

SirOutlander commented 7 years ago

As far as i can tell, problem is fixed.