From 201ce31710d37b323a69ed6845f57d3351c34352 Mon Sep 17 00:00:00 2001
From: PSYCHEER <42911029+PSYCHEER@users.noreply.github.com>
Date: Sun, 16 Feb 2025 12:49:55 +0100
Subject: [PATCH] 1.21.4 NMS
Properly tested 1.21.4 NMS for VanillaCustomizer, working on production.
---
VanillaCustomizer-jar/pom.xml | 5 ++
VanillaCustomizer-nms-v1_21_4/pom.xml | 54 +++++++++++++++++++
.../nms/items/impl/v1_21_4.java | 48 +++++++++++++++++
pom.xml | 1 +
4 files changed, 108 insertions(+)
create mode 100644 VanillaCustomizer-nms-v1_21_4/pom.xml
create mode 100644 VanillaCustomizer-nms-v1_21_4/src/main/java/dev/lone/vanillacustomizer/nms/items/impl/v1_21_4.java
diff --git a/VanillaCustomizer-jar/pom.xml b/VanillaCustomizer-jar/pom.xml
index 2242ca9..b9bc687 100644
--- a/VanillaCustomizer-jar/pom.xml
+++ b/VanillaCustomizer-jar/pom.xml
@@ -85,6 +85,11 @@
1.0
+
+ dev.lone
+ VanillaCustomizer-nms-v1_21_4
+ 1.0
+
dev.lone
VanillaCustomizer-nms-v1_21_3
diff --git a/VanillaCustomizer-nms-v1_21_4/pom.xml b/VanillaCustomizer-nms-v1_21_4/pom.xml
new file mode 100644
index 0000000..2cc8705
--- /dev/null
+++ b/VanillaCustomizer-nms-v1_21_4/pom.xml
@@ -0,0 +1,54 @@
+
+
+
+ VanillaCustomizer
+ dev.lone
+ 1.0
+
+ 4.0.0
+
+ VanillaCustomizer-nms-v1_21_4
+
+
+ 21
+ 21
+
+
+
+
+
+ ca.bkaw
+ paper-nms-maven-plugin
+ 1.4.5
+
+
+ process-classes
+
+ remap
+
+
+
+
+
+
+
+
+
+
+ ca.bkaw
+ paper-nms
+ 1.21.4-SNAPSHOT
+ provided
+
+
+
+ dev.lone
+ VanillaCustomizer-core
+ 1.0
+ provided
+
+
+
+
\ No newline at end of file
diff --git a/VanillaCustomizer-nms-v1_21_4/src/main/java/dev/lone/vanillacustomizer/nms/items/impl/v1_21_4.java b/VanillaCustomizer-nms-v1_21_4/src/main/java/dev/lone/vanillacustomizer/nms/items/impl/v1_21_4.java
new file mode 100644
index 0000000..894bf66
--- /dev/null
+++ b/VanillaCustomizer-nms-v1_21_4/src/main/java/dev/lone/vanillacustomizer/nms/items/impl/v1_21_4.java
@@ -0,0 +1,48 @@
+package dev.lone.vanillacustomizer.nms.items.impl;
+
+import dev.lone.vanillacustomizer.nms.items.IItemsNms;
+import dev.lone.vanillacustomizer.nms.items.Rarity;
+import net.minecraft.core.component.DataComponents;
+import net.minecraft.world.food.FoodProperties;
+import net.minecraft.world.level.block.Block;
+import org.bukkit.craftbukkit.inventory.CraftItemStack;
+import org.bukkit.craftbukkit.util.CraftMagicNumbers;
+import org.bukkit.inventory.ItemStack;
+
+@SuppressWarnings("unused")
+public class v1_21_4 implements IItemsNms
+{
+ @Override
+ public Rarity getRarity(ItemStack bukkitItem)
+ {
+ net.minecraft.world.item.ItemStack item = CraftItemStack.asNMSCopy(bukkitItem);
+ return Rarity.values()[item.getRarity().ordinal()];
+ }
+
+ @Override
+ public float getDestroySpeed(ItemStack bukkitItem)
+ {
+ Block block = CraftMagicNumbers.getBlock(bukkitItem.getType());
+ return block.defaultBlockState().destroySpeed;
+ }
+
+ @Override
+ public int getNutrition(ItemStack bukkitItem)
+ {
+ net.minecraft.world.item.ItemStack itemStack = CraftItemStack.asNMSCopy(bukkitItem);
+ FoodProperties foodProperties = itemStack.get(DataComponents.FOOD);
+ if(foodProperties != null)
+ return foodProperties.nutrition();
+ return 0;
+ }
+
+ @Override
+ public float getSaturation(ItemStack bukkitItem)
+ {
+ net.minecraft.world.item.ItemStack itemStack = CraftItemStack.asNMSCopy(bukkitItem);
+ FoodProperties foodProperties = itemStack.get(DataComponents.FOOD);
+ if(foodProperties != null)
+ return foodProperties.saturation();
+ return 0;
+ }
+}
diff --git a/pom.xml b/pom.xml
index ebdb2af..5ed1e41 100644
--- a/pom.xml
+++ b/pom.xml
@@ -22,6 +22,7 @@
VanillaCustomizer-core
VanillaCustomizer-jar
+ VanillaCustomizer-nms-v1_21_4
VanillaCustomizer-nms-v1_21_3
VanillaCustomizer-nms-v1_21_1
VanillaCustomizer-nms-v1_20_6