From 7cee530faa15ca1bff0ecf35d2f3ab7e0ce1443a Mon Sep 17 00:00:00 2001 From: mcmonkey4eva Date: Mon, 9 Jan 2017 14:38:47 -0800 Subject: [PATCH] Add a theoretically more trustworthy port getter via NMS for server.port tag --- .../src/main/java/net/aufdemrand/denizen/nms/NMSHandler.java | 2 ++ .../java/net/aufdemrand/denizen/tags/core/ServerTags.java | 2 +- .../java/net/aufdemrand/denizen/nms/Handler_v1_10_R1.java | 5 +++++ .../java/net/aufdemrand/denizen/nms/Handler_v1_11_R1.java | 5 +++++ .../java/net/aufdemrand/denizen/nms/Handler_v1_8_R3.java | 5 +++++ .../java/net/aufdemrand/denizen/nms/Handler_v1_9_R2.java | 5 +++++ 6 files changed, 23 insertions(+), 1 deletion(-) diff --git a/nmshandler/src/main/java/net/aufdemrand/denizen/nms/NMSHandler.java b/nmshandler/src/main/java/net/aufdemrand/denizen/nms/NMSHandler.java index 865a1808aa..65bf75a2ac 100644 --- a/nmshandler/src/main/java/net/aufdemrand/denizen/nms/NMSHandler.java +++ b/nmshandler/src/main/java/net/aufdemrand/denizen/nms/NMSHandler.java @@ -109,4 +109,6 @@ public static JavaPlugin getJavaPlugin() { public abstract void enablePacketInterception(PacketHandler packetHandler); public abstract CompoundTag createCompoundTag(Map value); + + public abstract int getPort(); } diff --git a/plugin/src/main/java/net/aufdemrand/denizen/tags/core/ServerTags.java b/plugin/src/main/java/net/aufdemrand/denizen/tags/core/ServerTags.java index e4463e0818..c31453f640 100644 --- a/plugin/src/main/java/net/aufdemrand/denizen/tags/core/ServerTags.java +++ b/plugin/src/main/java/net/aufdemrand/denizen/tags/core/ServerTags.java @@ -1041,7 +1041,7 @@ else if (attribute.startsWith("recent_tps")) { // Returns the port that the server is running on. // --> else if (attribute.startsWith("port")) { - event.setReplaced(new Element(Bukkit.getServer().getPort()).getAttribute(attribute.fulfill(1))); + event.setReplaced(new Element(NMSHandler.getInstance().getPort()).getAttribute(attribute.fulfill(1))); } // TODO: Add everything else from Bukkit.getServer().* diff --git a/v1_10_R1/src/main/java/net/aufdemrand/denizen/nms/Handler_v1_10_R1.java b/v1_10_R1/src/main/java/net/aufdemrand/denizen/nms/Handler_v1_10_R1.java index d703853405..7f81e9676c 100644 --- a/v1_10_R1/src/main/java/net/aufdemrand/denizen/nms/Handler_v1_10_R1.java +++ b/v1_10_R1/src/main/java/net/aufdemrand/denizen/nms/Handler_v1_10_R1.java @@ -188,6 +188,11 @@ public PlayerProfile fillPlayerProfile(PlayerProfile playerProfile) { return null; } + @Override + public int getPort() { + return ((CraftServer) Bukkit.getServer()).getServer().P(); + } + @Override public PlayerProfile getPlayerProfile(Player player) { GameProfile gameProfile = ((CraftPlayer) player).getProfile(); diff --git a/v1_11_R1/src/main/java/net/aufdemrand/denizen/nms/Handler_v1_11_R1.java b/v1_11_R1/src/main/java/net/aufdemrand/denizen/nms/Handler_v1_11_R1.java index 353b978d7c..cf29e947dd 100644 --- a/v1_11_R1/src/main/java/net/aufdemrand/denizen/nms/Handler_v1_11_R1.java +++ b/v1_11_R1/src/main/java/net/aufdemrand/denizen/nms/Handler_v1_11_R1.java @@ -188,6 +188,11 @@ public PlayerProfile fillPlayerProfile(PlayerProfile playerProfile) { return null; } + @Override + public int getPort() { + return ((CraftServer) Bukkit.getServer()).getServer().P(); + } + @Override public PlayerProfile getPlayerProfile(Player player) { GameProfile gameProfile = ((CraftPlayer) player).getProfile(); diff --git a/v1_8_R3/src/main/java/net/aufdemrand/denizen/nms/Handler_v1_8_R3.java b/v1_8_R3/src/main/java/net/aufdemrand/denizen/nms/Handler_v1_8_R3.java index 91b263b6cb..2ad6ca3239 100644 --- a/v1_8_R3/src/main/java/net/aufdemrand/denizen/nms/Handler_v1_8_R3.java +++ b/v1_8_R3/src/main/java/net/aufdemrand/denizen/nms/Handler_v1_8_R3.java @@ -59,6 +59,11 @@ public double[] getRecentTps() { return ((CraftServer) Bukkit.getServer()).getServer().recentTps; } + @Override + public int getPort() { + return ((CraftServer) Bukkit.getServer()).getServer().R(); + } + @Override public AnimationHelper getAnimationHelper() { return animationHelper; diff --git a/v1_9_R2/src/main/java/net/aufdemrand/denizen/nms/Handler_v1_9_R2.java b/v1_9_R2/src/main/java/net/aufdemrand/denizen/nms/Handler_v1_9_R2.java index 55fabc736b..f05601190d 100644 --- a/v1_9_R2/src/main/java/net/aufdemrand/denizen/nms/Handler_v1_9_R2.java +++ b/v1_9_R2/src/main/java/net/aufdemrand/denizen/nms/Handler_v1_9_R2.java @@ -49,6 +49,11 @@ public class Handler_v1_9_R2 extends NMSHandler { private final ProfileEditor profileEditor = new ProfileEditor_v1_9_R2(); + @Override + public int getPort() { + return ((CraftServer) Bukkit.getServer()).getServer().P(); + } + @Override public Thread getMainThread() { return ((CraftServer) Bukkit.getServer()).getServer().primaryThread;