Expanded Data Objects and NBT Accessors for Minecraft data
commands.
This current version is built for Minecraft 1.20.1, but translation is pretty straight forwards between other versions with only minor tweaks required.
This is a server-side mod, and is designed with full compatibility in mind for datapack usage.
data get block -188 68 985
{block_state: {Properties: {east: "true", waterlogged: "false", south: "true", north: "false", west: "false"}, Name: "minecraft:white_stained_glass_pane"}, x: -188, y: 68, z: 985}
The block_state
property is designed to have 1-to-1 compatibility with the block_display
entities introduced in Minecraft 1.19.4. This allows block data to be copied to/from real blocks and block_displays
.
You can also set/modify any data found block_state
, as confined by the typically available states
data modify block -188 68 985 block_state.Name set value "minecraft:dirt"
data get @s CursorItem
{id: "minecraft:acacia_planks", Count: 2b}
data get @s CraftingItems
[{Slot: 0b, id: "minecraft:sand", Count: 1b}, {Slot: 1b, id: "minecraft:acacia_planks", Count: 4b}, {Slot: 2b, id: "minecraft:dirt", Count: 1b}, {Slot: 3b, id: "minecraft:air", Count: 0b}]
As these are data values tied to players, you are unfortunately unable to modify them. All things mentioned will also work in predicates, just as you would expect.