Skip to content

实体 API

实体 API 允许您与世界中的各种实体交互,包括玩家、生物和其他游戏对象。

实体方法

获取实体信息

类型

entity.getType()

返回值: - (string): 实体类型(例如:"player", "zombie", "creeper")

示例:

// 假设 'entity' 是一个实体对象
const entityType = entity.getType();
allay.log(entityType); // 输出: "zombie"

位置

// 获取 X 坐标
entity.getX()

// 获取 Y 坐标  
entity.getY()

// 获取 Z 坐标
entity.getZ()

返回值: - (number): 相应的坐标值

示例:

const x = entity.getX();
const y = entity.getY();
const z = entity.getZ();
allay.log(`实体位置: ${x}, ${y}, ${z}`);

生命值

// 获取生命值
entity.getHealth()

// 设置生命值
entity.setHealth(health)

参数: - health (number): 要设置的新生命值

返回值: - (number): 使用 getHealth() 时返回当前生命值

示例:

// 获取当前生命值
const currentHealth = entity.getHealth();
allay.log(`当前生命值: ${currentHealth}`);

// 设置生命值为满
entity.setHealth(20);

示例用法

// 获取玩家实体(玩家也是实体)
const player = allay.getPlayer("Steve");

if (player) {
    // 获取玩家实体信息
    const type = player.getType();
    const health = player.getHealth();
    const x = player.getX();
    const y = player.getY();
    const z = player.getZ();

    allay.log(`玩家 ${player.getName()} 是一个 ${type},生命值为 ${health},位置在 ${x}, ${y}, ${z}`);

    // 如果生命值低,治疗玩家
    if (health < 10) {
        player.setHealth(20);
        allay.log("玩家已治疗!");
    }
}

注意事项

  • 玩家是一种特殊的实体,因此所有实体方法也适用于玩家
  • 可用的 API 方法可能因实体类型而异
  • 实体对象通常从事件或其他 API 方法中获取