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

This commit is contained in:
2026-05-01 21:16:30 +01:00
parent 0f5c0e3618
commit 6e8c7bec2c
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;
@ -13,12 +10,10 @@ import net.neoforged.bus.api.IEventBus;
import net.neoforged.neoforge.registries.DeferredHolder; import net.neoforged.neoforge.registries.DeferredHolder;
import net.neoforged.neoforge.registries.DeferredRegister; import net.neoforged.neoforge.registries.DeferredRegister;
import java.util.function.Supplier;
public class ModBlocks { public class ModBlocks {
public static final DeferredRegister<Block> BLOCKS = DeferredRegister.createBlocks(FireflyBushBackport.MOD_ID); public static final DeferredRegister<Block> BLOCKS = DeferredRegister.createBlocks(FireflyBushBackport.MOD_ID);
public static DeferredHolder<Block, FireflyBushBlock> FIREFLY_BUSH = registerBlock("firefly_bush", public static DeferredHolder<Block, FireflyBushBlock> FIREFLY_BUSH = BLOCKS.register("firefly_bush",
() -> new FireflyBushBlock(BlockBehaviour.Properties.of() () -> new FireflyBushBlock(BlockBehaviour.Properties.of()
.mapColor(MapColor.PLANT) .mapColor(MapColor.PLANT)
.ignitedByLava() .ignitedByLava()
@ -32,14 +27,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> DeferredHolder<Item, BlockItem> registerBlockItem(String name, DeferredHolder<Block, T> block) {
return ModItems.ITEMS.register(name, () -> new BlockItem(block.get(), new Item.Properties()));
}
private static <T extends Block> DeferredHolder<Block, T> registerBlock(String name, Supplier<T> block) {
DeferredHolder<Block, T> ret = BLOCKS.register(name, block);
registerBlockItem(name, ret);
return ret;
}
} }

View File

@ -1,14 +1,26 @@
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.neoforged.bus.api.IEventBus; import net.neoforged.bus.api.IEventBus;
import net.neoforged.neoforge.registries.DeferredHolder;
import net.neoforged.neoforge.registries.DeferredRegister; import net.neoforged.neoforge.registries.DeferredRegister;
import java.util.Objects;
public class ModItems { public class ModItems {
public static final DeferredRegister<Item> ITEMS = DeferredRegister.createItems(FireflyBushBackport.MOD_ID); public static final DeferredRegister<Item> ITEMS = DeferredRegister.createItems(FireflyBushBackport.MOD_ID);
public static final DeferredHolder<Item, 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 <T extends Block> DeferredHolder<Item, BlockItem> registerBlock(DeferredHolder<Block, T> block) {
return ITEMS.register(Objects.requireNonNull(block.getId()).getPath(), () -> new BlockItem(block.get(), new Item.Properties()));
}
} }