Moved BlockItem registration into ModItems in order to keep references for registered items.
This commit is contained in:
@ -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;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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()));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user