目前,/data get block 命令只能获取方块实体(block entities)中的数据值,而无法获取普通方块的任何数据。我建议进行以下改进:
- 当玩家使用该命令获取任意方块的数据时,系统应额外返回一系列关于该方块的只读数据,包括其位置、维度、生物群系等。这些数据无需存储在每个方块中,只在输出时附带即可。
此外,如果可以的话,玩家可以在方块的 data 标签中存储自定义数据。当该标签存在时,它会随方块一起持久保存;当方块被破坏时,这些数据应转移到掉落物中。
在宏函数系统下,这一改进能够帮助地图创作者创建更多有趣的功能。
以下是我设想的案例:
玩家输入指令:
/data get block 81 56 64 (假设是一个涂蜡的氧化铜格栅) /data get block 83 56 64 (假设是一个空箱子)
输出:
81 56 64 拥有以下方块数据:
id: "minecraft:maxed_oxidized_copper_grater", (只读)
Pos: [[1,8,5,64]], dimension: "minecraft:overworld", (只读)
biome: "minecraft:snowy_plain", (只读)
BlockState: ["waterlogged=false"], (只读)
data: {} (一般情况下不包含该数据,除非玩家主动修改)
83 56 64 拥有以下方块数据:
id: "minecraft:chest", (只读)
Pos: [[1,8,3,5,64]], (只读)
dimension: "minecraft:overworld", (只读)
biome: "minecraft:snowy_plain", (只读)
BlockState: [
"waterlogged=false",
"facing=south",
"type=single"
], (只读)
block_entity_data: { Items: [], components: {} }, (可写)
data: {} (可写)
Please sign in to leave a comment.
0 Comments