本文主要是介绍Minecraft 1.20.x Forge模组开发 02.物品栏+方块+物品,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
我们本次在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
这篇关于Minecraft 1.20.x Forge模组开发 02.物品栏+方块+物品的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!