BitAspire Wiki
Plugin KnowledgePlugin Knowledge

Event Catalog

Canonical event syntax, aliases, and arguments shared by CTK, XLV, and XTK.

This page is the canonical catalog for event names, aliases, and criteria shared across BitAspire plugins that use the common event-expression system.

Current BitAspire consumers

PluginRuntime surfaceMain file
CyberTokens (CTK)Base catalog from CyberEventEngine 0.1.1events.yml
XenoLevels (XLV)Advanced catalog from XenoEventEngine 0.2.0systems/<id>/exp-events.yml
XenoTokens (XTK)Advanced catalog from XenoEventEngine 0.2.0currencies/<id>/events.yml

CLV compatibility

The base catalog keeps CLV-style aliases such as timed-giving, killing-monsters, vanilla-exp-gain, rivalhh-breaking, and axpick-breaking. Use the canonical names below in new configs, but legacy spellings still resolve where the runtime supports them.

Runtime surfaces

SurfaceWhat it includesTypical consumers
Base CEV catalogCore combat, block, item, chat, movement, timed, Rival block-break, and Ax block-break eventsCTK and CLV-compatible configs
Advanced XEV catalogBase CEV plus broader Bukkit events, KILL_MOB, excessive item events, utility events, Rival reward events, Ax reward events, AxBoosters, and dynamic custom event specsXLV and XTK

Expression syntax

  • Expressions follow EVENT[count]:ARG=value.
  • Use :: or && for logical AND, || for logical OR, and ! to negate a condition.
  • When an event defines a default key, BREAK_BLOCK:WHEAT and BREAK_BLOCK:TYPE_EXACT=WHEAT are equivalent.
  • Many arguments accept comma-separated values, for example TYPE_EXACT=WHEAT,CARROT.
  • Ranges use min-max, for example LEVEL=10-20, XP=50-100, or AGE=7.

Count policy notes

CountPolicy is an internal handling hint for consumers, not a complete syntax contract.

PolicyPractical meaning
NORMALStandard event match. Consumers usually process it as a direct trigger.
EXCESSIVEThe event carries hit volume, such as stack size, furnace output amount, or raw XP gained.
IGNOREDConsumers usually ignore [count] and react per matching occurrence.
NO_ARGSConsumers usually batch or schedule the event instead of rewarding it immediately. Some of these events still support filters like PERMISSION.

Base CEV events

These events are available in CyberEventEngine 0.1.1 and are inherited by XenoEventEngine.

Combat and entity events

EventPolicyMain argumentsNotes
KILL_PLAYERNORMALNAME_EXACT, NAME_REGEX, NAME_CONTAINS, PERMISSIONFilters apply to the killed player.
DAMAGE_PLAYERNORMALNAME_EXACT, NAME_REGEX, NAME_CONTAINS, PERMISSIONFilters apply to the damaged player.
KILL_ANIMALNORMALTYPE_EXACT, TYPE_CONTAINS, DATA_CONTAINS, NAME_EXACT, NAME_CONTAINS, NATURE, CATEGORYPassive-animal target event.
DAMAGE_ANIMALNORMALTYPE_EXACT, TYPE_CONTAINS, DATA_CONTAINS, NAME_EXACT, NAME_CONTAINS, NATURE, CATEGORYPassive-animal damage event.
KILL_MONSTERNORMALTYPE_EXACT, TYPE_CONTAINS, DATA_CONTAINS, NAME_EXACT, NAME_CONTAINS, NATURE, CATEGORYMonster or hostile target event.
DAMAGE_MONSTERNORMALTYPE_EXACT, TYPE_CONTAINS, DATA_CONTAINS, NAME_EXACT, NAME_CONTAINS, NATURE, CATEGORYMonster or hostile damage event.
DYINGNO_ARGSPERMISSIONPlayer death trigger. Alias: DEATH.
BREEDNORMALTYPEMatches the bred entity type.

Block and item events

EventPolicyMain argumentsNotes
BREAK_BLOCKNORMALTYPE_EXACT, TYPE_CONTAINS, DATA_CONTAINS, GROUP, AGEGROUP=ORE / ORES matches ore-like materials.
PLACE_BLOCKNORMALTYPE_EXACT, TYPE_CONTAINS, DATA_CONTAINS, GROUP, AGEAGE works for ageable block data such as crops.
CRAFTNORMALTYPE_EXACT, TYPE_CONTAINSAlias: CRAFT_ITEM.
CONSUMENORMALTYPE_EXACT, TYPE_CONTAINSMatches the consumed item.
FISHNORMALTYPE_EXACT, TYPE_CONTAINSMatches the caught item stack when one is available.
BREWNORMALEFFECTMatches potion base types or custom effects.
ENCHANTNORMALENTRY, ENCHANTMENT, LEVELENTRY supports NAME or NAME-level, for example PROTECTION-4.

Progress, chat, and recurring events

EventPolicyMain argumentsNotes
EXP_GAINIGNOREDEXPAlias: VANILLA_XP. Uses raw vanilla XP amount.
CHATEXCESSIVEMESSAGE_CONTAINS, MESSAGE_CONTAINS_IGNORE_CASE, MESSAGE_EXACT, MESSAGE_EXACT_IGNORE_CASEEach matching message counts as one hit.
MOVENO_ARGSPERMISSIONCommonly used as a batched movement trigger such as MOVE[60].
TIMED_EXPNO_ARGSPERMISSION[count] is typically used as the interval in seconds, for example TIMED_EXP[300]. Aliases include TIMED_GIVING and TIMED-GIVING.

Advanced XEV events

These events require XenoEventEngine 0.2.0.

EventPolicyMain argumentsNotes
KILL_MOBNORMALTYPE_EXACT, TYPE_CONTAINS, DATA_CONTAINS, NAME_EXACT, NAME_CONTAINS, NATURE, CATEGORYBroad living-mob kill event.
DAMAGE_MOBNORMALSame as KILL_MOBBroad living-mob damage event.
SMELTEXCESSIVEITEM, FURNACE_TYPEHit count is the extracted item amount.
REPAIR_ITEMNORMALITEMMatches completed anvil repair results on supported versions.
DROP_ITEMEXCESSIVEITEMHit count is the dropped stack size.
PICKUP_ITEMEXCESSIVEITEMHit count is the picked-up stack size.
ADVANCEMENTIGNOREDKEYUses full advancement keys such as minecraft:adventure/kill_a_mob.
LEVEL_UPIGNOREDLEVELMatches gained vanilla levels.
JUMPNO_ARGSDISTANCE, CHECK_MOVEMENTCompatibility arguments are accepted but do not add extra filtering today.
SNEAKNO_ARGSDISTANCE, CHECK_MOVEMENTCompatibility arguments are accepted but do not add extra filtering today.
SPRINTNO_ARGSnoneSprint toggle trigger.
SWIMNO_ARGSnoneSwim toggle trigger on versions where Bukkit exposes it.
SHEAR_SHEEPNO_ARGSnoneSheep shearing trigger.
MILK_COWNO_ARGSnoneCow milking trigger.
TRADE_VILLAGERNORMALITEM, PROFESSION, LEVEL, BIOMEMatches villager trade output and villager metadata.
TAME_ENTITYNORMALTYPEMatches the tamed entity type.
PERMISSIONIGNOREDHASStandalone permission-based event.
RUN_COMMANDNORMALEXACT, CONTAINS, IS_CONSOLEMatches both player and server command dispatch.
JOINNO_ARGSnonePlayer join trigger.
QUITNO_ARGSnonePlayer quit trigger.
WORLD_CHANGENORMALNAME_EXACT, NAME_CONTAINS, TYPETYPE uses world environments such as NORMAL, NETHER, or THE_END.

Optional integration events

These event types are registered only when the corresponding plugin/API is present.

EventMain argumentsAliasesSurface
RIVAL_HARVESTER_HOES_BLOCK_BREAKCROP, CROP_CONTAINS, AGERHH, RHH_BREAK, RIVAL_HARVESTER_HOES, RIVALHH_BREAKINGBase + Advanced
RIVAL_PICKAXES_BLOCK_BREAKBLOCK, BLOCK_CONTAINS, AGERPX, RPX_BREAK, RIVAL_PICKAXES, RIVALPICK_BREAKINGBase + Advanced
AX_HOES_BLOCK_BREAKAMOUNTAXHOES_BREAKING, AX_HOES_PLAYER_XP_GAINBase + Advanced
AX_PICKAXES_BLOCK_BREAKAMOUNTAXPICK_BREAKING, AX_PICKAXES_PLAYER_XP_GAINBase + Advanced
RIVAL_HARVESTER_HOES_MONEY_RECEIVEMONEY, BOOST, MULTIPLIERRHH_MONEYAdvanced
RIVAL_HARVESTER_HOES_XP_GAINXP, BOOST, LEVEL, MULTIPLIERRHH_XPAdvanced
RIVAL_PICKAXES_MONEY_RECEIVEMONEY, BOOST, LEVEL, PRESTIGERPX_MONEYAdvanced
RIVAL_PICKAXES_XP_GAINXPRPX_XPAdvanced
RIVAL_PICKAXES_LEVEL_UPLEVELRPX_LEVELAdvanced
RIVAL_FISHING_RODS_MONEY_RECEIVEMONEYRFR_MONEYAdvanced
RIVAL_FISHING_RODS_ESSENCE_RECEIVEESSENCERFR_ESSENCEAdvanced
RIVAL_FISHING_RODS_XP_GAINXPRFR_XPAdvanced
RIVAL_MOB_SWORDS_MONEY_RECEIVEMONEY, BOOSTRMS_MONEYAdvanced
RIVAL_MOB_SWORDS_MOB_KILLTYPE_EXACT, TYPE_CONTAINS, MODERMS_KILLAdvanced
RIVAL_MOB_SWORDS_XP_GAINXP, BOOSTRMS_XPAdvanced
AX_HOES_MONEY_GAINAMOUNTAX_HOES_MONEYAdvanced
AX_HOES_ESSENCE_GAINAMOUNTAX_HOES_ESSENCEAdvanced
AX_HOES_TOOL_XP_GAINAMOUNTAX_HOES_TOOL_XPAdvanced
AX_HOES_TOOL_LEVEL_UPTOOLAX_HOES_TOOL_LEVELAdvanced
AX_PICKAXES_MONEY_GAINAMOUNTAX_PICKAXES_MONEYAdvanced
AX_PICKAXES_ESSENCE_GAINAMOUNTAX_PICKAXES_ESSENCEAdvanced
AX_PICKAXES_TOOL_XP_GAINAMOUNTAX_PICKAXES_TOOL_XPAdvanced
AX_PICKAXES_TOOL_LEVEL_UPTOOLAX_PICKAXES_TOOL_LEVELAdvanced
AX_BOOSTERS_STARTLOCALnoneAdvanced
AX_BOOSTERS_ENDnonenoneAdvanced
AX_BOOSTERS_MULTIPLIERMULTIPLIERAX_BOOSTERS_GET_MULTIPLIERAdvanced

Dynamic custom events

XenoEventEngine can load custom event specs from YAML files or directories. Each direct child under the root or under an events section becomes a custom EventType.

Common fields:

FieldPurpose
event, class, or event-classBukkit event class to bind
player, actor, or player-getterGetter path used to resolve the player actor, defaulting to getPlayer
getter, subject, value, or amountGetter path used as the expression subject
setter, value-setter, or amount-setterOptional setter path for integrations that mutate values
policy, count-policy, or countPolicyOptional explicit CountPolicy; numeric getters default to EXCESSIVE
alias / aliasesAdditional names accepted in configs
iconOptional display metadata for consumers

Custom events receive generic arguments: VALUE, EXACT, CONTAINS, REGEX, and NUMBER.

  • Prefer CRAFT over the legacy alias CRAFT_ITEM.
  • Prefer EXP_GAIN over the alias VANILLA_XP.
  • Prefer TIMED_EXP over TIMED_GIVING.
  • Prefer RIVAL_HARVESTER_HOES_BLOCK_BREAK over RIVAL_HARVESTER_HOES.
  • Prefer RIVAL_PICKAXES_BLOCK_BREAK over RIVAL_PICKAXES.

Example expressions

  • KILL_MONSTER:TYPE_EXACT=ZOMBIE
  • BREAK_BLOCK:TYPE_EXACT=WHEAT::AGE=7
  • CHAT:MESSAGE_CONTAINS_IGNORE_CASE=gg
  • ENCHANT:ENTRY=PROTECTION-4
  • TIMED_EXP[300]:PERMISSION=group.vip
  • RIVAL_HARVESTER_HOES_BLOCK_BREAK:CROP=WHEAT::AGE=7
  • RIVAL_PICKAXES_MONEY_RECEIVE:MONEY=100-250
  • AX_BOOSTERS_MULTIPLIER:NUMBER=>=2

Last updated on

On this page