Datapacks & Custom Creepers
You can define entirely new Ore Creepers or modify the default ones using dynamic Minecraft data packs.
Folder Structure
Creeper definitions must be placed in your data pack at:
data/ore_creeper/ore_creeper_types/[name].json
JSON Structure Example
Here is an example structure based on the Coal Creeper:
{
"ore_block": "minecraft:coal_ore",
"deepslate_ore_block": "minecraft:deepslate_coal_ore",
"radius": 3.75,
"ore_chance": 0.3,
"raw_chance": 0.0,
"texture": "ore_creeper:textures/entity/coal_creeper.png",
"item_texture": "ore_creeper:textures/item/coal_creeper_spawn_egg.png",
"particle_color": "191919",
"spawn_in_biomes": "#ore_creeper:spawnable_biomes",
"remove_from_biomes": "#ore_creeper:blacklist_biomes",
"is_nether": false,
"min_spawn_y_level": 0,
"max_spawn_y_level": 320,
"spawn_weight": 20,
"min_group_size": 1,
"max_group_size": 1
}
JSON Fields Specification
| Field Key | Type | Description |
|---|---|---|
ore_block |
string |
The ID of the block placed when converting standard stone blocks (e.g. minecraft:iron_ore). |
deepslate_ore_block |
string |
(Optional) The ID of the block placed when converting deepslate blocks. |
raw_block |
string |
(Optional) The ID of the raw ore block form placed if raw_chance succeeds (e.g., minecraft:raw_iron_block). |
radius |
float |
The explosion/conversion block radius. (Default: 3.0). |
ore_chance |
float |
The chance (0.0 to 1.0) that a stone/deepslate block in the radius is converted. (Default: 1.0). |
raw_chance |
float |
(Optional) The chance (0.0 to 1.0) that a converted block becomes a raw ore block instead of an ore block. (Default: 0.0). |
texture |
string |
(Optional) Namespace path to the creeper's entity texture. |
item_texture |
string |
(Optional) Namespace path to the spawn egg item texture. |
particle_color |
string / integer |
Hexadecimal color code (#RRGGBB or RRGGBB) or decimal integer representing the primary particle color. (Default: 16777215 / #FFFFFF). |
secondary_particle_color |
string / integer |
(Optional) Hexadecimal color code or decimal integer representing the secondary particle color. |
spawn_in_biomes |
string |
(Optional) Tag key or biome ID mapping where this creeper can spawn (e.g., #minecraft:is_overworld). |
remove_from_biomes |
string |
(Optional) Tag key or biome ID blacklist mapping. |
is_nether |
boolean |
If true, spawn checks will adapt to nether replacement blocks (like netherrack and blackstone). (Default: false). |
min_spawn_y_level |
integer |
Minimum Y level in the world where this creeper can spawn. (Default: 0). |
max_spawn_y_level |
integer |
Maximum Y level in the world where this creeper can spawn. (Default: 320). |
spawn_weight |
integer |
Weight for mob spawning system. (Default: 10). |
min_group_size |
integer |
Minimum group size when spawning. (Default: 1). |
max_group_size |
integer |
Maximum group size when spawning. (Default: 3). |
skin_color |
string / integer |
(Optional) Custom body texture color overlay. If "texture" is omitted, the mod uses this to dynamically tint the base body texture. |
ore_color |
string / integer |
(Optional) Custom spots/ore fragments color overlay. If "texture" is omitted, the mod uses this to dynamically tint the spots. |
Note
Creating and including custom texture files is completely optional. If you omit the "texture" field but provide "skin_color" and "ore_color", the mod will automatically generate the creeper's texture dynamically.
Adding Custom Textures (Resource Packs)
If you define custom textures in the "texture" and "item_texture" fields, place the .png files in a resource pack:
- Entity Textures (
"texture"): Place inassets/ore_creeper/textures/entity/[path].png - Example:
assets/ore_creeper/textures/entity/custom_creeper.png - Spawn Egg Textures (
"item_texture"): Place inassets/[namespace]/textures/item/[path].png - Example:
assets/ore_creeper/textures/item/custom_creeper_spawn_egg.png