From 47fd18dc0487153e84b9646f85342deedfdb1117 Mon Sep 17 00:00:00 2001 From: mcmonkey Date: Fri, 3 May 2019 01:55:47 -0700 Subject: [PATCH] catch null bossbars for enderdragaon NPCs, fixes #1764 --- .../net/citizensnpcs/nms/v1_14_R1/trait/BossBarTrait.java | 3 +++ .../java/net/citizensnpcs/nms/v1_14_R1/util/NMSImpl.java | 6 +++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/v1_14_R1/src/main/java/net/citizensnpcs/nms/v1_14_R1/trait/BossBarTrait.java b/v1_14_R1/src/main/java/net/citizensnpcs/nms/v1_14_R1/trait/BossBarTrait.java index a5a094bbf..33e48d1dd 100644 --- a/v1_14_R1/src/main/java/net/citizensnpcs/nms/v1_14_R1/trait/BossBarTrait.java +++ b/v1_14_R1/src/main/java/net/citizensnpcs/nms/v1_14_R1/trait/BossBarTrait.java @@ -41,6 +41,9 @@ public class BossBarTrait extends Trait { if (!npc.isSpawned() || !isBoss(npc.getEntity())) return; BossBar bar = NMSImpl.getBossBar(npc.getEntity()); + if (bar == null) { + return; + } bar.setVisible(visible); if (color != null) { bar.setColor(color); diff --git a/v1_14_R1/src/main/java/net/citizensnpcs/nms/v1_14_R1/util/NMSImpl.java b/v1_14_R1/src/main/java/net/citizensnpcs/nms/v1_14_R1/util/NMSImpl.java index 75540a863..fb2f930e8 100644 --- a/v1_14_R1/src/main/java/net/citizensnpcs/nms/v1_14_R1/util/NMSImpl.java +++ b/v1_14_R1/src/main/java/net/citizensnpcs/nms/v1_14_R1/util/NMSImpl.java @@ -1459,7 +1459,11 @@ public class NMSImpl implements NMSBridge { if (entity.getType() == EntityType.WITHER) { bserver = ((EntityWither) NMSImpl.getHandle(entity)).bossBattle; } else if (entity.getType() == EntityType.ENDER_DRAGON) { - bserver = ((EnderDragonBattle) ENDERDRAGON_BATTLE_FIELD.invoke(NMSImpl.getHandle(entity))).bossBattle; + Object battleObject = ENDERDRAGON_BATTLE_FIELD.invoke(NMSImpl.getHandle(entity)); + if (battleObject == null) { + return null; + } + bserver = ((EnderDragonBattle) battleObject).bossBattle; } } catch (Throwable e) { e.printStackTrace();