BlockWithItem - Lemonszz/LKLib GitHub Wiki
The BlockWithItem
interface can be added to any block you wish to have a BlockItem
associated with it.
BlockItems will be automatically registered when using the BlockWithItemCallback
(See RegistryHelper
for more information)
Methods
Usually there is no extra work involved when using BlockWithItem
as each method has a default implementation.
You can override these if you need to have more control.
Generally you will not need to call any of these methods yourself. If you are not using the BlockWithItemCallback
callback, you will need to call registerItem
to register the item.
hasItem
By default this simply returns true. You can override this to return false if you do not wish for the BlockItem to be created. This may be useful if you have a child class of a block that does need an item, but this block doesn't.
makeItemSettings
This is where the Item.Settings
is created for the BlockItem
. By default this simply makes a Item.Settings
instance with the given ItemGroup.
You may wish to override this if you need to modify the Item's settings, such as stack size.
makeItem
This creates the BlockItem
instance. It will call makeItemSettings
to create the Item's settings.
You may wish to override this if your block needs a custom Item
class.
registerItem
This will call makeItem
(which calls makeItemSettings
) and register the item.
Convenience Classes
LKLib provides a large variety of convenience implementations of BlockWithItem
. These are generally children of vanilla blocks with specific behavior.
LKBlock
extendsBlock
LKButtonBlock
extendsWoodenButtonBlock
LKDoorBlock
extendsDoorBlock
LKFenceBlock
extendsFenceBlock
LKFenceGateBlock
extendsFenceGateBlock
LKLeavesBlock
extendsMushroomBlock
LKMushroomBlock
extendsBlock
LKMushroomPlantBlock
extendsMushroomPlantBlock
LKPillarBlock
extendsPillarBlock
LKPressurePlateBlock
extendsPressurePlateBlock
LKSaplingBlock
extendsSaplingBlock
LKStairBlock
extendsStairsBlock
LKTallFlowerBlock
extendsTallFlowerBlock
LKTrapdoorBlock
extendsTrapdoorBlock