Package pers.neige.neigeitems.manager
Class BaseActionManager
-
- All Implemented Interfaces:
public abstract class BaseActionManager
-
-
Field Summary
Fields Modifier and Type Field Description public final ActionNULL_ACTIONpublic final TextNULL_TEXTpublic final Evaluator<String>NULL_STRING_EVALUATORpublic final Evaluator<Integer>NULL_INTEGER_EVALUATORpublic final Evaluator<Long>NULL_LONG_EVALUATORpublic final Evaluator<Double>NULL_DOUBLE_EVALUATORpublic final Evaluator<Boolean>NULL_BOOLEAN_EVALUATORpublic final Pluginpluginpublic final HashMap<String, BiFunction<ActionContext, String, CompletableFuture<ActionResult>>>actionspublic final ScriptEngineenginepublic final ConcurrentHashMap<String, CompiledScript>conditionScriptspublic final ConcurrentHashMap<String, CompiledScript>actionScripts
-
Constructor Summary
Constructors Constructor Description BaseActionManager(Plugin plugin)
-
Method Summary
-
-
Method Detail
-
getPlugin
@NonNull() Plugin getPlugin()
-
getActions
@NonNull() HashMap<String, BiFunction<ActionContext, String, CompletableFuture<ActionResult>>> getActions()
-
getEngine
@NonNull() ScriptEngine getEngine()
-
getConditionScripts
@NonNull() ConcurrentHashMap<String, CompiledScript> getConditionScripts()
-
getActionScripts
@NonNull() ConcurrentHashMap<String, CompiledScript> getActionScripts()
-
reload
void reload()
-
runAction
@Deprecated()@Deprecated(message = "使用Action.eval(ActionContext)方法代替")@NonNull() ActionResult runAction(@NonNull() Action action)
执行动作
- Parameters:
action- 动作内容- Returns:
永远返回 Results.SUCCESS, 这是历史遗留问题, 要获取真实结果请调用 runActionWithResult 方法.
-
runActionWithResult
@Deprecated()@Deprecated(message = "使用Action.eval(ActionContext)方法代替")@NonNull() CompletableFuture<ActionResult> runActionWithResult(@NonNull() Action action)
执行动作
- Parameters:
action- 动作内容- Returns:
执行结果
-
runAction
@Deprecated()@Deprecated(message = "使用Action.eval(ActionContext)方法代替")@NonNull() ActionResult runAction(@NonNull() Action action, @NonNull() ActionContext context)
执行动作
- Parameters:
action- 动作内容context- 动作上下文- Returns:
永远返回 Results.SUCCESS, 这是历史遗留问题, 要获取真实结果请调用 runActionWithResult 方法.
-
runActionWithResult
@Deprecated()@Deprecated(message = "使用Action.eval(ActionContext)方法代替")@NonNull() CompletableFuture<ActionResult> runActionWithResult(@NonNull() Action action, @NonNull() ActionContext context)
执行动作
- Parameters:
action- 动作内容context- 动作上下文- Returns:
执行结果
-
runAction
@NonNull() CompletableFuture<ActionResult> runAction(@NonNull() RawStringAction action, @NonNull() ActionContext context)
执行动作
- Parameters:
action- 动作内容context- 动作上下文- Returns:
执行结果
-
runAction
@NonNull() CompletableFuture<ActionResult> runAction(@NonNull() StringAction action, @NonNull() ActionContext context)
执行动作
- Parameters:
action- 动作内容context- 动作上下文- Returns:
执行结果
-
getSectionConfig
@Nullable() ConfigurationSection getSectionConfig(@NonNull() ActionContext context)
执行 StringAction 进行节点解析的时候传入的节点配置
- Parameters:
context- 动作上下文- Returns:
执行结果
-
runAction
@NonNull() CompletableFuture<ActionResult> runAction(@NonNull() JsAction action, @NonNull() ActionContext context)
执行动作
- Parameters:
action- 动作内容context- 动作上下文- Returns:
执行结果
-
runAction
@NonNull() CompletableFuture<ActionResult> runAction(@NonNull() ListAction action, @NonNull() ActionContext context)
执行动作
- Parameters:
action- 动作内容context- 动作上下文- Returns:
执行结果
-
runAction
@NonNull() CompletableFuture<ActionResult> runAction(@NonNull() ListAction action, @NonNull() ActionContext context, int fromIndex)
执行动作
- Parameters:
action- 动作内容context- 动作上下文fromIndex- 从这个索引对应的位置开始执行- Returns:
执行结果
-
runAction
@NonNull() CompletableFuture<ActionResult> runAction(@NonNull() ConditionAction action, @NonNull() ActionContext context)
执行动作
- Parameters:
action- 动作内容context- 动作上下文- Returns:
执行结果
-
runAction
@NonNull() CompletableFuture<ActionResult> runAction(@NonNull() LabelAction action, @NonNull() ActionContext context)
执行动作
- Parameters:
action- 动作内容context- 动作上下文- Returns:
执行结果
-
runAction
@NonNull() CompletableFuture<ActionResult> runAction(@NonNull() WeightAction action, @NonNull() ActionContext context)
执行动作
- Parameters:
action- 动作内容context- 动作上下文- Returns:
执行结果
-
runAction
@NonNull() CompletableFuture<ActionResult> runAction(@NonNull() ConditionWeightAction action, @NonNull() ActionContext context)
执行动作
- Parameters:
action- 动作内容context- 动作上下文- Returns:
执行结果
-
runAction
@NonNull() CompletableFuture<ActionResult> runAction(@NonNull() WhileAction action, @NonNull() ActionContext context)
执行动作
- Parameters:
action- 动作内容context- 动作上下文- Returns:
执行结果
-
runAction
@NonNull() CompletableFuture<ActionResult> runAction(@NonNull() KeyAction action, @NonNull() ActionContext context)
执行动作
- Parameters:
action- 动作内容context- 动作上下文- Returns:
执行结果
-
runAction
@NonNull() CompletableFuture<ActionResult> runAction(@NonNull() ContainsAction action, @NonNull() ActionContext context)
执行动作
- Parameters:
action- 动作内容context- 动作上下文- Returns:
执行结果
-
runAction
@NonNull() <T extends Comparable<out Object>> CompletableFuture<ActionResult> runAction(@NonNull() TreeAction<T> action, @NonNull() ActionContext context)
执行动作
- Parameters:
action- 动作内容context- 动作上下文- Returns:
执行结果
-
runAction
@NonNull() CompletableFuture<ActionResult> runAction(@NonNull() RepeatAction action, @NonNull() ActionContext context)
执行动作
- Parameters:
action- 动作内容context- 动作上下文- Returns:
执行结果
-
runAction
@NonNull() CompletableFuture<ActionResult> runAction(@NonNull() RepeatAction action, @NonNull() ActionContext context, int repeat, int count)
执行动作
- Parameters:
action- 动作内容context- 动作上下文- Returns:
执行结果
-
parseCondition
@NonNull() ActionResult parseCondition(@Nullable() String condition, @NonNull() ActionContext context)
解析条件
- Parameters:
condition- 条件内容context- 动作上下文- Returns:
执行结果
-
parseCondition
@NonNull() ActionResult parseCondition(@Nullable() ScriptWithSource condition, @NonNull() ActionContext context)
解析条件
- Parameters:
condition- 条件内容context- 动作上下文- Returns:
执行结果
-
parseCondition
@NonNull() ActionResult parseCondition(@Nullable() String conditionString, @Nullable() CompiledScript condition, @NonNull() ActionContext context)
解析条件
- Parameters:
conditionString- 条件文本(用于在报错的时候向后台提示)condition- 已编译条件context- 动作上下文- Returns:
执行结果
-
addFunction
void addFunction(@NonNull() Collection<String> ids, @Nullable() BiFunction<ActionContext, String, CompletableFuture<ActionResult>> function)
添加物品动作
- Parameters:
ids- 动作IDfunction- 动作执行函数
-
addFunction
void addFunction(@NonNull() Collection<String> ids, boolean asyncSafe, @Nullable() BiFunction<ActionContext, String, CompletableFuture<ActionResult>> function)
添加物品动作
- Parameters:
ids- 动作IDasyncSafe- 动作是否可以异步执行function- 动作执行函数
-
addFunction
void addFunction(@NonNull() String id, @Nullable() BiFunction<ActionContext, String, CompletableFuture<ActionResult>> function)
添加物品动作
- Parameters:
id- 动作IDfunction- 动作执行函数
-
addFunction
void addFunction(@NonNull() String id, boolean asyncSafe, @Nullable() BiFunction<ActionContext, String, CompletableFuture<ActionResult>> function)
添加物品动作
- Parameters:
id- 动作IDasyncSafe- 动作是否可以异步执行function- 动作执行函数
-
addConsumer
void addConsumer(@NonNull() Collection<String> ids, @Nullable() BiConsumer<ActionContext, String> consumer)
添加物品动作
- Parameters:
ids- 动作IDconsumer- 动作执行函数
-
addConsumer
void addConsumer(@NonNull() Collection<String> ids, boolean asyncSafe, @Nullable() BiConsumer<ActionContext, String> consumer)
添加物品动作
- Parameters:
ids- 动作IDasyncSafe- 动作是否可以异步执行consumer- 动作执行函数
-
addConsumer
void addConsumer(@NonNull() String id, @Nullable() BiConsumer<ActionContext, String> consumer)
添加物品动作
- Parameters:
id- 动作IDconsumer- 动作执行函数
-
addConsumer
void addConsumer(@NonNull() String id, boolean asyncSafe, @Nullable() BiConsumer<ActionContext, String> consumer)
添加物品动作
- Parameters:
id- 动作IDasyncSafe- 动作是否可以异步执行consumer- 动作执行函数
-
loadJSLib
void loadJSLib()
将当前BaseActionManager所属插件的"JavaScriptLib/lib.js"资源文件加载至JS引擎
-
loadJSLib
void loadJSLib(@NonNull() String pluginName, @NonNull() String resourceName)
将其他插件的资源文件加载至JS引擎
- Parameters:
pluginName- 目标插件名resourceName- 资源文件名
-
-
-
-