From 25c0e7bedcb812868b5c789dfd93e2beb04365cc Mon Sep 17 00:00:00 2001 From: Ezra Indrastata <9842682+ezraisw@users.noreply.github.com> Date: Wed, 18 Dec 2024 17:36:08 +0900 Subject: [PATCH] Fix `NullPointerException` on first deployer placed (Fabric/Forge) (#82) * Fix NullPointerException thrown on first deployer placed * Fix deployer on Forge side as well --- .../megane/module/create/provider/DeployerProvider.java | 9 +++++++-- .../megane/module/create/provider/DeployerProvider.java | 9 +++++++-- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/modules/fabric/create/src/main/java/lol/bai/megane/module/create/provider/DeployerProvider.java b/modules/fabric/create/src/main/java/lol/bai/megane/module/create/provider/DeployerProvider.java index a51a08e..02e3dcd 100644 --- a/modules/fabric/create/src/main/java/lol/bai/megane/module/create/provider/DeployerProvider.java +++ b/modules/fabric/create/src/main/java/lol/bai/megane/module/create/provider/DeployerProvider.java @@ -11,8 +11,13 @@ public class DeployerProvider implements IDataProvider { @Override public void appendData(IDataWriter data, IServerAccessor accessor, IPluginConfig config) { - data.add(ItemData.class, res -> res.add(ItemData.of(config) - .add(accessor.getTarget().getPlayer().getMainHandItem()))); + data.add(ItemData.class, res -> { + var fakePlayer = accessor.getTarget().getPlayer(); + if (fakePlayer == null) + return; + + res.add(ItemData.of(config).add(fakePlayer.getMainHandItem())); + }); } } diff --git a/modules/forge/create/src/main/java/lol/bai/megane/module/create/provider/DeployerProvider.java b/modules/forge/create/src/main/java/lol/bai/megane/module/create/provider/DeployerProvider.java index a51a08e..02e3dcd 100644 --- a/modules/forge/create/src/main/java/lol/bai/megane/module/create/provider/DeployerProvider.java +++ b/modules/forge/create/src/main/java/lol/bai/megane/module/create/provider/DeployerProvider.java @@ -11,8 +11,13 @@ public class DeployerProvider implements IDataProvider { @Override public void appendData(IDataWriter data, IServerAccessor accessor, IPluginConfig config) { - data.add(ItemData.class, res -> res.add(ItemData.of(config) - .add(accessor.getTarget().getPlayer().getMainHandItem()))); + data.add(ItemData.class, res -> { + var fakePlayer = accessor.getTarget().getPlayer(); + if (fakePlayer == null) + return; + + res.add(ItemData.of(config).add(fakePlayer.getMainHandItem())); + }); } }