Creating Your First Feature
Features allow you to generate blocks naturally into the world during chunk generation, such as custom trees, ores, or structures.
Creating a feature
To create a new feature, navigate to your server's plugin directory and create a JSON file at the following path: plugins/AbyssalLib/worldgen/features/<namespace>/<feature_name>.json
(For example: plugins/AbyssalLib/worldgen/features/abyssallib_example/gold_block_ore.json)
The feature JSON file consists of four primary sections:
"type": Defines the base feature logic to use (e.g., an ore vein or a tree)."config": Holds the specific configuration parameters required by the chosen feature type."placement": Defines the rules and modifiers that dictate where, how often, and at what altitudes the feature generates within a chunk."worlds": A list of world names where this feature is permitted to generate. If this array is empty, the feature will not generate anywhere.
BlockInfo Format
When defining blocks inside your configuration (such as the "target" blocks to replace, or the "state" block to place), AbyssalLib uses a specific BlockInfo JSON object format.
Key | Information |
|---|---|
| The namespace identifier of the block (e.g., |
| A key-value map defining standard vanilla block states (e.g., |
| A key-value map defining custom properties specific to AbyssalLib custom blocks. |
| A JSON object defining TileEntity data for vanilla blocks. |