From 8c431ebc635a237c15f8ea1faf6259979c792247 Mon Sep 17 00:00:00 2001 From: iceBear67 Date: Tue, 1 Oct 2024 12:42:19 +0800 Subject: [PATCH] refactor(c-item): merged SFItemRegistry into SFItems --- .../java/io/ib67/sfcraft/SFItemRegistry.java | 29 ------------------- src/main/java/io/ib67/sfcraft/SFItems.java | 14 +++++++-- .../sfcraft/mixin/server/item/ItemMixin.java | 3 -- .../mixin/server/item/ItemStackMixin.java | 9 +++--- .../ib67/sfcraft/module/CustomItemModule.java | 10 ++----- 5 files changed, 17 insertions(+), 48 deletions(-) delete mode 100644 src/main/java/io/ib67/sfcraft/SFItemRegistry.java diff --git a/src/main/java/io/ib67/sfcraft/SFItemRegistry.java b/src/main/java/io/ib67/sfcraft/SFItemRegistry.java deleted file mode 100644 index ee81330..0000000 --- a/src/main/java/io/ib67/sfcraft/SFItemRegistry.java +++ /dev/null @@ -1,29 +0,0 @@ -package io.ib67.sfcraft; - -import com.mojang.serialization.Codec; -import net.fabricmc.fabric.api.event.registry.FabricRegistryBuilder; -import net.fabricmc.fabric.api.event.registry.RegistryAttribute; -import net.minecraft.component.ComponentType; -import net.minecraft.component.DataComponentTypes; -import net.minecraft.item.Item; -import net.minecraft.nbt.NbtCompound; -import net.minecraft.network.codec.PacketCodecs; -import net.minecraft.registry.DefaultedRegistry; -import net.minecraft.registry.Registries; -import net.minecraft.registry.Registry; -import net.minecraft.registry.RegistryKey; -import net.minecraft.util.Identifier; - -import java.util.function.UnaryOperator; - -public class SFItemRegistry { - public static final String SF_ITEM_TYPE_KEY = "sf_type"; - public static final Registry ITEMS = FabricRegistryBuilder - .createSimple(RegistryKey.ofRegistry(Identifier.of(SFCraft.MOD_ID, "item"))) - .attribute(RegistryAttribute.MODDED) - .buildAndRegister(); - - public static void init() { - SFItems.init(); - } -} diff --git a/src/main/java/io/ib67/sfcraft/SFItems.java b/src/main/java/io/ib67/sfcraft/SFItems.java index df106a9..6768478 100644 --- a/src/main/java/io/ib67/sfcraft/SFItems.java +++ b/src/main/java/io/ib67/sfcraft/SFItems.java @@ -2,26 +2,34 @@ package io.ib67.sfcraft; import io.ib67.sfcraft.item.AeroBackpack; import io.ib67.sfcraft.mixin.common.bridge.ItemBridge; +import net.fabricmc.fabric.api.event.registry.FabricRegistryBuilder; +import net.fabricmc.fabric.api.event.registry.RegistryAttribute; import net.minecraft.item.ArmorItem; import net.minecraft.item.Item; import net.minecraft.registry.Registry; +import net.minecraft.registry.RegistryKey; import net.minecraft.util.Identifier; public class SFItems { public static final Item AERO_BACKPACK = register( new AeroBackpack(new Item.Settings().maxDamage(ArmorItem.Type.CHESTPLATE.getMaxDamage(15))), "aero_backpack"); + public static final String SF_ITEM_TYPE_KEY = "sf_type"; + public static final Registry ITEMS = FabricRegistryBuilder + .createSimple(RegistryKey.ofRegistry(Identifier.of(SFCraft.MOD_ID, "item"))) + .attribute(RegistryAttribute.MODDED) + .buildAndRegister(); public static void init() { } private static Item register(Item item, String id) { Identifier itemID = Identifier.of(SFCraft.MOD_ID, id); - Item registeredItem = Registry.register(SFItemRegistry.ITEMS, itemID, item); - ((ItemBridge) registeredItem).setRegistryEntry(SFItemRegistry.ITEMS.getEntry(itemID).get()); + Item registeredItem = Registry.register(ITEMS, itemID, item); + ((ItemBridge) registeredItem).setRegistryEntry(ITEMS.getEntry(itemID).get()); return registeredItem; } public static Item getById(Identifier item) { - return SFItemRegistry.ITEMS.get(item); + return ITEMS.get(item); } } diff --git a/src/main/java/io/ib67/sfcraft/mixin/server/item/ItemMixin.java b/src/main/java/io/ib67/sfcraft/mixin/server/item/ItemMixin.java index 4e1b4f0..5b004e1 100644 --- a/src/main/java/io/ib67/sfcraft/mixin/server/item/ItemMixin.java +++ b/src/main/java/io/ib67/sfcraft/mixin/server/item/ItemMixin.java @@ -1,12 +1,9 @@ package io.ib67.sfcraft.mixin.server.item; -import io.ib67.sfcraft.SFItemRegistry; import io.ib67.sfcraft.item.SFItem; import net.minecraft.item.Item; import net.minecraft.registry.DefaultedRegistry; -import net.minecraft.registry.Registries; import net.minecraft.registry.entry.RegistryEntry; -import org.spongepowered.asm.mixin.Debug; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Redirect; diff --git a/src/main/java/io/ib67/sfcraft/mixin/server/item/ItemStackMixin.java b/src/main/java/io/ib67/sfcraft/mixin/server/item/ItemStackMixin.java index b6fcb37..b88268e 100644 --- a/src/main/java/io/ib67/sfcraft/mixin/server/item/ItemStackMixin.java +++ b/src/main/java/io/ib67/sfcraft/mixin/server/item/ItemStackMixin.java @@ -1,8 +1,7 @@ package io.ib67.sfcraft.mixin.server.item; import io.ib67.sfcraft.SFCraft; -import io.ib67.sfcraft.SFItemRegistry; -import io.ib67.sfcraft.item.SFItem; +import io.ib67.sfcraft.SFItems; import net.minecraft.component.ComponentHolder; import net.minecraft.component.ComponentMapImpl; import net.minecraft.component.DataComponentTypes; @@ -37,10 +36,10 @@ public abstract class ItemStackMixin implements ComponentHolder { @Inject(method = "(Lnet/minecraft/item/ItemConvertible;ILnet/minecraft/component/ComponentMapImpl;)V", at = @At("TAIL")) private void initSFItem(ItemConvertible item, int count, ComponentMapImpl components, CallbackInfo ci) { var _id = get(DataComponentTypes.CUSTOM_DATA); - if (_id != null && _id.contains(SFItemRegistry.SF_ITEM_TYPE_KEY)) { - var id = _id.copyNbt().getString(SFItemRegistry.SF_ITEM_TYPE_KEY); + if (_id != null && _id.contains(SFItems.SF_ITEM_TYPE_KEY)) { + var id = _id.copyNbt().getString(SFItems.SF_ITEM_TYPE_KEY); try { - sfItem = SFItemRegistry.ITEMS.get(Identifier.of(SFCraft.MOD_ID, id)); + sfItem = SFItems.ITEMS.get(Identifier.of(SFCraft.MOD_ID, id)); }catch(Exception e){ e.printStackTrace(); } diff --git a/src/main/java/io/ib67/sfcraft/module/CustomItemModule.java b/src/main/java/io/ib67/sfcraft/module/CustomItemModule.java index cd8885e..242810b 100644 --- a/src/main/java/io/ib67/sfcraft/module/CustomItemModule.java +++ b/src/main/java/io/ib67/sfcraft/module/CustomItemModule.java @@ -1,24 +1,18 @@ package io.ib67.sfcraft.module; import com.mojang.brigadier.CommandDispatcher; -import com.mojang.brigadier.arguments.StringArgumentType; import com.mojang.brigadier.context.CommandContext; import com.mojang.brigadier.exceptions.CommandSyntaxException; -import io.ib67.sfcraft.SFItemRegistry; import io.ib67.sfcraft.SFItems; import io.ib67.sfcraft.ServerModule; import io.ib67.sfcraft.item.SFItem; import net.fabricmc.fabric.api.command.v2.CommandRegistrationCallback; import net.minecraft.command.CommandRegistryAccess; import net.minecraft.command.argument.IdentifierArgumentType; -import net.minecraft.command.argument.ItemStackArgument; -import net.minecraft.component.ComponentChanges; import net.minecraft.component.DataComponentTypes; import net.minecraft.component.type.NbtComponent; -import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NbtCompound; -import net.minecraft.registry.entry.RegistryEntry; import net.minecraft.server.command.CommandManager; import net.minecraft.server.command.ServerCommandSource; import net.minecraft.text.Text; @@ -27,7 +21,7 @@ import net.minecraft.util.Identifier; public class CustomItemModule extends ServerModule { @Override public void onInitialize() { - SFItemRegistry.init(); + SFItems.init(); CommandRegistrationCallback.EVENT .register(this::registerCommand); } @@ -47,7 +41,7 @@ public class CustomItemModule extends ServerModule { if(item == null) return null; var stack = new ItemStack(((SFItem) item).getMappedItem()); var cmp = new NbtCompound(); - cmp.putString(SFItemRegistry.SF_ITEM_TYPE_KEY, item.getRegistryEntry().getKey().map(it -> it.getValue().getPath()).orElseThrow()); + cmp.putString(SFItems.SF_ITEM_TYPE_KEY, item.getRegistryEntry().getKey().map(it -> it.getValue().getPath()).orElseThrow()); stack.set(DataComponentTypes.CUSTOM_DATA, NbtComponent.of(cmp)); return stack.copy(); }