đ§ Block Settings
Overviewâ
The settings define the basic properties shared by blocks. You can enable all of them simultaneously. Below is an example containing all possible settings types:
Example
blocks:
custom:all_settings_block:
settings:
hardness: 0.5
resistance: 0.5
is-randomly-ticking: true
push-reaction: NORMAL
map-color: 36
burnable: false
fire-spread-chance: 0
burn-chance: 0
item: custom:all_settings_item
replaceable: false
is-redstone-conductor: true
is-suffocating: true
is-view-blocking: true
sounds:
break: minecraft:block.deepslate.break
step: minecraft:block.deepslate.step
place: minecraft:block.deepslate.place
hit: minecraft:block.deepslate.hit
fall: minecraft:block.deepslate.fall
land: minecraft:block.anvil.land
destroy: minecraft:block.anvil.destroy
require-correct-tools: true
respect-tool-component: false
correct-tools:
- minecraft:wooden_pickaxe
incorrect-tool-dig-speed: 0.3
tags:
- minecraft:mineable/pickaxe
instrument: BASEDRUM
fluid-state: water
support-shape: minecraft:stone
luminance: 15
can-occlude: false
block-light: 0
propagate-skylight: false
Stable Settingsâ
hardnessâ
Determines how long it takes the player to destroy this block (Default: 2.0)
hardness: 0.5
resistanceâ
Determines the probability of the block surviving the explosion (Default: 2.0)
resistance: 0.5
is-randomly-tickingâ
Determines whether the block state accepts random ticks, which is relevant for some block behaviors, such as leaves. (Default: false)
is-randomly-ticking: true
push-reactionâ
Determines how the block reacts to piston pushes. Please note that some reactions may not work well with certain block types due to client visual sync issues. This problem will be fixed in future versions. (Default: NORMAL)
- NORMAL Pistons can push and pull this block normally.
- DESTROY Blocks pushed by pistons are destroyed instantly.
- BLOCK Pistons cannot move this block.
- IGNORE Seems to behave like PUSH_ONLY but can stick to sticky blocks
- PUSH_ONLY Blocks can be pushed by pistons, but cannot be retracted. Do not stick to sticky blocks.
push-reaction: NORMAL
map-colorâ
Determines what color the block is displayed on the map. Available colors can be found on https://minecraft.wiki/w/Map_item_format (Default: 0)
map-color: 36
burnableâ
Determines whether this block can be ignited by the environment (Default: false)
burnable: true
fire-spread-chanceâ
Determines how long the block can burn. A longer burn time means a greater chance of spreading fire to surrounding blocks. (Default: 0)
fire-spread-chance: 100 # 0-100
burn-chanceâ
Determines the probability of being ignited (Default: 0)
burn-chance: 30 # 0-100
itemâ
Determines the item that this block corresponds to. This is usually used to get blocks in creative mode with middle click. (Default: null)
item: default:xxx_block_item
replaceableâ
Determines whether to replace the block at its original location when the player uses a block to interact with this block (Default: false)
replaceable: false
is-redstone-conductorâ
Determines whether this block is a redstone signal conductor (Default: UNDEFINED)
is-redstone-conductor: true
is-suffocatingâ
Determines whether the player will take suffocation damage (Default: UNDEFINED)
is-suffocating: true
is-view-blockingâ
Whether to block the line of sight. However, this option is useless for players, but it will affect some entity mechanisms on the server. (Default: UNDEFINED)
is-view-blocking: true
soundsâ
Determines the sound of the block in various situations (Default: null)
- fall When the player falls on this block
- hit When the player digs this block
- break When the player breaks this block
- step When the player walks on this block
- place When the player places this block
- land When the block falls on ground (For falling blocks)
- destroy When the block falls on ground and break (For falling blocks)
sounds:
break: minecraft:block.deepslate.break
step: minecraft:block.deepslate.step
place: minecraft:block.deepslate.place
hit: minecraft:block.deepslate.hit
fall: minecraft:block.deepslate.fall
land: minecraft:block.anvil.land
destroy: minecraft:block.anvil.destroy
You can configure like this to precisely control the volume and pitch
sounds:
break:
id: minecraft:block.deepslate.break
pitch: 0.5
volume: 0.25~0.3 # ranged value is also supported
step: minecraft:block.deepslate.step
require-correct-toolsâ
Determines if correct tool is required for the drops (Default: false)
require-correct-tools: false
respect-tool-componentâ
Decides if minecraft:tool
component's correct_for_drops
option should work as correct-tools
below (Default: false)
respect-tool-component: false
correct-toolsâ
Determines the correct tool required to mine this block, otherwise no item will be dropped (Default: null)
correct-tools:
- minecraft:wooden_pickaxe
- minecraft:stone_pickaxe
- minecraft:iron_pickaxe
- minecraft:golden_pickaxe
- minecraft:diamond_pickaxe
- minecraft:netherite_pickaxe
If correct-tools
is set, require-correct-tools
would be true
incorrect-tool-dig-speedâ
Slows down the dig speed if the tool is incorrect (Default: 0.3)
incorrect-tool-dig-speed: 0.3 # 0~1
tagsâ
Tags determine the properties of many blocks. For example, using minecraft:mineable/axe
will make your blocks mine faster with an axe. (Default: null) đˇī¸ Block Tags
tags:
- minecraft:mineable/axe
- minecraft:logs_that_burn
- minecraft:logs
- minecraft:completes_find_tree_tutorial
client-bound-tagsâ
This would only work for vanilla blocks
client-bound-tags:
- minecraft:beacon_base_blocks
instrumentâ
Determines what instrument the note block will play when it is above this block. (Default: harp)
instrument: BASEDRUM
fluid-state â
Decides the fluid state of this block state (Default: empty)
fluid-state: water
support-shapeâ
Determines the support shape provided by the block. By default, custom blocks will use the support-shape of their corresponding visual state. However, you can manually specify the support-shape of a vanilla block here instead.
support-shape: minecraft:stone
Unstable Settingsâ
The remaining block settings are all related to the light system. CraftEngine has implemented partial light effects as much as possible without affecting server performance. Visual issues with the light system on the client side are normal and in most cases I can't fix them.
The block's occlusion of skylight is entirely determined by the client-side and cannot be fixed by sending packets from the server. Therefore, the block-light and can-occlude settings only affect block-emitted light, not skylight.
luminanceâ
Determines the light intensity of the block (Default: 0)
luminance: 15
can-occludeâ
Determines whether this block can block light. This also determines whether the block can turn below block into another type. (For instance grass_block -> dirt) (Default: undefined)
can-occlude: false

occlude: true

occlude: false

occlude: false

occlude: true
block-lightâ
Determines how much light level is reduced after passing through this block (Default: undefined)
block-light: 0

block-light: 15

block-light: 7

block-light: 0
propagate-skylightâ
Determines whether natural light can pass through this block.
propagate-skylight: true