yoni-mcscripts-lib
Version:
为 Minecraft Script API 中的部分接口创建了 wrapper,并提供简单的事件管理器和任务管理器,另附有一些便于代码编写的一些小工具。
42 lines (32 loc) • 1.4 kB
text/typescript
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);
}
})();
}