Updated ItemizerX to the latest stable Paper version (1.21.8)

Given the complexity of the NMS update (including data components), I have decided to omit the support of older MC versions and maintain multiversion compatibility from 1.21.8 onwards from v2.4. I suspect this may not change much in the future, making it easier to maintain.

In the future, I may look into moving away from NMS provided Paper is now exposing them in Paper API via Data Components

This also closes #1
This commit is contained in:
Focusvity
2025-11-05 14:34:50 +11:00
parent 89b1143ab2
commit afd3223c24
22 changed files with 282 additions and 1635 deletions
@@ -9,6 +9,7 @@ public class ItemizerX extends JavaPlugin
public static ItemizerX plugin;
CoreProtectBridge cpb = new CoreProtectBridge();
IAttributeManager attr;
IEnchantmentManager ench;
@Override
public void onLoad()
@@ -26,30 +27,16 @@ public class ItemizerX extends JavaPlugin
getCommand("itemizer").setTabCompleter(new ItemizerXTab());
switch (getServerVersion())
{
/*case "1.21" ->
case "1.21.8" ->
{
getCommand("itemizer").setExecutor(new ItemizerXCommand());
attr = new dev.plex.itemizerx.v1_21_R1.AttributeManager();
}*/
case "1.20.5", "1.20.6" ->
{
getCommand("itemizer").setExecutor(new ItemizerXCommand());
attr = new dev.plex.itemizerx.v1_20_R4.AttributeManager();
}
case "1.20.4" ->
{
getCommand("itemizer").setExecutor(new ItemizerXCommand());
attr = new dev.plex.itemizerx.v1_20_R3.AttributeManager();
}
case "1.20.3", "1.20.2" ->
{
getCommand("itemizer").setExecutor(new ItemizerXCommand());
attr = new dev.plex.itemizerx.v1_20_R2.AttributeManager();
ench = new dev.plex.itemizerx.v1_21_R1.EnchantmentManager();
}
default ->
{
getLogger().severe("You are trying to run ItemizerX on an incompatible server version.");
getLogger().severe("ItemizerX only supports versions 1.20.2 to 1.21, disabling plugin.");
getLogger().severe("ItemizerX only supports version 1.21.8, disabling plugin.");
getServer().getPluginManager().disablePlugin(this);
}
}