From 7aeb6ae6b7b99d42da7e0705e65436ec7c4a8242 Mon Sep 17 00:00:00 2001 From: mcmonkey Date: Fri, 28 Dec 2018 05:34:51 -0800 Subject: [PATCH] patch for latest spigot nms revision --- .../net/aufdemrand/denizen/nms/NMSHandler.java | 4 ++++ .../main/java/net/aufdemrand/denizen/Denizen.java | 14 +++++++++++++- .../aufdemrand/denizen/nms/Handler_v1_13_R2.java | 5 +++++ .../denizen/nms/helpers/PacketHelper_v1_13_R2.java | 4 ++-- 4 files changed, 24 insertions(+), 3 deletions(-) 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 0504bb39cd..11af3e6a8d 100644 --- a/nmshandler/src/main/java/net/aufdemrand/denizen/nms/NMSHandler.java +++ b/nmshandler/src/main/java/net/aufdemrand/denizen/nms/NMSHandler.java @@ -68,6 +68,10 @@ public static JavaPlugin getJavaPlugin() { return javaPlugin; } + public String getNmsMappingsCode() { + return null; + } + public abstract Sidebar createSidebar(Player player); public abstract BlockLight createBlockLight(Location location, int lightLevel, long ticks); diff --git a/plugin/src/main/java/net/aufdemrand/denizen/Denizen.java b/plugin/src/main/java/net/aufdemrand/denizen/Denizen.java index 742924acc0..21822ad5ed 100644 --- a/plugin/src/main/java/net/aufdemrand/denizen/Denizen.java +++ b/plugin/src/main/java/net/aufdemrand/denizen/Denizen.java @@ -87,6 +87,7 @@ import org.bukkit.configuration.ConfigurationSection; import org.bukkit.configuration.file.FileConfiguration; import org.bukkit.configuration.file.YamlConfiguration; +import org.bukkit.craftbukkit.v1_13_R2.util.CraftMagicNumbers; import org.bukkit.entity.Player; import org.bukkit.event.HandlerList; import org.bukkit.plugin.java.JavaPlugin; @@ -337,13 +338,24 @@ public NotableManager notableManager() { public void onEnable() { if (!NMSHandler.initialize(this)) { getLogger().warning("-------------------------------------"); - getLogger().warning("Denizen is not compatible with this Spigot version! Deactivating Denizen!"); + getLogger().warning("This build of Denizen is not compatible with this Spigot version! Deactivating Denizen!"); getLogger().warning("-------------------------------------"); getServer().getPluginManager().disablePlugin(this); startedSuccessful = false; return; } + String mappingsCode = NMSHandler.getInstance().getNmsMappingsCode(); + if (mappingsCode != null) { + if (!CraftMagicNumbers.MAPPINGS_VERSION.equals(mappingsCode)) { + getLogger().warning("-------------------------------------"); + getLogger().warning("This build of Denizen was built for a different Spigot revision! This may potentially cause issues." + + " If you are experiencing trouble, update Denizen and Spigot both to latest builds!" + + " If this message appears with both Denizen and Spigot fully up-to-date, contact the Denizen team (via GitHub, Spigot, or Discord) to request an update be built."); + getLogger().warning("-------------------------------------"); + } + } + if (NMSHandler.getVersion().isAtMost(NMSVersion.v1_11_R1)) { // TODO: 1.12 update logInterceptor = new LogInterceptor(); } diff --git a/v1_13_R2/src/main/java/net/aufdemrand/denizen/nms/Handler_v1_13_R2.java b/v1_13_R2/src/main/java/net/aufdemrand/denizen/nms/Handler_v1_13_R2.java index e9956d0068..861bd9954d 100644 --- a/v1_13_R2/src/main/java/net/aufdemrand/denizen/nms/Handler_v1_13_R2.java +++ b/v1_13_R2/src/main/java/net/aufdemrand/denizen/nms/Handler_v1_13_R2.java @@ -56,6 +56,11 @@ public class Handler_v1_13_R2 extends NMSHandler { private final ProfileEditor profileEditor = new ProfileEditor_v1_13_R2(); + @Override + public String getNmsMappingsCode() { + return "00ed8e5c39debc3ed194ad7c5645cc45"; + } + @Override public Thread getMainThread() { return ((CraftServer) Bukkit.getServer()).getServer().primaryThread; diff --git a/v1_13_R2/src/main/java/net/aufdemrand/denizen/nms/helpers/PacketHelper_v1_13_R2.java b/v1_13_R2/src/main/java/net/aufdemrand/denizen/nms/helpers/PacketHelper_v1_13_R2.java index 1ed0c31533..2da533bf5e 100644 --- a/v1_13_R2/src/main/java/net/aufdemrand/denizen/nms/helpers/PacketHelper_v1_13_R2.java +++ b/v1_13_R2/src/main/java/net/aufdemrand/denizen/nms/helpers/PacketHelper_v1_13_R2.java @@ -221,8 +221,8 @@ public void resetExperience(Player player) { @Override public boolean showSignEditor(Player player, Location location) { - TileEntity tileEntity = ((CraftWorld) location.getWorld()).getTileEntityAt(location.getBlockX(), - location.getBlockY(), location.getBlockZ()); + TileEntity tileEntity = ((CraftWorld) location.getWorld()).getHandle().getTileEntity(new BlockPosition(location.getBlockX(), + location.getBlockY(), location.getBlockZ())); if (tileEntity instanceof TileEntitySign) { TileEntitySign sign = (TileEntitySign) tileEntity; // Prevent client crashing by sending current state of the sign