개인 자료란 (JE)

  서버 커뮤니티

Profile 오느른 대표칭호 없음
Profile

질문하기 전문개발

fabric 1.21 개발 중 에러

23 일 전 조회 수 60 추천 수 0
이해도 입문자 
게임버전 (JE) 관련없음 
게임버전 (BE) 관련없음 

안녕하세요 fabric으로 개발을 배우고 있는 입문자입니다.


새로운 아이템 생성하는 과정에서 에러가 발생하는 데 잘못된 부분을 못 찾겠어요.

순서대로 버전 정보, 크래쉬 정보, 코드입니다.

"depends": {
  "fabricloader": ">=0.16.7",
  "minecraft": "~1.21.3",
  "java": ">=21",
  "fabric-api": "*"
}

crash-2024-10-29_23.04.31-client.txt


package com.onrn.mccourse.item;

import com.onrn.mccourse.MCCourseMod;
import net.fabricmc.fabric.api.itemgroup.v1.FabricItemGroupEntries;
import net.fabricmc.fabric.api.itemgroup.v1.ItemGroupEvents;
import net.minecraft.item.Item;
import net.minecraft.item.Item.Settings;
import net.minecraft.item.ItemGroups;
import net.minecraft.registry.Registries;
import net.minecraft.registry.Registry;
import net.minecraft.util.Identifier;

public class ModItems {
    public static final Item FLUORITE = registerItem("fluorite", new Item(new Settings()));
    public static final Item RAW_FLUORITE = registerItem("raw_fluorite", new Item(new Settings()));

    private static Item registerItem(String name, Item item) {
        return Registry.register(Registries.ITEM, Identifier.of(MCCourseMod.MOD_ID, name), item);
    }

    private static void customIngredients(FabricItemGroupEntries entries) {
        entries.add(FLUORITE);
        entries.add(RAW_FLUORITE);
    }

    public static void registerModItems() {
        MCCourseMod.LOGGER.info("Registering Mod Items for " + MCCourseMod.MOD_ID);

        ItemGroupEvents.modifyEntriesEvent(ItemGroups.INGREDIENTS).register(ModItems::customIngredients);
    }
}

개인적으로는

Caused by: java.lang.NullPointerException: Item id not set

이 부분이 원인이라고 생각했는데 무엇이 문제인지를 모르겠습니다. 도움 부탁드립니다.


감사합니다.

1개의 댓글

오느른
23 일 전

Minecraft 1.21.2 부터는 사용법이 바뀌어서 본문의 코드로는 동작하지 않는다고 합니다.

자세한 사항은 https://fabricmc.net/2024/10/14/1212.html 의 Block and item settings 참고