From 6efae02a8846fb73780b8a63de1e6d34e9310c42 Mon Sep 17 00:00:00 2001 From: Nils Gereke Date: Wed, 10 Dec 2025 02:09:10 +0100 Subject: [PATCH] feat: rename package to imprex.dev feat: support for mojang mapping --- pom.xml | 4 +- zip-api/pom.xml | 2 +- .../java/net/imprex/zip/api/ZIPBackpack.java | 2 +- .../net/imprex/zip/api/ZIPBackpackType.java | 2 +- .../java/net/imprex/zip/api/ZIPHandler.java | 2 +- .../java/net/imprex/zip/api/ZIPRecipe.java | 2 +- .../java/net/imprex/zip/api/ZIPRegistry.java | 2 +- .../java/net/imprex/zip/api/ZIPService.java | 2 +- .../java/net/imprex/zip/api/ZIPUniqueId.java | 2 +- zip-common/pom.xml | 4 +- .../imprex/zip/common/BPConstants.java | 2 +- .../imprex/zip/common/Ingrim4Buffer.java | 2 +- .../imprex/zip/common/MinecraftVersion.java | 2 +- .../imprex/zip/common/ReflectionUtil.java | 2 +- .../imprex/zip/common/ServerVersion.java | 2 +- .../imprex/zip/common/UniqueId.java | 4 +- .../imprex/zip/common/Version.java | 2 +- .../imprex/zip/common/ZIPLogger.java | 2 +- zip-nms/pom.xml | 2 +- zip-nms/zip-nms-api/pom.xml | 4 +- .../zip/nms/api/ItemStackContainerResult.java | 2 +- .../imprex/zip/nms/api/ItemStackWithSlot.java | 2 +- .../dev/imprex/zip/nms/api/NmsManager.java | 73 +++++ .../net/imprex/zip/nms/api/NmsManager.java | 20 -- zip-nms/zip-nms-v1_19_R1/pom.xml | 18 +- .../zip/nms/v1_19_R1}/ZipNmsManager.java | 19 +- zip-nms/zip-nms-v1_19_R2/pom.xml | 18 +- .../zip/nms/v1_19_R2}/ZipNmsManager.java | 19 +- zip-nms/zip-nms-v1_19_R3/pom.xml | 18 +- .../zip/nms/v1_19_R3}/ZipNmsManager.java | 19 +- zip-nms/zip-nms-v1_20_R1/pom.xml | 18 +- .../zip/nms/v1_20_R1}/ZipNmsManager.java | 19 +- zip-nms/zip-nms-v1_20_R2/pom.xml | 18 +- .../zip/nms/v1_20_R2/ZipNmsManager.java | 171 ++++++++++++ .../zip/nms/v1_20_R2/ZipNmsManager.java | 172 ------------ zip-nms/zip-nms-v1_20_R3/pom.xml | 18 +- .../zip/nms/v1_20_R3/ZipNmsManager.java | 21 +- zip-nms/zip-nms-v1_20_R4/pom.xml | 18 +- .../zip/nms/v1_20_R4/ZipNmsManager.java | 21 +- zip-nms/zip-nms-v1_21_R1/pom.xml | 18 +- .../zip/nms/v1_21_R1}/ZipNmsManager.java | 23 +- zip-nms/zip-nms-v1_21_R2/pom.xml | 18 +- .../zip/nms/v1_21_R2}/ZipNmsManager.java | 23 +- zip-nms/zip-nms-v1_21_R3/pom.xml | 18 +- .../zip/nms/v1_21_R3}/ZipNmsManager.java | 23 +- zip-nms/zip-nms-v1_21_R4/pom.xml | 18 +- .../zip/nms/v1_21_R4/ZipNmsManager.java | 23 +- zip-nms/zip-nms-v1_21_R5/pom.xml | 18 +- .../zip/nms/v1_21_R5/ZipNmsManager.java | 21 +- zip-nms/zip-nms-v1_21_R6/pom.xml | 18 +- .../zip/nms/v1_21_R6/ZipNmsManager.java | 19 +- zip-nms/zip-nms-v1_21_R7/pom.xml | 8 +- .../zip/nms/v1_21_R7/ZipNmsManager.java | 213 ++++++++++++++ .../zip/nms/v1_21_R7/ZipNmsManager.java | 260 ------------------ zip-plugin/pom.xml | 129 +++++++-- .../{net => dev}/imprex/zip/Backpack.java | 18 +- .../imprex/zip/BackpackHandler.java | 14 +- .../imprex/zip/BackpackListener.java | 10 +- .../imprex/zip/BackpackMigrator.java | 10 +- .../imprex/zip/BackpackPlugin.java | 10 +- .../imprex/zip/BackpackRecipe.java | 8 +- .../imprex/zip/BackpackRegistry.java | 16 +- .../{net => dev}/imprex/zip/BackpackType.java | 8 +- .../imprex/zip/MetricsSystem.java | 6 +- .../{net => dev}/imprex/zip/NmsInstance.java | 14 +- .../{net => dev}/imprex/zip/UpdateSystem.java | 18 +- .../imprex/zip/command/BackpackCommand.java | 8 +- .../zip/command/BackpackSubCommand.java | 14 +- .../imprex/zip/command/GiveCommand.java | 10 +- .../imprex/zip/command/LinkCommand.java | 8 +- .../imprex/zip/command/LoreCommand.java | 8 +- .../imprex/zip/command/PickupCommand.java | 8 +- .../imprex/zip/command/TypeCommand.java | 10 +- .../imprex/zip/config/BackpackConfig.java | 6 +- .../imprex/zip/config/BackpackTypeConfig.java | 2 +- .../zip/config/BackpackTypeListConfig.java | 2 +- .../imprex/zip/config/GeneralConfig.java | 2 +- .../imprex/zip/config/MessageConfig.java | 6 +- .../imprex/zip/config/MessageKey.java | 2 +- .../imprex/zip/config/RecipeConfig.java | 4 +- .../imprex/zip/util/AbstractHttpService.java | 6 +- .../imprex/zip/util/ConsoleUtil.java | 4 +- .../imprex/zip/util/ItemFactory.java | 4 +- .../imprex/zip/util/MathUtil.java | 2 +- zip-plugin/src/main/resources/plugin.yml | 2 +- 85 files changed, 1044 insertions(+), 778 deletions(-) rename zip-common/src/main/java/{net => dev}/imprex/zip/common/BPConstants.java (95%) rename zip-common/src/main/java/{net => dev}/imprex/zip/common/Ingrim4Buffer.java (99%) rename zip-common/src/main/java/{net => dev}/imprex/zip/common/MinecraftVersion.java (98%) rename zip-common/src/main/java/{net => dev}/imprex/zip/common/ReflectionUtil.java (99%) rename zip-common/src/main/java/{net => dev}/imprex/zip/common/ServerVersion.java (97%) rename zip-common/src/main/java/{net => dev}/imprex/zip/common/UniqueId.java (99%) rename zip-common/src/main/java/{net => dev}/imprex/zip/common/Version.java (98%) rename zip-common/src/main/java/{net => dev}/imprex/zip/common/ZIPLogger.java (97%) rename zip-nms/zip-nms-api/src/main/java/{net => dev}/imprex/zip/nms/api/ItemStackContainerResult.java (78%) rename zip-nms/zip-nms-api/src/main/java/{net => dev}/imprex/zip/nms/api/ItemStackWithSlot.java (76%) create mode 100644 zip-nms/zip-nms-api/src/main/java/dev/imprex/zip/nms/api/NmsManager.java delete mode 100644 zip-nms/zip-nms-api/src/main/java/net/imprex/zip/nms/api/NmsManager.java rename zip-nms/{zip-nms-v1_20_R1/src/main/java/net/imprex/zip/nms/v1_20_R1 => zip-nms-v1_19_R1/src/main/java/dev/imprex/zip/nms/v1_19_R1}/ZipNmsManager.java (91%) rename zip-nms/{zip-nms-v1_19_R1/src/main/java/net/imprex/zip/nms/v1_19_R1 => zip-nms-v1_19_R2/src/main/java/dev/imprex/zip/nms/v1_19_R2}/ZipNmsManager.java (91%) rename zip-nms/{zip-nms-v1_19_R2/src/main/java/net/imprex/zip/nms/v1_19_R2 => zip-nms-v1_19_R3/src/main/java/dev/imprex/zip/nms/v1_19_R3}/ZipNmsManager.java (91%) rename zip-nms/{zip-nms-v1_19_R3/src/main/java/net/imprex/zip/nms/v1_19_R3 => zip-nms-v1_20_R1/src/main/java/dev/imprex/zip/nms/v1_20_R1}/ZipNmsManager.java (91%) create mode 100644 zip-nms/zip-nms-v1_20_R2/src/main/java/dev/imprex/zip/nms/v1_20_R2/ZipNmsManager.java delete mode 100644 zip-nms/zip-nms-v1_20_R2/src/main/java/net/imprex/zip/nms/v1_20_R2/ZipNmsManager.java rename zip-nms/zip-nms-v1_20_R3/src/main/java/{net => dev}/imprex/zip/nms/v1_20_R3/ZipNmsManager.java (92%) rename zip-nms/zip-nms-v1_20_R4/src/main/java/{net => dev}/imprex/zip/nms/v1_20_R4/ZipNmsManager.java (91%) rename zip-nms/{zip-nms-v1_21_R3/src/main/java/net/imprex/zip/nms/v1_21_R3 => zip-nms-v1_21_R1/src/main/java/dev/imprex/zip/nms/v1_21_R1}/ZipNmsManager.java (92%) rename zip-nms/{zip-nms-v1_21_R1/src/main/java/net/imprex/zip/nms/v1_21_R1 => zip-nms-v1_21_R2/src/main/java/dev/imprex/zip/nms/v1_21_R2}/ZipNmsManager.java (92%) rename zip-nms/{zip-nms-v1_21_R2/src/main/java/net/imprex/zip/nms/v1_21_R2 => zip-nms-v1_21_R3/src/main/java/dev/imprex/zip/nms/v1_21_R3}/ZipNmsManager.java (92%) rename zip-nms/zip-nms-v1_21_R4/src/main/java/{net => dev}/imprex/zip/nms/v1_21_R4/ZipNmsManager.java (92%) rename zip-nms/zip-nms-v1_21_R5/src/main/java/{net => dev}/imprex/zip/nms/v1_21_R5/ZipNmsManager.java (92%) rename zip-nms/zip-nms-v1_21_R6/src/main/java/{net => dev}/imprex/zip/nms/v1_21_R6/ZipNmsManager.java (93%) create mode 100644 zip-nms/zip-nms-v1_21_R7/src/main/java/dev/imprex/zip/nms/v1_21_R7/ZipNmsManager.java delete mode 100644 zip-nms/zip-nms-v1_21_R7/src/main/java/net/imprex/zip/nms/v1_21_R7/ZipNmsManager.java rename zip-plugin/src/main/java/{net => dev}/imprex/zip/Backpack.java (95%) rename zip-plugin/src/main/java/{net => dev}/imprex/zip/BackpackHandler.java (96%) rename zip-plugin/src/main/java/{net => dev}/imprex/zip/BackpackListener.java (96%) rename zip-plugin/src/main/java/{net => dev}/imprex/zip/BackpackMigrator.java (95%) rename zip-plugin/src/main/java/{net => dev}/imprex/zip/BackpackPlugin.java (95%) rename zip-plugin/src/main/java/{net => dev}/imprex/zip/BackpackRecipe.java (85%) rename zip-plugin/src/main/java/{net => dev}/imprex/zip/BackpackRegistry.java (87%) rename zip-plugin/src/main/java/{net => dev}/imprex/zip/BackpackType.java (94%) rename zip-plugin/src/main/java/{net => dev}/imprex/zip/MetricsSystem.java (95%) rename zip-plugin/src/main/java/{net => dev}/imprex/zip/NmsInstance.java (85%) rename zip-plugin/src/main/java/{net => dev}/imprex/zip/UpdateSystem.java (94%) rename zip-plugin/src/main/java/{net => dev}/imprex/zip/command/BackpackCommand.java (95%) rename zip-plugin/src/main/java/{net => dev}/imprex/zip/command/BackpackSubCommand.java (89%) rename zip-plugin/src/main/java/{net => dev}/imprex/zip/command/GiveCommand.java (93%) rename zip-plugin/src/main/java/{net => dev}/imprex/zip/command/LinkCommand.java (95%) rename zip-plugin/src/main/java/{net => dev}/imprex/zip/command/LoreCommand.java (98%) rename zip-plugin/src/main/java/{net => dev}/imprex/zip/command/PickupCommand.java (88%) rename zip-plugin/src/main/java/{net => dev}/imprex/zip/command/TypeCommand.java (90%) rename zip-plugin/src/main/java/{net => dev}/imprex/zip/config/BackpackConfig.java (93%) rename zip-plugin/src/main/java/{net => dev}/imprex/zip/config/BackpackTypeConfig.java (98%) rename zip-plugin/src/main/java/{net => dev}/imprex/zip/config/BackpackTypeListConfig.java (95%) rename zip-plugin/src/main/java/{net => dev}/imprex/zip/config/GeneralConfig.java (97%) rename zip-plugin/src/main/java/{net => dev}/imprex/zip/config/MessageConfig.java (97%) rename zip-plugin/src/main/java/{net => dev}/imprex/zip/config/MessageKey.java (99%) rename zip-plugin/src/main/java/{net => dev}/imprex/zip/config/RecipeConfig.java (97%) rename zip-plugin/src/main/java/{net => dev}/imprex/zip/util/AbstractHttpService.java (94%) rename zip-plugin/src/main/java/{net => dev}/imprex/zip/util/ConsoleUtil.java (97%) rename zip-plugin/src/main/java/{net => dev}/imprex/zip/util/ItemFactory.java (97%) rename zip-plugin/src/main/java/{net => dev}/imprex/zip/util/MathUtil.java (88%) diff --git a/pom.xml b/pom.xml index fd9968e..54fdcfb 100644 --- a/pom.xml +++ b/pom.xml @@ -1,7 +1,7 @@ 4.0.0 - net.imprex + dev.imprex zip ${revision} pom @@ -68,7 +68,7 @@ org.bstats - net.imprex.zip.metrics + dev.imprex.zip.metrics diff --git a/zip-api/pom.xml b/zip-api/pom.xml index 5ad80af..cad8627 100644 --- a/zip-api/pom.xml +++ b/zip-api/pom.xml @@ -2,7 +2,7 @@ 4.0.0 - net.imprex + dev.imprex zip ${revision} diff --git a/zip-api/src/main/java/net/imprex/zip/api/ZIPBackpack.java b/zip-api/src/main/java/net/imprex/zip/api/ZIPBackpack.java index a4dda36..ad9aeb3 100644 --- a/zip-api/src/main/java/net/imprex/zip/api/ZIPBackpack.java +++ b/zip-api/src/main/java/net/imprex/zip/api/ZIPBackpack.java @@ -1,4 +1,4 @@ -package net.imprex.zip.api; +package dev.imprex.zip.api; import org.bukkit.entity.Player; import org.bukkit.inventory.Inventory; diff --git a/zip-api/src/main/java/net/imprex/zip/api/ZIPBackpackType.java b/zip-api/src/main/java/net/imprex/zip/api/ZIPBackpackType.java index 7bf5231..a9944a0 100644 --- a/zip-api/src/main/java/net/imprex/zip/api/ZIPBackpackType.java +++ b/zip-api/src/main/java/net/imprex/zip/api/ZIPBackpackType.java @@ -1,4 +1,4 @@ -package net.imprex.zip.api; +package dev.imprex.zip.api; import java.util.List; diff --git a/zip-api/src/main/java/net/imprex/zip/api/ZIPHandler.java b/zip-api/src/main/java/net/imprex/zip/api/ZIPHandler.java index be4c32f..3a6dfbe 100644 --- a/zip-api/src/main/java/net/imprex/zip/api/ZIPHandler.java +++ b/zip-api/src/main/java/net/imprex/zip/api/ZIPHandler.java @@ -1,4 +1,4 @@ -package net.imprex.zip.api; +package dev.imprex.zip.api; import org.bukkit.inventory.Inventory; import org.bukkit.inventory.ItemStack; diff --git a/zip-api/src/main/java/net/imprex/zip/api/ZIPRecipe.java b/zip-api/src/main/java/net/imprex/zip/api/ZIPRecipe.java index 7daef2d..2db1c57 100644 --- a/zip-api/src/main/java/net/imprex/zip/api/ZIPRecipe.java +++ b/zip-api/src/main/java/net/imprex/zip/api/ZIPRecipe.java @@ -1,4 +1,4 @@ -package net.imprex.zip.api; +package dev.imprex.zip.api; import org.bukkit.Keyed; import org.bukkit.inventory.Recipe; diff --git a/zip-api/src/main/java/net/imprex/zip/api/ZIPRegistry.java b/zip-api/src/main/java/net/imprex/zip/api/ZIPRegistry.java index 9353cc0..21a0b5e 100644 --- a/zip-api/src/main/java/net/imprex/zip/api/ZIPRegistry.java +++ b/zip-api/src/main/java/net/imprex/zip/api/ZIPRegistry.java @@ -1,4 +1,4 @@ -package net.imprex.zip.api; +package dev.imprex.zip.api; import java.util.Collection; diff --git a/zip-api/src/main/java/net/imprex/zip/api/ZIPService.java b/zip-api/src/main/java/net/imprex/zip/api/ZIPService.java index 159226c..01ba6b1 100644 --- a/zip-api/src/main/java/net/imprex/zip/api/ZIPService.java +++ b/zip-api/src/main/java/net/imprex/zip/api/ZIPService.java @@ -1,4 +1,4 @@ -package net.imprex.zip.api; +package dev.imprex.zip.api; public interface ZIPService { diff --git a/zip-api/src/main/java/net/imprex/zip/api/ZIPUniqueId.java b/zip-api/src/main/java/net/imprex/zip/api/ZIPUniqueId.java index a61d765..2b22c08 100644 --- a/zip-api/src/main/java/net/imprex/zip/api/ZIPUniqueId.java +++ b/zip-api/src/main/java/net/imprex/zip/api/ZIPUniqueId.java @@ -1,4 +1,4 @@ -package net.imprex.zip.api; +package dev.imprex.zip.api; public interface ZIPUniqueId { diff --git a/zip-common/pom.xml b/zip-common/pom.xml index af88a85..448d7a6 100644 --- a/zip-common/pom.xml +++ b/zip-common/pom.xml @@ -2,7 +2,7 @@ 4.0.0 - net.imprex + dev.imprex zip ${revision} @@ -24,7 +24,7 @@ provided - net.imprex + dev.imprex zip-api ${revision} compile diff --git a/zip-common/src/main/java/net/imprex/zip/common/BPConstants.java b/zip-common/src/main/java/dev/imprex/zip/common/BPConstants.java similarity index 95% rename from zip-common/src/main/java/net/imprex/zip/common/BPConstants.java rename to zip-common/src/main/java/dev/imprex/zip/common/BPConstants.java index a7f1cc1..3a847b1 100644 --- a/zip-common/src/main/java/net/imprex/zip/common/BPConstants.java +++ b/zip-common/src/main/java/dev/imprex/zip/common/BPConstants.java @@ -1,4 +1,4 @@ -package net.imprex.zip.common; +package dev.imprex.zip.common; public class BPConstants { diff --git a/zip-common/src/main/java/net/imprex/zip/common/Ingrim4Buffer.java b/zip-common/src/main/java/dev/imprex/zip/common/Ingrim4Buffer.java similarity index 99% rename from zip-common/src/main/java/net/imprex/zip/common/Ingrim4Buffer.java rename to zip-common/src/main/java/dev/imprex/zip/common/Ingrim4Buffer.java index 6ffb81c..433cb6c 100644 --- a/zip-common/src/main/java/net/imprex/zip/common/Ingrim4Buffer.java +++ b/zip-common/src/main/java/dev/imprex/zip/common/Ingrim4Buffer.java @@ -1,4 +1,4 @@ -package net.imprex.zip.common; +package dev.imprex.zip.common; import java.io.IOException; import java.io.InputStream; diff --git a/zip-common/src/main/java/net/imprex/zip/common/MinecraftVersion.java b/zip-common/src/main/java/dev/imprex/zip/common/MinecraftVersion.java similarity index 98% rename from zip-common/src/main/java/net/imprex/zip/common/MinecraftVersion.java rename to zip-common/src/main/java/dev/imprex/zip/common/MinecraftVersion.java index 2550e93..25ea700 100644 --- a/zip-common/src/main/java/net/imprex/zip/common/MinecraftVersion.java +++ b/zip-common/src/main/java/dev/imprex/zip/common/MinecraftVersion.java @@ -2,7 +2,7 @@ * @author Imprex-Development * @see MinecraftVersion.java */ -package net.imprex.zip.common; +package dev.imprex.zip.common; import java.util.ArrayList; import java.util.List; diff --git a/zip-common/src/main/java/net/imprex/zip/common/ReflectionUtil.java b/zip-common/src/main/java/dev/imprex/zip/common/ReflectionUtil.java similarity index 99% rename from zip-common/src/main/java/net/imprex/zip/common/ReflectionUtil.java rename to zip-common/src/main/java/dev/imprex/zip/common/ReflectionUtil.java index 883d53f..4674f67 100644 --- a/zip-common/src/main/java/net/imprex/zip/common/ReflectionUtil.java +++ b/zip-common/src/main/java/dev/imprex/zip/common/ReflectionUtil.java @@ -1,4 +1,4 @@ -package net.imprex.zip.common; +package dev.imprex.zip.common; import java.lang.reflect.Constructor; import java.lang.reflect.Field; diff --git a/zip-common/src/main/java/net/imprex/zip/common/ServerVersion.java b/zip-common/src/main/java/dev/imprex/zip/common/ServerVersion.java similarity index 97% rename from zip-common/src/main/java/net/imprex/zip/common/ServerVersion.java rename to zip-common/src/main/java/dev/imprex/zip/common/ServerVersion.java index cacf07d..312b93e 100644 --- a/zip-common/src/main/java/net/imprex/zip/common/ServerVersion.java +++ b/zip-common/src/main/java/dev/imprex/zip/common/ServerVersion.java @@ -2,7 +2,7 @@ * @author Imprex-Development * @see ServerVersion.java */ -package net.imprex.zip.common; +package dev.imprex.zip.common; public class ServerVersion { diff --git a/zip-common/src/main/java/net/imprex/zip/common/UniqueId.java b/zip-common/src/main/java/dev/imprex/zip/common/UniqueId.java similarity index 99% rename from zip-common/src/main/java/net/imprex/zip/common/UniqueId.java rename to zip-common/src/main/java/dev/imprex/zip/common/UniqueId.java index a843d96..6b0e384 100644 --- a/zip-common/src/main/java/net/imprex/zip/common/UniqueId.java +++ b/zip-common/src/main/java/dev/imprex/zip/common/UniqueId.java @@ -1,4 +1,4 @@ -package net.imprex.zip.common; +package dev.imprex.zip.common; import java.net.NetworkInterface; import java.net.SocketException; @@ -9,7 +9,7 @@ import java.util.Enumeration; import java.util.concurrent.atomic.AtomicInteger; -import net.imprex.zip.api.ZIPUniqueId; +import dev.imprex.zip.api.ZIPUniqueId; /** * diff --git a/zip-common/src/main/java/net/imprex/zip/common/Version.java b/zip-common/src/main/java/dev/imprex/zip/common/Version.java similarity index 98% rename from zip-common/src/main/java/net/imprex/zip/common/Version.java rename to zip-common/src/main/java/dev/imprex/zip/common/Version.java index 729f905..5391090 100644 --- a/zip-common/src/main/java/net/imprex/zip/common/Version.java +++ b/zip-common/src/main/java/dev/imprex/zip/common/Version.java @@ -2,7 +2,7 @@ * @author Imprex-Development * @see Version.java */ -package net.imprex.zip.common; +package dev.imprex.zip.common; import java.io.IOException; import java.util.Objects; diff --git a/zip-common/src/main/java/net/imprex/zip/common/ZIPLogger.java b/zip-common/src/main/java/dev/imprex/zip/common/ZIPLogger.java similarity index 97% rename from zip-common/src/main/java/net/imprex/zip/common/ZIPLogger.java rename to zip-common/src/main/java/dev/imprex/zip/common/ZIPLogger.java index 9d8a693..40d51b0 100644 --- a/zip-common/src/main/java/net/imprex/zip/common/ZIPLogger.java +++ b/zip-common/src/main/java/dev/imprex/zip/common/ZIPLogger.java @@ -1,4 +1,4 @@ -package net.imprex.zip.common; +package dev.imprex.zip.common; import java.util.logging.Level; import java.util.logging.Logger; diff --git a/zip-nms/pom.xml b/zip-nms/pom.xml index 75ca266..d09fe53 100644 --- a/zip-nms/pom.xml +++ b/zip-nms/pom.xml @@ -2,7 +2,7 @@ 4.0.0 - net.imprex + dev.imprex zip ${revision} diff --git a/zip-nms/zip-nms-api/pom.xml b/zip-nms/zip-nms-api/pom.xml index 270d646..c6d5851 100644 --- a/zip-nms/zip-nms-api/pom.xml +++ b/zip-nms/zip-nms-api/pom.xml @@ -2,7 +2,7 @@ 4.0.0 - net.imprex + dev.imprex zip-nms ${revision} @@ -18,7 +18,7 @@ provided - net.imprex + dev.imprex zip-common ${revision} compile diff --git a/zip-nms/zip-nms-api/src/main/java/net/imprex/zip/nms/api/ItemStackContainerResult.java b/zip-nms/zip-nms-api/src/main/java/dev/imprex/zip/nms/api/ItemStackContainerResult.java similarity index 78% rename from zip-nms/zip-nms-api/src/main/java/net/imprex/zip/nms/api/ItemStackContainerResult.java rename to zip-nms/zip-nms-api/src/main/java/dev/imprex/zip/nms/api/ItemStackContainerResult.java index 3e5390d..eaa64d1 100644 --- a/zip-nms/zip-nms-api/src/main/java/net/imprex/zip/nms/api/ItemStackContainerResult.java +++ b/zip-nms/zip-nms-api/src/main/java/dev/imprex/zip/nms/api/ItemStackContainerResult.java @@ -1,4 +1,4 @@ -package net.imprex.zip.nms.api; +package dev.imprex.zip.nms.api; import java.util.List; diff --git a/zip-nms/zip-nms-api/src/main/java/net/imprex/zip/nms/api/ItemStackWithSlot.java b/zip-nms/zip-nms-api/src/main/java/dev/imprex/zip/nms/api/ItemStackWithSlot.java similarity index 76% rename from zip-nms/zip-nms-api/src/main/java/net/imprex/zip/nms/api/ItemStackWithSlot.java rename to zip-nms/zip-nms-api/src/main/java/dev/imprex/zip/nms/api/ItemStackWithSlot.java index d1bdc29..4c7e252 100644 --- a/zip-nms/zip-nms-api/src/main/java/net/imprex/zip/nms/api/ItemStackWithSlot.java +++ b/zip-nms/zip-nms-api/src/main/java/dev/imprex/zip/nms/api/ItemStackWithSlot.java @@ -1,4 +1,4 @@ -package net.imprex.zip.nms.api; +package dev.imprex.zip.nms.api; import org.bukkit.inventory.ItemStack; diff --git a/zip-nms/zip-nms-api/src/main/java/dev/imprex/zip/nms/api/NmsManager.java b/zip-nms/zip-nms-api/src/main/java/dev/imprex/zip/nms/api/NmsManager.java new file mode 100644 index 0000000..48ffabd --- /dev/null +++ b/zip-nms/zip-nms-api/src/main/java/dev/imprex/zip/nms/api/NmsManager.java @@ -0,0 +1,73 @@ +package dev.imprex.zip.nms.api; + +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; + +import org.bukkit.Bukkit; +import org.bukkit.Material; +import org.bukkit.inventory.ItemStack; +import org.bukkit.inventory.meta.SkullMeta; + +import com.google.gson.JsonObject; + +import dev.imprex.zip.common.ReflectionUtil; + +public abstract class NmsManager { + + private static final Class CRAFT_ITEM_STACK_CLASS; + + private static Method craftItemStackAsNmsCopy; + private static Method craftItemStackAsCraftMirror; + + static { + try { + CRAFT_ITEM_STACK_CLASS = Class.forName(Bukkit.getServer().getClass().getPackageName() + ".inventory.CraftItemStack"); + } catch (ClassNotFoundException e) { + throw new IllegalStateException(e); + } + } + + protected static T asNmsCopy(ItemStack bukkitItem, Class minecraftItemClass) { + try { + if (craftItemStackAsNmsCopy == null) { + Method method = ReflectionUtil.searchMethod( + CRAFT_ITEM_STACK_CLASS, + minecraftItemClass, + ItemStack.class); + method.setAccessible(true); + craftItemStackAsNmsCopy = method; + } + + return minecraftItemClass.cast(craftItemStackAsNmsCopy.invoke(null, bukkitItem)); + } catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException e) { + throw new IllegalStateException(e); + } + } + + protected static ItemStack asCraftMirror(T minecraftItem) { + try { + if (craftItemStackAsCraftMirror == null) { + Method method = ReflectionUtil.searchMethod( + CRAFT_ITEM_STACK_CLASS, + CRAFT_ITEM_STACK_CLASS, + minecraftItem.getClass()); + method.setAccessible(true); + craftItemStackAsCraftMirror = method; + } + + return (ItemStack) craftItemStackAsCraftMirror.invoke(null, minecraftItem); + } catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException e) { + throw new IllegalStateException(e); + } + } + + public abstract JsonObject itemstackToJsonElement(ItemStack[] items); + + public abstract ItemStackContainerResult jsonElementToItemStack(JsonObject jsonElement); + + public abstract JsonObject migrateToJsonElement(byte[] binary); + + public abstract void setSkullProfile(SkullMeta meta, String texture); + + public abstract boolean isAir(Material material); +} \ No newline at end of file diff --git a/zip-nms/zip-nms-api/src/main/java/net/imprex/zip/nms/api/NmsManager.java b/zip-nms/zip-nms-api/src/main/java/net/imprex/zip/nms/api/NmsManager.java deleted file mode 100644 index 01c789d..0000000 --- a/zip-nms/zip-nms-api/src/main/java/net/imprex/zip/nms/api/NmsManager.java +++ /dev/null @@ -1,20 +0,0 @@ -package net.imprex.zip.nms.api; - -import org.bukkit.Material; -import org.bukkit.inventory.ItemStack; -import org.bukkit.inventory.meta.SkullMeta; - -import com.google.gson.JsonObject; - -public interface NmsManager { - - JsonObject itemstackToJsonElement(ItemStack[] items); - - ItemStackContainerResult jsonElementToItemStack(JsonObject jsonElement); - - JsonObject migrateToJsonElement(byte[] binary); - - void setSkullProfile(SkullMeta meta, String texture); - - boolean isAir(Material material); -} \ No newline at end of file diff --git a/zip-nms/zip-nms-v1_19_R1/pom.xml b/zip-nms/zip-nms-v1_19_R1/pom.xml index 58fc3ea..734c901 100644 --- a/zip-nms/zip-nms-v1_19_R1/pom.xml +++ b/zip-nms/zip-nms-v1_19_R1/pom.xml @@ -2,7 +2,7 @@ 4.0.0 - net.imprex + dev.imprex zip-nms ${revision} @@ -12,7 +12,7 @@ - net.imprex + dev.imprex zip-nms-api ${revision} provided @@ -28,6 +28,20 @@ + + org.apache.maven.plugins + maven-shade-plugin + + true + mojang-mapped + + + dev.imprex.zip.nms.v1_19_R1 + dev.imprex.zip.nms.v1_19_R1_mojang + + + + net.md-5 specialsource-maven-plugin diff --git a/zip-nms/zip-nms-v1_20_R1/src/main/java/net/imprex/zip/nms/v1_20_R1/ZipNmsManager.java b/zip-nms/zip-nms-v1_19_R1/src/main/java/dev/imprex/zip/nms/v1_19_R1/ZipNmsManager.java similarity index 91% rename from zip-nms/zip-nms-v1_20_R1/src/main/java/net/imprex/zip/nms/v1_20_R1/ZipNmsManager.java rename to zip-nms/zip-nms-v1_19_R1/src/main/java/dev/imprex/zip/nms/v1_19_R1/ZipNmsManager.java index 5b72e6a..800957b 100644 --- a/zip-nms/zip-nms-v1_20_R1/src/main/java/net/imprex/zip/nms/v1_20_R1/ZipNmsManager.java +++ b/zip-nms/zip-nms-v1_19_R1/src/main/java/dev/imprex/zip/nms/v1_19_R1/ZipNmsManager.java @@ -1,4 +1,4 @@ -package net.imprex.zip.nms.v1_20_R1; +package dev.imprex.zip.nms.v1_19_R1; import java.io.ByteArrayInputStream; import java.io.IOException; @@ -8,7 +8,6 @@ import java.util.UUID; import org.bukkit.Material; -import org.bukkit.craftbukkit.v1_20_R1.inventory.CraftItemStack; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.SkullMeta; @@ -22,11 +21,11 @@ import com.mojang.serialization.DynamicOps; import com.mojang.serialization.JsonOps; -import net.imprex.zip.common.BPConstants; -import net.imprex.zip.common.ReflectionUtil; -import net.imprex.zip.nms.api.ItemStackContainerResult; -import net.imprex.zip.nms.api.ItemStackWithSlot; -import net.imprex.zip.nms.api.NmsManager; +import dev.imprex.zip.common.BPConstants; +import dev.imprex.zip.common.ReflectionUtil; +import dev.imprex.zip.nms.api.ItemStackContainerResult; +import dev.imprex.zip.nms.api.ItemStackWithSlot; +import dev.imprex.zip.nms.api.NmsManager; import net.minecraft.SharedConstants; import net.minecraft.core.RegistryAccess; import net.minecraft.nbt.CompoundTag; @@ -39,7 +38,7 @@ import net.minecraft.util.datafix.DataFixers; import net.minecraft.util.datafix.fixes.References; -public class ZipNmsManager implements NmsManager { +public class ZipNmsManager extends NmsManager { private static final Class CRAFTMETASKULL_CLASS = ReflectionUtil.getCraftBukkitClass("inventory.CraftMetaSkull"); private static final Method CRAFTMETASKULL_SET_PROFILE = ReflectionUtil.getMethod(CRAFTMETASKULL_CLASS, @@ -61,7 +60,7 @@ public JsonObject itemstackToJsonElement(ItemStack[] items) { if (item == null || item.getType() == Material.AIR) { continue; } - net.minecraft.world.item.ItemStack minecraftItem = CraftItemStack.asNMSCopy(item); + net.minecraft.world.item.ItemStack minecraftItem = asNmsCopy(item, net.minecraft.world.item.ItemStack.class); DataResult result = net.minecraft.world.item.ItemStack.CODEC.encodeStart(DYNAMIC_OPS_JSON, minecraftItem); JsonObject resultJson = result.getOrThrow(false, error -> {}).getAsJsonObject(); @@ -100,7 +99,7 @@ public ItemStackContainerResult jsonElementToItemStack(JsonObject json) { .parse(DYNAMIC_OPS_JSON, dynamicItemFixed.getValue()) .getOrThrow(false, error -> {}); - ItemStack bukkitItem = CraftItemStack.asCraftMirror(minecraftItem); + ItemStack bukkitItem = asCraftMirror(minecraftItem); int slot = item.getAsJsonObject().get(BPConstants.KEY_INVENTORY_SLOT).getAsInt(); items.add(new ItemStackWithSlot(slot, bukkitItem)); diff --git a/zip-nms/zip-nms-v1_19_R2/pom.xml b/zip-nms/zip-nms-v1_19_R2/pom.xml index 37ed07c..6053a13 100644 --- a/zip-nms/zip-nms-v1_19_R2/pom.xml +++ b/zip-nms/zip-nms-v1_19_R2/pom.xml @@ -2,7 +2,7 @@ 4.0.0 - net.imprex + dev.imprex zip-nms ${revision} @@ -12,7 +12,7 @@ - net.imprex + dev.imprex zip-nms-api ${revision} provided @@ -28,6 +28,20 @@ + + org.apache.maven.plugins + maven-shade-plugin + + true + mojang-mapped + + + dev.imprex.zip.nms.v1_19_R2 + dev.imprex.zip.nms.v1_19_R2_mojang + + + + net.md-5 specialsource-maven-plugin diff --git a/zip-nms/zip-nms-v1_19_R1/src/main/java/net/imprex/zip/nms/v1_19_R1/ZipNmsManager.java b/zip-nms/zip-nms-v1_19_R2/src/main/java/dev/imprex/zip/nms/v1_19_R2/ZipNmsManager.java similarity index 91% rename from zip-nms/zip-nms-v1_19_R1/src/main/java/net/imprex/zip/nms/v1_19_R1/ZipNmsManager.java rename to zip-nms/zip-nms-v1_19_R2/src/main/java/dev/imprex/zip/nms/v1_19_R2/ZipNmsManager.java index 36fae81..d2c036b 100644 --- a/zip-nms/zip-nms-v1_19_R1/src/main/java/net/imprex/zip/nms/v1_19_R1/ZipNmsManager.java +++ b/zip-nms/zip-nms-v1_19_R2/src/main/java/dev/imprex/zip/nms/v1_19_R2/ZipNmsManager.java @@ -1,4 +1,4 @@ -package net.imprex.zip.nms.v1_19_R1; +package dev.imprex.zip.nms.v1_19_R2; import java.io.ByteArrayInputStream; import java.io.IOException; @@ -8,7 +8,6 @@ import java.util.UUID; import org.bukkit.Material; -import org.bukkit.craftbukkit.v1_19_R1.inventory.CraftItemStack; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.SkullMeta; @@ -22,11 +21,11 @@ import com.mojang.serialization.DynamicOps; import com.mojang.serialization.JsonOps; -import net.imprex.zip.common.BPConstants; -import net.imprex.zip.common.ReflectionUtil; -import net.imprex.zip.nms.api.ItemStackContainerResult; -import net.imprex.zip.nms.api.ItemStackWithSlot; -import net.imprex.zip.nms.api.NmsManager; +import dev.imprex.zip.common.BPConstants; +import dev.imprex.zip.common.ReflectionUtil; +import dev.imprex.zip.nms.api.ItemStackContainerResult; +import dev.imprex.zip.nms.api.ItemStackWithSlot; +import dev.imprex.zip.nms.api.NmsManager; import net.minecraft.SharedConstants; import net.minecraft.core.RegistryAccess; import net.minecraft.nbt.CompoundTag; @@ -39,7 +38,7 @@ import net.minecraft.util.datafix.DataFixers; import net.minecraft.util.datafix.fixes.References; -public class ZipNmsManager implements NmsManager { +public class ZipNmsManager extends NmsManager { private static final Class CRAFTMETASKULL_CLASS = ReflectionUtil.getCraftBukkitClass("inventory.CraftMetaSkull"); private static final Method CRAFTMETASKULL_SET_PROFILE = ReflectionUtil.getMethod(CRAFTMETASKULL_CLASS, @@ -61,7 +60,7 @@ public JsonObject itemstackToJsonElement(ItemStack[] items) { if (item == null || item.getType() == Material.AIR) { continue; } - net.minecraft.world.item.ItemStack minecraftItem = CraftItemStack.asNMSCopy(item); + net.minecraft.world.item.ItemStack minecraftItem = asNmsCopy(item, net.minecraft.world.item.ItemStack.class); DataResult result = net.minecraft.world.item.ItemStack.CODEC.encodeStart(DYNAMIC_OPS_JSON, minecraftItem); JsonObject resultJson = result.getOrThrow(false, error -> {}).getAsJsonObject(); @@ -100,7 +99,7 @@ public ItemStackContainerResult jsonElementToItemStack(JsonObject json) { .parse(DYNAMIC_OPS_JSON, dynamicItemFixed.getValue()) .getOrThrow(false, error -> {}); - ItemStack bukkitItem = CraftItemStack.asCraftMirror(minecraftItem); + ItemStack bukkitItem = asCraftMirror(minecraftItem); int slot = item.getAsJsonObject().get(BPConstants.KEY_INVENTORY_SLOT).getAsInt(); items.add(new ItemStackWithSlot(slot, bukkitItem)); diff --git a/zip-nms/zip-nms-v1_19_R3/pom.xml b/zip-nms/zip-nms-v1_19_R3/pom.xml index 80412a8..4e9e2ae 100644 --- a/zip-nms/zip-nms-v1_19_R3/pom.xml +++ b/zip-nms/zip-nms-v1_19_R3/pom.xml @@ -2,7 +2,7 @@ 4.0.0 - net.imprex + dev.imprex zip-nms ${revision} @@ -12,7 +12,7 @@ - net.imprex + dev.imprex zip-nms-api ${revision} provided @@ -28,6 +28,20 @@ + + org.apache.maven.plugins + maven-shade-plugin + + true + mojang-mapped + + + dev.imprex.zip.nms.v1_19_R3 + dev.imprex.zip.nms.v1_19_R3_mojang + + + + net.md-5 specialsource-maven-plugin diff --git a/zip-nms/zip-nms-v1_19_R2/src/main/java/net/imprex/zip/nms/v1_19_R2/ZipNmsManager.java b/zip-nms/zip-nms-v1_19_R3/src/main/java/dev/imprex/zip/nms/v1_19_R3/ZipNmsManager.java similarity index 91% rename from zip-nms/zip-nms-v1_19_R2/src/main/java/net/imprex/zip/nms/v1_19_R2/ZipNmsManager.java rename to zip-nms/zip-nms-v1_19_R3/src/main/java/dev/imprex/zip/nms/v1_19_R3/ZipNmsManager.java index 3410dfc..24d3ef8 100644 --- a/zip-nms/zip-nms-v1_19_R2/src/main/java/net/imprex/zip/nms/v1_19_R2/ZipNmsManager.java +++ b/zip-nms/zip-nms-v1_19_R3/src/main/java/dev/imprex/zip/nms/v1_19_R3/ZipNmsManager.java @@ -1,4 +1,4 @@ -package net.imprex.zip.nms.v1_19_R2; +package dev.imprex.zip.nms.v1_19_R3; import java.io.ByteArrayInputStream; import java.io.IOException; @@ -8,7 +8,6 @@ import java.util.UUID; import org.bukkit.Material; -import org.bukkit.craftbukkit.v1_19_R2.inventory.CraftItemStack; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.SkullMeta; @@ -22,11 +21,11 @@ import com.mojang.serialization.DynamicOps; import com.mojang.serialization.JsonOps; -import net.imprex.zip.common.BPConstants; -import net.imprex.zip.common.ReflectionUtil; -import net.imprex.zip.nms.api.ItemStackContainerResult; -import net.imprex.zip.nms.api.ItemStackWithSlot; -import net.imprex.zip.nms.api.NmsManager; +import dev.imprex.zip.common.BPConstants; +import dev.imprex.zip.common.ReflectionUtil; +import dev.imprex.zip.nms.api.ItemStackContainerResult; +import dev.imprex.zip.nms.api.ItemStackWithSlot; +import dev.imprex.zip.nms.api.NmsManager; import net.minecraft.SharedConstants; import net.minecraft.core.RegistryAccess; import net.minecraft.nbt.CompoundTag; @@ -39,7 +38,7 @@ import net.minecraft.util.datafix.DataFixers; import net.minecraft.util.datafix.fixes.References; -public class ZipNmsManager implements NmsManager { +public class ZipNmsManager extends NmsManager { private static final Class CRAFTMETASKULL_CLASS = ReflectionUtil.getCraftBukkitClass("inventory.CraftMetaSkull"); private static final Method CRAFTMETASKULL_SET_PROFILE = ReflectionUtil.getMethod(CRAFTMETASKULL_CLASS, @@ -61,7 +60,7 @@ public JsonObject itemstackToJsonElement(ItemStack[] items) { if (item == null || item.getType() == Material.AIR) { continue; } - net.minecraft.world.item.ItemStack minecraftItem = CraftItemStack.asNMSCopy(item); + net.minecraft.world.item.ItemStack minecraftItem = asNmsCopy(item, net.minecraft.world.item.ItemStack.class); DataResult result = net.minecraft.world.item.ItemStack.CODEC.encodeStart(DYNAMIC_OPS_JSON, minecraftItem); JsonObject resultJson = result.getOrThrow(false, error -> {}).getAsJsonObject(); @@ -100,7 +99,7 @@ public ItemStackContainerResult jsonElementToItemStack(JsonObject json) { .parse(DYNAMIC_OPS_JSON, dynamicItemFixed.getValue()) .getOrThrow(false, error -> {}); - ItemStack bukkitItem = CraftItemStack.asCraftMirror(minecraftItem); + ItemStack bukkitItem = asCraftMirror(minecraftItem); int slot = item.getAsJsonObject().get(BPConstants.KEY_INVENTORY_SLOT).getAsInt(); items.add(new ItemStackWithSlot(slot, bukkitItem)); diff --git a/zip-nms/zip-nms-v1_20_R1/pom.xml b/zip-nms/zip-nms-v1_20_R1/pom.xml index 4e3563a..a039791 100644 --- a/zip-nms/zip-nms-v1_20_R1/pom.xml +++ b/zip-nms/zip-nms-v1_20_R1/pom.xml @@ -4,7 +4,7 @@ 4.0.0 - net.imprex + dev.imprex zip-nms ${revision} @@ -14,7 +14,7 @@ - net.imprex + dev.imprex zip-nms-api ${revision} provided @@ -30,6 +30,20 @@ + + org.apache.maven.plugins + maven-shade-plugin + + true + mojang-mapped + + + dev.imprex.zip.nms.v1_20_R1 + dev.imprex.zip.nms.v1_20_R1_mojang + + + + net.md-5 specialsource-maven-plugin diff --git a/zip-nms/zip-nms-v1_19_R3/src/main/java/net/imprex/zip/nms/v1_19_R3/ZipNmsManager.java b/zip-nms/zip-nms-v1_20_R1/src/main/java/dev/imprex/zip/nms/v1_20_R1/ZipNmsManager.java similarity index 91% rename from zip-nms/zip-nms-v1_19_R3/src/main/java/net/imprex/zip/nms/v1_19_R3/ZipNmsManager.java rename to zip-nms/zip-nms-v1_20_R1/src/main/java/dev/imprex/zip/nms/v1_20_R1/ZipNmsManager.java index 2afcf22..a35acee 100644 --- a/zip-nms/zip-nms-v1_19_R3/src/main/java/net/imprex/zip/nms/v1_19_R3/ZipNmsManager.java +++ b/zip-nms/zip-nms-v1_20_R1/src/main/java/dev/imprex/zip/nms/v1_20_R1/ZipNmsManager.java @@ -1,4 +1,4 @@ -package net.imprex.zip.nms.v1_19_R3; +package dev.imprex.zip.nms.v1_20_R1; import java.io.ByteArrayInputStream; import java.io.IOException; @@ -8,7 +8,6 @@ import java.util.UUID; import org.bukkit.Material; -import org.bukkit.craftbukkit.v1_19_R3.inventory.CraftItemStack; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.SkullMeta; @@ -22,11 +21,11 @@ import com.mojang.serialization.DynamicOps; import com.mojang.serialization.JsonOps; -import net.imprex.zip.common.BPConstants; -import net.imprex.zip.common.ReflectionUtil; -import net.imprex.zip.nms.api.ItemStackContainerResult; -import net.imprex.zip.nms.api.ItemStackWithSlot; -import net.imprex.zip.nms.api.NmsManager; +import dev.imprex.zip.common.BPConstants; +import dev.imprex.zip.common.ReflectionUtil; +import dev.imprex.zip.nms.api.ItemStackContainerResult; +import dev.imprex.zip.nms.api.ItemStackWithSlot; +import dev.imprex.zip.nms.api.NmsManager; import net.minecraft.SharedConstants; import net.minecraft.core.RegistryAccess; import net.minecraft.nbt.CompoundTag; @@ -39,7 +38,7 @@ import net.minecraft.util.datafix.DataFixers; import net.minecraft.util.datafix.fixes.References; -public class ZipNmsManager implements NmsManager { +public class ZipNmsManager extends NmsManager { private static final Class CRAFTMETASKULL_CLASS = ReflectionUtil.getCraftBukkitClass("inventory.CraftMetaSkull"); private static final Method CRAFTMETASKULL_SET_PROFILE = ReflectionUtil.getMethod(CRAFTMETASKULL_CLASS, @@ -61,7 +60,7 @@ public JsonObject itemstackToJsonElement(ItemStack[] items) { if (item == null || item.getType() == Material.AIR) { continue; } - net.minecraft.world.item.ItemStack minecraftItem = CraftItemStack.asNMSCopy(item); + net.minecraft.world.item.ItemStack minecraftItem = asNmsCopy(item, net.minecraft.world.item.ItemStack.class); DataResult result = net.minecraft.world.item.ItemStack.CODEC.encodeStart(DYNAMIC_OPS_JSON, minecraftItem); JsonObject resultJson = result.getOrThrow(false, error -> {}).getAsJsonObject(); @@ -100,7 +99,7 @@ public ItemStackContainerResult jsonElementToItemStack(JsonObject json) { .parse(DYNAMIC_OPS_JSON, dynamicItemFixed.getValue()) .getOrThrow(false, error -> {}); - ItemStack bukkitItem = CraftItemStack.asCraftMirror(minecraftItem); + ItemStack bukkitItem = asCraftMirror(minecraftItem); int slot = item.getAsJsonObject().get(BPConstants.KEY_INVENTORY_SLOT).getAsInt(); items.add(new ItemStackWithSlot(slot, bukkitItem)); diff --git a/zip-nms/zip-nms-v1_20_R2/pom.xml b/zip-nms/zip-nms-v1_20_R2/pom.xml index e8aec54..ba2158a 100644 --- a/zip-nms/zip-nms-v1_20_R2/pom.xml +++ b/zip-nms/zip-nms-v1_20_R2/pom.xml @@ -4,7 +4,7 @@ 4.0.0 - net.imprex + dev.imprex zip-nms ${revision} @@ -14,7 +14,7 @@ - net.imprex + dev.imprex zip-nms-api ${revision} provided @@ -30,6 +30,20 @@ + + org.apache.maven.plugins + maven-shade-plugin + + true + mojang-mapped + + + dev.imprex.zip.nms.v1_20_R2 + dev.imprex.zip.nms.v1_20_R2_mojang + + + + net.md-5 specialsource-maven-plugin diff --git a/zip-nms/zip-nms-v1_20_R2/src/main/java/dev/imprex/zip/nms/v1_20_R2/ZipNmsManager.java b/zip-nms/zip-nms-v1_20_R2/src/main/java/dev/imprex/zip/nms/v1_20_R2/ZipNmsManager.java new file mode 100644 index 0000000..6b2552b --- /dev/null +++ b/zip-nms/zip-nms-v1_20_R2/src/main/java/dev/imprex/zip/nms/v1_20_R2/ZipNmsManager.java @@ -0,0 +1,171 @@ +package dev.imprex.zip.nms.v1_20_R2; + +import java.io.ByteArrayInputStream; +import java.io.IOException; +import java.lang.reflect.Method; +import java.util.ArrayList; +import java.util.List; +import java.util.UUID; + +import org.bukkit.Material; +import org.bukkit.inventory.ItemStack; +import org.bukkit.inventory.meta.SkullMeta; + +import com.google.gson.JsonArray; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.mojang.authlib.GameProfile; +import com.mojang.authlib.properties.Property; +import com.mojang.serialization.DataResult; +import com.mojang.serialization.Dynamic; +import com.mojang.serialization.DynamicOps; +import com.mojang.serialization.JsonOps; + +import dev.imprex.zip.common.BPConstants; +import dev.imprex.zip.common.ReflectionUtil; +import dev.imprex.zip.nms.api.ItemStackContainerResult; +import dev.imprex.zip.nms.api.ItemStackWithSlot; +import dev.imprex.zip.nms.api.NmsManager; +import net.minecraft.SharedConstants; +import net.minecraft.core.RegistryAccess; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.nbt.ListTag; +import net.minecraft.nbt.NbtIo; +import net.minecraft.nbt.NbtOps; +import net.minecraft.nbt.Tag; +import net.minecraft.resources.RegistryOps; +import net.minecraft.server.MinecraftServer; +import net.minecraft.util.datafix.DataFixers; +import net.minecraft.util.datafix.fixes.References; + +public class ZipNmsManager extends NmsManager { + + private static final Class CRAFTMETASKULL_CLASS = ReflectionUtil.getCraftBukkitClass("inventory.CraftMetaSkull"); + private static final Method CRAFTMETASKULL_SET_PROFILE = ReflectionUtil.getMethod(CRAFTMETASKULL_CLASS, + "setProfile", GameProfile.class); + + private static final int DATA_VERSION = SharedConstants.getCurrentVersion().getDataVersion().getVersion(); + + @SuppressWarnings("deprecation") + private static final RegistryAccess DEFAULT_REGISTRY = MinecraftServer.getServer().registryAccess(); + + private static final DynamicOps DYNAMIC_OPS_NBT = RegistryOps.create(NbtOps.INSTANCE, DEFAULT_REGISTRY); + private static final DynamicOps DYNAMIC_OPS_JSON = RegistryOps.create(JsonOps.INSTANCE, DEFAULT_REGISTRY); + + @Override + public JsonObject itemstackToJsonElement(ItemStack[] items) { + JsonArray jsonItems = new JsonArray(); + for (int slot = 0; slot < items.length; slot++) { + ItemStack item = items[slot]; + if (item == null || item.getType() == Material.AIR) { + continue; + } + net.minecraft.world.item.ItemStack minecraftItem = asNmsCopy(item, net.minecraft.world.item.ItemStack.class); + + DataResult result = net.minecraft.world.item.ItemStack.CODEC.encodeStart(DYNAMIC_OPS_JSON, minecraftItem); + JsonObject resultJson = result.getOrThrow(false, error -> {}).getAsJsonObject(); + + resultJson.addProperty(BPConstants.KEY_INVENTORY_SLOT, slot); + jsonItems.add(resultJson); + } + + JsonObject outputJson = new JsonObject(); + outputJson.addProperty(BPConstants.KEY_INVENTORY_VERSION, BPConstants.INVENTORY_VERSION); + outputJson.addProperty(BPConstants.KEY_INVENTORY_DATA_VERSION, DATA_VERSION); + outputJson.addProperty(BPConstants.KEY_INVENTORY_ITEMS_SIZE, items.length); + outputJson.add(BPConstants.KEY_INVENTORY_ITEMS, jsonItems); + return outputJson; + } + + @Override + public ItemStackContainerResult jsonElementToItemStack(JsonObject json) { + // check if current version the same + if (json.get(BPConstants.KEY_INVENTORY_VERSION).getAsInt() != BPConstants.INVENTORY_VERSION) { + throw new IllegalStateException("Unable to convert binary to itemstack because zip version is missmatching"); + } + + int dataVersion = json.get(BPConstants.KEY_INVENTORY_DATA_VERSION).getAsInt(); + int itemsSize = json.get(BPConstants.KEY_INVENTORY_ITEMS_SIZE).getAsInt(); + + List items = new ArrayList<>(); + + JsonArray jsonItems = json.get(BPConstants.KEY_INVENTORY_ITEMS).getAsJsonArray(); + for (JsonElement item : jsonItems) { + Dynamic dynamicItem = new Dynamic<>(JsonOps.INSTANCE, item); + Dynamic dynamicItemFixed = DataFixers.getDataFixer() + .update(References.ITEM_STACK, dynamicItem, dataVersion, DATA_VERSION); + + net.minecraft.world.item.ItemStack minecraftItem = net.minecraft.world.item.ItemStack.CODEC + .parse(DYNAMIC_OPS_JSON, dynamicItemFixed.getValue()) + .getOrThrow(false, error -> {}); + + ItemStack bukkitItem = asCraftMirror(minecraftItem); + int slot = item.getAsJsonObject().get(BPConstants.KEY_INVENTORY_SLOT).getAsInt(); + + items.add(new ItemStackWithSlot(slot, bukkitItem)); + } + + return new ItemStackContainerResult(itemsSize, items); + } + + @Override + public JsonObject migrateToJsonElement(byte[] binary) { + CompoundTag compound; + try (ByteArrayInputStream inputStream = new ByteArrayInputStream(binary)) { + compound = NbtIo.readCompressed(inputStream); + } catch (IOException e) { + throw new IllegalStateException("Unable to parse binary to nbt", e); + } + + ListTag list = compound.getList("i", 10); + + int currentSlot = 0; + + JsonArray jsonItems = new JsonArray(); + for (Tag base : list) { + if (base instanceof CompoundTag itemTag) { + String itemType = itemTag.getString("id"); + if (itemType.equals("minecraft:air")) { + currentSlot++; + continue; + } + + Dynamic dynamicItem = new Dynamic<>(NbtOps.INSTANCE, itemTag); + net.minecraft.world.item.ItemStack minecraftItem = net.minecraft.world.item.ItemStack.CODEC + .parse(DYNAMIC_OPS_NBT, dynamicItem.getValue()) + .getOrThrow(false, error -> {}); + + DataResult result = net.minecraft.world.item.ItemStack.CODEC.encodeStart(DYNAMIC_OPS_JSON, minecraftItem); + JsonObject resultJson = result.getOrThrow(false, error -> {}).getAsJsonObject(); + + resultJson.addProperty(BPConstants.KEY_INVENTORY_SLOT, currentSlot); + jsonItems.add(resultJson); + + currentSlot++; + } + } + + JsonObject json = new JsonObject(); + json.addProperty(BPConstants.KEY_INVENTORY_VERSION, BPConstants.INVENTORY_VERSION); + json.addProperty(BPConstants.KEY_INVENTORY_DATA_VERSION, DATA_VERSION); + json.addProperty(BPConstants.KEY_INVENTORY_ITEMS_SIZE, list.size()); + json.add(BPConstants.KEY_INVENTORY_ITEMS, jsonItems); + return json; + } + + @Override + public void setSkullProfile(SkullMeta meta, String texture) { + try { + GameProfile gameProfile = new GameProfile(UUID.randomUUID(), ""); + gameProfile.getProperties().put("textures", new Property("textures", texture)); + CRAFTMETASKULL_SET_PROFILE.invoke(meta, gameProfile); + } catch (Exception e) { + throw new ClassCastException("Error by setting skull profile"); + } + } + + @Override + public boolean isAir(Material material) { + return material == null || material == Material.AIR; + } +} \ No newline at end of file diff --git a/zip-nms/zip-nms-v1_20_R2/src/main/java/net/imprex/zip/nms/v1_20_R2/ZipNmsManager.java b/zip-nms/zip-nms-v1_20_R2/src/main/java/net/imprex/zip/nms/v1_20_R2/ZipNmsManager.java deleted file mode 100644 index 4b9eb75..0000000 --- a/zip-nms/zip-nms-v1_20_R2/src/main/java/net/imprex/zip/nms/v1_20_R2/ZipNmsManager.java +++ /dev/null @@ -1,172 +0,0 @@ -package net.imprex.zip.nms.v1_20_R2; - -import java.io.ByteArrayInputStream; -import java.io.IOException; -import java.lang.reflect.Method; -import java.util.ArrayList; -import java.util.List; -import java.util.UUID; - -import org.bukkit.Material; -import org.bukkit.craftbukkit.v1_20_R2.inventory.CraftItemStack; -import org.bukkit.inventory.ItemStack; -import org.bukkit.inventory.meta.SkullMeta; - -import com.google.gson.JsonArray; -import com.google.gson.JsonElement; -import com.google.gson.JsonObject; -import com.mojang.authlib.GameProfile; -import com.mojang.authlib.properties.Property; -import com.mojang.serialization.DataResult; -import com.mojang.serialization.Dynamic; -import com.mojang.serialization.DynamicOps; -import com.mojang.serialization.JsonOps; - -import net.imprex.zip.common.BPConstants; -import net.imprex.zip.common.ReflectionUtil; -import net.imprex.zip.nms.api.ItemStackContainerResult; -import net.imprex.zip.nms.api.ItemStackWithSlot; -import net.imprex.zip.nms.api.NmsManager; -import net.minecraft.SharedConstants; -import net.minecraft.core.RegistryAccess; -import net.minecraft.nbt.CompoundTag; -import net.minecraft.nbt.ListTag; -import net.minecraft.nbt.NbtIo; -import net.minecraft.nbt.NbtOps; -import net.minecraft.nbt.Tag; -import net.minecraft.resources.RegistryOps; -import net.minecraft.server.MinecraftServer; -import net.minecraft.util.datafix.DataFixers; -import net.minecraft.util.datafix.fixes.References; - -public class ZipNmsManager implements NmsManager { - - private static final Class CRAFTMETASKULL_CLASS = ReflectionUtil.getCraftBukkitClass("inventory.CraftMetaSkull"); - private static final Method CRAFTMETASKULL_SET_PROFILE = ReflectionUtil.getMethod(CRAFTMETASKULL_CLASS, - "setProfile", GameProfile.class); - - private static final int DATA_VERSION = SharedConstants.getCurrentVersion().getDataVersion().getVersion(); - - @SuppressWarnings("deprecation") - private static final RegistryAccess DEFAULT_REGISTRY = MinecraftServer.getServer().registryAccess(); - - private static final DynamicOps DYNAMIC_OPS_NBT = RegistryOps.create(NbtOps.INSTANCE, DEFAULT_REGISTRY); - private static final DynamicOps DYNAMIC_OPS_JSON = RegistryOps.create(JsonOps.INSTANCE, DEFAULT_REGISTRY); - - @Override - public JsonObject itemstackToJsonElement(ItemStack[] items) { - JsonArray jsonItems = new JsonArray(); - for (int slot = 0; slot < items.length; slot++) { - ItemStack item = items[slot]; - if (item == null || item.getType() == Material.AIR) { - continue; - } - net.minecraft.world.item.ItemStack minecraftItem = CraftItemStack.asNMSCopy(item); - - DataResult result = net.minecraft.world.item.ItemStack.CODEC.encodeStart(DYNAMIC_OPS_JSON, minecraftItem); - JsonObject resultJson = result.getOrThrow(false, error -> {}).getAsJsonObject(); - - resultJson.addProperty(BPConstants.KEY_INVENTORY_SLOT, slot); - jsonItems.add(resultJson); - } - - JsonObject outputJson = new JsonObject(); - outputJson.addProperty(BPConstants.KEY_INVENTORY_VERSION, BPConstants.INVENTORY_VERSION); - outputJson.addProperty(BPConstants.KEY_INVENTORY_DATA_VERSION, DATA_VERSION); - outputJson.addProperty(BPConstants.KEY_INVENTORY_ITEMS_SIZE, items.length); - outputJson.add(BPConstants.KEY_INVENTORY_ITEMS, jsonItems); - return outputJson; - } - - @Override - public ItemStackContainerResult jsonElementToItemStack(JsonObject json) { - // check if current version the same - if (json.get(BPConstants.KEY_INVENTORY_VERSION).getAsInt() != BPConstants.INVENTORY_VERSION) { - throw new IllegalStateException("Unable to convert binary to itemstack because zip version is missmatching"); - } - - int dataVersion = json.get(BPConstants.KEY_INVENTORY_DATA_VERSION).getAsInt(); - int itemsSize = json.get(BPConstants.KEY_INVENTORY_ITEMS_SIZE).getAsInt(); - - List items = new ArrayList<>(); - - JsonArray jsonItems = json.get(BPConstants.KEY_INVENTORY_ITEMS).getAsJsonArray(); - for (JsonElement item : jsonItems) { - Dynamic dynamicItem = new Dynamic<>(JsonOps.INSTANCE, item); - Dynamic dynamicItemFixed = DataFixers.getDataFixer() - .update(References.ITEM_STACK, dynamicItem, dataVersion, DATA_VERSION); - - net.minecraft.world.item.ItemStack minecraftItem = net.minecraft.world.item.ItemStack.CODEC - .parse(DYNAMIC_OPS_JSON, dynamicItemFixed.getValue()) - .getOrThrow(false, error -> {}); - - ItemStack bukkitItem = CraftItemStack.asCraftMirror(minecraftItem); - int slot = item.getAsJsonObject().get(BPConstants.KEY_INVENTORY_SLOT).getAsInt(); - - items.add(new ItemStackWithSlot(slot, bukkitItem)); - } - - return new ItemStackContainerResult(itemsSize, items); - } - - @Override - public JsonObject migrateToJsonElement(byte[] binary) { - CompoundTag compound; - try (ByteArrayInputStream inputStream = new ByteArrayInputStream(binary)) { - compound = NbtIo.readCompressed(inputStream); - } catch (IOException e) { - throw new IllegalStateException("Unable to parse binary to nbt", e); - } - - ListTag list = compound.getList("i", 10); - - int currentSlot = 0; - - JsonArray jsonItems = new JsonArray(); - for (Tag base : list) { - if (base instanceof CompoundTag itemTag) { - String itemType = itemTag.getString("id"); - if (itemType.equals("minecraft:air")) { - currentSlot++; - continue; - } - - Dynamic dynamicItem = new Dynamic<>(NbtOps.INSTANCE, itemTag); - net.minecraft.world.item.ItemStack minecraftItem = net.minecraft.world.item.ItemStack.CODEC - .parse(DYNAMIC_OPS_NBT, dynamicItem.getValue()) - .getOrThrow(false, error -> {}); - - DataResult result = net.minecraft.world.item.ItemStack.CODEC.encodeStart(DYNAMIC_OPS_JSON, minecraftItem); - JsonObject resultJson = result.getOrThrow(false, error -> {}).getAsJsonObject(); - - resultJson.addProperty(BPConstants.KEY_INVENTORY_SLOT, currentSlot); - jsonItems.add(resultJson); - - currentSlot++; - } - } - - JsonObject json = new JsonObject(); - json.addProperty(BPConstants.KEY_INVENTORY_VERSION, BPConstants.INVENTORY_VERSION); - json.addProperty(BPConstants.KEY_INVENTORY_DATA_VERSION, DATA_VERSION); - json.addProperty(BPConstants.KEY_INVENTORY_ITEMS_SIZE, list.size()); - json.add(BPConstants.KEY_INVENTORY_ITEMS, jsonItems); - return json; - } - - @Override - public void setSkullProfile(SkullMeta meta, String texture) { - try { - GameProfile gameProfile = new GameProfile(UUID.randomUUID(), ""); - gameProfile.getProperties().put("textures", new Property("textures", texture)); - CRAFTMETASKULL_SET_PROFILE.invoke(meta, gameProfile); - } catch (Exception e) { - throw new ClassCastException("Error by setting skull profile"); - } - } - - @Override - public boolean isAir(Material material) { - return material == null || material == Material.AIR; - } -} \ No newline at end of file diff --git a/zip-nms/zip-nms-v1_20_R3/pom.xml b/zip-nms/zip-nms-v1_20_R3/pom.xml index 93de839..556fca0 100644 --- a/zip-nms/zip-nms-v1_20_R3/pom.xml +++ b/zip-nms/zip-nms-v1_20_R3/pom.xml @@ -4,7 +4,7 @@ 4.0.0 - net.imprex + dev.imprex zip-nms ${revision} @@ -14,7 +14,7 @@ - net.imprex + dev.imprex zip-nms-api ${revision} provided @@ -30,6 +30,20 @@ + + org.apache.maven.plugins + maven-shade-plugin + + true + mojang-mapped + + + dev.imprex.zip.nms.v1_20_R3 + dev.imprex.zip.nms.v1_20_R3_mojang + + + + net.md-5 specialsource-maven-plugin diff --git a/zip-nms/zip-nms-v1_20_R3/src/main/java/net/imprex/zip/nms/v1_20_R3/ZipNmsManager.java b/zip-nms/zip-nms-v1_20_R3/src/main/java/dev/imprex/zip/nms/v1_20_R3/ZipNmsManager.java similarity index 92% rename from zip-nms/zip-nms-v1_20_R3/src/main/java/net/imprex/zip/nms/v1_20_R3/ZipNmsManager.java rename to zip-nms/zip-nms-v1_20_R3/src/main/java/dev/imprex/zip/nms/v1_20_R3/ZipNmsManager.java index ac7c775..ce1ad83 100644 --- a/zip-nms/zip-nms-v1_20_R3/src/main/java/net/imprex/zip/nms/v1_20_R3/ZipNmsManager.java +++ b/zip-nms/zip-nms-v1_20_R3/src/main/java/dev/imprex/zip/nms/v1_20_R3/ZipNmsManager.java @@ -1,4 +1,4 @@ -package net.imprex.zip.nms.v1_20_R3; +package dev.imprex.zip.nms.v1_20_R3; import java.io.ByteArrayInputStream; import java.io.IOException; @@ -8,7 +8,6 @@ import java.util.UUID; import org.bukkit.Material; -import org.bukkit.craftbukkit.v1_20_R3.inventory.CraftItemStack; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.SkullMeta; @@ -22,11 +21,11 @@ import com.mojang.serialization.DynamicOps; import com.mojang.serialization.JsonOps; -import net.imprex.zip.common.BPConstants; -import net.imprex.zip.common.ReflectionUtil; -import net.imprex.zip.nms.api.ItemStackContainerResult; -import net.imprex.zip.nms.api.ItemStackWithSlot; -import net.imprex.zip.nms.api.NmsManager; +import dev.imprex.zip.common.BPConstants; +import dev.imprex.zip.common.ReflectionUtil; +import dev.imprex.zip.nms.api.ItemStackContainerResult; +import dev.imprex.zip.nms.api.ItemStackWithSlot; +import dev.imprex.zip.nms.api.NmsManager; import net.minecraft.SharedConstants; import net.minecraft.core.RegistryAccess; import net.minecraft.nbt.CompoundTag; @@ -40,7 +39,7 @@ import net.minecraft.util.datafix.DataFixers; import net.minecraft.util.datafix.fixes.References; -public class ZipNmsManager implements NmsManager { +public class ZipNmsManager extends NmsManager { private static final Class CRAFTMETASKULL_CLASS = ReflectionUtil.getCraftBukkitClass("inventory.CraftMetaSkull"); private static final Method CRAFTMETASKULL_SET_PROFILE = ReflectionUtil.getMethod(CRAFTMETASKULL_CLASS, @@ -62,7 +61,7 @@ public JsonObject itemstackToJsonElement(ItemStack[] items) { if (item == null || item.getType() == Material.AIR) { continue; } - net.minecraft.world.item.ItemStack minecraftItem = CraftItemStack.asNMSCopy(item); + net.minecraft.world.item.ItemStack minecraftItem = asNmsCopy(item, net.minecraft.world.item.ItemStack.class); DataResult result = net.minecraft.world.item.ItemStack.CODEC.encodeStart(DYNAMIC_OPS_JSON, minecraftItem); JsonObject resultJson = result.getOrThrow(false, error -> {}).getAsJsonObject(); @@ -100,8 +99,8 @@ public ItemStackContainerResult jsonElementToItemStack(JsonObject json) { net.minecraft.world.item.ItemStack minecraftItem = net.minecraft.world.item.ItemStack.CODEC .parse(DYNAMIC_OPS_JSON, dynamicItemFixed.getValue()) .getOrThrow(false, error -> {}); - - ItemStack bukkitItem = CraftItemStack.asCraftMirror(minecraftItem); + + ItemStack bukkitItem = asCraftMirror(minecraftItem); int slot = item.getAsJsonObject().get(BPConstants.KEY_INVENTORY_SLOT).getAsInt(); items.add(new ItemStackWithSlot(slot, bukkitItem)); diff --git a/zip-nms/zip-nms-v1_20_R4/pom.xml b/zip-nms/zip-nms-v1_20_R4/pom.xml index f1fd88b..cb9b5ee 100644 --- a/zip-nms/zip-nms-v1_20_R4/pom.xml +++ b/zip-nms/zip-nms-v1_20_R4/pom.xml @@ -4,7 +4,7 @@ 4.0.0 - net.imprex + dev.imprex zip-nms ${revision} @@ -13,7 +13,7 @@ - net.imprex + dev.imprex zip-nms-api ${revision} provided @@ -29,6 +29,20 @@ + + org.apache.maven.plugins + maven-shade-plugin + + true + mojang-mapped + + + dev.imprex.zip.nms.v1_20_R4 + dev.imprex.zip.nms.v1_20_R4_mojang + + + + net.md-5 specialsource-maven-plugin diff --git a/zip-nms/zip-nms-v1_20_R4/src/main/java/net/imprex/zip/nms/v1_20_R4/ZipNmsManager.java b/zip-nms/zip-nms-v1_20_R4/src/main/java/dev/imprex/zip/nms/v1_20_R4/ZipNmsManager.java similarity index 91% rename from zip-nms/zip-nms-v1_20_R4/src/main/java/net/imprex/zip/nms/v1_20_R4/ZipNmsManager.java rename to zip-nms/zip-nms-v1_20_R4/src/main/java/dev/imprex/zip/nms/v1_20_R4/ZipNmsManager.java index b168ca8..f3da321 100644 --- a/zip-nms/zip-nms-v1_20_R4/src/main/java/net/imprex/zip/nms/v1_20_R4/ZipNmsManager.java +++ b/zip-nms/zip-nms-v1_20_R4/src/main/java/dev/imprex/zip/nms/v1_20_R4/ZipNmsManager.java @@ -1,4 +1,4 @@ -package net.imprex.zip.nms.v1_20_R4; +package dev.imprex.zip.nms.v1_20_R4; import java.io.ByteArrayInputStream; import java.io.IOException; @@ -8,7 +8,6 @@ import java.util.UUID; import org.bukkit.Material; -import org.bukkit.craftbukkit.v1_20_R4.inventory.CraftItemStack; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.SkullMeta; @@ -22,11 +21,11 @@ import com.mojang.serialization.DynamicOps; import com.mojang.serialization.JsonOps; -import net.imprex.zip.common.BPConstants; -import net.imprex.zip.common.ReflectionUtil; -import net.imprex.zip.nms.api.ItemStackContainerResult; -import net.imprex.zip.nms.api.ItemStackWithSlot; -import net.imprex.zip.nms.api.NmsManager; +import dev.imprex.zip.common.BPConstants; +import dev.imprex.zip.common.ReflectionUtil; +import dev.imprex.zip.nms.api.ItemStackContainerResult; +import dev.imprex.zip.nms.api.ItemStackWithSlot; +import dev.imprex.zip.nms.api.NmsManager; import net.minecraft.SharedConstants; import net.minecraft.core.RegistryAccess; import net.minecraft.nbt.CompoundTag; @@ -39,7 +38,7 @@ import net.minecraft.util.datafix.DataFixers; import net.minecraft.util.datafix.fixes.References; -public class ZipNmsManager implements NmsManager { +public class ZipNmsManager extends NmsManager { private static final Class CRAFTMETASKULL_CLASS = ReflectionUtil.getCraftBukkitClass("inventory.CraftMetaSkull"); private static final Method CRAFTMETASKULL_SET_PROFILE = ReflectionUtil.getMethod(CRAFTMETASKULL_CLASS, @@ -61,7 +60,7 @@ public JsonObject itemstackToJsonElement(ItemStack[] items) { if (item == null || item.getType() == Material.AIR) { continue; } - net.minecraft.world.item.ItemStack minecraftItem = CraftItemStack.asNMSCopy(item); + net.minecraft.world.item.ItemStack minecraftItem = asNmsCopy(item, net.minecraft.world.item.ItemStack.class); DataResult result = net.minecraft.world.item.ItemStack.CODEC.encodeStart(DYNAMIC_OPS_JSON, minecraftItem); JsonObject resultJson = result.getOrThrow().getAsJsonObject(); @@ -99,8 +98,8 @@ public ItemStackContainerResult jsonElementToItemStack(JsonObject json) { net.minecraft.world.item.ItemStack minecraftItem = net.minecraft.world.item.ItemStack.CODEC .parse(DYNAMIC_OPS_JSON, dynamicItemFixed.getValue()) .getOrThrow(); - - ItemStack bukkitItem = CraftItemStack.asCraftMirror(minecraftItem); + + ItemStack bukkitItem = asCraftMirror(minecraftItem); int slot = item.getAsJsonObject().get(BPConstants.KEY_INVENTORY_SLOT).getAsInt(); items.add(new ItemStackWithSlot(slot, bukkitItem)); diff --git a/zip-nms/zip-nms-v1_21_R1/pom.xml b/zip-nms/zip-nms-v1_21_R1/pom.xml index 6d42049..e0abeca 100644 --- a/zip-nms/zip-nms-v1_21_R1/pom.xml +++ b/zip-nms/zip-nms-v1_21_R1/pom.xml @@ -4,7 +4,7 @@ 4.0.0 - net.imprex + dev.imprex zip-nms ${revision} @@ -13,7 +13,7 @@ - net.imprex + dev.imprex zip-nms-api ${revision} provided @@ -29,6 +29,20 @@ + + org.apache.maven.plugins + maven-shade-plugin + + true + mojang-mapped + + + dev.imprex.zip.nms.v1_21_R1 + dev.imprex.zip.nms.v1_21_R1_mojang + + + + net.md-5 specialsource-maven-plugin diff --git a/zip-nms/zip-nms-v1_21_R3/src/main/java/net/imprex/zip/nms/v1_21_R3/ZipNmsManager.java b/zip-nms/zip-nms-v1_21_R1/src/main/java/dev/imprex/zip/nms/v1_21_R1/ZipNmsManager.java similarity index 92% rename from zip-nms/zip-nms-v1_21_R3/src/main/java/net/imprex/zip/nms/v1_21_R3/ZipNmsManager.java rename to zip-nms/zip-nms-v1_21_R1/src/main/java/dev/imprex/zip/nms/v1_21_R1/ZipNmsManager.java index bc8d73e..3318660 100644 --- a/zip-nms/zip-nms-v1_21_R3/src/main/java/net/imprex/zip/nms/v1_21_R3/ZipNmsManager.java +++ b/zip-nms/zip-nms-v1_21_R1/src/main/java/dev/imprex/zip/nms/v1_21_R1/ZipNmsManager.java @@ -1,4 +1,4 @@ -package net.imprex.zip.nms.v1_21_R3; +package dev.imprex.zip.nms.v1_21_R1; import java.io.ByteArrayInputStream; import java.io.IOException; @@ -10,7 +10,6 @@ import java.util.function.BiConsumer; import org.bukkit.Material; -import org.bukkit.craftbukkit.v1_21_R3.inventory.CraftItemStack; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.SkullMeta; @@ -24,11 +23,11 @@ import com.mojang.serialization.DynamicOps; import com.mojang.serialization.JsonOps; -import net.imprex.zip.common.BPConstants; -import net.imprex.zip.common.ReflectionUtil; -import net.imprex.zip.nms.api.ItemStackContainerResult; -import net.imprex.zip.nms.api.ItemStackWithSlot; -import net.imprex.zip.nms.api.NmsManager; +import dev.imprex.zip.common.BPConstants; +import dev.imprex.zip.common.ReflectionUtil; +import dev.imprex.zip.nms.api.ItemStackContainerResult; +import dev.imprex.zip.nms.api.ItemStackWithSlot; +import dev.imprex.zip.nms.api.NmsManager; import net.minecraft.SharedConstants; import net.minecraft.core.RegistryAccess; import net.minecraft.nbt.CompoundTag; @@ -42,7 +41,7 @@ import net.minecraft.util.datafix.fixes.References; import net.minecraft.world.item.component.ResolvableProfile; -public class ZipNmsManager implements NmsManager { +public class ZipNmsManager extends NmsManager { private static final int DATA_VERSION = SharedConstants.getCurrentVersion().getDataVersion().getVersion(); @@ -53,7 +52,7 @@ public class ZipNmsManager implements NmsManager { private static final DynamicOps DYNAMIC_OPS_JSON = DEFAULT_REGISTRY.createSerializationContext(JsonOps.INSTANCE); private static final BiConsumer SET_PROFILE; - + static { BiConsumer setProfile = (meta, profile) -> { throw new NullPointerException("Unable to find 'setProfile' method!"); @@ -96,7 +95,7 @@ public JsonObject itemstackToJsonElement(ItemStack[] items) { if (item == null || item.getType() == Material.AIR) { continue; } - net.minecraft.world.item.ItemStack minecraftItem = CraftItemStack.asNMSCopy(item); + net.minecraft.world.item.ItemStack minecraftItem = asNmsCopy(item, net.minecraft.world.item.ItemStack.class); DataResult result = net.minecraft.world.item.ItemStack.CODEC.encodeStart(DYNAMIC_OPS_JSON, minecraftItem); JsonObject resultJson = result.getOrThrow().getAsJsonObject(); @@ -134,8 +133,8 @@ public ItemStackContainerResult jsonElementToItemStack(JsonObject json) { net.minecraft.world.item.ItemStack minecraftItem = net.minecraft.world.item.ItemStack.CODEC .parse(DYNAMIC_OPS_JSON, dynamicItemFixed.getValue()) .getOrThrow(); - - ItemStack bukkitItem = CraftItemStack.asCraftMirror(minecraftItem); + + ItemStack bukkitItem = asCraftMirror(minecraftItem); int slot = item.getAsJsonObject().get(BPConstants.KEY_INVENTORY_SLOT).getAsInt(); items.add(new ItemStackWithSlot(slot, bukkitItem)); diff --git a/zip-nms/zip-nms-v1_21_R2/pom.xml b/zip-nms/zip-nms-v1_21_R2/pom.xml index 55880f7..e9c5c38 100644 --- a/zip-nms/zip-nms-v1_21_R2/pom.xml +++ b/zip-nms/zip-nms-v1_21_R2/pom.xml @@ -4,7 +4,7 @@ 4.0.0 - net.imprex + dev.imprex zip-nms ${revision} @@ -13,7 +13,7 @@ - net.imprex + dev.imprex zip-nms-api ${revision} provided @@ -29,6 +29,20 @@ + + org.apache.maven.plugins + maven-shade-plugin + + true + mojang-mapped + + + dev.imprex.zip.nms.v1_21_R2 + dev.imprex.zip.nms.v1_21_R2_mojang + + + + net.md-5 specialsource-maven-plugin diff --git a/zip-nms/zip-nms-v1_21_R1/src/main/java/net/imprex/zip/nms/v1_21_R1/ZipNmsManager.java b/zip-nms/zip-nms-v1_21_R2/src/main/java/dev/imprex/zip/nms/v1_21_R2/ZipNmsManager.java similarity index 92% rename from zip-nms/zip-nms-v1_21_R1/src/main/java/net/imprex/zip/nms/v1_21_R1/ZipNmsManager.java rename to zip-nms/zip-nms-v1_21_R2/src/main/java/dev/imprex/zip/nms/v1_21_R2/ZipNmsManager.java index dac5638..e1c9361 100644 --- a/zip-nms/zip-nms-v1_21_R1/src/main/java/net/imprex/zip/nms/v1_21_R1/ZipNmsManager.java +++ b/zip-nms/zip-nms-v1_21_R2/src/main/java/dev/imprex/zip/nms/v1_21_R2/ZipNmsManager.java @@ -1,4 +1,4 @@ -package net.imprex.zip.nms.v1_21_R1; +package dev.imprex.zip.nms.v1_21_R2; import java.io.ByteArrayInputStream; import java.io.IOException; @@ -10,7 +10,6 @@ import java.util.function.BiConsumer; import org.bukkit.Material; -import org.bukkit.craftbukkit.v1_21_R1.inventory.CraftItemStack; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.SkullMeta; @@ -24,11 +23,11 @@ import com.mojang.serialization.DynamicOps; import com.mojang.serialization.JsonOps; -import net.imprex.zip.common.BPConstants; -import net.imprex.zip.common.ReflectionUtil; -import net.imprex.zip.nms.api.ItemStackContainerResult; -import net.imprex.zip.nms.api.ItemStackWithSlot; -import net.imprex.zip.nms.api.NmsManager; +import dev.imprex.zip.common.BPConstants; +import dev.imprex.zip.common.ReflectionUtil; +import dev.imprex.zip.nms.api.ItemStackContainerResult; +import dev.imprex.zip.nms.api.ItemStackWithSlot; +import dev.imprex.zip.nms.api.NmsManager; import net.minecraft.SharedConstants; import net.minecraft.core.RegistryAccess; import net.minecraft.nbt.CompoundTag; @@ -42,7 +41,7 @@ import net.minecraft.util.datafix.fixes.References; import net.minecraft.world.item.component.ResolvableProfile; -public class ZipNmsManager implements NmsManager { +public class ZipNmsManager extends NmsManager { private static final int DATA_VERSION = SharedConstants.getCurrentVersion().getDataVersion().getVersion(); @@ -53,7 +52,7 @@ public class ZipNmsManager implements NmsManager { private static final DynamicOps DYNAMIC_OPS_JSON = DEFAULT_REGISTRY.createSerializationContext(JsonOps.INSTANCE); private static final BiConsumer SET_PROFILE; - + static { BiConsumer setProfile = (meta, profile) -> { throw new NullPointerException("Unable to find 'setProfile' method!"); @@ -96,7 +95,7 @@ public JsonObject itemstackToJsonElement(ItemStack[] items) { if (item == null || item.getType() == Material.AIR) { continue; } - net.minecraft.world.item.ItemStack minecraftItem = CraftItemStack.asNMSCopy(item); + net.minecraft.world.item.ItemStack minecraftItem = asNmsCopy(item, net.minecraft.world.item.ItemStack.class); DataResult result = net.minecraft.world.item.ItemStack.CODEC.encodeStart(DYNAMIC_OPS_JSON, minecraftItem); JsonObject resultJson = result.getOrThrow().getAsJsonObject(); @@ -134,8 +133,8 @@ public ItemStackContainerResult jsonElementToItemStack(JsonObject json) { net.minecraft.world.item.ItemStack minecraftItem = net.minecraft.world.item.ItemStack.CODEC .parse(DYNAMIC_OPS_JSON, dynamicItemFixed.getValue()) .getOrThrow(); - - ItemStack bukkitItem = CraftItemStack.asCraftMirror(minecraftItem); + + ItemStack bukkitItem = asCraftMirror(minecraftItem); int slot = item.getAsJsonObject().get(BPConstants.KEY_INVENTORY_SLOT).getAsInt(); items.add(new ItemStackWithSlot(slot, bukkitItem)); diff --git a/zip-nms/zip-nms-v1_21_R3/pom.xml b/zip-nms/zip-nms-v1_21_R3/pom.xml index 61e819d..f78a217 100644 --- a/zip-nms/zip-nms-v1_21_R3/pom.xml +++ b/zip-nms/zip-nms-v1_21_R3/pom.xml @@ -2,7 +2,7 @@ 4.0.0 - net.imprex + dev.imprex zip-nms ${revision} @@ -11,7 +11,7 @@ - net.imprex + dev.imprex zip-nms-api ${revision} provided @@ -27,6 +27,20 @@ + + org.apache.maven.plugins + maven-shade-plugin + + true + mojang-mapped + + + dev.imprex.zip.nms.v1_21_R3 + dev.imprex.zip.nms.v1_21_R3_mojang + + + + net.md-5 specialsource-maven-plugin diff --git a/zip-nms/zip-nms-v1_21_R2/src/main/java/net/imprex/zip/nms/v1_21_R2/ZipNmsManager.java b/zip-nms/zip-nms-v1_21_R3/src/main/java/dev/imprex/zip/nms/v1_21_R3/ZipNmsManager.java similarity index 92% rename from zip-nms/zip-nms-v1_21_R2/src/main/java/net/imprex/zip/nms/v1_21_R2/ZipNmsManager.java rename to zip-nms/zip-nms-v1_21_R3/src/main/java/dev/imprex/zip/nms/v1_21_R3/ZipNmsManager.java index 391ce46..404ab31 100644 --- a/zip-nms/zip-nms-v1_21_R2/src/main/java/net/imprex/zip/nms/v1_21_R2/ZipNmsManager.java +++ b/zip-nms/zip-nms-v1_21_R3/src/main/java/dev/imprex/zip/nms/v1_21_R3/ZipNmsManager.java @@ -1,4 +1,4 @@ -package net.imprex.zip.nms.v1_21_R2; +package dev.imprex.zip.nms.v1_21_R3; import java.io.ByteArrayInputStream; import java.io.IOException; @@ -10,7 +10,6 @@ import java.util.function.BiConsumer; import org.bukkit.Material; -import org.bukkit.craftbukkit.v1_21_R2.inventory.CraftItemStack; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.SkullMeta; @@ -24,11 +23,11 @@ import com.mojang.serialization.DynamicOps; import com.mojang.serialization.JsonOps; -import net.imprex.zip.common.BPConstants; -import net.imprex.zip.common.ReflectionUtil; -import net.imprex.zip.nms.api.ItemStackContainerResult; -import net.imprex.zip.nms.api.ItemStackWithSlot; -import net.imprex.zip.nms.api.NmsManager; +import dev.imprex.zip.common.BPConstants; +import dev.imprex.zip.common.ReflectionUtil; +import dev.imprex.zip.nms.api.ItemStackContainerResult; +import dev.imprex.zip.nms.api.ItemStackWithSlot; +import dev.imprex.zip.nms.api.NmsManager; import net.minecraft.SharedConstants; import net.minecraft.core.RegistryAccess; import net.minecraft.nbt.CompoundTag; @@ -42,7 +41,7 @@ import net.minecraft.util.datafix.fixes.References; import net.minecraft.world.item.component.ResolvableProfile; -public class ZipNmsManager implements NmsManager { +public class ZipNmsManager extends NmsManager { private static final int DATA_VERSION = SharedConstants.getCurrentVersion().getDataVersion().getVersion(); @@ -53,7 +52,7 @@ public class ZipNmsManager implements NmsManager { private static final DynamicOps DYNAMIC_OPS_JSON = DEFAULT_REGISTRY.createSerializationContext(JsonOps.INSTANCE); private static final BiConsumer SET_PROFILE; - + static { BiConsumer setProfile = (meta, profile) -> { throw new NullPointerException("Unable to find 'setProfile' method!"); @@ -96,7 +95,7 @@ public JsonObject itemstackToJsonElement(ItemStack[] items) { if (item == null || item.getType() == Material.AIR) { continue; } - net.minecraft.world.item.ItemStack minecraftItem = CraftItemStack.asNMSCopy(item); + net.minecraft.world.item.ItemStack minecraftItem = asNmsCopy(item, net.minecraft.world.item.ItemStack.class); DataResult result = net.minecraft.world.item.ItemStack.CODEC.encodeStart(DYNAMIC_OPS_JSON, minecraftItem); JsonObject resultJson = result.getOrThrow().getAsJsonObject(); @@ -134,8 +133,8 @@ public ItemStackContainerResult jsonElementToItemStack(JsonObject json) { net.minecraft.world.item.ItemStack minecraftItem = net.minecraft.world.item.ItemStack.CODEC .parse(DYNAMIC_OPS_JSON, dynamicItemFixed.getValue()) .getOrThrow(); - - ItemStack bukkitItem = CraftItemStack.asCraftMirror(minecraftItem); + + ItemStack bukkitItem = asCraftMirror(minecraftItem); int slot = item.getAsJsonObject().get(BPConstants.KEY_INVENTORY_SLOT).getAsInt(); items.add(new ItemStackWithSlot(slot, bukkitItem)); diff --git a/zip-nms/zip-nms-v1_21_R4/pom.xml b/zip-nms/zip-nms-v1_21_R4/pom.xml index 24253d0..c3c92d5 100644 --- a/zip-nms/zip-nms-v1_21_R4/pom.xml +++ b/zip-nms/zip-nms-v1_21_R4/pom.xml @@ -2,7 +2,7 @@ 4.0.0 - net.imprex + dev.imprex zip-nms ${revision} @@ -11,7 +11,7 @@ - net.imprex + dev.imprex zip-nms-api ${revision} provided @@ -27,6 +27,20 @@ + + org.apache.maven.plugins + maven-shade-plugin + + true + mojang-mapped + + + dev.imprex.zip.nms.v1_21_R4 + dev.imprex.zip.nms.v1_21_R4_mojang + + + + net.md-5 specialsource-maven-plugin diff --git a/zip-nms/zip-nms-v1_21_R4/src/main/java/net/imprex/zip/nms/v1_21_R4/ZipNmsManager.java b/zip-nms/zip-nms-v1_21_R4/src/main/java/dev/imprex/zip/nms/v1_21_R4/ZipNmsManager.java similarity index 92% rename from zip-nms/zip-nms-v1_21_R4/src/main/java/net/imprex/zip/nms/v1_21_R4/ZipNmsManager.java rename to zip-nms/zip-nms-v1_21_R4/src/main/java/dev/imprex/zip/nms/v1_21_R4/ZipNmsManager.java index 063907b..9cb838a 100644 --- a/zip-nms/zip-nms-v1_21_R4/src/main/java/net/imprex/zip/nms/v1_21_R4/ZipNmsManager.java +++ b/zip-nms/zip-nms-v1_21_R4/src/main/java/dev/imprex/zip/nms/v1_21_R4/ZipNmsManager.java @@ -1,4 +1,4 @@ -package net.imprex.zip.nms.v1_21_R4; +package dev.imprex.zip.nms.v1_21_R4; import java.io.ByteArrayInputStream; import java.io.IOException; @@ -10,7 +10,6 @@ import java.util.function.BiConsumer; import org.bukkit.Material; -import org.bukkit.craftbukkit.v1_21_R4.inventory.CraftItemStack; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.SkullMeta; @@ -24,11 +23,11 @@ import com.mojang.serialization.DynamicOps; import com.mojang.serialization.JsonOps; -import net.imprex.zip.common.BPConstants; -import net.imprex.zip.common.ReflectionUtil; -import net.imprex.zip.nms.api.ItemStackContainerResult; -import net.imprex.zip.nms.api.ItemStackWithSlot; -import net.imprex.zip.nms.api.NmsManager; +import dev.imprex.zip.common.BPConstants; +import dev.imprex.zip.common.ReflectionUtil; +import dev.imprex.zip.nms.api.ItemStackContainerResult; +import dev.imprex.zip.nms.api.ItemStackWithSlot; +import dev.imprex.zip.nms.api.NmsManager; import net.minecraft.SharedConstants; import net.minecraft.core.RegistryAccess; import net.minecraft.nbt.CompoundTag; @@ -42,7 +41,7 @@ import net.minecraft.util.datafix.fixes.References; import net.minecraft.world.item.component.ResolvableProfile; -public class ZipNmsManager implements NmsManager { +public class ZipNmsManager extends NmsManager { private static final int DATA_VERSION = SharedConstants.getCurrentVersion().getDataVersion().getVersion(); @@ -53,7 +52,7 @@ public class ZipNmsManager implements NmsManager { private static final DynamicOps DYNAMIC_OPS_JSON = DEFAULT_REGISTRY.createSerializationContext(JsonOps.INSTANCE); private static final BiConsumer SET_PROFILE; - + static { BiConsumer setProfile = (meta, profile) -> { throw new NullPointerException("Unable to find 'setProfile' method!"); @@ -96,7 +95,7 @@ public JsonObject itemstackToJsonElement(ItemStack[] items) { if (item == null || item.getType() == Material.AIR) { continue; } - net.minecraft.world.item.ItemStack minecraftItem = CraftItemStack.asNMSCopy(item); + net.minecraft.world.item.ItemStack minecraftItem = asNmsCopy(item, net.minecraft.world.item.ItemStack.class); DataResult result = net.minecraft.world.item.ItemStack.CODEC.encodeStart(DYNAMIC_OPS_JSON, minecraftItem); JsonObject resultJson = result.getOrThrow().getAsJsonObject(); @@ -134,8 +133,8 @@ public ItemStackContainerResult jsonElementToItemStack(JsonObject json) { net.minecraft.world.item.ItemStack minecraftItem = net.minecraft.world.item.ItemStack.CODEC .parse(DYNAMIC_OPS_JSON, dynamicItemFixed.getValue()) .getOrThrow(); - - ItemStack bukkitItem = CraftItemStack.asCraftMirror(minecraftItem); + + ItemStack bukkitItem = asCraftMirror(minecraftItem); int slot = item.getAsJsonObject().get(BPConstants.KEY_INVENTORY_SLOT).getAsInt(); items.add(new ItemStackWithSlot(slot, bukkitItem)); diff --git a/zip-nms/zip-nms-v1_21_R5/pom.xml b/zip-nms/zip-nms-v1_21_R5/pom.xml index 2e6e44e..3bb47a4 100644 --- a/zip-nms/zip-nms-v1_21_R5/pom.xml +++ b/zip-nms/zip-nms-v1_21_R5/pom.xml @@ -2,7 +2,7 @@ 4.0.0 - net.imprex + dev.imprex zip-nms ${revision} @@ -11,7 +11,7 @@ - net.imprex + dev.imprex zip-nms-api ${revision} provided @@ -27,6 +27,20 @@ + + org.apache.maven.plugins + maven-shade-plugin + + true + mojang-mapped + + + dev.imprex.zip.nms.v1_21_R5 + dev.imprex.zip.nms.v1_21_R5_mojang + + + + net.md-5 specialsource-maven-plugin diff --git a/zip-nms/zip-nms-v1_21_R5/src/main/java/net/imprex/zip/nms/v1_21_R5/ZipNmsManager.java b/zip-nms/zip-nms-v1_21_R5/src/main/java/dev/imprex/zip/nms/v1_21_R5/ZipNmsManager.java similarity index 92% rename from zip-nms/zip-nms-v1_21_R5/src/main/java/net/imprex/zip/nms/v1_21_R5/ZipNmsManager.java rename to zip-nms/zip-nms-v1_21_R5/src/main/java/dev/imprex/zip/nms/v1_21_R5/ZipNmsManager.java index 41a9020..cd966a3 100644 --- a/zip-nms/zip-nms-v1_21_R5/src/main/java/net/imprex/zip/nms/v1_21_R5/ZipNmsManager.java +++ b/zip-nms/zip-nms-v1_21_R5/src/main/java/dev/imprex/zip/nms/v1_21_R5/ZipNmsManager.java @@ -1,4 +1,4 @@ -package net.imprex.zip.nms.v1_21_R5; +package dev.imprex.zip.nms.v1_21_R5; import java.io.ByteArrayInputStream; import java.io.IOException; @@ -10,7 +10,6 @@ import java.util.function.BiConsumer; import org.bukkit.Material; -import org.bukkit.craftbukkit.v1_21_R5.inventory.CraftItemStack; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.SkullMeta; @@ -24,11 +23,11 @@ import com.mojang.serialization.DynamicOps; import com.mojang.serialization.JsonOps; -import net.imprex.zip.common.BPConstants; -import net.imprex.zip.common.ReflectionUtil; -import net.imprex.zip.nms.api.ItemStackContainerResult; -import net.imprex.zip.nms.api.ItemStackWithSlot; -import net.imprex.zip.nms.api.NmsManager; +import dev.imprex.zip.common.BPConstants; +import dev.imprex.zip.common.ReflectionUtil; +import dev.imprex.zip.nms.api.ItemStackContainerResult; +import dev.imprex.zip.nms.api.ItemStackWithSlot; +import dev.imprex.zip.nms.api.NmsManager; import net.minecraft.SharedConstants; import net.minecraft.core.RegistryAccess; import net.minecraft.nbt.CompoundTag; @@ -42,7 +41,7 @@ import net.minecraft.util.datafix.fixes.References; import net.minecraft.world.item.component.ResolvableProfile; -public class ZipNmsManager implements NmsManager { +public class ZipNmsManager extends NmsManager { private static final int DATA_VERSION = SharedConstants.getCurrentVersion().dataVersion().version(); @@ -96,7 +95,7 @@ public JsonObject itemstackToJsonElement(ItemStack[] items) { if (item == null || item.getType() == Material.AIR) { continue; } - net.minecraft.world.item.ItemStack minecraftItem = CraftItemStack.asNMSCopy(item); + net.minecraft.world.item.ItemStack minecraftItem = asNmsCopy(item, net.minecraft.world.item.ItemStack.class); DataResult result = net.minecraft.world.item.ItemStack.CODEC.encodeStart(DYNAMIC_OPS_JSON, minecraftItem); JsonObject resultJson = result.getOrThrow().getAsJsonObject(); @@ -134,8 +133,8 @@ public ItemStackContainerResult jsonElementToItemStack(JsonObject json) { net.minecraft.world.item.ItemStack minecraftItem = net.minecraft.world.item.ItemStack.CODEC .parse(DYNAMIC_OPS_JSON, dynamicItemFixed.getValue()) .getOrThrow(); - - ItemStack bukkitItem = CraftItemStack.asCraftMirror(minecraftItem); + + ItemStack bukkitItem = asCraftMirror(minecraftItem); int slot = item.getAsJsonObject().get(BPConstants.KEY_INVENTORY_SLOT).getAsInt(); items.add(new ItemStackWithSlot(slot, bukkitItem)); diff --git a/zip-nms/zip-nms-v1_21_R6/pom.xml b/zip-nms/zip-nms-v1_21_R6/pom.xml index c77d772..389f419 100644 --- a/zip-nms/zip-nms-v1_21_R6/pom.xml +++ b/zip-nms/zip-nms-v1_21_R6/pom.xml @@ -2,7 +2,7 @@ 4.0.0 - net.imprex + dev.imprex zip-nms ${revision} @@ -11,7 +11,7 @@ - net.imprex + dev.imprex zip-nms-api ${revision} provided @@ -27,6 +27,20 @@ + + org.apache.maven.plugins + maven-shade-plugin + + true + mojang-mapped + + + dev.imprex.zip.nms.v1_21_R6 + dev.imprex.zip.nms.v1_21_R6_mojang + + + + net.md-5 specialsource-maven-plugin diff --git a/zip-nms/zip-nms-v1_21_R6/src/main/java/net/imprex/zip/nms/v1_21_R6/ZipNmsManager.java b/zip-nms/zip-nms-v1_21_R6/src/main/java/dev/imprex/zip/nms/v1_21_R6/ZipNmsManager.java similarity index 93% rename from zip-nms/zip-nms-v1_21_R6/src/main/java/net/imprex/zip/nms/v1_21_R6/ZipNmsManager.java rename to zip-nms/zip-nms-v1_21_R6/src/main/java/dev/imprex/zip/nms/v1_21_R6/ZipNmsManager.java index be7f15f..013491a 100644 --- a/zip-nms/zip-nms-v1_21_R6/src/main/java/net/imprex/zip/nms/v1_21_R6/ZipNmsManager.java +++ b/zip-nms/zip-nms-v1_21_R6/src/main/java/dev/imprex/zip/nms/v1_21_R6/ZipNmsManager.java @@ -1,4 +1,4 @@ -package net.imprex.zip.nms.v1_21_R6; +package dev.imprex.zip.nms.v1_21_R6; import java.io.ByteArrayInputStream; import java.io.IOException; @@ -11,7 +11,6 @@ import java.util.function.BiConsumer; import org.bukkit.Material; -import org.bukkit.craftbukkit.v1_21_R6.inventory.CraftItemStack; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.SkullMeta; @@ -27,11 +26,11 @@ import com.mojang.serialization.DynamicOps; import com.mojang.serialization.JsonOps; -import net.imprex.zip.common.BPConstants; -import net.imprex.zip.common.ReflectionUtil; -import net.imprex.zip.nms.api.ItemStackContainerResult; -import net.imprex.zip.nms.api.ItemStackWithSlot; -import net.imprex.zip.nms.api.NmsManager; +import dev.imprex.zip.common.BPConstants; +import dev.imprex.zip.common.ReflectionUtil; +import dev.imprex.zip.nms.api.ItemStackContainerResult; +import dev.imprex.zip.nms.api.ItemStackWithSlot; +import dev.imprex.zip.nms.api.NmsManager; import net.minecraft.SharedConstants; import net.minecraft.core.RegistryAccess; import net.minecraft.nbt.CompoundTag; @@ -45,7 +44,7 @@ import net.minecraft.util.datafix.fixes.References; import net.minecraft.world.item.component.ResolvableProfile; -public class ZipNmsManager implements NmsManager { +public class ZipNmsManager extends NmsManager { private static final int DATA_VERSION = SharedConstants.getCurrentVersion().dataVersion().version(); @@ -99,7 +98,7 @@ public JsonObject itemstackToJsonElement(ItemStack[] items) { if (item == null || item.getType() == Material.AIR) { continue; } - net.minecraft.world.item.ItemStack minecraftItem = CraftItemStack.asNMSCopy(item); + net.minecraft.world.item.ItemStack minecraftItem = asNmsCopy(item, net.minecraft.world.item.ItemStack.class); DataResult result = net.minecraft.world.item.ItemStack.CODEC.encodeStart(DYNAMIC_OPS_JSON, minecraftItem); JsonObject resultJson = result.getOrThrow().getAsJsonObject(); @@ -138,7 +137,7 @@ public ItemStackContainerResult jsonElementToItemStack(JsonObject json) { .parse(DYNAMIC_OPS_JSON, dynamicItemFixed.getValue()) .getOrThrow(); - ItemStack bukkitItem = CraftItemStack.asCraftMirror(minecraftItem); + ItemStack bukkitItem = asCraftMirror(minecraftItem); int slot = item.getAsJsonObject().get(BPConstants.KEY_INVENTORY_SLOT).getAsInt(); items.add(new ItemStackWithSlot(slot, bukkitItem)); diff --git a/zip-nms/zip-nms-v1_21_R7/pom.xml b/zip-nms/zip-nms-v1_21_R7/pom.xml index f5fa515..2cc87be 100644 --- a/zip-nms/zip-nms-v1_21_R7/pom.xml +++ b/zip-nms/zip-nms-v1_21_R7/pom.xml @@ -2,7 +2,7 @@ 4.0.0 - net.imprex + dev.imprex zip-nms ${revision} @@ -11,7 +11,7 @@ - net.imprex + dev.imprex zip-nms-api ${revision} provided @@ -35,8 +35,8 @@ mojang-mapped - net.imprex.zip.nms.v1_21_R7 - net.imprex.zip.nms.v1_21_R7_mojang + dev.imprex.zip.nms.v1_21_R7 + dev.imprex.zip.nms.v1_21_R7_mojang diff --git a/zip-nms/zip-nms-v1_21_R7/src/main/java/dev/imprex/zip/nms/v1_21_R7/ZipNmsManager.java b/zip-nms/zip-nms-v1_21_R7/src/main/java/dev/imprex/zip/nms/v1_21_R7/ZipNmsManager.java new file mode 100644 index 0000000..4c08fe3 --- /dev/null +++ b/zip-nms/zip-nms-v1_21_R7/src/main/java/dev/imprex/zip/nms/v1_21_R7/ZipNmsManager.java @@ -0,0 +1,213 @@ +package dev.imprex.zip.nms.v1_21_R7; + +import java.io.ByteArrayInputStream; +import java.io.IOException; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.UUID; +import java.util.function.BiConsumer; + +import org.bukkit.Material; +import org.bukkit.inventory.ItemStack; +import org.bukkit.inventory.meta.SkullMeta; + +import com.google.common.collect.Multimaps; +import com.google.gson.JsonArray; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.mojang.authlib.GameProfile; +import com.mojang.authlib.properties.Property; +import com.mojang.authlib.properties.PropertyMap; +import com.mojang.serialization.DataResult; +import com.mojang.serialization.Dynamic; +import com.mojang.serialization.DynamicOps; +import com.mojang.serialization.JsonOps; + +import dev.imprex.zip.common.BPConstants; +import dev.imprex.zip.common.ReflectionUtil; +import dev.imprex.zip.nms.api.ItemStackContainerResult; +import dev.imprex.zip.nms.api.ItemStackWithSlot; +import dev.imprex.zip.nms.api.NmsManager; +import net.minecraft.SharedConstants; +import net.minecraft.core.RegistryAccess; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.nbt.ListTag; +import net.minecraft.nbt.NbtAccounter; +import net.minecraft.nbt.NbtIo; +import net.minecraft.nbt.NbtOps; +import net.minecraft.nbt.Tag; +import net.minecraft.server.MinecraftServer; +import net.minecraft.util.datafix.DataFixers; +import net.minecraft.util.datafix.fixes.References; +import net.minecraft.world.item.component.ResolvableProfile; + +public class ZipNmsManager extends NmsManager { + + private static final int DATA_VERSION = SharedConstants.getCurrentVersion().dataVersion().version(); + + @SuppressWarnings("deprecation") + private static final RegistryAccess DEFAULT_REGISTRY = MinecraftServer.getServer().registryAccess(); + + private static final DynamicOps DYNAMIC_OPS_NBT = DEFAULT_REGISTRY.createSerializationContext(NbtOps.INSTANCE); + private static final DynamicOps DYNAMIC_OPS_JSON = DEFAULT_REGISTRY.createSerializationContext(JsonOps.INSTANCE); + + private static final BiConsumer SET_PROFILE; + + static { + BiConsumer setProfile = (meta, profile) -> { + throw new NullPointerException("Unable to find 'setProfile' method!"); + }; + + Class craftMetaSkullClass = new ItemStack(Material.PLAYER_HEAD) + .getItemMeta() + .getClass(); + + Method setResolvableProfileMethod = ReflectionUtil.searchMethod(craftMetaSkullClass, void.class, ResolvableProfile.class); + if (setResolvableProfileMethod != null) { + setProfile = (meta, profile) -> { + try { + setResolvableProfileMethod.invoke(meta, ResolvableProfile.createResolved(profile)); + } catch (IllegalAccessException | InvocationTargetException e) { + e.printStackTrace(); + } + }; + } else { + Method setProfileMethod = ReflectionUtil.searchMethod(craftMetaSkullClass, void.class, GameProfile.class); + if (setProfileMethod != null) { + setProfile = (meta, profile) -> { + try { + setProfileMethod.invoke(meta, profile); + } catch (IllegalAccessException | InvocationTargetException e) { + e.printStackTrace(); + } + }; + } + } + + SET_PROFILE = setProfile; + } + + @Override + public JsonObject itemstackToJsonElement(ItemStack[] items) { + JsonArray jsonItems = new JsonArray(); + for (int slot = 0; slot < items.length; slot++) { + ItemStack item = items[slot]; + if (item == null || item.getType() == Material.AIR) { + continue; + } + net.minecraft.world.item.ItemStack minecraftItem = asNmsCopy(item, net.minecraft.world.item.ItemStack.class); + + DataResult result = net.minecraft.world.item.ItemStack.CODEC.encodeStart(DYNAMIC_OPS_JSON, minecraftItem); + JsonObject resultJson = result.getOrThrow().getAsJsonObject(); + + resultJson.addProperty(BPConstants.KEY_INVENTORY_SLOT, slot); + jsonItems.add(resultJson); + } + + JsonObject outputJson = new JsonObject(); + outputJson.addProperty(BPConstants.KEY_INVENTORY_VERSION, BPConstants.INVENTORY_VERSION); + outputJson.addProperty(BPConstants.KEY_INVENTORY_DATA_VERSION, DATA_VERSION); + outputJson.addProperty(BPConstants.KEY_INVENTORY_ITEMS_SIZE, items.length); + outputJson.add(BPConstants.KEY_INVENTORY_ITEMS, jsonItems); + return outputJson; + } + + @Override + public ItemStackContainerResult jsonElementToItemStack(JsonObject json) { + // check if current version the same + if (json.get(BPConstants.KEY_INVENTORY_VERSION).getAsInt() != BPConstants.INVENTORY_VERSION) { + throw new IllegalStateException("Unable to convert binary to itemstack because zip version is missmatching"); + } + + int dataVersion = json.get(BPConstants.KEY_INVENTORY_DATA_VERSION).getAsInt(); + int itemsSize = json.get(BPConstants.KEY_INVENTORY_ITEMS_SIZE).getAsInt(); + + List items = new ArrayList<>(); + + JsonArray jsonItems = json.get(BPConstants.KEY_INVENTORY_ITEMS).getAsJsonArray(); + for (JsonElement item : jsonItems) { + Dynamic dynamicItem = new Dynamic<>(JsonOps.INSTANCE, item); + Dynamic dynamicItemFixed = DataFixers.getDataFixer() + .update(References.ITEM_STACK, dynamicItem, dataVersion, DATA_VERSION); + + net.minecraft.world.item.ItemStack minecraftItem = net.minecraft.world.item.ItemStack.CODEC + .parse(DYNAMIC_OPS_JSON, dynamicItemFixed.getValue()) + .getOrThrow(); + + ItemStack bukkitItem = asCraftMirror(minecraftItem); + int slot = item.getAsJsonObject().get(BPConstants.KEY_INVENTORY_SLOT).getAsInt(); + + items.add(new ItemStackWithSlot(slot, bukkitItem)); + } + + return new ItemStackContainerResult(itemsSize, items); + } + + @Override + public JsonObject migrateToJsonElement(byte[] binary) { + CompoundTag compound; + try (ByteArrayInputStream inputStream = new ByteArrayInputStream(binary)) { + compound = NbtIo.readCompressed(inputStream, NbtAccounter.unlimitedHeap()); + } catch (IOException e) { + throw new IllegalStateException("Unable to parse binary to nbt", e); + } + + ListTag list = compound.getListOrEmpty("i"); + + int currentSlot = 0; + + JsonArray jsonItems = new JsonArray(); + for (Tag base : list) { + if (base instanceof CompoundTag itemTag) { + String itemType = itemTag.getString("id").orElse(""); + if (itemType.equals("minecraft:air")) { + currentSlot++; + continue; + } + + Dynamic dynamicItem = new Dynamic<>(NbtOps.INSTANCE, itemTag); + net.minecraft.world.item.ItemStack minecraftItem = net.minecraft.world.item.ItemStack.CODEC + .parse(DYNAMIC_OPS_NBT, dynamicItem.getValue()) + .getOrThrow(); + + DataResult result = net.minecraft.world.item.ItemStack.CODEC.encodeStart(DYNAMIC_OPS_JSON, minecraftItem); + JsonObject resultJson = result.getOrThrow().getAsJsonObject(); + + resultJson.addProperty(BPConstants.KEY_INVENTORY_SLOT, currentSlot); + jsonItems.add(resultJson); + + currentSlot++; + } + } + + JsonObject json = new JsonObject(); + json.addProperty(BPConstants.KEY_INVENTORY_VERSION, BPConstants.INVENTORY_VERSION); + json.addProperty(BPConstants.KEY_INVENTORY_DATA_VERSION, DATA_VERSION); + json.addProperty(BPConstants.KEY_INVENTORY_ITEMS_SIZE, list.size()); + json.add(BPConstants.KEY_INVENTORY_ITEMS, jsonItems); + return json; + } + + @Override + public void setSkullProfile(SkullMeta meta, String texture) { + try { + HashMap properties = new HashMap<>(); + properties.put("textures", new Property("textures", texture)); + + PropertyMap propertyMap = new PropertyMap(Multimaps.forMap(properties)); + GameProfile gameProfile = new GameProfile(UUID.randomUUID(), "", propertyMap); + + SET_PROFILE.accept(meta, gameProfile); + } catch (Exception e) { + e.printStackTrace(); + } + } + + @Override + public boolean isAir(Material material) { + return material == null || material == Material.AIR; + } +} \ No newline at end of file diff --git a/zip-nms/zip-nms-v1_21_R7/src/main/java/net/imprex/zip/nms/v1_21_R7/ZipNmsManager.java b/zip-nms/zip-nms-v1_21_R7/src/main/java/net/imprex/zip/nms/v1_21_R7/ZipNmsManager.java deleted file mode 100644 index b28bc29..0000000 --- a/zip-nms/zip-nms-v1_21_R7/src/main/java/net/imprex/zip/nms/v1_21_R7/ZipNmsManager.java +++ /dev/null @@ -1,260 +0,0 @@ -package net.imprex.zip.nms.v1_21_R7; - -import java.io.ByteArrayInputStream; -import java.io.IOException; -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.UUID; -import java.util.function.BiConsumer; - -import org.bukkit.Bukkit; -import org.bukkit.Material; -import org.bukkit.inventory.ItemStack; -import org.bukkit.inventory.meta.SkullMeta; - -import com.google.common.collect.Multimaps; -import com.google.gson.JsonArray; -import com.google.gson.JsonElement; -import com.google.gson.JsonObject; -import com.mojang.authlib.GameProfile; -import com.mojang.authlib.properties.Property; -import com.mojang.authlib.properties.PropertyMap; -import com.mojang.serialization.DataResult; -import com.mojang.serialization.Dynamic; -import com.mojang.serialization.DynamicOps; -import com.mojang.serialization.JsonOps; - -import net.imprex.zip.common.BPConstants; -import net.imprex.zip.common.ReflectionUtil; -import net.imprex.zip.nms.api.ItemStackContainerResult; -import net.imprex.zip.nms.api.ItemStackWithSlot; -import net.imprex.zip.nms.api.NmsManager; -import net.minecraft.SharedConstants; -import net.minecraft.core.RegistryAccess; -import net.minecraft.nbt.CompoundTag; -import net.minecraft.nbt.ListTag; -import net.minecraft.nbt.NbtAccounter; -import net.minecraft.nbt.NbtIo; -import net.minecraft.nbt.NbtOps; -import net.minecraft.nbt.Tag; -import net.minecraft.server.MinecraftServer; -import net.minecraft.util.datafix.DataFixers; -import net.minecraft.util.datafix.fixes.References; -import net.minecraft.world.item.component.ResolvableProfile; - -public class ZipNmsManager implements NmsManager { - - private static final int DATA_VERSION = SharedConstants.getCurrentVersion().dataVersion().version(); - - @SuppressWarnings("deprecation") - private static final RegistryAccess DEFAULT_REGISTRY = MinecraftServer.getServer().registryAccess(); - - private static final DynamicOps DYNAMIC_OPS_NBT = DEFAULT_REGISTRY.createSerializationContext(NbtOps.INSTANCE); - private static final DynamicOps DYNAMIC_OPS_JSON = DEFAULT_REGISTRY.createSerializationContext(JsonOps.INSTANCE); - - private static final BiConsumer SET_PROFILE; - - private static final Method CRAFT_ITEM_STACK_AS_NMS_COPY; - private static final Method CRAFT_ITEM_STACK_AS_CRAFT_MIRROR; - - static { - BiConsumer setProfile = (meta, profile) -> { - throw new NullPointerException("Unable to find 'setProfile' method!"); - }; - - Class craftMetaSkullClass = new ItemStack(Material.PLAYER_HEAD) - .getItemMeta() - .getClass(); - - Method setResolvableProfileMethod = ReflectionUtil.searchMethod(craftMetaSkullClass, void.class, ResolvableProfile.class); - if (setResolvableProfileMethod != null) { - setProfile = (meta, profile) -> { - try { - setResolvableProfileMethod.invoke(meta, ResolvableProfile.createResolved(profile)); - } catch (IllegalAccessException | InvocationTargetException e) { - e.printStackTrace(); - } - }; - } else { - Method setProfileMethod = ReflectionUtil.searchMethod(craftMetaSkullClass, void.class, GameProfile.class); - if (setProfileMethod != null) { - setProfile = (meta, profile) -> { - try { - setProfileMethod.invoke(meta, profile); - } catch (IllegalAccessException | InvocationTargetException e) { - e.printStackTrace(); - } - }; - } - } - - SET_PROFILE = setProfile; - - String craftItemStackClass = Bukkit.getServer().getClass().getPackageName() + ".inventory.CraftItemStack"; - // CraftItemStack.asNMSCopy(item) - try { - Class craftItemStack = Class.forName(craftItemStackClass); - Method method = ReflectionUtil.searchMethod( - craftItemStack, - net.minecraft.world.item.ItemStack.class, - ItemStack.class); - method.setAccessible(true); - CRAFT_ITEM_STACK_AS_NMS_COPY = method; - } catch (ClassNotFoundException e) { - throw new IllegalStateException(e); - } - - // CraftItemStack.asCraftMirror(item) - try { - Class craftItemStack = Class.forName(craftItemStackClass); - Method method = ReflectionUtil.searchMethod( - craftItemStack, - craftItemStack, - net.minecraft.world.item.ItemStack.class); - method.setAccessible(true); - CRAFT_ITEM_STACK_AS_CRAFT_MIRROR = method; - } catch (ClassNotFoundException e) { - throw new IllegalStateException(e); - } - } - - private static net.minecraft.world.item.ItemStack asNmsCopy(ItemStack item) { - try { - return (net.minecraft.world.item.ItemStack) CRAFT_ITEM_STACK_AS_NMS_COPY.invoke(null, item); - } catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException e) { - throw new IllegalStateException(e); - } - } - - private static ItemStack asCraftMirror(net.minecraft.world.item.ItemStack item) { - try { - return (ItemStack) CRAFT_ITEM_STACK_AS_CRAFT_MIRROR.invoke(null, item); - } catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException e) { - throw new IllegalStateException(e); - } - } - - @Override - public JsonObject itemstackToJsonElement(ItemStack[] items) { - JsonArray jsonItems = new JsonArray(); - for (int slot = 0; slot < items.length; slot++) { - ItemStack item = items[slot]; - if (item == null || item.getType() == Material.AIR) { - continue; - } - net.minecraft.world.item.ItemStack minecraftItem = asNmsCopy(item); - - DataResult result = net.minecraft.world.item.ItemStack.CODEC.encodeStart(DYNAMIC_OPS_JSON, minecraftItem); - JsonObject resultJson = result.getOrThrow().getAsJsonObject(); - - resultJson.addProperty(BPConstants.KEY_INVENTORY_SLOT, slot); - jsonItems.add(resultJson); - } - - JsonObject outputJson = new JsonObject(); - outputJson.addProperty(BPConstants.KEY_INVENTORY_VERSION, BPConstants.INVENTORY_VERSION); - outputJson.addProperty(BPConstants.KEY_INVENTORY_DATA_VERSION, DATA_VERSION); - outputJson.addProperty(BPConstants.KEY_INVENTORY_ITEMS_SIZE, items.length); - outputJson.add(BPConstants.KEY_INVENTORY_ITEMS, jsonItems); - return outputJson; - } - - @Override - public ItemStackContainerResult jsonElementToItemStack(JsonObject json) { - // check if current version the same - if (json.get(BPConstants.KEY_INVENTORY_VERSION).getAsInt() != BPConstants.INVENTORY_VERSION) { - throw new IllegalStateException("Unable to convert binary to itemstack because zip version is missmatching"); - } - - int dataVersion = json.get(BPConstants.KEY_INVENTORY_DATA_VERSION).getAsInt(); - int itemsSize = json.get(BPConstants.KEY_INVENTORY_ITEMS_SIZE).getAsInt(); - - List items = new ArrayList<>(); - - JsonArray jsonItems = json.get(BPConstants.KEY_INVENTORY_ITEMS).getAsJsonArray(); - for (JsonElement item : jsonItems) { - Dynamic dynamicItem = new Dynamic<>(JsonOps.INSTANCE, item); - Dynamic dynamicItemFixed = DataFixers.getDataFixer() - .update(References.ITEM_STACK, dynamicItem, dataVersion, DATA_VERSION); - - net.minecraft.world.item.ItemStack minecraftItem = net.minecraft.world.item.ItemStack.CODEC - .parse(DYNAMIC_OPS_JSON, dynamicItemFixed.getValue()) - .getOrThrow(); - - ItemStack bukkitItem = asCraftMirror(minecraftItem); - int slot = item.getAsJsonObject().get(BPConstants.KEY_INVENTORY_SLOT).getAsInt(); - - items.add(new ItemStackWithSlot(slot, bukkitItem)); - } - - return new ItemStackContainerResult(itemsSize, items); - } - - @Override - public JsonObject migrateToJsonElement(byte[] binary) { - CompoundTag compound; - try (ByteArrayInputStream inputStream = new ByteArrayInputStream(binary)) { - compound = NbtIo.readCompressed(inputStream, NbtAccounter.unlimitedHeap()); - } catch (IOException e) { - throw new IllegalStateException("Unable to parse binary to nbt", e); - } - - ListTag list = compound.getListOrEmpty("i"); - - int currentSlot = 0; - - JsonArray jsonItems = new JsonArray(); - for (Tag base : list) { - if (base instanceof CompoundTag itemTag) { - String itemType = itemTag.getString("id").orElse(""); - if (itemType.equals("minecraft:air")) { - currentSlot++; - continue; - } - - Dynamic dynamicItem = new Dynamic<>(NbtOps.INSTANCE, itemTag); - net.minecraft.world.item.ItemStack minecraftItem = net.minecraft.world.item.ItemStack.CODEC - .parse(DYNAMIC_OPS_NBT, dynamicItem.getValue()) - .getOrThrow(); - - DataResult result = net.minecraft.world.item.ItemStack.CODEC.encodeStart(DYNAMIC_OPS_JSON, minecraftItem); - JsonObject resultJson = result.getOrThrow().getAsJsonObject(); - - resultJson.addProperty(BPConstants.KEY_INVENTORY_SLOT, currentSlot); - jsonItems.add(resultJson); - - currentSlot++; - } - } - - JsonObject json = new JsonObject(); - json.addProperty(BPConstants.KEY_INVENTORY_VERSION, BPConstants.INVENTORY_VERSION); - json.addProperty(BPConstants.KEY_INVENTORY_DATA_VERSION, DATA_VERSION); - json.addProperty(BPConstants.KEY_INVENTORY_ITEMS_SIZE, list.size()); - json.add(BPConstants.KEY_INVENTORY_ITEMS, jsonItems); - return json; - } - - @Override - public void setSkullProfile(SkullMeta meta, String texture) { - try { - HashMap properties = new HashMap<>(); - properties.put("textures", new Property("textures", texture)); - - PropertyMap propertyMap = new PropertyMap(Multimaps.forMap(properties)); - GameProfile gameProfile = new GameProfile(UUID.randomUUID(), "", propertyMap); - - SET_PROFILE.accept(meta, gameProfile); - } catch (Exception e) { - e.printStackTrace(); - } - } - - @Override - public boolean isAir(Material material) { - return material == null || material == Material.AIR; - } -} \ No newline at end of file diff --git a/zip-plugin/pom.xml b/zip-plugin/pom.xml index 38f6ca5..9cc4e80 100644 --- a/zip-plugin/pom.xml +++ b/zip-plugin/pom.xml @@ -2,7 +2,7 @@ 4.0.0 - net.imprex + dev.imprex zip ${revision} @@ -30,109 +30,200 @@ compile - net.imprex + dev.imprex zip-api ${revision} compile - net.imprex + dev.imprex zip-common ${revision} provided - net.imprex + dev.imprex zip-nms-api ${revision} compile - net.imprex + dev.imprex zip-nms-v1_19_R1 ${revision} compile - net.imprex + dev.imprex + zip-nms-v1_19_R1 + ${revision} + mojang-mapped + compile + + + dev.imprex + zip-nms-v1_19_R2 + ${revision} + compile + + + dev.imprex zip-nms-v1_19_R2 ${revision} + mojang-mapped + compile + + + dev.imprex + zip-nms-v1_19_R3 + ${revision} compile - net.imprex + dev.imprex zip-nms-v1_19_R3 ${revision} + mojang-mapped compile - net.imprex + dev.imprex zip-nms-v1_20_R1 ${revision} compile - net.imprex + dev.imprex + zip-nms-v1_20_R1 + ${revision} + mojang-mapped + compile + + + dev.imprex + zip-nms-v1_20_R2 + ${revision} + compile + + + dev.imprex zip-nms-v1_20_R2 ${revision} + mojang-mapped compile - net.imprex + dev.imprex zip-nms-v1_20_R3 ${revision} compile - net.imprex + dev.imprex + zip-nms-v1_20_R3 + ${revision} + mojang-mapped + compile + + + dev.imprex + zip-nms-v1_20_R4 + ${revision} + compile + + + dev.imprex zip-nms-v1_20_R4 ${revision} + mojang-mapped + compile + + + dev.imprex + zip-nms-v1_21_R1 + ${revision} compile - net.imprex + dev.imprex zip-nms-v1_21_R1 ${revision} + mojang-mapped + compile + + + dev.imprex + zip-nms-v1_21_R2 + ${revision} compile - net.imprex + dev.imprex zip-nms-v1_21_R2 ${revision} + mojang-mapped compile - net.imprex + dev.imprex zip-nms-v1_21_R3 ${revision} compile - net.imprex + dev.imprex + zip-nms-v1_21_R3 + ${revision} + mojang-mapped + compile + + + dev.imprex + zip-nms-v1_21_R4 + ${revision} + compile + + + dev.imprex zip-nms-v1_21_R4 ${revision} + mojang-mapped compile - net.imprex + dev.imprex zip-nms-v1_21_R5 ${revision} compile - net.imprex + dev.imprex + zip-nms-v1_21_R5 + ${revision} + mojang-mapped + compile + + + dev.imprex zip-nms-v1_21_R6 ${revision} compile - net.imprex + dev.imprex + zip-nms-v1_21_R6 + ${revision} + mojang-mapped + compile + + + dev.imprex zip-nms-v1_21_R7 ${revision} compile - net.imprex + dev.imprex zip-nms-v1_21_R7 ${revision} mojang-mapped diff --git a/zip-plugin/src/main/java/net/imprex/zip/Backpack.java b/zip-plugin/src/main/java/dev/imprex/zip/Backpack.java similarity index 95% rename from zip-plugin/src/main/java/net/imprex/zip/Backpack.java rename to zip-plugin/src/main/java/dev/imprex/zip/Backpack.java index 0ae87ce..826e450 100644 --- a/zip-plugin/src/main/java/net/imprex/zip/Backpack.java +++ b/zip-plugin/src/main/java/dev/imprex/zip/Backpack.java @@ -1,4 +1,4 @@ -package net.imprex.zip; +package dev.imprex.zip; import java.util.ArrayList; import java.util.Arrays; @@ -20,14 +20,14 @@ import com.google.gson.Gson; import com.google.gson.JsonObject; -import net.imprex.zip.api.ZIPBackpack; -import net.imprex.zip.common.BPConstants; -import net.imprex.zip.common.UniqueId; -import net.imprex.zip.common.ZIPLogger; -import net.imprex.zip.config.MessageConfig; -import net.imprex.zip.config.MessageKey; -import net.imprex.zip.nms.api.ItemStackContainerResult; -import net.imprex.zip.nms.api.ItemStackWithSlot; +import dev.imprex.zip.config.MessageConfig; +import dev.imprex.zip.config.MessageKey; +import dev.imprex.zip.nms.api.ItemStackContainerResult; +import dev.imprex.zip.nms.api.ItemStackWithSlot; +import dev.imprex.zip.api.ZIPBackpack; +import dev.imprex.zip.common.BPConstants; +import dev.imprex.zip.common.UniqueId; +import dev.imprex.zip.common.ZIPLogger; public class Backpack implements ZIPBackpack { diff --git a/zip-plugin/src/main/java/net/imprex/zip/BackpackHandler.java b/zip-plugin/src/main/java/dev/imprex/zip/BackpackHandler.java similarity index 96% rename from zip-plugin/src/main/java/net/imprex/zip/BackpackHandler.java rename to zip-plugin/src/main/java/dev/imprex/zip/BackpackHandler.java index a39970c..804d29b 100644 --- a/zip-plugin/src/main/java/net/imprex/zip/BackpackHandler.java +++ b/zip-plugin/src/main/java/dev/imprex/zip/BackpackHandler.java @@ -1,4 +1,4 @@ -package net.imprex.zip; +package dev.imprex.zip; import java.io.FileInputStream; import java.io.FileOutputStream; @@ -22,12 +22,12 @@ import com.google.gson.JsonObject; -import net.imprex.zip.api.ZIPBackpack; -import net.imprex.zip.api.ZIPBackpackType; -import net.imprex.zip.api.ZIPHandler; -import net.imprex.zip.api.ZIPUniqueId; -import net.imprex.zip.common.UniqueId; -import net.imprex.zip.common.ZIPLogger; +import dev.imprex.zip.api.ZIPBackpack; +import dev.imprex.zip.api.ZIPBackpackType; +import dev.imprex.zip.api.ZIPHandler; +import dev.imprex.zip.api.ZIPUniqueId; +import dev.imprex.zip.common.UniqueId; +import dev.imprex.zip.common.ZIPLogger; public class BackpackHandler implements ZIPHandler { diff --git a/zip-plugin/src/main/java/net/imprex/zip/BackpackListener.java b/zip-plugin/src/main/java/dev/imprex/zip/BackpackListener.java similarity index 96% rename from zip-plugin/src/main/java/net/imprex/zip/BackpackListener.java rename to zip-plugin/src/main/java/dev/imprex/zip/BackpackListener.java index 7bc4d03..74f6df8 100644 --- a/zip-plugin/src/main/java/net/imprex/zip/BackpackListener.java +++ b/zip-plugin/src/main/java/dev/imprex/zip/BackpackListener.java @@ -1,4 +1,4 @@ -package net.imprex.zip; +package dev.imprex.zip; import org.bukkit.entity.HumanEntity; import org.bukkit.entity.Player; @@ -18,10 +18,10 @@ import org.bukkit.inventory.Inventory; import org.bukkit.inventory.ItemStack; -import net.imprex.zip.api.ZIPBackpackType; -import net.imprex.zip.common.UniqueId; -import net.imprex.zip.config.MessageConfig; -import net.imprex.zip.config.MessageKey; +import dev.imprex.zip.config.MessageConfig; +import dev.imprex.zip.config.MessageKey; +import dev.imprex.zip.api.ZIPBackpackType; +import dev.imprex.zip.common.UniqueId; public class BackpackListener implements Listener { diff --git a/zip-plugin/src/main/java/net/imprex/zip/BackpackMigrator.java b/zip-plugin/src/main/java/dev/imprex/zip/BackpackMigrator.java similarity index 95% rename from zip-plugin/src/main/java/net/imprex/zip/BackpackMigrator.java rename to zip-plugin/src/main/java/dev/imprex/zip/BackpackMigrator.java index 774906d..783033d 100644 --- a/zip-plugin/src/main/java/net/imprex/zip/BackpackMigrator.java +++ b/zip-plugin/src/main/java/dev/imprex/zip/BackpackMigrator.java @@ -1,4 +1,4 @@ -package net.imprex.zip; +package dev.imprex.zip; import java.awt.geom.IllegalPathStateException; import java.io.FileInputStream; @@ -14,10 +14,10 @@ import com.google.gson.JsonObject; import io.netty.buffer.Unpooled; -import net.imprex.zip.common.BPConstants; -import net.imprex.zip.common.Ingrim4Buffer; -import net.imprex.zip.common.UniqueId; -import net.imprex.zip.common.ZIPLogger; +import dev.imprex.zip.common.BPConstants; +import dev.imprex.zip.common.Ingrim4Buffer; +import dev.imprex.zip.common.UniqueId; +import dev.imprex.zip.common.ZIPLogger; public class BackpackMigrator { diff --git a/zip-plugin/src/main/java/net/imprex/zip/BackpackPlugin.java b/zip-plugin/src/main/java/dev/imprex/zip/BackpackPlugin.java similarity index 95% rename from zip-plugin/src/main/java/net/imprex/zip/BackpackPlugin.java rename to zip-plugin/src/main/java/dev/imprex/zip/BackpackPlugin.java index 2f9fdb5..7c3b4b0 100644 --- a/zip-plugin/src/main/java/net/imprex/zip/BackpackPlugin.java +++ b/zip-plugin/src/main/java/dev/imprex/zip/BackpackPlugin.java @@ -1,4 +1,4 @@ -package net.imprex.zip; +package dev.imprex.zip; import org.bukkit.Bukkit; import org.bukkit.NamespacedKey; @@ -15,10 +15,10 @@ import org.bukkit.plugin.ServicePriority; import org.bukkit.plugin.java.JavaPlugin; -import net.imprex.zip.api.ZIPService; -import net.imprex.zip.command.BackpackCommand; -import net.imprex.zip.common.ZIPLogger; -import net.imprex.zip.config.BackpackConfig; +import dev.imprex.zip.command.BackpackCommand; +import dev.imprex.zip.config.BackpackConfig; +import dev.imprex.zip.api.ZIPService; +import dev.imprex.zip.common.ZIPLogger; public class BackpackPlugin extends JavaPlugin implements Listener, ZIPService { diff --git a/zip-plugin/src/main/java/net/imprex/zip/BackpackRecipe.java b/zip-plugin/src/main/java/dev/imprex/zip/BackpackRecipe.java similarity index 85% rename from zip-plugin/src/main/java/net/imprex/zip/BackpackRecipe.java rename to zip-plugin/src/main/java/dev/imprex/zip/BackpackRecipe.java index 79b04db..38e02cc 100644 --- a/zip-plugin/src/main/java/net/imprex/zip/BackpackRecipe.java +++ b/zip-plugin/src/main/java/dev/imprex/zip/BackpackRecipe.java @@ -1,4 +1,4 @@ -package net.imprex.zip; +package dev.imprex.zip; import java.util.Map.Entry; @@ -6,9 +6,9 @@ import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ShapedRecipe; -import net.imprex.zip.config.RecipeConfig; -import net.imprex.zip.api.ZIPRecipe; -import net.imprex.zip.config.BackpackTypeConfig; +import dev.imprex.zip.config.BackpackTypeConfig; +import dev.imprex.zip.config.RecipeConfig; +import dev.imprex.zip.api.ZIPRecipe; public class BackpackRecipe extends ShapedRecipe implements ZIPRecipe { diff --git a/zip-plugin/src/main/java/net/imprex/zip/BackpackRegistry.java b/zip-plugin/src/main/java/dev/imprex/zip/BackpackRegistry.java similarity index 87% rename from zip-plugin/src/main/java/net/imprex/zip/BackpackRegistry.java rename to zip-plugin/src/main/java/dev/imprex/zip/BackpackRegistry.java index 9a0f8c0..4ed6c3e 100644 --- a/zip-plugin/src/main/java/net/imprex/zip/BackpackRegistry.java +++ b/zip-plugin/src/main/java/dev/imprex/zip/BackpackRegistry.java @@ -1,4 +1,4 @@ -package net.imprex.zip; +package dev.imprex.zip; import java.util.Collection; import java.util.Collections; @@ -9,13 +9,13 @@ import org.bukkit.Bukkit; import org.bukkit.entity.Player; -import net.imprex.zip.api.ZIPBackpackType; -import net.imprex.zip.api.ZIPRecipe; -import net.imprex.zip.api.ZIPRegistry; -import net.imprex.zip.common.ZIPLogger; -import net.imprex.zip.config.BackpackConfig; -import net.imprex.zip.config.BackpackTypeConfig; -import net.imprex.zip.config.BackpackTypeListConfig; +import dev.imprex.zip.config.BackpackConfig; +import dev.imprex.zip.config.BackpackTypeConfig; +import dev.imprex.zip.config.BackpackTypeListConfig; +import dev.imprex.zip.api.ZIPBackpackType; +import dev.imprex.zip.api.ZIPRecipe; +import dev.imprex.zip.api.ZIPRegistry; +import dev.imprex.zip.common.ZIPLogger; public class BackpackRegistry implements ZIPRegistry { diff --git a/zip-plugin/src/main/java/net/imprex/zip/BackpackType.java b/zip-plugin/src/main/java/dev/imprex/zip/BackpackType.java similarity index 94% rename from zip-plugin/src/main/java/net/imprex/zip/BackpackType.java rename to zip-plugin/src/main/java/dev/imprex/zip/BackpackType.java index 48ca37d..a51df34 100644 --- a/zip-plugin/src/main/java/net/imprex/zip/BackpackType.java +++ b/zip-plugin/src/main/java/dev/imprex/zip/BackpackType.java @@ -1,4 +1,4 @@ -package net.imprex.zip; +package dev.imprex.zip; import java.util.Collections; import java.util.List; @@ -9,9 +9,9 @@ import org.bukkit.inventory.meta.SkullMeta; import org.bukkit.persistence.PersistentDataType; -import net.imprex.zip.api.ZIPBackpackType; -import net.imprex.zip.config.BackpackTypeConfig; -import net.imprex.zip.util.ItemFactory; +import dev.imprex.zip.config.BackpackTypeConfig; +import dev.imprex.zip.util.ItemFactory; +import dev.imprex.zip.api.ZIPBackpackType; public class BackpackType implements ZIPBackpackType { diff --git a/zip-plugin/src/main/java/net/imprex/zip/MetricsSystem.java b/zip-plugin/src/main/java/dev/imprex/zip/MetricsSystem.java similarity index 95% rename from zip-plugin/src/main/java/net/imprex/zip/MetricsSystem.java rename to zip-plugin/src/main/java/dev/imprex/zip/MetricsSystem.java index db7a291..08bf0c6 100644 --- a/zip-plugin/src/main/java/net/imprex/zip/MetricsSystem.java +++ b/zip-plugin/src/main/java/dev/imprex/zip/MetricsSystem.java @@ -1,4 +1,4 @@ -package net.imprex.zip; +package dev.imprex.zip; import java.util.HashMap; import java.util.Map; @@ -10,8 +10,8 @@ import org.bstats.charts.SimplePie; import org.bukkit.Bukkit; -import net.imprex.zip.config.BackpackConfig; -import net.imprex.zip.util.MathUtil; +import dev.imprex.zip.config.BackpackConfig; +import dev.imprex.zip.util.MathUtil; /** * @author Imprex-Development diff --git a/zip-plugin/src/main/java/net/imprex/zip/NmsInstance.java b/zip-plugin/src/main/java/dev/imprex/zip/NmsInstance.java similarity index 85% rename from zip-plugin/src/main/java/net/imprex/zip/NmsInstance.java rename to zip-plugin/src/main/java/dev/imprex/zip/NmsInstance.java index 4e8abd1..17b13ea 100644 --- a/zip-plugin/src/main/java/net/imprex/zip/NmsInstance.java +++ b/zip-plugin/src/main/java/dev/imprex/zip/NmsInstance.java @@ -1,5 +1,5 @@ -package net.imprex.zip; +package dev.imprex.zip; import java.lang.reflect.Constructor; @@ -9,11 +9,11 @@ import com.google.gson.JsonObject; -import net.imprex.zip.common.MinecraftVersion; -import net.imprex.zip.common.ServerVersion; -import net.imprex.zip.common.ZIPLogger; -import net.imprex.zip.nms.api.ItemStackContainerResult; -import net.imprex.zip.nms.api.NmsManager; +import dev.imprex.zip.nms.api.ItemStackContainerResult; +import dev.imprex.zip.nms.api.NmsManager; +import dev.imprex.zip.common.MinecraftVersion; +import dev.imprex.zip.common.ServerVersion; +import dev.imprex.zip.common.ZIPLogger; public class NmsInstance { @@ -33,7 +33,7 @@ public static void initialize() { ZIPLogger.info("Searching NMS adapter for server version \"" + nmsVersion + "\"!"); try { - String className = "net.imprex.zip.nms." + nmsVersion + ".ZipNmsManager"; + String className = "dev.imprex.zip.nms." + nmsVersion + ".ZipNmsManager"; Class nmsManager = Class.forName(className).asSubclass(NmsManager.class); Constructor constructor = nmsManager.getConstructor(); NmsInstance.instance = constructor.newInstance(); diff --git a/zip-plugin/src/main/java/net/imprex/zip/UpdateSystem.java b/zip-plugin/src/main/java/dev/imprex/zip/UpdateSystem.java similarity index 94% rename from zip-plugin/src/main/java/net/imprex/zip/UpdateSystem.java rename to zip-plugin/src/main/java/dev/imprex/zip/UpdateSystem.java index a8cc6f4..bc1a9c3 100644 --- a/zip-plugin/src/main/java/net/imprex/zip/UpdateSystem.java +++ b/zip-plugin/src/main/java/dev/imprex/zip/UpdateSystem.java @@ -2,7 +2,7 @@ * @author Imprex-Development * @see UpdateSystem.java */ -package net.imprex.zip; +package dev.imprex.zip; import java.time.Duration; import java.time.Instant; @@ -23,14 +23,14 @@ import com.google.gson.annotations.SerializedName; -import net.imprex.zip.common.MinecraftVersion; -import net.imprex.zip.common.Version; -import net.imprex.zip.common.ZIPLogger; -import net.imprex.zip.config.GeneralConfig; -import net.imprex.zip.config.MessageConfig; -import net.imprex.zip.config.MessageKey; -import net.imprex.zip.util.AbstractHttpService; -import net.imprex.zip.util.ConsoleUtil; +import dev.imprex.zip.config.GeneralConfig; +import dev.imprex.zip.config.MessageConfig; +import dev.imprex.zip.config.MessageKey; +import dev.imprex.zip.util.AbstractHttpService; +import dev.imprex.zip.util.ConsoleUtil; +import dev.imprex.zip.common.MinecraftVersion; +import dev.imprex.zip.common.Version; +import dev.imprex.zip.common.ZIPLogger; import net.md_5.bungee.api.chat.BaseComponent; import net.md_5.bungee.api.chat.ClickEvent; import net.md_5.bungee.api.chat.ComponentBuilder; diff --git a/zip-plugin/src/main/java/net/imprex/zip/command/BackpackCommand.java b/zip-plugin/src/main/java/dev/imprex/zip/command/BackpackCommand.java similarity index 95% rename from zip-plugin/src/main/java/net/imprex/zip/command/BackpackCommand.java rename to zip-plugin/src/main/java/dev/imprex/zip/command/BackpackCommand.java index 5a7b2d6..fed7603 100644 --- a/zip-plugin/src/main/java/net/imprex/zip/command/BackpackCommand.java +++ b/zip-plugin/src/main/java/dev/imprex/zip/command/BackpackCommand.java @@ -1,4 +1,4 @@ -package net.imprex.zip.command; +package dev.imprex.zip.command; import java.util.ArrayList; import java.util.Arrays; @@ -12,9 +12,9 @@ import org.bukkit.command.CommandSender; import org.bukkit.command.TabCompleter; -import net.imprex.zip.BackpackPlugin; -import net.imprex.zip.config.MessageConfig; -import net.imprex.zip.config.MessageKey; +import dev.imprex.zip.BackpackPlugin; +import dev.imprex.zip.config.MessageConfig; +import dev.imprex.zip.config.MessageKey; public class BackpackCommand implements CommandExecutor, TabCompleter { diff --git a/zip-plugin/src/main/java/net/imprex/zip/command/BackpackSubCommand.java b/zip-plugin/src/main/java/dev/imprex/zip/command/BackpackSubCommand.java similarity index 89% rename from zip-plugin/src/main/java/net/imprex/zip/command/BackpackSubCommand.java rename to zip-plugin/src/main/java/dev/imprex/zip/command/BackpackSubCommand.java index 2523192..abe063a 100644 --- a/zip-plugin/src/main/java/net/imprex/zip/command/BackpackSubCommand.java +++ b/zip-plugin/src/main/java/dev/imprex/zip/command/BackpackSubCommand.java @@ -1,4 +1,4 @@ -package net.imprex.zip.command; +package dev.imprex.zip.command; import java.util.Collections; import java.util.HashMap; @@ -10,12 +10,12 @@ import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; -import net.imprex.zip.Backpack; -import net.imprex.zip.BackpackHandler; -import net.imprex.zip.BackpackPlugin; -import net.imprex.zip.NmsInstance; -import net.imprex.zip.config.MessageConfig; -import net.imprex.zip.config.MessageKey; +import dev.imprex.zip.Backpack; +import dev.imprex.zip.BackpackHandler; +import dev.imprex.zip.BackpackPlugin; +import dev.imprex.zip.NmsInstance; +import dev.imprex.zip.config.MessageConfig; +import dev.imprex.zip.config.MessageKey; public abstract class BackpackSubCommand { diff --git a/zip-plugin/src/main/java/net/imprex/zip/command/GiveCommand.java b/zip-plugin/src/main/java/dev/imprex/zip/command/GiveCommand.java similarity index 93% rename from zip-plugin/src/main/java/net/imprex/zip/command/GiveCommand.java rename to zip-plugin/src/main/java/dev/imprex/zip/command/GiveCommand.java index 23d289a..b3f39ba 100644 --- a/zip-plugin/src/main/java/net/imprex/zip/command/GiveCommand.java +++ b/zip-plugin/src/main/java/dev/imprex/zip/command/GiveCommand.java @@ -1,4 +1,4 @@ -package net.imprex.zip.command; +package dev.imprex.zip.command; import java.util.List; import java.util.Locale; @@ -8,10 +8,10 @@ import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; -import net.imprex.zip.BackpackPlugin; -import net.imprex.zip.BackpackRegistry; -import net.imprex.zip.BackpackType; -import net.imprex.zip.config.MessageKey; +import dev.imprex.zip.BackpackPlugin; +import dev.imprex.zip.BackpackRegistry; +import dev.imprex.zip.BackpackType; +import dev.imprex.zip.config.MessageKey; public class GiveCommand extends BackpackSubCommand { diff --git a/zip-plugin/src/main/java/net/imprex/zip/command/LinkCommand.java b/zip-plugin/src/main/java/dev/imprex/zip/command/LinkCommand.java similarity index 95% rename from zip-plugin/src/main/java/net/imprex/zip/command/LinkCommand.java rename to zip-plugin/src/main/java/dev/imprex/zip/command/LinkCommand.java index da4f1e3..0923d6d 100644 --- a/zip-plugin/src/main/java/net/imprex/zip/command/LinkCommand.java +++ b/zip-plugin/src/main/java/dev/imprex/zip/command/LinkCommand.java @@ -1,4 +1,4 @@ -package net.imprex.zip.command; +package dev.imprex.zip.command; import java.util.List; import java.util.Locale; @@ -9,9 +9,9 @@ import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; -import net.imprex.zip.Backpack; -import net.imprex.zip.BackpackPlugin; -import net.imprex.zip.config.MessageKey; +import dev.imprex.zip.Backpack; +import dev.imprex.zip.BackpackPlugin; +import dev.imprex.zip.config.MessageKey; public class LinkCommand extends BackpackSubCommand { diff --git a/zip-plugin/src/main/java/net/imprex/zip/command/LoreCommand.java b/zip-plugin/src/main/java/dev/imprex/zip/command/LoreCommand.java similarity index 98% rename from zip-plugin/src/main/java/net/imprex/zip/command/LoreCommand.java rename to zip-plugin/src/main/java/dev/imprex/zip/command/LoreCommand.java index 65a869c..8e8115f 100644 --- a/zip-plugin/src/main/java/net/imprex/zip/command/LoreCommand.java +++ b/zip-plugin/src/main/java/dev/imprex/zip/command/LoreCommand.java @@ -1,4 +1,4 @@ -package net.imprex.zip.command; +package dev.imprex.zip.command; import java.util.ArrayList; import java.util.Arrays; @@ -11,9 +11,9 @@ import org.bukkit.inventory.PlayerInventory; import org.bukkit.inventory.meta.ItemMeta; -import net.imprex.zip.BackpackPlugin; -import net.imprex.zip.config.GeneralConfig; -import net.imprex.zip.config.MessageKey; +import dev.imprex.zip.BackpackPlugin; +import dev.imprex.zip.config.GeneralConfig; +import dev.imprex.zip.config.MessageKey; import net.md_5.bungee.api.ChatColor; import net.md_5.bungee.api.chat.ClickEvent; import net.md_5.bungee.api.chat.HoverEvent; diff --git a/zip-plugin/src/main/java/net/imprex/zip/command/PickupCommand.java b/zip-plugin/src/main/java/dev/imprex/zip/command/PickupCommand.java similarity index 88% rename from zip-plugin/src/main/java/net/imprex/zip/command/PickupCommand.java rename to zip-plugin/src/main/java/dev/imprex/zip/command/PickupCommand.java index afe7767..e0c1030 100644 --- a/zip-plugin/src/main/java/net/imprex/zip/command/PickupCommand.java +++ b/zip-plugin/src/main/java/dev/imprex/zip/command/PickupCommand.java @@ -1,13 +1,13 @@ -package net.imprex.zip.command; +package dev.imprex.zip.command; import java.util.List; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; -import net.imprex.zip.Backpack; -import net.imprex.zip.BackpackPlugin; -import net.imprex.zip.config.MessageKey; +import dev.imprex.zip.Backpack; +import dev.imprex.zip.BackpackPlugin; +import dev.imprex.zip.config.MessageKey; public class PickupCommand extends BackpackSubCommand { diff --git a/zip-plugin/src/main/java/net/imprex/zip/command/TypeCommand.java b/zip-plugin/src/main/java/dev/imprex/zip/command/TypeCommand.java similarity index 90% rename from zip-plugin/src/main/java/net/imprex/zip/command/TypeCommand.java rename to zip-plugin/src/main/java/dev/imprex/zip/command/TypeCommand.java index 99da9ee..d2bf4d5 100644 --- a/zip-plugin/src/main/java/net/imprex/zip/command/TypeCommand.java +++ b/zip-plugin/src/main/java/dev/imprex/zip/command/TypeCommand.java @@ -1,13 +1,13 @@ -package net.imprex.zip.command; +package dev.imprex.zip.command; import java.util.List; import org.bukkit.command.CommandSender; -import net.imprex.zip.BackpackPlugin; -import net.imprex.zip.BackpackRegistry; -import net.imprex.zip.api.ZIPBackpackType; -import net.imprex.zip.config.MessageKey; +import dev.imprex.zip.BackpackPlugin; +import dev.imprex.zip.BackpackRegistry; +import dev.imprex.zip.config.MessageKey; +import dev.imprex.zip.api.ZIPBackpackType; import net.md_5.bungee.api.chat.ClickEvent; import net.md_5.bungee.api.chat.HoverEvent; import net.md_5.bungee.api.chat.TextComponent; diff --git a/zip-plugin/src/main/java/net/imprex/zip/config/BackpackConfig.java b/zip-plugin/src/main/java/dev/imprex/zip/config/BackpackConfig.java similarity index 93% rename from zip-plugin/src/main/java/net/imprex/zip/config/BackpackConfig.java rename to zip-plugin/src/main/java/dev/imprex/zip/config/BackpackConfig.java index 31f1a71..c7b245f 100644 --- a/zip-plugin/src/main/java/net/imprex/zip/config/BackpackConfig.java +++ b/zip-plugin/src/main/java/dev/imprex/zip/config/BackpackConfig.java @@ -1,4 +1,4 @@ -package net.imprex.zip.config; +package dev.imprex.zip.config; import java.io.IOException; import java.nio.file.Files; @@ -7,8 +7,8 @@ import org.bukkit.configuration.ConfigurationSection; import org.bukkit.configuration.file.FileConfiguration; -import net.imprex.zip.BackpackPlugin; -import net.imprex.zip.common.MinecraftVersion; +import dev.imprex.zip.BackpackPlugin; +import dev.imprex.zip.common.MinecraftVersion; public class BackpackConfig { diff --git a/zip-plugin/src/main/java/net/imprex/zip/config/BackpackTypeConfig.java b/zip-plugin/src/main/java/dev/imprex/zip/config/BackpackTypeConfig.java similarity index 98% rename from zip-plugin/src/main/java/net/imprex/zip/config/BackpackTypeConfig.java rename to zip-plugin/src/main/java/dev/imprex/zip/config/BackpackTypeConfig.java index 61973f7..e4fdcf7 100644 --- a/zip-plugin/src/main/java/net/imprex/zip/config/BackpackTypeConfig.java +++ b/zip-plugin/src/main/java/dev/imprex/zip/config/BackpackTypeConfig.java @@ -1,4 +1,4 @@ -package net.imprex.zip.config; +package dev.imprex.zip.config; import java.util.List; diff --git a/zip-plugin/src/main/java/net/imprex/zip/config/BackpackTypeListConfig.java b/zip-plugin/src/main/java/dev/imprex/zip/config/BackpackTypeListConfig.java similarity index 95% rename from zip-plugin/src/main/java/net/imprex/zip/config/BackpackTypeListConfig.java rename to zip-plugin/src/main/java/dev/imprex/zip/config/BackpackTypeListConfig.java index eb61bde..58d321d 100644 --- a/zip-plugin/src/main/java/net/imprex/zip/config/BackpackTypeListConfig.java +++ b/zip-plugin/src/main/java/dev/imprex/zip/config/BackpackTypeListConfig.java @@ -1,4 +1,4 @@ -package net.imprex.zip.config; +package dev.imprex.zip.config; import java.util.ArrayList; import java.util.List; diff --git a/zip-plugin/src/main/java/net/imprex/zip/config/GeneralConfig.java b/zip-plugin/src/main/java/dev/imprex/zip/config/GeneralConfig.java similarity index 97% rename from zip-plugin/src/main/java/net/imprex/zip/config/GeneralConfig.java rename to zip-plugin/src/main/java/dev/imprex/zip/config/GeneralConfig.java index 28bb450..e8243ad 100644 --- a/zip-plugin/src/main/java/net/imprex/zip/config/GeneralConfig.java +++ b/zip-plugin/src/main/java/dev/imprex/zip/config/GeneralConfig.java @@ -1,4 +1,4 @@ -package net.imprex.zip.config; +package dev.imprex.zip.config; import org.bukkit.configuration.ConfigurationSection; diff --git a/zip-plugin/src/main/java/net/imprex/zip/config/MessageConfig.java b/zip-plugin/src/main/java/dev/imprex/zip/config/MessageConfig.java similarity index 97% rename from zip-plugin/src/main/java/net/imprex/zip/config/MessageConfig.java rename to zip-plugin/src/main/java/dev/imprex/zip/config/MessageConfig.java index bf81c99..d4fc204 100644 --- a/zip-plugin/src/main/java/net/imprex/zip/config/MessageConfig.java +++ b/zip-plugin/src/main/java/dev/imprex/zip/config/MessageConfig.java @@ -1,4 +1,4 @@ -package net.imprex.zip.config; +package dev.imprex.zip.config; import java.io.BufferedReader; import java.io.IOException; @@ -19,8 +19,8 @@ import org.bukkit.command.CommandSender; import org.bukkit.configuration.file.YamlConfiguration; -import net.imprex.zip.BackpackPlugin; -import net.imprex.zip.common.ZIPLogger; +import dev.imprex.zip.BackpackPlugin; +import dev.imprex.zip.common.ZIPLogger; import net.md_5.bungee.api.ChatColor; public class MessageConfig { diff --git a/zip-plugin/src/main/java/net/imprex/zip/config/MessageKey.java b/zip-plugin/src/main/java/dev/imprex/zip/config/MessageKey.java similarity index 99% rename from zip-plugin/src/main/java/net/imprex/zip/config/MessageKey.java rename to zip-plugin/src/main/java/dev/imprex/zip/config/MessageKey.java index bf4bfeb..3d8c2e5 100644 --- a/zip-plugin/src/main/java/net/imprex/zip/config/MessageKey.java +++ b/zip-plugin/src/main/java/dev/imprex/zip/config/MessageKey.java @@ -1,4 +1,4 @@ -package net.imprex.zip.config; +package dev.imprex.zip.config; public enum MessageKey { diff --git a/zip-plugin/src/main/java/net/imprex/zip/config/RecipeConfig.java b/zip-plugin/src/main/java/dev/imprex/zip/config/RecipeConfig.java similarity index 97% rename from zip-plugin/src/main/java/net/imprex/zip/config/RecipeConfig.java rename to zip-plugin/src/main/java/dev/imprex/zip/config/RecipeConfig.java index 67c335b..e4d1816 100644 --- a/zip-plugin/src/main/java/net/imprex/zip/config/RecipeConfig.java +++ b/zip-plugin/src/main/java/dev/imprex/zip/config/RecipeConfig.java @@ -1,4 +1,4 @@ -package net.imprex.zip.config; +package dev.imprex.zip.config; import java.util.HashMap; import java.util.Map; @@ -6,7 +6,7 @@ import org.bukkit.Material; import org.bukkit.configuration.ConfigurationSection; -import net.imprex.zip.common.ZIPLogger; +import dev.imprex.zip.common.ZIPLogger; public class RecipeConfig { diff --git a/zip-plugin/src/main/java/net/imprex/zip/util/AbstractHttpService.java b/zip-plugin/src/main/java/dev/imprex/zip/util/AbstractHttpService.java similarity index 94% rename from zip-plugin/src/main/java/net/imprex/zip/util/AbstractHttpService.java rename to zip-plugin/src/main/java/dev/imprex/zip/util/AbstractHttpService.java index 2c0fee8..54d5b3a 100644 --- a/zip-plugin/src/main/java/net/imprex/zip/util/AbstractHttpService.java +++ b/zip-plugin/src/main/java/dev/imprex/zip/util/AbstractHttpService.java @@ -2,7 +2,7 @@ * @author Imprex-Development * @see AbstractHttpService.java */ -package net.imprex.zip.util; +package dev.imprex.zip.util; import java.io.IOException; import java.io.InputStreamReader; @@ -17,8 +17,8 @@ import com.google.gson.Gson; import com.google.gson.GsonBuilder; -import net.imprex.zip.BackpackPlugin; -import net.imprex.zip.common.Version; +import dev.imprex.zip.BackpackPlugin; +import dev.imprex.zip.common.Version; public abstract class AbstractHttpService { diff --git a/zip-plugin/src/main/java/net/imprex/zip/util/ConsoleUtil.java b/zip-plugin/src/main/java/dev/imprex/zip/util/ConsoleUtil.java similarity index 97% rename from zip-plugin/src/main/java/net/imprex/zip/util/ConsoleUtil.java rename to zip-plugin/src/main/java/dev/imprex/zip/util/ConsoleUtil.java index 733aa52..baafd86 100644 --- a/zip-plugin/src/main/java/net/imprex/zip/util/ConsoleUtil.java +++ b/zip-plugin/src/main/java/dev/imprex/zip/util/ConsoleUtil.java @@ -2,7 +2,7 @@ * @author Imprex-Development * @see ConsoleUtil.java */ -package net.imprex.zip.util; +package dev.imprex.zip.util; import java.util.ArrayList; import java.util.Arrays; @@ -11,7 +11,7 @@ import org.bukkit.ChatColor; -import net.imprex.zip.common.ZIPLogger; +import dev.imprex.zip.common.ZIPLogger; public final class ConsoleUtil { diff --git a/zip-plugin/src/main/java/net/imprex/zip/util/ItemFactory.java b/zip-plugin/src/main/java/dev/imprex/zip/util/ItemFactory.java similarity index 97% rename from zip-plugin/src/main/java/net/imprex/zip/util/ItemFactory.java rename to zip-plugin/src/main/java/dev/imprex/zip/util/ItemFactory.java index 5daef76..28ec627 100644 --- a/zip-plugin/src/main/java/net/imprex/zip/util/ItemFactory.java +++ b/zip-plugin/src/main/java/dev/imprex/zip/util/ItemFactory.java @@ -1,4 +1,4 @@ -package net.imprex.zip.util; +package dev.imprex.zip.util; import java.util.ArrayList; import java.util.Arrays; @@ -12,7 +12,7 @@ import org.bukkit.inventory.meta.SkullMeta; import org.bukkit.persistence.PersistentDataType; -import net.imprex.zip.NmsInstance; +import dev.imprex.zip.NmsInstance; public class ItemFactory extends ItemStack { diff --git a/zip-plugin/src/main/java/net/imprex/zip/util/MathUtil.java b/zip-plugin/src/main/java/dev/imprex/zip/util/MathUtil.java similarity index 88% rename from zip-plugin/src/main/java/net/imprex/zip/util/MathUtil.java rename to zip-plugin/src/main/java/dev/imprex/zip/util/MathUtil.java index b40b546..65360c6 100644 --- a/zip-plugin/src/main/java/net/imprex/zip/util/MathUtil.java +++ b/zip-plugin/src/main/java/dev/imprex/zip/util/MathUtil.java @@ -1,4 +1,4 @@ -package net.imprex.zip.util; +package dev.imprex.zip.util; public class MathUtil { diff --git a/zip-plugin/src/main/resources/plugin.yml b/zip-plugin/src/main/resources/plugin.yml index ea27ebc..6926ea5 100644 --- a/zip-plugin/src/main/resources/plugin.yml +++ b/zip-plugin/src/main/resources/plugin.yml @@ -4,7 +4,7 @@ name: ${project.parent.name} version: ${project.version} description: '${project.parent.description}' -main: net.imprex.zip.BackpackPlugin +main: dev.imprex.zip.BackpackPlugin author: NgLoader