Engineers Workshop

Engineers Workshop

7M Downloads

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

cryptiklemur opened this issue ยท 3 comments

commented
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.

commented

Looks like it was an issue with essentials

commented

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.

commented

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.