Moved BlockItem registration into ModItems in order to keep references for registered items.

This commit is contained in:
2026-05-02 15:34:13 +01:00
parent 7172c1e68b
commit 71ffddec33
2 changed files with 13 additions and 16 deletions

View File

@ -1,9 +1,6 @@
package dev.micle.firefly_bush_backport.block; package dev.micle.firefly_bush_backport.block;
import dev.micle.firefly_bush_backport.FireflyBushBackport; import dev.micle.firefly_bush_backport.FireflyBushBackport;
import dev.micle.firefly_bush_backport.item.ModItems;
import net.minecraft.world.item.BlockItem;
import net.minecraft.world.item.Item;
import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.SoundType; import net.minecraft.world.level.block.SoundType;
import net.minecraft.world.level.block.state.BlockBehaviour; import net.minecraft.world.level.block.state.BlockBehaviour;
@ -14,12 +11,10 @@ import net.minecraftforge.registries.DeferredRegister;
import net.minecraftforge.registries.ForgeRegistries; import net.minecraftforge.registries.ForgeRegistries;
import net.minecraftforge.registries.RegistryObject; import net.minecraftforge.registries.RegistryObject;
import java.util.function.Supplier;
public class ModBlocks { public class ModBlocks {
public static final DeferredRegister<Block> BLOCKS = DeferredRegister.create(ForgeRegistries.BLOCKS, FireflyBushBackport.MOD_ID); public static final DeferredRegister<Block> BLOCKS = DeferredRegister.create(ForgeRegistries.BLOCKS, FireflyBushBackport.MOD_ID);
public static RegistryObject<Block> FIREFLY_BUSH = registerBlock("firefly_bush", public static RegistryObject<Block> FIREFLY_BUSH = BLOCKS.register("firefly_bush",
() -> new FireflyBushBlock(BlockBehaviour.Properties.of() () -> new FireflyBushBlock(BlockBehaviour.Properties.of()
.mapColor(MapColor.PLANT) .mapColor(MapColor.PLANT)
.ignitedByLava() .ignitedByLava()
@ -33,14 +28,4 @@ public class ModBlocks {
public static void register(IEventBus modEventBus) { public static void register(IEventBus modEventBus) {
BLOCKS.register(modEventBus); BLOCKS.register(modEventBus);
} }
private static <T extends Block> RegistryObject<Item> registerBlockItem(String name, RegistryObject<T> block) {
return ModItems.ITEMS.register(name, () -> new BlockItem(block.get(), new Item.Properties()));
}
private static <T extends Block> RegistryObject<T> registerBlock(String name, Supplier<T> block) {
RegistryObject<T> ret = BLOCKS.register(name, block);
registerBlockItem(name, ret);
return ret;
}
} }

View File

@ -1,15 +1,27 @@
package dev.micle.firefly_bush_backport.item; package dev.micle.firefly_bush_backport.item;
import dev.micle.firefly_bush_backport.FireflyBushBackport; import dev.micle.firefly_bush_backport.FireflyBushBackport;
import dev.micle.firefly_bush_backport.block.ModBlocks;
import net.minecraft.world.item.BlockItem;
import net.minecraft.world.item.Item; import net.minecraft.world.item.Item;
import net.minecraft.world.level.block.Block;
import net.minecraftforge.eventbus.api.IEventBus; import net.minecraftforge.eventbus.api.IEventBus;
import net.minecraftforge.registries.DeferredRegister; import net.minecraftforge.registries.DeferredRegister;
import net.minecraftforge.registries.ForgeRegistries; import net.minecraftforge.registries.ForgeRegistries;
import net.minecraftforge.registries.RegistryObject;
import java.util.Objects;
public class ModItems { public class ModItems {
public static final DeferredRegister<Item> ITEMS = DeferredRegister.create(ForgeRegistries.ITEMS, FireflyBushBackport.MOD_ID); public static final DeferredRegister<Item> ITEMS = DeferredRegister.create(ForgeRegistries.ITEMS, FireflyBushBackport.MOD_ID);
public static final RegistryObject<BlockItem> FIREFLY_BUSH = registerBlock(ModBlocks.FIREFLY_BUSH);
public static void register(IEventBus modEventBus) { public static void register(IEventBus modEventBus) {
ITEMS.register(modEventBus); ITEMS.register(modEventBus);
} }
private static RegistryObject<BlockItem> registerBlock(RegistryObject<Block> block) {
return ITEMS.register(Objects.requireNonNull(block.getId()).getPath(), () -> new BlockItem(block.get(), new Item.Properties()));
}
} }