added block_state, deprecated block_properties and property

This commit is contained in:
gnembon committed 2020-11-22 01:30:48 -04:00
1 parent b997fa0f9f
commit b8ca302d33
5 files changed
+65 -14

No files matched your search

+21 -11
View File
@@ -235,22 +235,32 @@ pos_offset(block(0,5,0), 'up', 2) => l(0,7,0)
pos_offset(l(0,5,0), 'up', -2 ) => l(0,3,0)
</pre>
### `block_properties(pos)`
### `(Deprecated) block_properties(pos)`
Returns a list of available block properties for a particular block. If a block has no properties, returns an empty list.
Deprecated by `keys(block_state(pos))`.
### `property(pos, name)`
### `(Deprecated) property(pos, name)`
Returns property of block at `pos`, or specified by `block` argument. If a block doesn't have that property, `null`
value is returned. Returned values are always strings. It is expected from the user to know what to expect and convert
values to numbers using `number()` function or booleans using `bool()` function.
Deprecated by `block_state(pos, name)`
### `block_state(block)`, `block_state(block, property)`
If used with a `block` argument only, it returns a map of block properties and their values. If a block has no properties, returns an
empty map.
If `property` is specified, returns value of that property, or `null` if property is not applicable.
Returned values or properties are always strings. It is expected from the user to know what to expect and convert
values to numbers using `number()` function or booleans using `bool()` function. Returned string values can be directly used
back in state definition in various applications where block properties are required.
<pre>
set(x,y,z,'iron_trapdoor','half','top'); property(x,y,z,'half') => top
set(x,y,z,'air'); property(x,y,z,'half') => null
property(block('iron_trapdoor[half=top]'),'half') => top
property(block('iron_trapdoor[half=top]'),'powered') => false
bool(property(block('iron_trapdoor[half=top]'),'powered')) => 0
set(x,y,z,'iron_trapdoor','half','top'); block_state(x,y,z) => {waterlogged: false, half: top, open: false, ...}
set(x,y,z,'iron_trapdoor','half','top'); block_state(x,y,z,'half') => top
set(x,y,z,'air'); block_state(x,y,z,'half') => null
block_state(block('iron_trapdoor[half=top]'),'half') => top
block_state(block('iron_trapdoor[half=top]'),'powered') => false
bool(block_state(block('iron_trapdoor[half=top]'),'powered')) => 0
</pre>
### `block_data(pos)`
+1 -2
View File
@@ -5,8 +5,8 @@ blast_resistance
block
block_data
block_light
block_properties
block_sound
block_state
block_tick
blocks_daylight
blocks_movement
@@ -69,7 +69,6 @@ poi
pos
pos_offset
power
property
query
random_tick
recipe_data
@@ -53,7 +53,7 @@
transparent opacity blocks_daylight emitted_light light block_light sky_light see_sky brightness
hardness blast_resistance top loaded suffocates power ticks_randomly update block_tick random_tick in_slime_chunk
set without_updates
blocks_movement block_sound material map_colour property block_properties block_data poi set_poi
blocks_movement block_sound material map_colour block_state block_data poi set_poi
place_item set_biome biome loaded_status generation_status inhabited_time spawn_potential chunk_tickets
structure_eligibility structures structure_references set_structure reset_chunk reload_chunk custom_dimension
add_chunk_ticket