UNPKG

yoni-mcscripts-lib

Version:

为 Minecraft Script API 中的部分接口创建了 wrapper,并提供简单的事件管理器和任务管理器,另附有一些便于代码编写的一些小工具。

31 lines (25 loc) 1.08 kB
import { Gametest, Minecraft } from "../../basis.js"; import { copyPropertiesWithoutOverride } from "../../lib/ObjectUtils.js"; import { Player } from "./Player.js"; import { EntityWraps } from "./EntityWraps.js"; class SimulatedPlayer extends Player { get [Symbol.toStringTag](): string { if (this instanceof SimulatedPlayer) return `SimulatedPlayer: { type: ${this.typeId} }`; return "Object (SimulatedPlayer)"; } } /* 修补,或者说mixin? */ copyPropertiesWithoutOverride(SimulatedPlayer.prototype, Gametest.SimulatedPlayer.prototype, "vanillaEntity"); /* 修复结束,除了没有类型 */ EntityWraps.registerWrap(SimulatedPlayer, Gametest.SimulatedPlayer); type RemovedKeys = never type OverridedKeys = never type BaseVanillaSimulatedPlayerClass = Omit< Omit<Gametest.SimulatedPlayer, keyof Minecraft.Entity | keyof Minecraft.Player>, RemovedKeys | OverridedKeys >; interface SimulatedPlayer extends BaseVanillaSimulatedPlayerClass { } export { SimulatedPlayer, SimulatedPlayer as YoniSimulatedPlayer };