9
0
mirror of https://github.com/Xiao-MoMi/craft-engine.git synced 2025-12-29 03:49:15 +00:00

add post processors

This commit is contained in:
XiaoMoMi
2025-03-20 20:50:11 +08:00
parent 511e6eb271
commit 14ef28d015
9 changed files with 103 additions and 13 deletions

View File

@@ -1,5 +1,6 @@
package net.momirealms.craftengine.bukkit.item;
import com.saicone.rtag.data.ComponentType;
import net.momirealms.craftengine.bukkit.item.behavior.AxeItemBehavior;
import net.momirealms.craftengine.bukkit.item.behavior.BoneMealBehavior;
import net.momirealms.craftengine.bukkit.item.behavior.BucketItemBehavior;
@@ -75,6 +76,11 @@ public class BukkitItemManager extends AbstractItemManager<ItemStack> {
Bukkit.getPluginManager().registerEvents(this.debugStickListener, plugin.bootstrap());
}
@Override
public Object encodeJava(Key componentType, @Nullable Object component) {
return this.factory.encodeJava(componentType, component);
}
public static BukkitItemManager instance() {
return instance;
}

View File

@@ -13,6 +13,7 @@ import net.momirealms.craftengine.core.plugin.CraftEngine;
import net.momirealms.craftengine.core.util.Key;
import net.momirealms.craftengine.core.util.VersionHelper;
import org.bukkit.inventory.ItemStack;
import org.jetbrains.annotations.Nullable;
import java.util.HashMap;
import java.util.List;
@@ -50,6 +51,11 @@ public class ComponentItemFactory extends BukkitItemFactory {
);
}
@Override
public Object encodeJava(Key componentType, @Nullable Object component) {
return ComponentType.encodeJava(componentType, component).orElse(null);
}
@Override
protected void customModelData(ItemWrapper<ItemStack> item, Integer data) {
if (data == null) {

View File

@@ -15,6 +15,7 @@ import org.bukkit.NamespacedKey;
import org.bukkit.Registry;
import org.bukkit.inventory.ItemFlag;
import org.bukkit.inventory.ItemStack;
import org.jetbrains.annotations.Nullable;
import java.nio.charset.StandardCharsets;
import java.util.*;
@@ -25,6 +26,11 @@ public class UniversalItemFactory extends BukkitItemFactory {
super(plugin);
}
@Override
public Object encodeJava(Key componentType, @Nullable Object component) {
throw new UnsupportedOperationException("This feature is only available on 1.20.5+");
}
@Override
protected void customName(ItemWrapper<ItemStack> item, String json) {
if (json != null) {