minecraft - Fabric 两次注册一个项目
问题描述
每当我从 vsc 运行客户端时,它就会崩溃,因为它无法执行由于尝试两次注册项目而导致的入口点,
Caused by: java.lang.RuntimeException: Attempted to register ID ResourceKey[minecraft:item / cauldrons:gold-base] at different raw IDs (1100, 1102)! If you're trying to override an item, use .set(), not .register()!
我在 .java 文件中的代码是:
package net.cauldrons;
import net.fabricmc.api.ModInitializer;
import net.fabricmc.fabric.api.item.v1.FabricItemSettings;
import net.minecraft.item.Item;
import net.minecraft.item.ItemGroup;
import net.minecraft.util.Identifier;
import net.minecraft.util.registry.Registry;
public class cauldrons implements ModInitializer {
// bases
public static final Item GOLD_BASE = new Item(new FabricItemSettings().group(ItemGroup.BREWING));
public static final Item IRON_BASE = new Item(new FabricItemSettings().group(ItemGroup.BREWING));
public static final Item DIAMOND_BASE = new Item(new FabricItemSettings().group(ItemGroup.BREWING));
public static final Item NETHERITE_BASE = new Item(new FabricItemSettings().group(ItemGroup.BREWING));
@Override
public void onInitialize() {
Registry.register(Registry.ITEM, new Identifier("cauldrons", "gold-base"), GOLD_BASE);
Registry.register(Registry.ITEM, new Identifier("cauldrons", "iron-base"), IRON_BASE);
Registry.register(Registry.ITEM, new Identifier("cauldrons", "gold-base"), DIAMOND_BASE);
Registry.register(Registry.ITEM, new Identifier("cauldrons", "iron-base"), NETHERITE_BASE);
}
}
有谁知道这可能是什么原因造成的?
解决方案
您正在尝试注册cauldrons:gold-base
两次cauldrons:iron-base
。您可能尝试做的是注册cauldrons:diamond_base
和cauldrons:netherite_base
,但看起来您复制粘贴注册而没有实际设置这些值。
固定代码:
@Override
public void onInitialize() {
Registry.register(Registry.ITEM, new Identifier("cauldrons", "gold-base"), GOLD_BASE);
Registry.register(Registry.ITEM, new Identifier("cauldrons", "iron-base"), IRON_BASE);
Registry.register(Registry.ITEM, new Identifier("cauldrons", "diamond-base"), DIAMOND_BASE);
Registry.register(Registry.ITEM, new Identifier("cauldrons", "netherite-base"), NETHERITE_BASE);
}
推荐阅读
- android - 带有圆角的 TextInputLayout
- javascript - 当一个日期在前一年时比较两个日期
- javascript - 离子角度应用程序将毫秒转换为本地存储中的日期时间
- julia - 在 Windows 2012 R2 下使用 Julia v1.5.1 进行 Plots.jl 预编译失败
- java - 无法构建maven项目
- windows - 如何区分触摸板产生的WM_MOUSE***消息和鼠标设备产生的消息?
- mysql - 使用 REGEXP_REPLACE 将字段从一个表复制到另一个表
- java - Java中的Else-if语句不起作用,我做错了什么?
- vue.js - 如何从组件“A”更新 vuex 状态,它应该反映在组件“B”上
- angular - 错误 npm install --save @angular/fire@5.1.1 firebase@5.8.4 gyp ERR!构建错误