Expanded Data Objects and NBT Accessors for Minecraft data
commands.
This current version is built for Minecraft 1.21.3, but translation is pretty straight forwards between other versions.
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
{count: 1, id: "minecraft:diamond_sword"}
data get @s CraftingItems
[{count: 1, Slot: 0b, id: "minecraft:oak_planks"}, {count: 1, Slot: 1b, id: "minecraft:oak_planks"}, {count: 1, Slot: 2b, id: "minecraft:oak_planks"}, {count: 1, Slot: 3b, id: "minecraft:oak_planks"}]
data get @s CraftingResult
{count: 4, id: "minecraft:oak_planks"}
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.