From eec76559f31924d6b0cc3844b3ebfcb0a778ea11 Mon Sep 17 00:00:00 2001 From: SBDeveloper Date: Sat, 30 Jul 2022 13:07:03 +0200 Subject: [PATCH] Fixed some more 1.18.1 NMS issues --- .../mapreflectionapi/MapReflectionAPI.java | 2 +- .../mapreflectionapi/api/MapWrapper.java | 13 ++++++++++++- .../mapreflectionapi/managers/Configuration.java | 1 + 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/src/main/java/tech/sbdevelopment/mapreflectionapi/MapReflectionAPI.java b/src/main/java/tech/sbdevelopment/mapreflectionapi/MapReflectionAPI.java index 72a02ae..8cbbdfd 100644 --- a/src/main/java/tech/sbdevelopment/mapreflectionapi/MapReflectionAPI.java +++ b/src/main/java/tech/sbdevelopment/mapreflectionapi/MapReflectionAPI.java @@ -111,7 +111,7 @@ public class MapReflectionAPI extends JavaPlugin { } } } - getLogger().info("Found " + occupiedIDs + " occupied Map IDs. These will not be used."); + getLogger().info("Found " + occupiedIDs + " occupied Map IDs." + (occupiedIDs > 0 ? " These will not be used." : "")); } getLogger().info("Registering the listeners..."); diff --git a/src/main/java/tech/sbdevelopment/mapreflectionapi/api/MapWrapper.java b/src/main/java/tech/sbdevelopment/mapreflectionapi/api/MapWrapper.java index 75daeb9..9b24da7 100644 --- a/src/main/java/tech/sbdevelopment/mapreflectionapi/api/MapWrapper.java +++ b/src/main/java/tech/sbdevelopment/mapreflectionapi/api/MapWrapper.java @@ -159,7 +159,18 @@ public class MapWrapper { } Object playerHandle = ReflectionUtil.getHandle(player); - Object inventoryMenu = ReflectionUtil.getField(playerHandle, ReflectionUtil.supports(19) ? "bT" : ReflectionUtil.supports(17) ? "bU" : "defaultContainer"); + + String inventoryMenuName; + if (ReflectionUtil.supports(19)) { //1.19 + inventoryMenuName = "bT"; + } else if (ReflectionUtil.supports(18)) { //1.18 + inventoryMenuName = ReflectionUtil.VER_MINOR == 1 ? "bV" : "bU"; //1.18.1 = ap, 1.18(.2) = ao + } else if (ReflectionUtil.supports(17)) { //1.17, same as 1.18(.2) + inventoryMenuName = "bU"; + } else { //1.12-1.16 + inventoryMenuName = "defaultContainer"; + } + Object inventoryMenu = ReflectionUtil.getField(playerHandle, inventoryMenuName); int windowId = (int) ReflectionUtil.getField(inventoryMenu, ReflectionUtil.supports(17) ? "j" : "windowId"); ItemStack stack = new ItemStack(ReflectionUtil.supports(13) ? Material.FILLED_MAP : Material.MAP, 1); diff --git a/src/main/java/tech/sbdevelopment/mapreflectionapi/managers/Configuration.java b/src/main/java/tech/sbdevelopment/mapreflectionapi/managers/Configuration.java index d53096a..3afc641 100644 --- a/src/main/java/tech/sbdevelopment/mapreflectionapi/managers/Configuration.java +++ b/src/main/java/tech/sbdevelopment/mapreflectionapi/managers/Configuration.java @@ -38,6 +38,7 @@ public class Configuration { private Configuration(JavaPlugin plugin) { this.file = new YamlFile(plugin, "config"); + this.file.loadDefaults(); reload(); }