Skip to content
shao edited this page Feb 9, 2025 · 8 revisions

Welcome to the Metaphysics wiki!

coordinate.getPlayers(int)

获取范围内的玩家

players = coordinate.getPlayers(256)
for k, v in pairs(players) do
    print("x="..v.x)
    print("y="..v.y)
    print("z="..v.z)
    print("name="..v.name)
    print("uuid="..v.uuid)
    print("viewVector.x="..v.viewVector.x)
    print("viewVector.y="..v.viewVector.y)
    print("viewVector.z="..v.viewVector.z)
    print("eyeHeight="..v.eyeHeight)
    print("pose="..v.pose)
end

coordinate.getMonster(int)

获取范围内的怪物, 不会扫到看不见天空的目标

monsters = coordinate.getMonster(256)
for k, v in pairs(monsters) do
    print("x="..v.x)
    print("y="..v.y)
    print("z="..v.z)
    print("name="..v.name)
    print("uuid="..v.uuid)
    print("displayName="..v.displayName)
    print("health="..v.health)
    print("maxHealth="..v.maxHealth)
    print("viewVector.z="..v.viewVector.z)
    print("armor="..v.armor)
end

coordinate.getEntities(int)

获取范围内的所有实体, 所有生物,掉落物,create的强力胶结构,甚至是射出去的炮弹 --非常不推荐使用该方法,性能开销大。

entities = coordinate.getEntities()
for k, v in pairs(entities) do
    print("x="..v.x)
    print("y="..v.y)
    print("z="..v.z)
    print("name="..v.name)
    print("uuid="..v.uuid)
    print("viewVector.x="..v.raw_euler_x)
    print("viewVector.y="..v.raw_euler_x)
    print("viewVector.z="..v.raw_euler_x)
    print("pitch="..v.pitch)
    print("yaw="..v.yaw)
end

coordinate.getEntitiesAll(int)

和getEntities一样,但这个方法不管目标是否能够看见天空。

coordinate.getShips(int)

获取范围内的vs实体 范围(0-2500), 不会扫到 看不见天空 的目标,比如洞穴或者室内的目标

ships = coordinate.getShips(2500)
for k, v in pairs(ships) do
    print("x="..v.x)
    print("y="..v.y)
    print("z="..v.z)
    print("id="..v.id)
    print("slug="..v.slug)
    print("dimension.x="..v.dimension)
    print("max_x"..v.max_x)
    print("max_y"..v.max_y)
    print("max_z"..v.max_z)
    print("min_x"..v.min_x)
    print("min_y"..v.min_y)
    print("min_z"..v.min_z)
end

coordinate.getShipsAll(int)

和getShips一样,但这个方法不管目标是否能够看见天空。

coordinate.getSelfDimensionType()

返回电脑所在的维度

dimension = coordinate.getSelfDimensionType()
print(dimension == "overworld") --主世界
print(dimension == "solar_system") --cosmic horizon的太空

coordinate.getAbsoluteCoordinates()

返回电脑自身坐标

selfPos = coordinate.getAbsoluteCoordinates()
print("computerPos_x="..selfPos.x)
print("computerPos_y="..selfPos.y)
print("computerPos_z="..selfPos.z)

coordinate.getBlock(x, y, z)

返回指定位置的方块命名空间

targetBlock = coordinate.getBlock(50, 66, 20)
print("block="..targetBlock)

玩家死亡事件

while true do
    local event, data = os.pullEvent("player_death")
    print(("say %s die, because %s "):format(data.name, data.source)) --谁死了, 伤害源是什么
    if data.tags then --如果有标签
        print("killer is "..data.name) --杀手是谁
        print("killerhas tags %s"..table.concat(data.tags, ", ")) --杀手的标签
    end
end