refactor(c-item): merged SFItemRegistry into SFItems
This commit is contained in:
5 files changed
+17
-48
No files matched your search
@@ -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<Item> ITEMS = FabricRegistryBuilder
|
||||
.<Item>createSimple(RegistryKey.ofRegistry(Identifier.of(SFCraft.MOD_ID, "item")))
|
||||
.attribute(RegistryAttribute.MODDED)
|
||||
.buildAndRegister();
|
||||
|
||||
public static void init() {
|
||||
SFItems.init();
|
||||
}
|
||||
}
|
||||
@@ -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<Item> ITEMS = FabricRegistryBuilder
|
||||
.<Item>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);
|
||||
}
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
@@ -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 = "<init>(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();
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user