Overview
Overview of custom registry components on PowerNukkitX.
PowerNukkitX introduces a custom registry architecture that allows developers to register custom blocks, items, entities, enchantments, and crafting recipes. These registries allow custom content to be served dynamically to Minecraft Bedrock Edition clients using server-side configurations and resource packs.
Critical Registration Timing
[!IMPORTANT] You must register custom blocks, items, entities, and enchantments inside your plugin's
onLoad()method rather thanonEnable().The server loads the world files and parses entity, block, and item NBT tags after loading the plugins but before enabling them. If you register components in
onEnable(), the server will fail to recognize them during world load, leading to data corruption or loading errors.
Select a guide below to learn how to create and register custom components:
Blocks
Define custom block properties, geometries, states, and permutations.
Block Entities
Define custom NBT data stores and tick updates for placed blocks.
Items
Create custom weapons, tools, armor, and simple items with custom durability and stats.
Entities
Define custom mobs, mounts, and rideable entities with seat configurations.
Enchantments
Create new enchantments with custom max levels and rarity stats.
Recipes
Register shaped, shapeless, and furnace crafting recipes.
Generators
Define custom world gen stage pipelines and structure populators.
Structure API
Load, transform, and place Bedrock and Java Edition structure templates.