高性能和高兼容性的1.12.2/1.16.5/1.18.2版本Forge+Bukkit+Spigot服务端 (A high performance and high compatibility 1.12.2/1.16.5/1.18.2 version Forge+Bukkit+Spigot server)
[19:27:44] [Server thread/ERROR] [net.minecraft.server.MinecraftServer]: Encountered an unexpected exception
net.minecraft.util.ReportedException: Ticking block entity
at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:971) ~[MinecraftServer.class:?]
at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:474) ~[nz.class:?]
at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:826) ~[MinecraftServer.class:?]
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:685) [MinecraftServer.class:?]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_151]
Caused by: java.lang.NullPointerException
at net.minecraft.network.NetHandlerPlayServer.(NetHandlerPlayServer.java:239) ~[pa.class:?]
at shadows.click.util.NetHandlerSpaghettiServer.(NetHandlerSpaghettiServer.java:46) ~[NetHandlerSpaghettiServer.class:?]
at shadows.click.util.FakePlayerUtil.lambda$getPlayer$0(FakePlayerUtil.java:78) ~[FakePlayerUtil.class:?]
at java.util.HashMap.computeIfAbsent(Unknown Source) ~[?:1.8.0_151]
at shadows.click.util.FakePlayerUtil.getPlayer(FakePlayerUtil.java:76) ~[FakePlayerUtil.class:?]
at shadows.click.block.TileAutoClick.func_73660_a(TileAutoClick.java:52) ~[TileAutoClick.class:?]
at net.minecraft.world.World.func_72939_s(World.java:2122) ~[amu.class:?]
at net.minecraft.world.WorldServer.func_72939_s(WorldServer.java:742) ~[oo.class:?]
at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:964) ~[MinecraftServer.class:?]
... 4 more
Click Machine crashes when used
This happens because Click Machine creates NetHandlerSpaghettiServer which constructs with a null MinecraftServer. https://github.com/Shadows-of-Fire/ClickMachine/blob/master/src/main/java/shadows/click/util/NetHandlerSpaghettiServer.java#L46
Because of this, serverController is null https://github.com/Luohuayu/CatServer/blob/1.12.2/patches/net/minecraft/network/NetHandlerPlayServer.java.patch#L158
I think simply checking for null will fix this
this.server = serverController == null ? null : serverController.server