EngineersMods / EngineersWorkshop

https://minecraft.curseforge.com/projects/engineers-workshop
5 stars 9 forks source link

java.lang.NullPointerException: Player can't be null! #35

Open cryptiklemur opened 7 years ago

cryptiklemur commented 7 years ago
Forge Version & Engineer's Workshop Version [MAKE SURE YOU ARE RUNNING THE LATEST BUILD]

1.3.5

Expected behavior

Server Starts

Actual Behavior

Server Crashes

Link to Crashlog or Forgelog [If Applicable]
[14:02:13] [Server thread/INFO]: Starting minecraft server version 1.10.2
[14:03:03] [Server thread/ERROR]: Encountered an unexpected exception
net.minecraftforge.fml.common.LoaderExceptionModCrash: Caught exception from Engineers Workshop (engineersworkshop)

Caused by: java.lang.NullPointerException: Player can't be null!
    at com.google.common.base.Preconditions.checkNotNull(Preconditions.java:229) ~[minecraft_server.1.10.2.jar:?]
    at net.minecraftforge.server.permission.PermissionAPI.hasPermission(PermissionAPI.java:94) ~[PermissionAPI.class:?]
    at com.forgeessentials.protection.ModuleProtection.canCraft(ModuleProtection.java:474) ~[ModuleProtection.class:?]
    at net.minecraft.item.crafting.CraftingManager.func_82787_a(SourceFile:1346) ~[age.class:?]
    at engineers.workshop.client.page.unit.UnitCrush.addLogSawRecipies(UnitCrush.java:185) ~[UnitCrush.class:?]
    at engineers.workshop.common.loaders.RecipeLoader.loadRecipes(RecipeLoader.java:35) ~[RecipeLoader.class:?]
    at engineers.workshop.proxy.CommonProxy.preInit(CommonProxy.java:28) ~[CommonProxy.class:?]
    at engineers.workshop.EngineersWorkshop.preInit(EngineersWorkshop.java:34) ~[EngineersWorkshop.class:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_121]
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_121]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_121]
    at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_121]
    at net.minecraftforge.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:616) ~[tekkit.jar:?]
    at sun.reflect.GeneratedMethodAccessor8.invoke(Unknown Source) ~[?:?]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_121]
    at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_121]
    at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74) ~[minecraft_server.1.10.2.jar:?]
    at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47) ~[minecraft_server.1.10.2.jar:?]
    at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322) ~[minecraft_server.1.10.2.jar:?]
    at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304) ~[minecraft_server.1.10.2.jar:?]
    at com.google.common.eventbus.EventBus.post(EventBus.java:275) ~[minecraft_server.1.10.2.jar:?]
    at net.minecraftforge.fml.common.LoadController.sendEventToModContainer(LoadController.java:243) ~[LoadController.class:?]
    at net.minecraftforge.fml.common.LoadController.propogateStateMessage(LoadController.java:221) ~[LoadController.class:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_121]
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_121]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_121]
    at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_121]
    at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74) ~[minecraft_server.1.10.2.jar:?]
    at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47) ~[minecraft_server.1.10.2.jar:?]
    at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322) ~[minecraft_server.1.10.2.jar:?]
    at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304) ~[minecraft_server.1.10.2.jar:?]
    at com.google.common.eventbus.EventBus.post(EventBus.java:275) ~[minecraft_server.1.10.2.jar:?]
    at net.minecraftforge.fml.common.LoadController.distributeStateMessage(LoadController.java:145) ~[LoadController.class:?]
    at net.minecraftforge.fml.common.Loader.preinitializeMods(Loader.java:624) ~[Loader.class:?]
    at net.minecraftforge.fml.server.FMLServerHandler.beginServerLoading(FMLServerHandler.java:99) ~[FMLServerHandler.class:?]
    at net.minecraftforge.fml.common.FMLCommonHandler.onServerStart(FMLCommonHandler.java:328) ~[FMLCommonHandler.class:?]
    at net.minecraft.server.dedicated.DedicatedServer.func_71197_b(DedicatedServer.java:121) ~[ld.class:?]
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:431) [MinecraftServer.class:?]
    at java.lang.Thread.run(Unknown Source) [?:1.8.0_121]
[14:03:03] [Server thread/ERROR]: This crash report has been saved to: .\crash-reports\crash-2017-05-22_14.03.03-server.txt
[14:03:03] [Server thread/INFO]: Stopping server
[14:03:03] [Server thread/INFO]: Saving worlds
[14:03:03] [Server Shutdown Thread/INFO]: Stopping server
[14:03:03] [Server Shutdown Thread/INFO]: Saving worlds
Steps to reproduce [If Applicable]

Unknown. New server. Started up. Shut down, added a mod, restarted, got this.

cryptiklemur commented 7 years ago

Looks like it was an issue with essentials

JorVaCoding commented 7 years ago

It looks like essentials has an addition that allows certain crafting recipes to not be allowed by players (ex: stop players without admin from making tnt), And since the way we determine log -> plank recipes using a null player in a fake crafting table, essentials throws an error because null player doesn't have permissions.

JorVaCoding commented 7 years ago

This might be fixed later, but right now it's not a priority considering we have bugs that crash the world just from players leaving the table.