-
Bug
-
Resolution: Incomplete
-
None
-
1.18.31
-
None
-
Unconfirmed
-
Windows
Trying to reference minecraft namespace block properties in molang queries (ie minecraft:redstone_signal) will fail because all block states have to be registered in the description.properties section of the block definition.
Steps to Reproduce:
- Create a custom block.
- Add a molang query.block_property() that references a known property such as minecraft:redstone_signal.
- Trigger molang condition in-game.
Observed Results:
Query fails remarking use of "non-registered block state".
Expected Results:
Query succeeds returning the value of said block property.
Notes:
The goal here was to check if my custom block is receiving a redstone signal. I ran a gametest to log what properties existed on the block, which is how I learned that "redstone_signal" gets set by adjacent redstone signal blocks.
The description.properties field does not allow the use of the minecraft namespace as indicated by the error it returns.
[Blocks][error]-block_definitions | {behavior_pack_block_path} | Identifier not allowed to use Minecraft namespace
But without the property being set here, the query.block_property throws the following error.
[Molong][error]-Error:query.block_property is making use of non-registered block state
Here's a sample block behaviour file demonstrating how it was being used.
{ "format_version": "1.16.0", "minecraft:block": { "description": { "identifier": "test:block", "category": "construction", "is_experimental": true, "properties": { } }, "components": { "minecraft:destroy_time": 1, "minecraft:explosion_resistance": 5, "minecraft:friction": 0.6, "minecraft:flammable": { "flame_odds": 0, "burn_odds": 0 }, "minecraft:map_color": "#FFFFFF", "minecraft:block_light_absorption": 0, "minecraft:block_light_emission": 0.25, "minecraft:creative_category": { "category": "construction" }, "minecraft:ticking": { "on_tick": { "event": "test:tick", "target": "self" }, "range": [0, 10], "looping": true }, }, "events": { "test:tick": { "sequence": [ { "run_command": { "command": "say tick" } }, { "condition": "query.block_property('minecraft:redstone_signal')>0", "run_command": { "command": "say powered" } }, { "condition": "query.block_property('minecraft:redstone_signal')==0", "run_command": { "command": "say unpowered" } } ] }, } }