UNPKG

yoni-mcscripts-lib

Version:

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

42 lines (32 loc) 1.4 kB
import { EntityValue } from "../../../types"; import { EntityEventOptions, conditionEntityEventOptions } from "./EntityEventOptions.js"; export interface EntityDataDrivenTriggerEventOptions extends EntityEventOptions { eventTypes?: string[] } export function conditionEntityDataDrivenTriggerEventOptions(id: string, entities: EntityValue[], options: EntityDataDrivenTriggerEventOptions): boolean { if (options.eventTypes && options.eventTypes.includes(id)) return true; return conditionEntityEventOptions(entities, options); } import { Minecraft } from "../../../basis.js"; import { EventRegistry } from "../../EventRegistry.js"; export function registerMinecraftEventOptionResolvers(){ (function (){ let registry = EventRegistry.getRegistry(Minecraft.DataDrivenEntityTriggerBeforeEvent); registry.extraOption = true; registry.extraOptionResolver = (event, options) => { const entities: any[] = []; entities.push(event.entity); return conditionEntityDataDrivenTriggerEventOptions(event.id, entities, options); } })(); (function (){ let registry = EventRegistry.getRegistry(Minecraft.DataDrivenEntityTriggerAfterEvent); registry.extraOption = true; registry.extraOptionResolver = (event, options) => { const entities: any[] = []; entities.push(event.entity); return conditionEntityDataDrivenTriggerEventOptions(event.id, entities, options); } })(); }