Posted November 3, 201510 yr Hey guys! So, I am trying to make my mod compatible with servers. I'm still pretty new to modding, but I managed to make everything work fine in singleplayer and also dug into a little bit of the whole proxy thing that's needed for server/client architecture. But now I am stuck with an error thrown by the server whenever I place one of my blocks that has a TileEntity attached to it: [15:17:29] [server thread/ERROR]: Encountered an unexpected exception net.minecraft.util.ReportedException: Ticking block entity at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:642) ~[MinecraftServer.class:?] at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:334) ~[lt.class:?] at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:547) ~[MinecraftServer.class:?] at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:427) [MinecraftServer.class:?] at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:685) [li.class:?] Caused by: java.lang.NoSuchMethodError: net.minecraft.tileentity.TileEntity.getRenderBoundingBox()Lnet/minecraft/util/AxisAlignedBB; at com.tarrokk.wartek.tileentity.TileEntityHeatPress.getRenderBoundingBox(TileEntityHeatPress.java:123) ~[TileEntityHeatPress.class:?] at com.tarrokk.wartek.tileentity.TileEntityHeatPress.func_145845_h(TileEntityHeatPress.java:47) ~[TileEntityHeatPress.class:?] at net.minecraft.world.World.func_72939_s(World.java:1939) ~[ahb.class:?] at net.minecraft.world.WorldServer.func_72939_s(WorldServer.java:489) ~[mt.class:?] at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:636) ~[MinecraftServer.class:?] ... 4 more As far as I understand the server is not supposed to access any render methods. So why is it calling the getRenderBoundingBox method, since it is annotated as @SideOnly(ClientSide) in the base class "TileEntity"? And how do I fix this problem? Thanks in advance!
November 3, 201510 yr It looks like your TileEntityHeatPress#updateEntity method is calling TileEntityHeatPress#getRenderBoundingBox , which is then calling the super method. This throws a NoSuchMethodError because the super method doesn't exist on the server. You should avoid calling getRenderBoundingBox outside of client-only code and also mark it as client-only with @SideOnly(Side.CLIENT) so it's removed from the class on the dedicated server. Please don't PM me to ask for help. Asking your question in a public thread preserves it for people who are having the same problem in the future.
November 3, 201510 yr Author Wow, I can't believe that I did not find that method call by myself... so stupid of me. You were exactly right, thanks so much! Fixed it easily and now it's working properly =) Have a nice day!
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.