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.item.AeroBackpack;
|
||||||
import io.ib67.sfcraft.mixin.common.bridge.ItemBridge;
|
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.ArmorItem;
|
||||||
import net.minecraft.item.Item;
|
import net.minecraft.item.Item;
|
||||||
import net.minecraft.registry.Registry;
|
import net.minecraft.registry.Registry;
|
||||||
|
import net.minecraft.registry.RegistryKey;
|
||||||
import net.minecraft.util.Identifier;
|
import net.minecraft.util.Identifier;
|
||||||
|
|
||||||
public class SFItems {
|
public class SFItems {
|
||||||
public static final Item AERO_BACKPACK = register(
|
public static final Item AERO_BACKPACK = register(
|
||||||
new AeroBackpack(new Item.Settings().maxDamage(ArmorItem.Type.CHESTPLATE.getMaxDamage(15))), "aero_backpack");
|
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() {
|
public static void init() {
|
||||||
}
|
}
|
||||||
|
|
||||||
private static Item register(Item item, String id) {
|
private static Item register(Item item, String id) {
|
||||||
Identifier itemID = Identifier.of(SFCraft.MOD_ID, id);
|
Identifier itemID = Identifier.of(SFCraft.MOD_ID, id);
|
||||||
Item registeredItem = Registry.register(SFItemRegistry.ITEMS, itemID, item);
|
Item registeredItem = Registry.register(ITEMS, itemID, item);
|
||||||
((ItemBridge) registeredItem).setRegistryEntry(SFItemRegistry.ITEMS.getEntry(itemID).get());
|
((ItemBridge) registeredItem).setRegistryEntry(ITEMS.getEntry(itemID).get());
|
||||||
return registeredItem;
|
return registeredItem;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Item getById(Identifier item) {
|
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;
|
package io.ib67.sfcraft.mixin.server.item;
|
||||||
|
|
||||||
import io.ib67.sfcraft.SFItemRegistry;
|
|
||||||
import io.ib67.sfcraft.item.SFItem;
|
import io.ib67.sfcraft.item.SFItem;
|
||||||
import net.minecraft.item.Item;
|
import net.minecraft.item.Item;
|
||||||
import net.minecraft.registry.DefaultedRegistry;
|
import net.minecraft.registry.DefaultedRegistry;
|
||||||
import net.minecraft.registry.Registries;
|
|
||||||
import net.minecraft.registry.entry.RegistryEntry;
|
import net.minecraft.registry.entry.RegistryEntry;
|
||||||
import org.spongepowered.asm.mixin.Debug;
|
|
||||||
import org.spongepowered.asm.mixin.Mixin;
|
import org.spongepowered.asm.mixin.Mixin;
|
||||||
import org.spongepowered.asm.mixin.injection.At;
|
import org.spongepowered.asm.mixin.injection.At;
|
||||||
import org.spongepowered.asm.mixin.injection.Redirect;
|
import org.spongepowered.asm.mixin.injection.Redirect;
|
||||||
|
|||||||
@@ -1,8 +1,7 @@
|
|||||||
package io.ib67.sfcraft.mixin.server.item;
|
package io.ib67.sfcraft.mixin.server.item;
|
||||||
|
|
||||||
import io.ib67.sfcraft.SFCraft;
|
import io.ib67.sfcraft.SFCraft;
|
||||||
import io.ib67.sfcraft.SFItemRegistry;
|
import io.ib67.sfcraft.SFItems;
|
||||||
import io.ib67.sfcraft.item.SFItem;
|
|
||||||
import net.minecraft.component.ComponentHolder;
|
import net.minecraft.component.ComponentHolder;
|
||||||
import net.minecraft.component.ComponentMapImpl;
|
import net.minecraft.component.ComponentMapImpl;
|
||||||
import net.minecraft.component.DataComponentTypes;
|
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"))
|
@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) {
|
private void initSFItem(ItemConvertible item, int count, ComponentMapImpl components, CallbackInfo ci) {
|
||||||
var _id = get(DataComponentTypes.CUSTOM_DATA);
|
var _id = get(DataComponentTypes.CUSTOM_DATA);
|
||||||
if (_id != null && _id.contains(SFItemRegistry.SF_ITEM_TYPE_KEY)) {
|
if (_id != null && _id.contains(SFItems.SF_ITEM_TYPE_KEY)) {
|
||||||
var id = _id.copyNbt().getString(SFItemRegistry.SF_ITEM_TYPE_KEY);
|
var id = _id.copyNbt().getString(SFItems.SF_ITEM_TYPE_KEY);
|
||||||
try {
|
try {
|
||||||
sfItem = SFItemRegistry.ITEMS.get(Identifier.of(SFCraft.MOD_ID, id));
|
sfItem = SFItems.ITEMS.get(Identifier.of(SFCraft.MOD_ID, id));
|
||||||
}catch(Exception e){
|
}catch(Exception e){
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,24 +1,18 @@
|
|||||||
package io.ib67.sfcraft.module;
|
package io.ib67.sfcraft.module;
|
||||||
|
|
||||||
import com.mojang.brigadier.CommandDispatcher;
|
import com.mojang.brigadier.CommandDispatcher;
|
||||||
import com.mojang.brigadier.arguments.StringArgumentType;
|
|
||||||
import com.mojang.brigadier.context.CommandContext;
|
import com.mojang.brigadier.context.CommandContext;
|
||||||
import com.mojang.brigadier.exceptions.CommandSyntaxException;
|
import com.mojang.brigadier.exceptions.CommandSyntaxException;
|
||||||
import io.ib67.sfcraft.SFItemRegistry;
|
|
||||||
import io.ib67.sfcraft.SFItems;
|
import io.ib67.sfcraft.SFItems;
|
||||||
import io.ib67.sfcraft.ServerModule;
|
import io.ib67.sfcraft.ServerModule;
|
||||||
import io.ib67.sfcraft.item.SFItem;
|
import io.ib67.sfcraft.item.SFItem;
|
||||||
import net.fabricmc.fabric.api.command.v2.CommandRegistrationCallback;
|
import net.fabricmc.fabric.api.command.v2.CommandRegistrationCallback;
|
||||||
import net.minecraft.command.CommandRegistryAccess;
|
import net.minecraft.command.CommandRegistryAccess;
|
||||||
import net.minecraft.command.argument.IdentifierArgumentType;
|
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.DataComponentTypes;
|
||||||
import net.minecraft.component.type.NbtComponent;
|
import net.minecraft.component.type.NbtComponent;
|
||||||
import net.minecraft.item.Item;
|
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.nbt.NbtCompound;
|
import net.minecraft.nbt.NbtCompound;
|
||||||
import net.minecraft.registry.entry.RegistryEntry;
|
|
||||||
import net.minecraft.server.command.CommandManager;
|
import net.minecraft.server.command.CommandManager;
|
||||||
import net.minecraft.server.command.ServerCommandSource;
|
import net.minecraft.server.command.ServerCommandSource;
|
||||||
import net.minecraft.text.Text;
|
import net.minecraft.text.Text;
|
||||||
@@ -27,7 +21,7 @@ import net.minecraft.util.Identifier;
|
|||||||
public class CustomItemModule extends ServerModule {
|
public class CustomItemModule extends ServerModule {
|
||||||
@Override
|
@Override
|
||||||
public void onInitialize() {
|
public void onInitialize() {
|
||||||
SFItemRegistry.init();
|
SFItems.init();
|
||||||
CommandRegistrationCallback.EVENT
|
CommandRegistrationCallback.EVENT
|
||||||
.register(this::registerCommand);
|
.register(this::registerCommand);
|
||||||
}
|
}
|
||||||
@@ -47,7 +41,7 @@ public class CustomItemModule extends ServerModule {
|
|||||||
if(item == null) return null;
|
if(item == null) return null;
|
||||||
var stack = new ItemStack(((SFItem) item).getMappedItem());
|
var stack = new ItemStack(((SFItem) item).getMappedItem());
|
||||||
var cmp = new NbtCompound();
|
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));
|
stack.set(DataComponentTypes.CUSTOM_DATA, NbtComponent.of(cmp));
|
||||||
return stack.copy();
|
return stack.copy();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in new issue
Block a user