Futurepack Mod - Now with flyable Spaceships!

Futurepack Mod - Now with flyable Spaceships!

1M Downloads

[1.11] Buildcraft Compatability Issue

kingofrunes opened this issue ยท 8 comments

commented

I'm not sure who I should report this error to. If it's you or Buildcraft Team but getting the following Error with:

This only happens in a Server environment. Client environment is fine.

Futurepack 1.11.2 version 25.2.9
Buildcraft 1.11.2 version 7.99.3
Forge Version 13.20.0.2296

This is the Error:
Description: Exception in server tick loop

net.minecraftforge.fml.common.LoaderExceptionModCrash: Caught exception from BC Transport (buildcrafttransport)
Caused by: java.lang.NoSuchMethodError: futurepack.common.block.deco.BlockMetalSlap.idPicked(Lnet/minecraft/world/World;Lnet/minecraft/util/math/BlockPos;)Lnet/minecraft/block/Block;
at futurepack.common.block.deco.BlockMetalSlap.getPickBlock(BlockMetalSlap.java:58)
at buildcraft.transport.plug.FacadeStateManager.getRequiredStack(FacadeStateManager.java:62)
at buildcraft.transport.plug.FacadeStateManager.postInit(FacadeStateManager.java:92)
at buildcraft.transport.BCTransport.init(BCTransport.java:77)
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.minecraftforge.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:641)
at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)
at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304)
at com.google.common.eventbus.EventBus.post(EventBus.java:275)
at net.minecraftforge.fml.common.LoadController.sendEventToModContainer(LoadController.java:252)
at net.minecraftforge.fml.common.LoadController.propogateStateMessage(LoadController.java:230)
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 com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)
at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304)
at com.google.common.eventbus.EventBus.post(EventBus.java:275)
at net.minecraftforge.fml.common.LoadController.distributeStateMessage(LoadController.java:147)
at net.minecraftforge.fml.common.Loader.initializeMods(Loader.java:828)
at net.minecraftforge.fml.server.FMLServerHandler.finishServerLoading(FMLServerHandler.java:109)
at net.minecraftforge.fml.common.FMLCommonHandler.onServerStarted(FMLCommonHandler.java:333)
at net.minecraft.server.dedicated.DedicatedServer.func_71197_b(DedicatedServer.java:215)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:442)
at java.lang.Thread.run(Unknown Source)

commented

Buildcraft FacadeStateManager tryes to acces methods from a futurepack blocjk wish doesnt exists... this will be interesting to solve...

commented

Have you also notified buildcraft?

commented

I have not, would you like me to?

commented

Yes as I am not shure how to fix this. It would be nice to know what buildcraft is trying to do here.

commented

BuildCraft attempts to find the ItemStack that best represents the block to use as the recipe when making a facade for that block. It does this by calling Block.getPickStack, as that's the closest thing to getting what item is required for that block (unlike getDrops or others this returns the correct item for things like bookshelves and leaves)

This looks like the method BlockMetalSlap.idPicked is annotated with @SideOnly(Side.CLIENT), but I can't check as I can't find a source for the file (or its a closed-source project)

commented

Ahh getPickBlock was CLIENT Side Only but that changed so alot of stuff were still Client Side Only on my side.
This build should fix the issue.

commented

Looks like that did the trick Nicely. Thanks for the speedy response!