我们本次在1.20中添加一个属于自己模组的物品栏、物品和方块。
效果演示 效果演示 效果演示
1.在项目中新建一个int包,用于存放所有注册类,在init包中新建ItemTabInit类:
ItemTabInit.java
package com.joy187.re8joymod.init;
import com.joy187.re8joymod.Main;
import net.minecraft.core.registries.Registries;
import net.minecraft.network.chat.Component;
import net.minecraft.world.item.CreativeModeTab;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.Items;
import net.minecraft.world.level.block.Blocks;
import net.minecraftforge.eventbus.api.IEventBus;
import net.minecraftforge.registries.DeferredRegister;
import net.minecraftforge.registries.RegistryObject;
public class ItemTabInit {
public static final DeferredRegister<CreativeModeTab> ITEM_TABS =
DeferredRegister.create(Registries.CREATIVE_MODE_TAB, Main.MOD_ID);
//定义一个我们的物品栏,图标icon可以替换为你模组内的物品,这里的物品为一个方块物品BlockInit.EXAMPLE_BLOCK.get()
public static final RegistryObject<CreativeModeTab> TUTORIAL_TAB = ITEM_TABS.register("re8_tab",
() -> CreativeModeTab.builder().icon(() -> new ItemStack(BlockInit.EXAMPLE_BLOCK.get()))
.title(Component.translatable("itemGroup.re8joymod"))
.displayItems((pParameters, pOutput) -> {
//这里为该物品栏内所包含的模组物品
pOutput.accept(ItemInit.LYEYE.get());
pOutput.accept(BlockInit.EXAMPLE_BLOCK.get());
})
.build());
//定义第二物品栏
// public static final RegistryObject<CreativeModeTab> TUTORIAL_TAB2 = ITEM_TABS.register("re8_tab",
// () -> CreativeModeTab.builder().icon(() -> new ItemStack(Blocks.ACACIA_LOG))
// .title(Component.translatable("itemGroup.re8joymod"))
// .displayItems((pParameters, pOutput) -> {
// pOutput.accept(ItemInit.LYEYE.get());
// pOutput.accept(BlockInit.EXAMPLE_BLOCK.get());
// })
// .build());
public static void register
文章评论