diff --git a/codex-api/pom.xml b/codex-api/pom.xml
index c2f49041..e256f4ad 100644
--- a/codex-api/pom.xml
+++ b/codex-api/pom.xml
@@ -6,7 +6,7 @@
studio.magemonkey
codex-parent
- 1.1.1-R2.1-SNAPSHOT
+ 1.1.1-R0.17-SNAPSHOT
codex-api
@@ -44,7 +44,7 @@
com.nexomc
nexo
- 1.23
+ 1.21.0
provided
diff --git a/codex-bungee/pom.xml b/codex-bungee/pom.xml
index 71bf12c7..ebdb74db 100644
--- a/codex-bungee/pom.xml
+++ b/codex-bungee/pom.xml
@@ -6,7 +6,7 @@
studio.magemonkey
codex-parent
- 1.1.1-R2.1-SNAPSHOT
+ 1.1.1-R0.17-SNAPSHOT
codex-bungee
diff --git a/codex-nms/codex-nms-v1_21_1/src/main/java/studio/magemonkey/codex/nms/v1_21_1/NMSImpl.java b/codex-nms/codex-nms-v1_21_1/src/main/java/studio/magemonkey/codex/nms/v1_21_1/NMSImpl.java
index 5b9c93e9..aec2a06c 100644
--- a/codex-nms/codex-nms-v1_21_1/src/main/java/studio/magemonkey/codex/nms/v1_21_1/NMSImpl.java
+++ b/codex-nms/codex-nms-v1_21_1/src/main/java/studio/magemonkey/codex/nms/v1_21_1/NMSImpl.java
@@ -23,8 +23,6 @@
import net.minecraft.world.level.block.state.IBlockData;
import org.bukkit.Bukkit;
import org.bukkit.Material;
-import org.bukkit.NamespacedKey;
-import org.bukkit.Registry;
import org.bukkit.attribute.Attribute;
import org.bukkit.block.Block;
import org.bukkit.block.Skull;
@@ -57,7 +55,6 @@
import java.net.MalformedURLException;
import java.net.URL;
import java.util.Base64;
-import java.util.Locale;
import java.util.UUID;
public class NMSImpl implements NMS {
@@ -277,12 +274,6 @@ public void addSkullTexture(@NotNull ItemStack item, @NotNull String value, @Not
}
}
- @NotNull
- @Override
- public Attribute getAttribute(String name) {
- return Registry.ATTRIBUTE.getOrThrow(NamespacedKey.minecraft(name.toLowerCase(Locale.US)));
- }
-
@Override
public Object getNMSCopy(@NotNull ItemStack item) {
return CraftItemStack.asNMSCopy(item);
diff --git a/codex-nms/codex-nms-v1_21_10/src/main/java/studio/magemonkey/codex/nms/v1_21_10/NMSImpl.java b/codex-nms/codex-nms-v1_21_10/src/main/java/studio/magemonkey/codex/nms/v1_21_10/NMSImpl.java
index 07fad30c..c9d6f0ee 100644
--- a/codex-nms/codex-nms-v1_21_10/src/main/java/studio/magemonkey/codex/nms/v1_21_10/NMSImpl.java
+++ b/codex-nms/codex-nms-v1_21_10/src/main/java/studio/magemonkey/codex/nms/v1_21_10/NMSImpl.java
@@ -272,9 +272,15 @@ public Objective registerNewObjective(Scoreboard scoreboard, Objective objective
@SuppressWarnings("deprecation")
public HoverEvent getHoverEvent(@NotNull ItemStack itemStack) {
String components = itemStack.getItemMeta() != null ? itemStack.getItemMeta().getAsString() : "{}";
+
+ // Fixing booleans
components = components.replaceAll(": ?0b", ": false")
- .replaceAll(": ?1b", ": true")
- .replaceAll(": ?(\\d+\\.\\d+)d", ": $1");
+ .replaceAll(": ?1b", ": true");
+
+ // Fixing numbers with f/d suffixes (e.g. "1.0f", "-2.5d")
+ // Removes quotes and suffix, leaves blank number (JSON)
+ components = components.replaceAll("\"((-?\\d+(?:\\.\\d+)?)[fd])\"", "$2");
+
return new HoverEvent(HoverEvent.Action.SHOW_ITEM,
new ComponentsShowItem(
itemStack.getType().getKey().toString(),
diff --git a/codex-nms/codex-nms-v1_21_11/src/main/java/studio/magemonkey/codex/nms/v1_21_11/NMSImpl.java b/codex-nms/codex-nms-v1_21_11/src/main/java/studio/magemonkey/codex/nms/v1_21_11/NMSImpl.java
index e6afbbfe..67cf02a9 100644
--- a/codex-nms/codex-nms-v1_21_11/src/main/java/studio/magemonkey/codex/nms/v1_21_11/NMSImpl.java
+++ b/codex-nms/codex-nms-v1_21_11/src/main/java/studio/magemonkey/codex/nms/v1_21_11/NMSImpl.java
@@ -66,7 +66,6 @@ public class NMSImpl implements NMS {
public String getVersion() {
return "1.21.11";
}
-
@NotNull
@Override
public Object getConnection(Player player) {
@@ -272,10 +271,15 @@ public Objective registerNewObjective(Scoreboard scoreboard, Objective objective
@SuppressWarnings("deprecation")
public HoverEvent getHoverEvent(@NotNull ItemStack itemStack) {
String components = itemStack.getItemMeta() != null ? itemStack.getItemMeta().getAsString() : "{}";
+
+ // Fixing booleans
components = components.replaceAll(": ?0b", ": false")
- .replaceAll(": ?1b", ": true")
- .replaceAll(": ?(\\d+\\.\\d+)d", ": $1")
- .replaceAll("\\b(\\d+\\.\\d+)f\\b", "$1");
+ .replaceAll(": ?1b", ": true");
+
+ // Fixing numbers with f/d suffixes (e.g. "1.0f", "-2.5d")
+ // Removes quotes and suffix, leaves blank number (JSON)
+ components = components.replaceAll("\"((-?\\d+(?:\\.\\d+)?)[fd])\"", "$2");
+
return new HoverEvent(HoverEvent.Action.SHOW_ITEM,
new ComponentsShowItem(
itemStack.getType().getKey().toString(),
diff --git a/codex-nms/codex-nms-v1_21_7/src/main/java/studio/magemonkey/codex/nms/v1_21_7/NMSImpl.java b/codex-nms/codex-nms-v1_21_7/src/main/java/studio/magemonkey/codex/nms/v1_21_7/NMSImpl.java
index bb2e2a33..1d5f96af 100644
--- a/codex-nms/codex-nms-v1_21_7/src/main/java/studio/magemonkey/codex/nms/v1_21_7/NMSImpl.java
+++ b/codex-nms/codex-nms-v1_21_7/src/main/java/studio/magemonkey/codex/nms/v1_21_7/NMSImpl.java
@@ -284,12 +284,19 @@ public Objective registerNewObjective(Scoreboard scoreboard, Objective objective
}
@Override
- @SuppressWarnings("deprecation")
public HoverEvent getHoverEvent(@NotNull ItemStack itemStack) {
+ //System.out.println("[DEBUG] getHoverEvent FIXED for 1.21.7");
String components = itemStack.getItemMeta() != null ? itemStack.getItemMeta().getAsString() : "{}";
+
+ // Fixing booleans
components = components.replaceAll(": ?0b", ": false")
- .replaceAll(": ?1b", ": true")
- .replaceAll(": ?(\\d+\\.\\d+)d", ": $1");
+ .replaceAll(": ?1b", ": true");
+
+ // Fixing numbers with f/d suffixes (with or without quotes)
+ components = components.replaceAll("(-?\\d+(?:\\.\\d+)?)[fd]", "$1");
+
+ //System.out.println("[DEBUG] After fix: " + components);
+
return new HoverEvent(HoverEvent.Action.SHOW_ITEM,
new ComponentsShowItem(
itemStack.getType().getKey().toString(),
diff --git a/codex-nms/pom.xml b/codex-nms/pom.xml
index 9400dcc1..eaa78b29 100644
--- a/codex-nms/pom.xml
+++ b/codex-nms/pom.xml
@@ -28,7 +28,7 @@
A collection of NMS libraries for Codex
- codex-nms-v1_16_5
+
codex-nms-v1_17_1
codex-nms-v1_18_2
codex-nms-v1_19_4
@@ -43,6 +43,7 @@
codex-nms-v1_21_7
codex-nms-v1_21_10
codex-nms-v1_21_11
+
diff --git a/codex-plugin/src/main/java/studio/magemonkey/codex/data/users/IUserManager.java b/codex-plugin/src/main/java/studio/magemonkey/codex/data/users/IUserManager.java
index d5eaa51c..4eb0ef6b 100644
--- a/codex-plugin/src/main/java/studio/magemonkey/codex/data/users/IUserManager.java
+++ b/codex-plugin/src/main/java/studio/magemonkey/codex/data/users/IUserManager.java
@@ -36,7 +36,7 @@ public IUserManager(@NotNull P plugin) {
@Override
public void setup() {
- this.activeUsers = new HashMap<>();
+ this.activeUsers = new ConcurrentHashMap<>();
this.toSave = ConcurrentHashMap.newKeySet();
this.isPassJoin = ConcurrentHashMap.newKeySet();
this.toCreate = ConcurrentHashMap.newKeySet();