From 5aef6ea86d094f017a925d03ba4372f7a62127a3 Mon Sep 17 00:00:00 2001 From: "Alex \"mcmonkey\" Goodwin" Date: Tue, 21 Mar 2023 23:06:43 -0700 Subject: [PATCH] fix Paper tools exploding pre-1.19 Java is silly --- .../denizen/paper/utilities/PaperAPIToolsImpl.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/paper/src/main/java/com/denizenscript/denizen/paper/utilities/PaperAPIToolsImpl.java b/paper/src/main/java/com/denizenscript/denizen/paper/utilities/PaperAPIToolsImpl.java index 6761604d0b..f9d6781db5 100644 --- a/paper/src/main/java/com/denizenscript/denizen/paper/utilities/PaperAPIToolsImpl.java +++ b/paper/src/main/java/com/denizenscript/denizen/paper/utilities/PaperAPIToolsImpl.java @@ -135,10 +135,19 @@ public InventoryView openAnvil(Player player, Location loc) { return player.openAnvil(loc, true); } + public static Object teleportRelative; + + static { + if (NMSHandler.getVersion().isAtLeast(NMSVersion.v1_19)) { // TODO: 1.19: replace with TeleportFlag.Relative.values() + // (That breaks loading pre-1.19 due to Java silliness) + teleportRelative = TeleportFlag.Relative.class.getEnumConstants(); + } + } + @Override public void teleportPlayerRelative(Player player, Location loc) { if (NMSHandler.getVersion().isAtLeast(NMSVersion.v1_19)) { - player.teleport(loc, PlayerTeleportEvent.TeleportCause.PLUGIN, TeleportFlag.Relative.values()); + player.teleport(loc, PlayerTeleportEvent.TeleportCause.PLUGIN, (TeleportFlag[]) teleportRelative); } else { super.teleportPlayerRelative(player, loc);