-
Notifications
You must be signed in to change notification settings - Fork 3
2. Adding blocks and items
Let's add our own blocks and items!
This assumes you've already done the project setup.
Each block is added with a single data pack file: data/<namespace>/block/<id>.json.
For example, if you want to create a block dyed_planks:green_planks, you create this file:
src/
└── main/
└── resources/
└── data_pack/
└── data/
└── dyed_planks/
└── block/
└── green_planks.json
Here is a quick example for a green_plank_stairs.json:
{
"type": "minecraft:stair",
"base_state": "dyed_planks:green_planks",
"properties": {
"destroy_time": 2.0,
"explosion_resistance": 3.0,
"ignited_by_lava": true,
"instrument": "minecraft:bass",
"map_color": "minecraft:color_light_green",
"sound_type": "minecraft:wood"
},
"mappings": [
{
"type": "stairs",
"fallback": "minecraft:warped_planks"
}
]
}The JSON contains 4 parts:
- A
type - Some additional values based on the
type(for example, the full block for stairs, or the particles of leaves) propertiesmappings
Detailed explanation of the 4 parts:
-
The
typeof the block.
This determines the block states of the block, and also includes some behavior.Expand the list of possible types
Below are all possible block types.
Some types require additional values (see further below for explanation).
Some types have default values for some properties that are different from the regular defaults (see further below for explanation).
Some types have a recommended mapping type (see further below for explanation).All types work. Types with 🧩 have been tested to also work for vanilla clients. Other types have not been tested yet.
-
minecraft:block🧩A full-cube block.
Recommended mapping type:
full_block
-
minecraft:airAir.
⚠️ Not recommended to be used, because Minecraft treats air as a special type. -
minecraft:amethystAn amethyst block.
Recommended mapping type:
full_block -
minecraft:amethyst_clusterAn amethyst cluster.
Required additional values:
-
heightThe height of the cluster (afloatin the range [0, 16]) -
widthThe width of the cluster (afloatin the range [0, 16])
-
-
minecraft:anvil -
minecraft:attached_stemRequired additional values:
-
fruitThe fruit block (a block, e.g.minecraft:melon) -
seedThe seed item (an item, e.g.minecraft:melon_seeds) -
stemThe non-attached stem block (a block, e.g.minecraft:melon_stem)
-
-
minecraft:azalea -
minecraft:bamboo_sapling -
minecraft:bamboo_stalk -
minecraft:bannerRequired additional values:
-
colorThe color (one of:black,blue,brown,cyan,gray,green,light_blue,light_gray,lime,magenta,orange,pink,purple,red,white,yellow)
-
-
minecraft:barrel🧩A barrel.
Recommended mapping type:
barrel -
minecraft:barrier -
minecraft:base_coral_fan -
minecraft:base_coral_plant -
minecraft:base_coral_wall_fan -
minecraft:beacon -
minecraft:bedRequired additional values:
-
colorThe color (one of:black,blue,brown,cyan,gray,green,light_blue,light_gray,lime,magenta,orange,pink,purple,red,white,yellow)
-
-
minecraft:beehiveA beehive.
Recommended mapping type:
full_block -
minecraft:beetroot -
minecraft:bell -
minecraft:big_dripleaf -
minecraft:big_dripleaf_stem -
minecraft:blast_furnace🧩A blast furnace.
Recommended mapping type:
furnace -
minecraft:brewing_stand -
minecraft:brushable🧩A brushable block, such as suspicious sand.
Required additional values:
-
brush_completed_soundThe sound when brushing is completed (an entry in theminecraft:sound_eventregistry, e.g.minecraft:item.brush.brushing.gravel) -
brush_soundThe sound while brushing (an entry in theminecraft:sound_eventregistry, e.g.minecraft:item.brush.brushing.gravel) -
turns_intoThe block to turn into after brushing (a block, e.g.minecraft:gravel)
Recommended mapping type:
brushable -
-
minecraft:bubble_column -
minecraft:budding_amethystA budding amethyst block.
Recommended mapping type:
full_block -
minecraft:bush -
minecraft:button🧩A button.
Required additional values:
-
block_set_typeThe block set that this button is a part of (one of:acaciabamboo,birch,cherry,copper,crimson,dark_oak,gold,iron,jungle,mangrove,oak,pale_oak,polished_blackstone,spruce,stone,warped) -
ticks_to_stay_pressedThe number of ticks that the button stays pressed (an integer in the range [1, 1024])
Default properties:
"has_collision": false, "explosion_resistance": 0.5, "destroy_time": 0.5, "push_reaction": "minecraft:destroy"
Not default, but recommended properties for wooden buttons:
"sound_type": "minecraft:wood", "ignited_by_lava": true
Recommended mapping type:
button -
-
minecraft:cactus -
minecraft:cactus_flower -
minecraft:cake -
minecraft:calibrated_sculk_sensor -
minecraft:campfireA campfire.
Required additional values:
-
fire_damageThe fire damage this campfire does (an integer in the range [0, 1000]) -
spawn_particlesWhether this campfire spawns particles (trueorfalse)
-
-
minecraft:candle_cakeA candle cake.
Required additional values:
-
candleThe candle block (a block, e.g.minecraft:green_candle)
-
-
minecraft:candle -
minecraft:carpet -
minecraft:carrot -
minecraft:cartography_table🧩A cartography table.
Recommended mapping type:
full_block -
minecraft:cauldron -
minecraft:cave_vines -
minecraft:cave_vines_plant -
minecraft:ceiling_hanging_signRequired additional values:
-
wood_typeThe wood type (one of:acacia,bamboo,birch,cherry,crimson,dark_oak,jungle,mangrove,oak,pale_oakspruce,warped)
-
-
minecraft:chain🧩A chain.
Recommended mapping type:
chain -
minecraft:chestA chest.
Required additional values:
-
close_soundThe sound when closing the chest (an entry in theminecraft:sound_eventregistry, e.g.minecraft:block.chest.close) -
open_soundThe sound when opening the chest (an entry in theminecraft:sound_eventregistry, e.g.minecraft:block.chest.open)
-
-
minecraft:chiseled_book_shelf🧩A chiseled bookshelf.
Recommended mapping type:
chiseled_bookshelf -
minecraft:chorus_flowerRequired additional values:
-
plantThe corresponding plant block (a block, e.g.minecraft:chorus_plant)
-
-
minecraft:chorus_plant -
minecraft:cocoa -
minecraft:colored_falling🧩A falling block with falling dust that has a specific color.
Required additional values:-
falling_dust_colorThe color of the falling particles (an ARGB color integer, e.g.4294901760)
Recommended mapping type:
full_block -
-
minecraft:commandRequired additional values:
-
automaticWhether this command block is automatic (trueorfalse) (is onlytruein vanilla forminecraft:chain_command_block)
-
-
minecraft:comparator -
minecraft:composter -
minecraft:concrete_powder🧩A concrete powder block.
Required additional values:
-
concreteThe corresponding concrete block (a block, e.g.minecraft:green_concrete)
Recommended mapping type:
full_block -
-
minecraft:conduit -
minecraft:copper_bulb_blockA copper bulb.
-
minecraft:copper_chestA copper chest.
Required additional values:
-
close_soundThe sound when closing the chest (an entry in theminecraft:sound_eventregistry, e.g.minecraft:block.chest.close) -
open_soundThe sound when opening the chest (an entry in theminecraft:sound_eventregistry, e.g.minecraft:block.chest.open) -
weathering_stateThe copper weathering state (one of:unaffected,exposed,weathered,oxidized)
-
-
minecraft:copper_golem_statueRequired additional values:
-
weathering_stateThe copper weathering state (one of:unaffected,exposed,weathered,oxidized)
-
-
minecraft:coral🧩An alive coral block.
Required additional values:
-
deadThe corresponding dead coral block (a block, e.g.minecraft:dead_brain_coral_block)
Recommended mapping type:
full_block -
-
minecraft:coral_fanRequired additional values:
-
deadThe corresponding dead coral fan block (a block, e.g.minecraft:dead_brain_coral_fan)
-
-
minecraft:coral_plantRequired additional values:
-
deadThe corresponding dead coral plant block (a block, e.g.minecraft:dead_brain_coral)
-
-
minecraft:coral_wall_fanRequired additional values:
-
deadThe corresponding dead coral wall fan block (a block, e.g.minecraft:dead_brain_coral_wall_fan)
-
-
minecraft:crafter -
minecraft:crafting_table🧩A crafting table.
Recommended mapping type:
full_block -
minecraft:creaking_heart -
minecraft:crop -
minecraft:crying_obsidian🧩Crying obsidian.
Recommended mapping type:
full_block -
minecraft:daylight_detector -
minecraft:dry_vegetation -
minecraft:decorated_pot -
minecraft:detector_rail -
minecraft:dirt_path -
minecraft:dispenser -
minecraft:door🧩A door.
Required additional values:
-
block_set_typeThe block set that this button is a part of (one of:acaciabamboo,birch,cherry,copper,crimson,dark_oak,gold,iron,jungle,mangrove,oak,pale_oak,polished_blackstone,spruce,stone,warped)
Default properties:
"can_occlude": false, "push_reaction": "minecraft:destroy"
Not default, but recommended properties for wooden doors:
"sound_type": "minecraft:wood", "explosion_resistance": 3.0, "destroy_time": 3.0, "ignited_by_lava": true, "instrument": "minecraft:bass"
Recommended mapping type:
door -
-
minecraft:double_plant -
minecraft:dragon_egg -
minecraft:dried_ghast -
minecraft:drop_experienceRequired additional values:
-
experienceThe amount of experience dropped (an integer providing returning a result between 0 and 10, e.g.{"value": 2}or{"min_inclusive": 0, "max_inclusive": 3})
-
-
minecraft:dropper -
minecraft:enchantment_table -
minecraft:ender_chest -
minecraft:end_gateway -
minecraft:end_portal -
minecraft:end_portal_frame -
minecraft:end_rod -
minecraft:eyeblossomRequired additional values:
-
openWhether the blossom is open (trueorfalse)
-
-
minecraft:farm -
minecraft:bonemealable_feature_placerRequired additional values:
-
featureThe feature that will be placed (an entry in theminecraft:worldgen/configured_featureregistry, e.g.minecraft:azalea_tree)
-
-
minecraft:fenceA fence.
Default properties:
"force_solid_on": true
Not default, but recommended properties for wooden fences:
"sound_type": "minecraft:wood", "explosion_resistance": 3.0, "destroy_time": 2.0, "ignited_by_lava": true, "instrument": "minecraft:bass"
Recommended mapping type:
fence -
minecraft:fence_gate 🧩A fence gate.
Required additional values:
-
wood_typeThe wood type (one of:acacia,bamboo,birch,cherry,crimson,dark_oak,jungle,mangrove,oak,pale_oakspruce,warped)
Default properties:
"force_solid_on": true
Not default, but recommended properties for wooden fence gates:
"sound_type": "minecraft:wood", "explosion_resistance": 3.0, "destroy_time": 2.0, "ignited_by_lava": true, "instrument": "minecraft:bass"
Recommended mapping type:
fence_gate -
-
minecraft:fire -
minecraft:firefly_bush -
minecraft:flowerRequired additional values:
-
suspicious_stew_effectsThe effects that this flower gives when used to make a suspicious stew (a list of suspicious stew effects, where each effect has anid(an entry in theminecraft:mob_effectregistry) and an optionalduration(default is 160 ticks), e.g.[{"id": "minecraft:slowness"}, {"id": "minecraft:mining_fatigue", "duration": 320}])
-
-
minecraft:flower_potAn empty or filled flower pot.
Required additional values:
-
pottedThe corresponding flower block (a block, e.g.minecraft:poppy)
Default properties:
"explosion_resistance": 0.0, "destroy_time": 0.0, "can_occlude": false, "push_reaction": "minecraft:destroy"
Recommended mapping type:
flower_pot -
-
minecraft:frogspawn -
minecraft:frosted_ice -
minecraft:furnace🧩A furnace.
Recommended mapping type:
furnace -
minecraft:glazed_terracotta🧩A glazed terracotta block.
Recommended mapping type:
glazed_terracotta -
minecraft:glow_lichen -
minecraft:grass -
minecraft:grindstone -
minecraft:half_transparent -
minecraft:hanging_moss -
minecraft:hanging_roots -
minecraft:hay🧩A hay block.
Recommended mapping type:
full_block -
minecraft:heavy_core -
minecraft:honey -
minecraft:hopper -
minecraft:huge_mushroom -
minecraft:ice -
minecraft:infested🧩An infested block, such as infested stone bricks.
Required additional values:
-
hostThe non-infested block (a block, e.g.minecraft:stone_bricks)
Recommended mapping type:
full_block -
-
minecraft:infested_rotated_pillar🧩An infested rotated pillar, such as infested deepslate.
Required additional values:
-
hostThe non-infested block (a block, e.g.minecraft:deepslate)
Recommended mapping type:
rotated_pillar -
-
minecraft:iron_bars -
minecraft:jack_o_lantern🧩A jack o'lantern.
Recommended mapping type:
pumpkin -
minecraft:jigsaw -
minecraft:jukebox -
minecraft:kelp -
minecraft:kelp_plant -
minecraft:ladder🧩A ladder.
Default properties:
"sound_type": "minecraft:ladder", "explosion_resistance": 0.4, "destroy_time": 0.4, "can_occlude": false, "force_solid_off": true
Recommended mapping type:
ladder -
minecraft:lantern -
minecraft:lava_cauldron -
minecraft:layered_cauldronRequired additional values:
-
interactionsThe type of changes that happen when the cauldron is interacted with (one of:empty,lava,powder_snow,water) -
precipitationHow the contents of the cauldron behave, for example when an entity is inside the cauldron (one of:none,rain,snow)
-
-
minecraft:leaf_litter -
minecraft:lectern -
minecraft:lever -
minecraft:light -
minecraft:lightning_rod -
minecraft:liquidRequired additional values:
-
fluidThe fluid of this liquid (an entry in theminecraft:fluidregistry: one ofminecraft:flowing_lava,minecraft:flowing_water,minecraft:lava,minecraft:water)
-
-
minecraft:loom🧩A loom.
Recommended mapping type:
loom -
minecraft:magma🧩A magma block.
Recommended mapping type:
full_block -
minecraft:mangrove_leaves🧩Mangrove leaves.
Required additional values:
-
leaf_particle_chanceThe chance of leaf particles spawning in any tick (afloatin the range [0, 1])
Default properties:
"map_color": "minecraft:plant", "sound_type": "minecraft:grass", "explosion_resistance": 0.2, "destroy_time": 0.2, "is_randomly_ticking": true, "can_occlude": false, "ignited_by_lava": true, "push_reaction": "minecraft:destroy", "is_redstone_conductor": "minecraft:never", "is_suffocating": "minecraft:never", "is_view_blocking": "minecraft:never"
Recommended mapping type:
leaves -
-
minecraft:mangrove_propaguleA mangrove propagule.
Required additional values:
-
treeThe type of tree grown (one of:acacia,azalea,birch,cherry,dark_oak,jungle,mangrove,oak,pale_oakspruce)
Default properties:
"map_color": "minecraft:plant", "has_collision": false, "sound_type": "minecraft:grass", "explosion_resistance": 0.0, "destroy_time": 0.0, "is_randomly_ticking": true, "can_occlude": false, "push_reaction": "minecraft:destroy", "offset_function": "minecraft:xz"
-
-
minecraft:mangrove_roots -
minecraft:mossy_carpet -
minecraft:moving_piston -
minecraft:mud🧩A mud block.
Recommended mapping type:
full_block -
minecraft:multiface -
minecraft:mushroomRequired additional values:
-
featureThe mushroom feature that this block is a part of (an entry in theminecraft:worldgen/configured_featureregistry, e.g.minecraft:huge_red_mushroom)
-
-
minecraft:mycelium -
minecraft:nether_fungusRequired additional values:
-
featureThe feature that will be grown from this fungus when bonemealed (an entry in theminecraft:worldgen/configured_featureregistry, e.g.minecraft:warped_fungus_planted)
-
-
minecraft:nether_portal🧩A nether portal block (the type of the inside blocks that are normally purple).
Recommended mapping type:
nether_portal -
minecraft:nether_roots -
minecraft:nether_sprouts -
minecraft:nether_wart -
minecraft:netherrack🧩A netherrack block.
Recommended mapping type:
full_block -
minecraft:note -
minecraft:nylium🧩A nylium block.
Recommended mapping type:
full_block -
minecraft:observer -
minecraft:piglinwallskull -
minecraft:flower_bed -
minecraft:piston_baseRequired additional values:
-
stickyWhether the base is sticky (trueorfalse)
-
-
minecraft:piston_head -
minecraft:pitcher_crop -
minecraft:player_head -
minecraft:player_wall_head -
minecraft:pointed_dripstone -
minecraft:potato -
minecraft:powder_snow -
minecraft:powered -
minecraft:powered_rail -
minecraft:pressure_plate🧩A pressure plate.
Required additional values:
-
block_set_typeThe block set that this button is a part of (one of:acaciabamboo,birch,cherry,copper,crimson,dark_oak,gold,iron,jungle,mangrove,oak,pale_oak,polished_blackstone,spruce,stone,warped)
Default properties:
"has_collision": false, "explosion_resistance": 0.5, "destroy_time": 0.5, "force_solid_on": true, "push_reaction": "minecraft:destroy"
Not default, but recommended properties for wooden pressure plates:
"sound_type": "minecraft:wood", "ignited_by_lava": true, "instrument": "minecraft:bass"
Recommended mapping type:
pressure_plate -
-
minecraft:pumpkin🧩A pumpkin.
Recommended mapping type:
pumpkin -
minecraft:rail -
minecraft:redstone_lamp -
minecraft:redstone_ore🧩Redstone ore.
Recommended mapping type:
redstone_ore -
minecraft:redstone_torch -
minecraft:redstone_wall_torch -
minecraft:redstone_wire -
minecraft:repeater -
minecraft:respawn_anchor🧩A respawn anchor.
Recommended mapping type:
respawn_anchor -
minecraft:rooted_dirt🧩A rooted dirt block.
Recommended mapping type:
full_block -
minecraft:rotated_pillar🧩A block that can be rotated along 3 axes, such as logs.
Recommended mapping type:
rotated_pillar -
minecraft:saplingA sapling.
Required additional values:
-
treeThe type of tree grown (one of:acacia,azalea,birch,cherry,dark_oak,jungle,mangrove,oak,pale_oakspruce)
Default properties:
"map_color": "minecraft:plant", "has_collision": false, "sound_type": "minecraft:grass", "explosion_resistance": 0.0, "destroy_time": 0.0, "is_randomly_ticking": true, "can_occlude": false, "push_reaction": "minecraft:destroy"
Recommended mapping type:
sapling -
-
minecraft:sand🧩A sand block.
Required additional values:
-
falling_dust_colorThe color of the falling particles (an ARGB hex color, e.g.#ffff0000)
Recommended mapping type:
full_block -
-
minecraft:scaffolding -
minecraft:sculk_catalyst -
minecraft:sculk🧩A sculk block.
Recommended mapping type:
full_block -
minecraft:sculk_sensor -
minecraft:sculk_shrieker -
minecraft:sculk_vein -
minecraft:seagrass -
minecraft:sea_pickle -
minecraft:shelf -
minecraft:short_dry_grass -
minecraft:shulker_boxAdditional values:
-
color(optional) The color (one of:black,blue,brown,cyan,gray,green,light_blue,light_gray,lime,magenta,orange,pink,purple,red,white,yellow)
-
-
minecraft:skullRequired additional values:
-
kindThe type of skull (one ofcreeper,dragon,piglin,player,skeleton,wither_skeleton,zombie)
-
-
minecraft:slab🧩A slab.
Recommended mapping type:
slab -
minecraft:slime -
minecraft:small_dripleaf -
minecraft:smithing_table🧩A smithing table.
Recommended mapping type:
full_block -
minecraft:smoker🧩A smoker.
Recommended mapping type:
furnace -
minecraft:sniffer_egg -
minecraft:snow_layer -
minecraft:snowy_dirt -
minecraft:soul_fire -
minecraft:soul_sand -
minecraft:spawner -
minecraft:sponge🧩A dry sponge block.
Recommended mapping type:
full_block -
minecraft:spore_blossom -
minecraft:stained_glass_paneRequired additional values:
-
colorThe color (one of:black,blue,brown,cyan,gray,green,light_blue,light_gray,lime,magenta,orange,pink,purple,red,white,yellow)
-
-
minecraft:stained_glass🧩A stained glass full block.
Required additional values:
-
colorThe color (one of:black,blue,brown,cyan,gray,green,light_blue,light_gray,lime,magenta,orange,pink,purple,red,white,yellow)
Recommended mapping type:
full_block -
-
minecraft:stairStairs.
Required additional values:
-
base_stateThe base block state for the stairs (a block state, e.g.minecraft:diamond_blockorminecraft:oak_log[axis=z])
-
-
minecraft:standing_signRequired additional values:
-
wood_typeThe wood type (one of:acacia,bamboo,birch,cherry,crimson,dark_oak,jungle,mangrove,oak,pale_oakspruce,warped)
-
-
minecraft:stemRequired additional values:
-
attached_stemThe non-attached stem block (a block, e.g.minecraft:attached_melon_stem) -
fruitThe fruit block (a block, e.g.minecraft:melon) -
seedThe seed item (an item, e.g.minecraft:melon_seeds)
-
-
minecraft:stonecutter -
minecraft:structure -
minecraft:structure_void -
minecraft:sugar_cane -
minecraft:sweet_berry_bush -
minecraft:tall_dry_grass -
minecraft:tall_flower -
minecraft:tall_grass -
minecraft:tall_seagrass -
minecraft:target -
minecraft:test -
minecraft:test_instance -
minecraft:tinted_glass🧩A tinted glass block.
Recommended mapping type:
full_block -
minecraft:tinted_particle_leaves🧩Leaves that change color based on the biome.
Required additional values:
-
leaf_particle_chanceThe chance of leaf particles spawning in any tick (afloatin the range [0, 1])
Default properties:
"map_color": "minecraft:plant", "sound_type": "minecraft:grass", "explosion_resistance": 0.2, "destroy_time": 0.2, "is_randomly_ticking": true, "can_occlude": false, "ignited_by_lava": true, "push_reaction": "minecraft:destroy", "is_redstone_conductor": "minecraft:never", "is_suffocating": "minecraft:never", "is_view_blocking": "minecraft:never"
Recommended mapping type:
leaves -
-
minecraft:tnt -
minecraft:torchflower_crop -
minecraft:torchRequired additional values:
-
particle_optionsThe type of particle emitted by the torch (an entry in theminecraft:particle_typeregistry, e.g.minecraft:soul_fire_flame)
-
-
minecraft:transparent -
minecraft:trapdoor🧩Required additional values:
-
block_set_typeThe block set that this button is a part of (one of:acaciabamboo,birch,cherry,copper,crimson,dark_oak,gold,iron,jungle,mangrove,oak,pale_oak,polished_blackstone,spruce,stone,warped)
Default properties:
"can_occlude": false, "is_valid_spawn": "minecraft:never"
Not default, but recommended properties for wooden trapdoors:
"sound_type": "minecraft:wood", "explosion_resistance": 3.0, "destroy_time": 3.0, "instrument": "minecraft:bass"
Recommended mapping type:
trapdoor -
-
minecraft:trapped_chest -
minecraft:trial_spawner -
minecraft:trip_wire_hook -
minecraft:tripwireRequired additional values:
-
hookThe associated hook block (a block, e.g.minecraft:tripwire_hook)
-
-
minecraft:turtle_egg -
minecraft:twisting_vines_plant -
minecraft:twisting_vines -
minecraft:untinted_particle_leaves🧩Leaves that don't change color based on the biome.
Required additional values:
-
leaf_particleThe particles emitted by these leaves (an object containing atypefrom theminecraft:particle_typeregistry, e.g.minecraft:tinted_leaves, and any additional required options based on that type, e.g.{"type": "minecraft:tinted_leaves", "color": 4294492531}) -
leaf_particle_chanceThe chance of particles spawning in any tick (afloatin the range [0, 1])
Default properties:
"map_color": "minecraft:plant", "sound_type": "minecraft:grass", "explosion_resistance": 0.2, "destroy_time": 0.2, "is_randomly_ticking": true, "can_occlude": false, "ignited_by_lava": true, "push_reaction": "minecraft:destroy", "is_redstone_conductor": "minecraft:never", "is_suffocating": "minecraft:never", "is_view_blocking": "minecraft:never"
Recommended mapping type:
leaves -
-
minecraft:vault -
minecraft:vine -
minecraft:wall_bannerRequired additional values:
-
colorThe color (one of:black,blue,brown,cyan,gray,green,light_blue,light_gray,lime,magenta,orange,pink,purple,red,white,yellow)
-
-
minecraft:wall_hanging_signRequired additional values:
-
wood_typeThe wood type (one of:acacia,bamboo,birch,cherry,crimson,dark_oak,jungle,mangrove,oak,pale_oakspruce,warped)
-
-
minecraft:wall_signRequired additional values:
-
wood_typeThe wood type (one of:acacia,bamboo,birch,cherry,crimson,dark_oak,jungle,mangrove,oak,pale_oakspruce,warped)
-
-
minecraft:wall_skullRequired additional values:
-
kindThe type of skull (one ofcreeper,dragon,piglin,player,skeleton,wither_skeleton,zombie)
-
-
minecraft:wall_torchRequired additional values:
-
particle_optionsThe type of particle emitted by the torch (an entry in theminecraft:particle_typeregistry, e.g.minecraft:soul_fire_flame)
-
-
minecraft:wallA wall.
Default properties:
"force_solid_on": true
Not default, but recommended properties for regular stone walls:
"explosion_resistance": 6.0, "destroy_time": 1.5, "requires_correct_tool_for_drops": true, "instrument": "minecraft:basedrum"
Recommended mapping type:
fence -
minecraft:waterlily -
minecraft:waterlogged_transparent -
minecraft:weathering_copper_barRequired additional values:
-
weathering_stateThe copper weathering state (one of:unaffected,exposed,weathered,oxidized)
-
-
minecraft:weathering_copper_bulbRequired additional values:
-
weathering_stateThe copper weathering state (one of:unaffected,exposed,weathered,oxidized)
-
-
minecraft:weathering_copper_chain🧩An oxidizing chain.
Required additional values:
-
weathering_stateThe copper weathering state (one of:unaffected,exposed,weathered,oxidized)
Recommended mapping type:
chain -
-
minecraft:weathering_copper_chestRequired additional values:
-
close_soundThe sound when closing the chest (an entry in theminecraft:sound_eventregistry, e.g.minecraft:block.chest.close) -
open_soundThe sound when opening the chest (an entry in theminecraft:sound_eventregistry, e.g.minecraft:block.chest.open) -
weathering_stateThe copper weathering state (one of:unaffected,exposed,weathered,oxidized)
-
-
minecraft:weathering_copper_door🧩An oxidizing door.
Required additional values:
-
block_set_typeThe block set that this button is a part of (one of:acaciabamboo,birch,cherry,copper,crimson,dark_oak,gold,iron,jungle,mangrove,oak,pale_oak,polished_blackstone,spruce,stone,warped) -
weathering_stateThe copper weathering state (one of:unaffected,exposed,weathered,oxidized)
Default properties:
"map_color": "minecraft:color_orange", "explosion_resistance": "6.0", "destroy_time": "3.0", "requires_correct_tool_for_drops": "true", "can_occlude": false, "push_reaction": "minecraft:destroy"
Recommended mapping type:
door -
-
minecraft:weathering_copper_full🧩An oxidizing block.
Required additional values:
-
weathering_stateThe copper weathering state (one of:unaffected,exposed,weathered,oxidized)
Recommended mapping type:
full_block -
-
minecraft:weathering_copper_golem_statueRequired additional values:
-
weathering_stateThe copper weathering state (one of:unaffected,exposed,weathered,oxidized)
-
-
minecraft:weathering_copper_grate🧩An oxidizing grate block.
Required additional values:
-
weathering_stateThe copper weathering state (one of:unaffected,exposed,weathered,oxidized)
Recommended mapping type:
full_block -
-
minecraft:weathering_copper_slab🧩An oxidizing slab.
Required additional values:
-
weathering_stateThe copper weathering state (one of:unaffected,exposed,weathered,oxidized)
Recommended mapping type:
slab -
-
minecraft:weathering_copper_stair🧩Oxidizing stairs.
Required additional values:
-
base_stateThe base block state for the stairs (a block state, e.g.minecraft:weathered_cut_copperorminecraft:weather_copper_bulb) -
weathering_stateThe copper weathering state (one of:unaffected,exposed,weathered,oxidized)
Recommended mapping type:
stairs -
-
minecraft:weathering_copper_trap_door🧩An oxidizing trapdoor.
Required additional values:
-
block_set_typeThe block set that this button is a part of (one of:acaciabamboo,birch,cherry,copper,crimson,dark_oak,gold,iron,jungle,mangrove,oak,pale_oak,polished_blackstone,spruce,stone,warped) -
weathering_stateThe copper weathering state (one of:unaffected,exposed,weathered,oxidized)
Default properties:
"map_color": "minecraft:color_orange", "explosion_resistance": "6.0", "destroy_time": "3.0", "requires_correct_tool_for_drops": "true", "can_occlude": false, "is_valid_spawn": "minecraft:never"
Recommended mapping type:
trapdoor -
-
minecraft:weathering_lanternRequired additional values:
-
weathering_stateThe copper weathering state (one of:unaffected,exposed,weathered,oxidized)
-
-
minecraft:weathering_lightning_rodRequired additional values:
-
weathering_stateThe copper weathering state (one of:unaffected,exposed,weathered,oxidized)
-
-
minecraft:web -
minecraft:weeping_vines_plant -
minecraft:weeping_vines -
minecraft:weighted_pressure_plate🧩A weighted pressure plate.
Required additional values:
-
block_set_typeThe block set that this button is a part of (one of:acaciabamboo,birch,cherry,copper,crimson,dark_oak,gold,iron,jungle,mangrove,oak,pale_oak,polished_blackstone,spruce,stone,warped) -
max_weightThe number of entities that need to be on this pressure plate for it to output maximum redstone power (an integer in the range [1, 1024])
Default properties:
"has_collision": false, "explosion_resistance": 0.5, "destroy_time": 0.5, "force_solid_on": true, "push_reaction": "minecraft:destroy"
Recommended mapping type:
pressure_plate -
-
minecraft:wet_sponge🧩A wet sponge block.
Recommended mapping type:
full_block -
minecraft:wither_roseRequired additional values:
-
suspicious_stew_effectsThe effects that this flower gives when used to make a suspicious stew (a list of suspicious stew effects, where each effect has anid(an entry in theminecraft:mob_effectregistry) and an optionalduration(default is 160 ticks), e.g.[{"id": "minecraft:slowness"}, {"id": "minecraft:mining_fatigue", "duration": 320}])
-
-
minecraft:wither_skull -
minecraft:wither_wall_skull -
minecraft:wool_carpetRequired additional values:
-
colorThe color (one of:black,blue,brown,cyan,gray,green,light_blue,light_gray,lime,magenta,orange,pink,purple,red,white,yellow)
-
For example,
minecraft:slabgives the block the slab block states (i.e. top, bottom, double, and all waterlogged variants).
An example of included behavior isminecraft:ladderblocks being climbable. -
-
Some additional values may be required based on the type you chose.
For example, the type
minecraft:stairrequires a valuebase_statethat points to the corresponding full block state.Wich additional values are required is described in the expandable section above (per type).
-
The
propertiesof the block.
These set some behavioral and visual aspects of the block.Adding
propertiesis optional, and each property is optional, but you usually want to set a few common properties to customize the block to your liking.Here is an example:
"properties": { "destroy_time": 2.0, "explosion_resistance": 3.0, "ignited_by_lava": true, "instrument": "minecraft:bass", "map_color": "minecraft:color_light_green", "sound_type": "minecraft:wood" }
Expand the list of properties you can set
Common
-
can_occlude(defaulttrue) Whether this block can someimes hide blocks behind it (trueorfalse)
(can be set tofalsefor blocks like glass or flowers) -
destroy_time(default0) How long it takes to break the block (afloat)
(for example, it is0for flowers (instabreak),0.2for leaves,1.5for stone bricks and50for obsidian) -
explosion_resistance(default0) How strong the block is against explosions (uses the same scale asdestroy_time, is usually set the same or higher) -
friction(default0.6) The slipperiness of the block (afloatin the range [0, 1])
(for example, it is0.6for regular blocks,0.98for ice and0.989for blue ice) -
has_collision(defaulttrue) Whether entities will collide with the block (trueorfalse) -
ignited_by_lava(defaultfalse) Whether this block catches on fire when too close to lava (trueorfalse) -
instrument(default"minecraft:harp") The note block instrument (when this block is placed below a note block)Expand the list of instruments
minecraft:banjominecraft:basedrumminecraft:bassminecraft:bellminecraft:bitminecraft:chimeminecraft:cow_bellminecraft:creeperminecraft:custom_headminecraft:didgeridoominecraft:dragonminecraft:fluteminecraft:guitarminecraft:harpminecraft:hatminecraft:iron_xylophoneminecraft:piglinminecraft:plingminecraft:skeletonminecraft:snareminecraft:wither_skeletonminecraft:xylophoneminecraft:zombie
-
is_randomly_ticking(defaultfalse) Whether the block needs to be randomly ticked by the world (trueorfalse)
(for example, for crops to grow or grass to spread) -
jump_factor(default1) The vertical speed factor applied when jumping on this block (afloat)
(for example, this is1for regular blocks and0.5for honey blocks) -
light_emission(default0) The light level that the block emits (an integer in the range [0, 15]) -
map_color(default"minecraft:none") The pixel color shown in Minecraft mapsExpand the list of map colors
-
minecraft:none
minecraft:clayminecraft:color_blackminecraft:color_blueminecraft:color_brownminecraft:color_cyanminecraft:color_grayminecraft:color_greenminecraft:color_light_blueminecraft:color_light_grayminecraft:color_light_greenminecraft:color_magentaminecraft:color_orangeminecraft:color_pinkminecraft:color_purpleminecraft:color_redminecraft:color_yellowminecraft:crimson_hyphaeminecraft:crimson_nyliumminecraft:crimson_stemminecraft:deepslateminecraft:diamondminecraft:dirtminecraft:emeraldminecraft:fireminecraft:glow_lichenminecraft:goldminecraft:grassminecraft:iceminecraft:lapisminecraft:metalminecraft:netherminecraft:plantminecraft:podzolminecraft:quartzminecraft:raw_ironminecraft:sandminecraft:snowminecraft:stoneminecraft:terracotta_blackminecraft:terracotta_blueminecraft:terracotta_brownminecraft:terracotta_cyanminecraft:terracotta_grayminecraft:terracotta_greenminecraft:terracotta_light_blueminecraft:terracotta_light_grayminecraft:terracotta_light_greenminecraft:terracotta_magentaminecraft:terracotta_orangeminecraft:terracotta_pinkminecraft:terracotta_purpleminecraft:terracotta_redminecraft:terracotta_whiteminecraft:terracotta_yellowminecraft:warped_hyphaeminecraft:warped_nyliumminecraft:warped_stemminecraft:warped_wart_blockminecraft:waterminecraft:woodminecraft:wool
-
-
push_reaction(default"minecraft:normal") How the block reacts to being pushed or pulled by a pistonExpand the list of push reactions
-
minecraft:blockCannot be pushed or pulled -
minecraft:destroyBreaks when pushed, and cannot be pulled -
minecraft:normalCan be pushed and pulled -
minecraft:push_onlyCan be pushed, but not pulled
-
-
replaceable(default:false) Whether this block is replaced when a player clicks it to place a block (trueorfalse)
(for example, this istruefor leaf litter) -
requires_correct_tool_for_drops(defaultfalse) Whether the block must be mined with the correct tool to drop anything (trueorfalse)
(whether a tool is correct is determined by whether the block has the corresponding tag:#minecraft:mineable/axe,#minecraft:mineable/hoe,#minecraft:mineable/pickaxe,#minecraft:mineable/shovel) -
sound_type(default"minecraft:stone") The sounds the block makesExpand the list of sound types
-
minecraft:empty
minecraft:amethystminecraft:amethyst_clusterminecraft:ancient_debrisminecraft:anvilminecraft:azaleaminecraft:azalea_leavesminecraft:bamboominecraft:bamboo_saplingminecraft:bamboo_woodminecraft:bamboo_wood_hanging_signminecraft:basaltminecraft:big_dripleafminecraft:bone_blockminecraft:cactus_flowerminecraft:calciteminecraft:candleminecraft:cave_vinesminecraft:chainminecraft:cherry_leavesminecraft:cherry_saplingminecraft:cherry_woodminecraft:cherry_wood_hanging_signminecraft:chiseled_bookshelfminecraft:cobwebminecraft:copperminecraft:copper_bulbminecraft:copper_golem_statueminecraft:copper_grateminecraft:coral_blockminecraft:creaking_heartminecraft:cropminecraft:decorated_potminecraft:decorated_pot_crackedminecraft:deepslateminecraft:deepslate_bricksminecraft:deepslate_tilesminecraft:dried_ghastminecraft:dripstone_blockminecraft:flowering_azaleaminecraft:froglightminecraft:frogspawnminecraft:fungusminecraft:gilded_blackstoneminecraft:glassminecraft:glow_lichenminecraft:grassminecraft:gravelminecraft:hanging_rootsminecraft:hanging_signminecraft:hard_cropminecraft:heavy_coreminecraft:honey_blockminecraft:ironminecraft:ladderminecraft:lanternminecraft:large_amethyst_budminecraft:leaf_litterminecraft:lily_padminecraft:lodestoneminecraft:mangrove_rootsminecraft:medium_amethyst_budminecraft:metalminecraft:mossminecraft:moss_carpetminecraft:mudminecraft:mud_bricksminecraft:muddy_mangrove_rootsminecraft:nether_bricksminecraft:nether_gold_oreminecraft:nether_oreminecraft:nether_sproutsminecraft:nether_wartminecraft:nether_woodminecraft:nether_wood_hanging_signminecraft:netherite_blockminecraft:netherrackminecraft:nyliumminecraft:packed_mudminecraft:pink_petalsminecraft:pointed_dripstoneminecraft:polished_deepslateminecraft:polished_tuffminecraft:powder_snowminecraft:resinminecraft:resin_bricksminecraft:rooted_dirtminecraft:rootsminecraft:sandminecraft:scaffoldingminecraft:sculkminecraft:sculk_catalystminecraft:sculk_sensorminecraft:sculk_shriekerminecraft:sculk_veinminecraft:shelfminecraft:shroomlightminecraft:slime_blockminecraft:small_amethyst_budminecraft:small_dripleafminecraft:snowminecraft:soul_sandminecraft:soul_soilminecraft:spawnerminecraft:spongeminecraft:spore_blossomminecraft:stemminecraft:stoneminecraft:suspicious_gravelminecraft:suspicious_sandminecraft:sweet_berry_bushminecraft:trial_spawnerminecraft:tuffminecraft:tuff_bricksminecraft:twisting_vinesminecraft:vaultminecraft:vineminecraft:wart_blockminecraft:weeping_vinesminecraft:wet_grassminecraft:wet_spongeminecraft:woodminecraft:wool
-
-
speed_factor(default1) The default speed of walking on this block (afloat)
(for example, it is1for regular blocks and0.4for soul sand)
For specific purposes
-
dynamic_shape(defaultfalse) Whether the block has at least one block state that doesn't have a constant collision bounding box (trueorfalse)
(while most block states' collision bounding boxes are static and do not depend on anything else, there are few exceptions, such as moving pistons and shulker boxes) -
emissive_rendering(default"minecraft:never") Whether the block is rendered as bright even without light around it (calculated per block state)Expand the list of block state predicates
-
minecraft:alwaysAlways -
minecraft:sculk_phase_activeOnly for sculk sensor block states that are active -
minecraft:neverNever
-
-
force_solid_off(defaultfalse) Whether to mark this block as non-solid (trueorfalse)
(if set totrue, this block will not structurally support adjacent blocks such as banners, signs or even item frames) -
force_solid_on(defaultfalse) Whether to mark this block as solid (trueorfalse)
(if set totrue, this block will structurally support adjacent blocks such as banners, signs and even item frames; and if set tofalse, the solidity of the each side of the block will be determined automatically) -
is_redstone_conductor(default"minecraft:is_collision_shape_full_block") Whether the block conducts redstone (calculated per block state)
(for example, this isminecraft:neverfor leaves andminecraft:alwaysfor mud)Expand the list of block state predicates
-
minecraft:alwaysAlwaysminecraft:is_collision_shape_full_blockOnly for each block state that has a full-cube collision shape -
minecraft:neverNever
-
-
is_suffocating(default"minecraft:blocks_motion_and_is_collision_shape_full_block") Whether the block suffocates the player (calculated per block state)Expand the list of block state predicates
-
minecraft:alwaysAlways -
minecraft:blocks_motion_and_is_collision_shape_full_blockOnly for each block state that has a full-cube collision shape and blocks motion completely (aka not a cobweb or similar) -
minecraft:is_collision_shape_full_blockOnly for each block state that has a full-cube collision shape -
minecraft:max_snow_layersOnly for the snow layer block state with 8 layers -
minecraft:neverNever -
minecraft:not_extended_pistonAlways, except for extended piston bases -
minecraft:not_closed_shulkerAlways, except for open shulker boxes
-
-
is_view_blocking(default"minecraft:blocks_motion_and_is_collision_shape_full_block") Whether the player's view is blocked when they are inside this block, typically while suffocating (calculated per block state)Expand the list of block state predicates
-
minecraft:alwaysAlways -
minecraft:blocks_motion_and_is_collision_shape_full_blockOnly for each block state that has a full-cube collision shape and blocks motion completely (aka not a cobweb or similar) -
minecraft:is_collision_shape_full_blockOnly for each block state that has a full-cube collision shape -
minecraft:max_snow_layersOnly for the snow layer block state with 8 layers -
minecraft:neverNever -
minecraft:not_extended_pistonAlways, except for extended piston bases -
minecraft:not_closed_shulkerAlways, except for open shulker boxes
-
-
offset_function(default:"minecraft:none") Whether the position of the block is offset slightly randomly (such as for flowers)Expand the list of offset functions
-
minecraft:noneNo offset -
minecraft:xzOnly horizontally offset -
minecraft:xyzHorizontally and vertically offset
-
-
required_features(default["minecraft:vanilla"]) A list of feature flags required for this block -
spawn_terrain_particles(defaulttrue) Whether particles appear when entities walk over the block (trueorfalse)
Technical
-
post_process(default"null") Coordinates relative to the current block, that need post-processing based on this block ("null"for none, or an int array such as"[0, 1, 0]"(which would indicate the block above)) -
is_air(defaultfalse) Whether this block is air (trueorfalse)
(not recommended to be used, because Minecraft treats air as a special type) -
liquid(defaultfalse) Whether this block is a liquid (trueorfalse)
-
-
The
mappingsof the block.
Apart from clients with the Spoutcraft client mod, Spout servers also support vanilla clients. To allow this, custom blocks need to be mapped to vanilla blocks, with or without a resource pack. Addingmappingsis optional, but you need a mapping if you want your plugin to be compatible with vanilla clients.Here is an example:
"mappings": [ { "type": "stairs", "fallback": "minecraft:warped_planks" } ]
This hints to Spout the type of mapping you need (stairs, where each stairs block state is mapped to a vanilla stairs block state), and which fallback you think is appropriate when not using a resource pack.
Expand the list of mappings you can apply
-
full_block
For full-cube blocks.Arguments:
-
from(optional) The block state(s) that need to be mapped
(default: every block state of the block) -
fallback(optional) The vanilla block state to use when no resource pack is available
(default:minecraft:stone)
Examples:
"mappings": [ { "type": "full_block", "fallback": "minecraft:lapis_block" } ]
"mappings": [ { "type": "full_block", "from": "beautiful_lamps:double_lamp[left=false,right=false]", "fallback": "minecraft:redstone_lamp[lit=false]" }, { "type": "full_block", "from": [ "beautiful_lamps:double_lamp[left=false,right=true]", "beautiful_lamps:double_lamp[left=true,right=false]" "beautiful_lamps:double_lamp[left=true,right=true]", ] "fallback": "minecraft:redstone_lamp[lit=true]" } ]
-
-
barrel
For barrels.Arguments:
-
fallback(optional) The vanilla block to use when no resource pack is available
(default:minecraft:barrel)
Example:
"mappings": [ { "type": "barrel" } ]
-
-
brushable
For brushable blocks, such as supicious sand.Arguments:
-
fallback(optional) The vanilla block to use when no resource pack is available
(default:minecraft:suspicious_sand)
Example:
"mappings": [ { "type": "brushable", "fallback": "minecraft:suspicious_gravel" } ]
-
-
button
For buttons.Arguments:
-
fallback(optional) The vanilla block to use when no resource pack is available
(default:minecraft:stone_button)
Example:
"mappings": [ { "type": "button", "fallback": "minecraft:birch_button" } ]
-
-
chain
For chains.Arguments:
-
fallback(optional) The vanilla block to use when no resource pack is available
(default:minecraft:iron_chain)
Example:
"mappings": [ { "type": "chain", "fallback": "minecraft:iron_chain" } ]
-
-
chiseled_bookshelf
For chiseled bookshelves.Arguments:
-
fallback(optional) The vanilla block to use when no resource pack is available
(default:minecraft:chiseled_bookshelf)
Example:
"mappings": [ { "type": "chiseled_bookshelf" } ]
-
-
door
For doors.Arguments:
-
fallback(optional) The vanilla block to use when no resource pack is available
(default:minecraft:oak_door)
Example:
"mappings": [ { "type": "door", "fallback": "minecraft:iron_door" } ]
-
-
fence
For fences.Arguments:
-
fallback(optional) The vanilla block to use when no resource pack is available
(default:minecraft:oak_fence)
Example:
"mappings": [ { "type": "fence", "fallback": "minecraft:nether_brick_fence" } ]
-
-
fence_gate
For fence gates.Arguments:
-
fallback(optional) The vanilla block to use when no resource pack is available
(default:minecraft:oak_fence_gate)
Example:
"mappings": [ { "type": "fence_gate", "fallback": "minecraft:acacia_fence_gate" } ]
-
-
flower_pot
For empty and filled flower pots.Arguments:
-
fallback(optional) The vanilla block to use when no resource pack is available
(default:minecraft:flower_pot)
Example:
"mappings": [ { "type": "flower_pot", "fallback": "minecraft:potted_acacia_sapling" } ]
-
-
furnace
For furnaces (including specialized furnaces like the smoker).Arguments:
-
fallback(optional) The vanilla block to use when no resource pack is available
(default:minecraft:furnace)
Example:
"mappings": [ { "type": "furnace", "fallback": "minecraft:blast_furnace" } ]
-
-
glazed_terracotta
For glazed terracotta.Arguments:
-
fallback(optional) The vanilla block to use when no resource pack is available
(default:minecraft:white_glazed_terracotta)
Example:
"mappings": [ { "type": "glazed_terracottace", "fallback": "minecraft:red_glazed_terracotta" } ]
-
-
ladder
For ladders.Arguments:
-
fallback(optional) The vanilla block to use when no resource pack is available
(default:minecraft:ladder)
Example:
"mappings": [ { "type": "ladder" } ]
-
-
leaves
For leaves.Arguments:
-
fallback(optional) The vanilla block to use when no resource pack is available
(default:minecraft:oak_leaves) -
tinted(optional) Whether the leaves are tinted
(default: based on the custom leaves block automatically)
Example:
"mappings": [ { "type": "leaves", "fallback": "minecraft:cherry_leaves" } ]
-
-
loom
For looms.Arguments:
-
fallback(optional) The vanilla block to use when no resource pack is available
(default:minecraft:loom)
Example:
"mappings": [ { "type": "loom" } ]
-
-
nether_portal
For portals with the shape of nether portals.Arguments:
-
fallback(optional) The vanilla block to use when no resource pack is available
(default:minecraft:nether_portal)
Example:
"mappings": [ { "type": "nether_portal" } ]
-
-
pressure_plate
For pressure plates.Arguments:
-
fallback(optional) The vanilla block to use when no resource pack is available
(default:minecraft:stone_pressure_plate)
Example:
"mappings": [ { "type": "pressure_plate", "fallback": "minecraft:birch_pressure_plate" } ]
-
-
pumpkin
For carved pumpkins and pumpkin lanterns.Arguments:
-
fallback(optional) The vanilla block to use when no resource pack is available
(default:minecraft:pumpkin)
Example:
"mappings": [ { "type": "pumpkin", "fallback": "minecraft:jack_o_lantern" } ]
-
-
redstone_ore
For redstone ore blocks.Arguments:
-
fallback(optional) The vanilla block to use when no resource pack is available
(default:minecraft:redstone_ore)
Example:
"mappings": [ { "type": "redstone_ore", "fallback": "minecraft:deepslate_redstone_ore" } ]
-
-
respawn_anchor
For respawn anchors.Arguments:
-
fallback(optional) The vanilla block to use when no resource pack is available
(default:minecraft:respawn_anchor)
Example:
"mappings": [ { "type": "respawn_anchor" } ]
-
-
rotated_pillar
For blocks that can be rotated in 3 orientations, such as logs.Arguments:
-
fallback(optional) The vanilla block to use when no resource pack is available
(default:minecraft:quartz_pillar)
Example:
"mappings": [ { "type": "rotated_pillar", "fallback": "minecraft:dark_oak_log" } ]
-
-
sapling
For saplings.Arguments:
-
fallback(optional) The vanilla block to use when no resource pack is available
(default:minecraft:oak_sapling)
Example:
"mappings": [ { "type": "sapling", "fallback": "minecraft:birch_sapling" } ]
-
-
slab
For slabs.Arguments:
-
fallback(optional) The vanilla block to use when no resource pack is available
(default:minecraft:stone_slab) -
full_block_fallback(optional) A block state that can be used as the double slab when no resource pack is available (default: none, based onfallback)
Example (for a dirt slab):
"mappings": [ { "type": "slab", "fallback": "minecraft:mud_brick_slab", "fallback": "minecraft:dirt" } ]
-
-
stairs
For stairs.Arguments:
-
fallback(optional) The vanilla block to use when no resource pack is available
(default:minecraft:stone_stairs)
Example:
"mappings": [ { "type": "stairs", "fallback": "minecraft:stone_brick_stairs" } ]
-
-
trapdoor
For trapdoors.Arguments:
-
fallback(optional) The vanilla block to use when no resource pack is available
(default:minecraft:oak_trapdoor)
Example:
"mappings": [ { "type": "trapdoor", "fallback": "minecraft:jungle_trapdoor" } ]
-
-
wall
For walls.Arguments:
-
fallback(optional) The vanilla block to use when no resource pack is available
(default:minecraft:cobblestone_wall)
Example:
"mappings": [ { "type": "wall", "fallback": "minecraft:stone_brick_wall" } ]
-
-
manual
When none of the above types apply, you can define mappings manually.
This is not recommended to be used unless you know what you are doing.
If no suitable mapping type is available, please ask about upcoming support in the Discord server. We are in the process of adding more.Arguments:
-
awareness_levels(optional) A list of client types for which this mapping will apply:-
spout:vanillaA vanilla client without the generated resource pack -
spout:resource_packA vanilla client with the generated resource pack -
spout:client_modA client with the Spoutcraft client mod
(default:
["spout:vanilla", "spout:resource_pack"]) -
-
from(optional) The block state(s) that need to be mapped
(default: every block state of the block) -
toThe vanilla block state to map to
Examples:
"mappings": [ { "type": "manual", "to": "minecraft:dandelion" } ]
"mappings": [ { "type": "manual", "from": "atmospheric_effects:invisible_glow[bright=false]", "to": "minecraft:light[level=7]" }, { "type": "manual", "from": "atmospheric_effects:invisible_glow[bright=true]", "to": "minecraft:light[level=15]" } ]
-
-
Adding items works the same as adding blocks.
Each item is added with a single data pack file: data/<namespace>/item/<id>.json.
For example, if you want to create an item dyed_planks:wood_varnish, you create this file:
src/
└── main/
└── resources/
└── data_pack/
└── data/
└── dyed_planks/
└── item/
└── wood_varnish.json
Here is a quick example for a green_planks.json, an item for a block:
{
"type": "minecraft:block",
"block": "dyed_planks:green_planks"
}And here is a quick example for a diamond_nugget.json:
{
"type": "minecraft:item",
"mappings": [
{
"to": "minecraft:prismarine_shard"
}
]
}The JSON contains 4 parts:
- A
type - Some additional values based on the
type(for example, the block for block items) propertiesmappings
Detailed explanation of the 4 parts:
-
The
typeof the item.
This determines the base behavior of the item.Expand the list of possible types
-
minecraft:itemA regular item with no special behavior -
minecraft:blockAn item for a block -
minecraft:double_high_blockAn item for a double-high block (such as doors or tall flowers) -
minecraft:eggAn egg, which fires egg projectiles when thrown
-
-
Some additional values may be required based on the type you chose.
For example, the type
minecraft:blockrequires a valueblockthat points to the corresponding block.Expand the list of additional required values
-
minecraft:block-
blockThe block of this block item (a block, e.g.willow_trees:willow_log)
-
-
-
The
propertiesof the item.
These set some behavioral and visual aspects of the item.Adding
propertiesis optional, and each property is optional.Here is an example:
"properties": { "components": { "minecraft:max_damage": 50, "minecraft:weapon": { "disable_blocking_for_seconds": 20, "item_damage_per_attack": 1 } } }
Expand the list of properties you can set
-
components(default empty) The base data components for each item of this type -
required_features(default["minecraft:vanilla"]) A list of feature flags required for this item
-
-
The
mappingsof the item.You do not need to add mappings for block items if you already added non-manual (like
full_block,leaves,slabetc.) mappings for the block. The items will be mapped automatically too.Otherwise, item mappings are similar to manual block mappings, with arguments:
-
awareness_levels(optional) A list of client types for which this mapping will apply:-
spout:vanillaA vanilla client without the generated resource pack -
spout:resource_packA vanilla client with the generated resource pack -
spout:client_modA client with the Spout client mod
(default:
["spout:vanilla", "spout:resource_pack"]) -
-
toThe vanilla item to map to
Example:
"mappings": [ { "to": "minecraft:slime_ball" } ]
-
After adding a block or item with its own .json file, you can reference it in data pack files and resource pack files.
While we won't explain data packs and resource packs here, you can read about them on the Minecraft wiki:
Typically, you want to add some files to the data pack to define behavior:
- Crafting recipes (into
data_pack/data/<namespace>/recipe, and often also corresponding advancements intodata_pack/data/<namespace>/advancement/recipes - Loot tables, such as for drops from breaking a block (into
data_pack/data/<namespace>/loot_table) - Tags
- ...and maybe more
And also to the resource pack, to add models and textures:
- Block states (into
resource_pack/assets/blockstates) - Items (into
resource_pack/assets/items) - Models (into
resource_pack/assets/models/blockandresource_pack/assets/models/item) - Textures (into
resource_pack/assets/textures/blockandresource_pack/assets/textures/item) - ...and maybe more
Expand for an example directory structure
Only the block and item .json files:
src/
└── main/
└── resources/
└── data_pack/
└── data/
└── dyed_planks/
├── block/
│ ├── green_plank_stairs.json
│ └── green_planks.json
└── item/
├── green_plank_stairs.json
├── green_planks.json
└── wood_varnish.json
With all corresponding data pack and resource pack files:
src/
└── main/
└── resources/
├── data_pack/
│ ├── pack.mcmeta
│ └── data/
│ ├── dyed_planks/
│ │ ├── advancement/
│ │ │ └── recipes/
│ │ │ ├── building_blocks/
│ │ │ │ ├── green_plank_stairs_from_green_planks.json
│ │ │ │ ├── green_plank_stairs_from_undyed_stairs.json
│ │ │ │ └── green_planks.json
│ │ │ └── misc/
│ │ │ └── wood_varnish.json
│ │ ├── block/
│ │ │ ├── green_plank_stairs.json
│ │ │ └── green_planks.json
│ │ ├── item/
│ │ │ ├── green_plank_stairs.json
│ │ │ ├── green_planks.json
│ │ │ └── wood_varnish.json
│ │ ├── loot_table/
│ │ │ └── blocks/
│ │ │ ├── green_plank_stairs.json
│ │ │ └── green_planks.json
│ │ └── recipe/
│ │ ├── green_plank_stairs_from_green_planks.json
│ │ ├── green_plank_stairs_from_undyed_stairs.json
│ │ ├── green_planks.json
│ │ └── wood_varnish.json
│ └── minecraft/
│ └── tags/
│ ├── block/
│ │ ├── mineable/
│ │ │ └── axe.json
│ │ ├── slabs.json
│ │ └── stairs.json
│ └── item/
│ ├── slabs.json
│ └── stairs.json
└── resource_pack/
└── assets/
├── dyed_planks/
│ ├── blockstates/
│ │ ├── green_plank_stairs.json
│ │ └── green_planks.json
│ ├── items/
│ │ ├── green_plank_stairs.json
│ │ ├── green_planks.json
│ │ └── wood_varnish.json
│ ├── models/
│ │ ├── block/
│ │ │ ├── green_plank_stairs.json
│ │ │ ├── green_plank_stairs_inner.json
│ │ │ ├── green_plank_stairs_outer.json
│ │ │ └── green_planks.json
│ │ └── item/
│ │ └── wood_varnish.json
│ └── textures/
│ ├── block/
│ │ └── green_planks.png
│ └── item/
│ └── wood_varnish.png
└── minecraft/
└── lang/
├── de_de.json
├── en_us.json
├── ja_jp.json
├── nl_nl.json
└── zh_cn.json
Custom blocks and items need names.
You can register them in the resource pack in assets/minecraft/lang/<locale>.json, just like a regular resource pack.
Here is a quick example of assets/minecraft/lang/en_us.json:
{
"block.willow_trees.willow_log": "Willow Log",
"item.willow_trees.willow_twig": "Willow Twig",
"spout.namespace.willow_trees": "Willow Trees"
}
You can see the full list of possible locales here.
If you have any custom namespaces (such as willow_trees if you add a block willow_trees:willow_log), you should include them in your translations like this:
"spout.namespace.willow_trees": "Willow Trees"This essentially functions as the "name of the mod" for that namespace. This name will be displayed by client mods like Jade.