DecorationBlockInfo - Lemonszz/LKLib GitHub Wiki
DecorationBlockInfo can be found in party.lemons.lklib.util.registry
DecorationBlockInfo is a convenience class that allows you to register Slab, Stair and Wall variants of a given block.
A BlockItem will be automatically created for each block created through DecorationBlockInfo.
Usage
public class ModBlocks
{
public static final Block APPLE_BLOCK = new AppleBlock();
public static final APPLE_DECORATION = new DecorationBlockInfo("mymodid", "apple", APPLE_BLOCK, FabricBlockSettings.copyOf(APPLE_BLOCK)).all();
public static void init()
{
RegistryHelper.register("mymodid", Registry.BLOCK, Block.class, ModBlocks.class); //See RegistryHelper wiki page for more info
//Register the blocks
APPLE_DECORATION.register(MyMod.ITEM_GROUP);
}
}
After ModBlocks.init() has been called (from your ModInitalizer), the decoration blocks will have been registered.
Since we used .all(), a Slab, Stair and Wall will be generated.
If we wanted to pick and choose which blocks we wanted, we would use the slab(), stair() and wall() methods separatly.
new DecorationBlockInfo("mymodid", "apple", APPLE_BLOCK, FabricBlockSettings.copyOf(APPLE_BLOCK)).slab().stair();
You must call the register method to register the blocks, the RegistryHelper does not currently support DecorationBlockInfo.
Callbacks
DecorationBlockInfo supports callbacks as each block is registered using the DecorationBlockInfo.Callback interface.
new DecorationBlockInfo("mymodid", "apple", APPLE_BLOCK, FabricBlockSettings.copyOf(APPLE_BLOCK), (block)->{
if(block instanceof StairBlock)
{
System.out.println("Hope they're not rotten!");
}
}).all();