Package pers.neige.neigeitems.manager
Object ActionManager
-
- All Implemented Interfaces:
public class ActionManager extends BaseActionManager
用于管理所有物品动作、所有拥有物品动作的物品及相关动作、监听相关事件做到动作触发
-
-
Field Summary
Fields Modifier and Type Field Description private final ConcurrentHashMap<String, ItemAction>
itemActions
private final ConcurrentHashMap<String, Action>
functions
public final Action
NULL_ACTION
public final Text
NULL_TEXT
public final Evaluator<String>
NULL_STRING_EVALUATOR
public final Evaluator<Integer>
NULL_INTEGER_EVALUATOR
public final Evaluator<Double>
NULL_DOUBLE_EVALUATOR
public final static ActionManager
INSTANCE
-
Method Summary
Modifier and Type Method Description Unit
reload()
重载物品动作管理器 CompletableFuture<ActionResult>
runAction(StringAction action, ActionContext context)
执行动作 final Unit
interactListener(Player player, ItemStack itemStack, ItemInfo itemInfo, PlayerInteractEvent event)
物品左右键交互 final Unit
eatListener(Player player, ItemStack itemStack, ItemInfo itemInfo, PlayerItemConsumeEvent event)
吃或饮用 final Unit
dropListener(Player player, ItemStack itemStack, ItemInfo itemInfo, PlayerDropItemEvent event)
丢弃物品 final Unit
pickListener(Player player, ItemStack itemStack, ItemInfo itemInfo, EntityPickupItemEvent event)
拾取物品 final Unit
clickListener(Player player, ItemStack itemStack, ItemInfo itemInfo, InventoryClickEvent event)
背包内点击物品 final Unit
beClickedListener(Player player, ItemStack itemStack, ItemInfo itemInfo, InventoryClickEvent event)
背包内物品被点击 final Unit
shootBowListener(Player player, ItemStack itemStack, ItemInfo itemInfo, EntityShootBowEvent event)
射箭时由弓触发 final Unit
shootArrowListener(Player player, ItemStack itemStack, ItemInfo itemInfo, EntityShootBowEvent event)
射箭时由箭触发 final Unit
blockingListener(Player player, ItemStack itemStack, ItemInfo itemInfo, EntityDamageByEntityEvent event)
格挡时由盾触发 final Unit
damageListener(Player player, ItemStack itemStack, ItemInfo itemInfo, EntityDamageByEntityEvent event)
攻击实体时由主手物品触发 final Unit
killListener(Player player, ItemStack itemStack, ItemInfo itemInfo, EntityDamageByEntityEvent event, String key)
击杀实体时触发 final Unit
breakBlockListener(Player player, ItemStack itemStack, ItemInfo itemInfo, BlockBreakEvent event)
挖掘方块时由主手物品触发 final Unit
basicHandler(Player player, ItemStack itemStack, ItemInfo itemInfo, Event event, String key, Boolean cancel, Boolean cancelIfCooldown, Boolean giveLater, Boolean consumeItem)
适用于基础情况 final Unit
tick(Player player, ItemStack itemStack, ItemInfo itemInfo, String key)
tick动作 final ConcurrentHashMap<String, ItemAction>
getItemActions()
获取拥有动作的物品ID及相关动作 final ConcurrentHashMap<String, Action>
getFunctions()
-
Methods inherited from class pers.neige.neigeitems.manager.BaseActionManager
addConsumer, addConsumer, addConsumer, addConsumer, addFunction, addFunction, addFunction, addFunction, compile, compile, compile, getActionScripts, getActions, getConditionScripts, getEngine, getPlugin, getSectionConfig, loadJSLib, loadJSLib, loadJSLib, parseCondition, parseCondition, parseCondition, runAction, runAction, runAction, runAction, runAction, runAction, runAction, runAction, runAction, runAction, runAction, runAction, runAction, runAction, runAction, runAction, runActionWithResult, runActionWithResult
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
-
Method Detail
-
runAction
CompletableFuture<ActionResult> runAction(StringAction action, ActionContext context)
执行动作
- Returns:
执行结果
-
interactListener
final Unit interactListener(Player player, ItemStack itemStack, ItemInfo itemInfo, PlayerInteractEvent event)
物品左右键交互
-
eatListener
final Unit eatListener(Player player, ItemStack itemStack, ItemInfo itemInfo, PlayerItemConsumeEvent event)
吃或饮用
-
dropListener
final Unit dropListener(Player player, ItemStack itemStack, ItemInfo itemInfo, PlayerDropItemEvent event)
丢弃物品
-
pickListener
final Unit pickListener(Player player, ItemStack itemStack, ItemInfo itemInfo, EntityPickupItemEvent event)
拾取物品
-
clickListener
final Unit clickListener(Player player, ItemStack itemStack, ItemInfo itemInfo, InventoryClickEvent event)
背包内点击物品
-
beClickedListener
final Unit beClickedListener(Player player, ItemStack itemStack, ItemInfo itemInfo, InventoryClickEvent event)
背包内物品被点击
-
shootBowListener
final Unit shootBowListener(Player player, ItemStack itemStack, ItemInfo itemInfo, EntityShootBowEvent event)
射箭时由弓触发
-
shootArrowListener
final Unit shootArrowListener(Player player, ItemStack itemStack, ItemInfo itemInfo, EntityShootBowEvent event)
射箭时由箭触发
-
blockingListener
final Unit blockingListener(Player player, ItemStack itemStack, ItemInfo itemInfo, EntityDamageByEntityEvent event)
格挡时由盾触发
-
damageListener
final Unit damageListener(Player player, ItemStack itemStack, ItemInfo itemInfo, EntityDamageByEntityEvent event)
攻击实体时由主手物品触发
-
killListener
final Unit killListener(Player player, ItemStack itemStack, ItemInfo itemInfo, EntityDamageByEntityEvent event, String key)
击杀实体时触发
-
breakBlockListener
final Unit breakBlockListener(Player player, ItemStack itemStack, ItemInfo itemInfo, BlockBreakEvent event)
挖掘方块时由主手物品触发
-
basicHandler
final Unit basicHandler(Player player, ItemStack itemStack, ItemInfo itemInfo, Event event, String key, Boolean cancel, Boolean cancelIfCooldown, Boolean giveLater, Boolean consumeItem)
适用于基础情况
-
getItemActions
final ConcurrentHashMap<String, ItemAction> getItemActions()
获取拥有动作的物品ID及相关动作
-
getFunctions
final ConcurrentHashMap<String, Action> getFunctions()
-
-
-
-