minecraft模组开发-1

Wisansiiz
2024-07-24 / 0 评论 / 1 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2025年07月13日,已超过160天没有更新,若内容或图片失效,请留言反馈。

minecraft模组开发-使用反射批量添加创建的物品

在使用数据生成时,使用反射批量注册物品 Model ,将自己创建的 ModItems 类中写的所有物品进行注册,下面是一个简单的例子

package net.wssz.tutorialmod.datagen;

import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput;
import net.fabricmc.fabric.api.datagen.v1.provider.FabricModelProvider;
import net.minecraft.data.client.BlockStateModelGenerator;
import net.minecraft.data.client.ItemModelGenerator;
import net.minecraft.data.client.Models;
import net.minecraft.item.Item;
import net.wssz.tutorialmod.block.ModBlocks;
import net.wssz.tutorialmod.item.ModItems;

import java.lang.reflect.Field;

public class ModModelsProvider extends FabricModelProvider {
    public ModModelsProvider(FabricDataOutput output) {
        super(output);
    }

    @Override
    public void generateBlockStateModels(BlockStateModelGenerator blockStateModelGenerator) {
        blockStateModelGenerator.registerSimpleCubeAll(ModBlocks.RED_IRON_ORE);
    }

    @Override
    public void generateItemModels(ItemModelGenerator itemModelGenerator) {
        Field[] fields = ModItems.class.getDeclaredFields();
        try {
            for (Field field : fields) {
                if (field.getType().equals(Item.class)) {
                    itemModelGenerator.register((Item) field.get(null), Models.GENERATED);
                }
            }
        } catch (IllegalAccessException e) {
            throw new RuntimeException(e);
        }
    }
}
0

评论 (0)

取消