Change Log

v0.11.1+ (WIP)

  • There's no changes yet ;-)

These changes included into dev-builds. Download last build.


  • Flags will create temporary placeholder <FLAG_NAME>_FLAG_VAL, that will contain result of the flag check (true / false)
  • Added flag HEALTH — check player health value
  • Fixed command /react add didn't work on server v 1.7.10
  • Fixed issue related to incompatibility of different API versions.
  • Command register messages (during server starting) united into one message.


  • Added ITEM_HELD Activator.
  • Added GOD Activator.
  • Added GAME_MODE Activator.
  • Added PICKUP_ITEM Activator.
  • Added WE_CHANGE Activator.
  • Added WE_SELECTION_REGION Activator.
  • Added SQL_SET Action.
  • Added FLY Action.
  • Added CHAT_MESSAGE Action.
  • Added RADIUS_CLEAR Action.
  • Added WE_SUPERPICKAXE Action.
  • Added WE_TOOLCONTROL Action.
  • Added alternative method to check coordinates while player moving (using tasks instead of PlayerMoveEvent listener). It disabled by default. Could affect to REGION_ENTER, REGION, REGION_LEAVE activators and BACK action.
  • Modified INVENTORY_CLICK activator. Added a Slot Check. Added "item_amount" placeholder in the Player inventory.
  • Modified DOOR activator. Now it supports all type of door blocks (including iron doors).
  • Modified MENU_ITEM action. Temporary variables added.
  • Modified SHOOT action. Target knockback added.
  • Modified PICKUP_ITEM, DROP, BLOCK_BREAK activators
  • Modified MOB_SPAWN. Multiple passengers supported.
  • Modified MOB_DAMAGE activator. Added new damage type - PotionSplash.
  • Changed stats service from McStats to bStats.
  • Fixed items/blocks clicked twice on 1.9+.
  • Fixed variables returned \\ and \$ instead of \ and $.
  • Lot of minor fixes and optimizations.


  • New activator: DAMAGE
  • New activator: DAMAGE_BY_BLOCK
  • New activator: DAMAGE_BY_MOB
  • Fixed issue: phantom block placed when you clicking with block and remove it from player's hand
  • Fixed issue: you can take item from inventory menu using shift-clicking


  • Fixed issue with default message of action



  • Fixed couple of minor bugs


  • Updated to bukkit/spigot 1.10 / 1.9. Tested with 1.10.2, 1.9.4, 1.8.9, but I think will work fine with 1.7 and even 1.5.2
  • Updated to latest API of RacesAndClasses v1.2.1,Craftconomy v3.3, PlayEffect v0.5.3
  • Bug fixes and code optimization


  • Added new activator ITEM_CONSUME. This activator is initiating when player consumes defined item
  • Added new action ITEM_SLOT. This action is allows to place item in inventory slot defined by number or slot name.
  • Code optimization and bug fixes


  • Added new activator - QUIT. This activator is initiating when player leaving the server.
  • Some bugs fixed.


  • Added new action WAIT, that allows to wait some time before execute next actions of activator.
  • Actions ACTION_DELAYED and WAIT now will be executed for players that left the sever (when player enter the server again).
  • Code optimization and bug fixes


  • Added activator MOB_DAMAGE
  • Now all messages (including MESSAGE action) limited by 55 character per string (according to Minecraft bug with unicode font). You can change this value in config.yml
  • Player selector now supports additional parameters: loc, radius.
  • Action MESSAGE now supports new parameter "hide".
  • PVP_DEATH and PVP_RESPAWN activators was modified and renamed to PLAYER_DEATH and PLAYER_RESPAWN. New activators support PVE, PVP and OTHER death cause.
  • New command /exec <ActivatorId> [player:<PlayerSelector>] [delay:<Time>]. This command is short alternative to /react run command.
  • Code optimization and bug fixes


  • Item format changed. Old format is partially supported, but you need to update all item definition to new format.
  • New activator MOB_KILL
  • WorldGuard 5.x library is now built-in. No you don't need to use external library for WG 5.x. Please remove ReActions/lib/ folder.
  • New action ITEM_UNWEAR
  • All variables flags and actions supports parameter "player". You can access to personal variables of any player.
  • All delay flags and actions supports parameter "player". You can check and setup delay of any player.
  • Flags DELAY and DELAY_PLAYER now can update delay variables (so you can skip DELAY (DELAY_PLAYER) actions)
  • COMMAND activator now supports regular expressions. New placeholders added.
  • Commands registered using COMMAND activator now visible for "tab" key.
  • SIGN activators now supports colored text on signs.
  • You can create SIGN activator easily: point cursor on sign and type /react add SIGN command.
  • DAMAGE and HEAL actions now supports parameter "player". You can damage or heal any player.
  • SOUND action now supports location ("loc" parameter).
  • MOB_CLICK activator now uses new format to define mob. Old format is supported too.
  • Features bounded to plugin Factions now compatible with new Factions versions.
  • Empty flags, actions and reactions sections remove from activators files (you can turn back old mode in config.yml)
  • Added large amount of temporary placeholders (provided by activators, actions, flags).


  • Now Item-menu is compatible with 1.5.2.
  • IDs of variables and delays now is case insensitive.


  • Fixed bug: ITEM flags worked as ITEM_INVENTORY


  • ReActions is now compatible with WorldGuard 6.x. Built-in WG module is not compatible with older WorldGuard 5.x version. But if you using WG5.x you may use additional module wgbridge5x.jar located in lib folder included into provided zip-file. Just copy this lib folder in to directory /ReActions/ and you'll get a WorldGuard 5.x compatibility.
  • Now all WG-regions (all activators, flags and actions) supports world names. Record . points to region named that located in world . You can skip the world name if your region located in default (main) world. Note: after updating you need to add world names to all of your regions that not located in you main world
  • SIGN activator now supported left-clicking too. It allows to define parameter click:<LEFT | RIGHT | ANY> and provide new temporary placeholder %click% that returns "left" or "right" values according to clicked mouse button.
  • Added some temporary placeholders


  • Added activator MESSAGE. This activator is executing when provided message is found in provided source: ALL (any source), CHAT_INPUT (player chat input), CONSOLE_INPUT (message in server console), CHAT_OUTPUT (message displayed in chat, plugin messages supported too), LOG_OUTPUT (message in server log). You can use some method to determine message: EQUALS (messages must be equal), CONTAINS (find substring in message), START (source message must starts with provided substring), END (source message must ends with provided substring), REGEX (using regex to match strings). This activator is a logical extension of my plugins MessageFilter and MessageCommander.
  • Added activator VARIABLE. This activator is executing when provided variable changing it's value. Parameters: id: personal:<false/true>. Local variables provided by this activator: %var_id%, %var_old%, %var_new%
  • Fixed issue:attempt to create item-menu inside another menu caused NPE.


  • Added new Activator FCT_CREATE. This activator is bound to faction creating event. To add this activator use command: /react add FCT_CREATE . You can use local placeholder %faction% in this activator to find name of the created faction.
  • Added new Activator FCT_DISBAND. This activator is bound to faction disbanding event. To add this activator use command: /react add FCT_DISBAND . You can use local placeholder %faction% in this activator to find name of the disbanded faction.
  • Add new action — MENU_ITEM. This actions will show inventory-menu (GUI). You can define menu in action or use pre-stored menu.
  • Added Inventory-menu engine.
  • Added new commands related to inventory menus


  • BLOCK_FILL action. Required to fill area defined by region name (or two point) with provided block. You can use chance parameters to define chance of placing block inside the area. Parameters: region: / loc1: loc2:, block:BlockType:Data chance:<Chance,%>
  • Added expression calculator placeholder CALC. For example %CALC:1+2% will be replaced with "3". You can use variables inside this placeholder: %CALC:1+x+z%.
  • SIGN_SET_LINE action is now skip signs located in unloaded chunks.
  • TIME_SERVER placeholder now can use additional parameter for format. For exampler %TIME_SERVER:HH:mm:ss% will show only hours-minutes-seconds (For example, 10:59:44)
  • Numerical variables are now not integer only.
  • Remove limitation of maximum time that could be point using Time format.
  • Fixed some bugs in faction related activators


  • New activator SIGN. This activator is subscribed to any sign, that contains defined text. You can use single multiple lines to define the sign. Parameters: line1:, line2:, line3:, line4:.
  • New action SIGN_SET_LINE Allows to set text or clear in signs. Parameters: loc: — sing coordinates. line1:, line2:, line3:, line4: — lines to change clear:<1,2,3,4> — lines to clear
  • New action SQL_DELETE. Executes "DELETE" query. Parameters - SQL-query
  • New action ACTION_DELAYED - execute any other action after delay. Parameters: time: action:{ActionAndParameters}
  • Activator COMMAND now provides temporary placeholders arg0, arg1.... argN, that contains value of arguments typed at command line
  • Flag WEATHER now could determine all weather conditions: rain, thunder и clear
  • Totally recoded location parser. Now any action or flag that contains "loc" parameter supports advanced syntax
  • Lore (in items created by ReActions) not supports colors
  • New parameter codepage added into config.yml at the MySQL section.
  • Some bug fixed


  • Added lore support for items. Now you can use symbol "@" in item name to divide line of lore (for example: ITEM_GIVE Super_sword@This_is_the@Super_sword$IRON_SWORD). Lore is not count in item compare, so you still need to use unique name to define unique items.
  • Fixed bug with spawning mob with modified max health.


  • Placeholders engine optimization. Now it's more effective. Some placeholders supports aliases
  • New placeholder RANDOM (or rnd). It returns random value: %rnd:100% - will return number from 0 till 99, %rnd:5-10% will randomly return number from 5 till 10 and %random:word1,word2,word3% will return on this three words
  • New command: /rea help placeholder [page number] - show list of available placeholders


  • Fixed compatibility issues provided by latest versions of bukkit API. Now ReActions is compatible with: 1.5.x, 1.6.x, 1.7.x (Possibly it works with 1.4.x, but I did not test it)
  • Now all parameters supports braces — "{" and "}" to determine parameter values that contains text. For example, player:John Lennon will point to player John, but player:{John Lennon} will point to John Lennon.
  • Added MySQL support!
  • New flag SQL_CHECK. Compares result of SQL-query with provided value. Parameters: query:{SELECT...} value: column:
  • New flag SQL_RESULT. Checks if result of SQL-query returning any data. If result is empty flag will return false. Parameter: query: {SELECT...}
  • New action SQL_SELECT. Executes SQL-query and store value of field located in first row (and defined column) in variable. Parameters: query:{SELECT... } variable: player: column:
  • New action SQL_UPDATE. Executes update-query (update field of table at MySQL database) Parameter: query:{UPDATE... }
  • New action SQL_INSERT. Executes insert-query (insert new row in table at MySQL database) Parameter: query:{INSERT... }


  • Added Factions plugin support!
  • Activator FACTION (Parameters: oldfaction:<previous faction of player> newfaction:<new faction of player>) This activator initiates when player's faction is change (player moves from one faction to another). You can use faction's name in parameter, and use "default" keyword to point the default faction (usually - wilderness)
  • Activator FACTION_RELATION (Parameters: activator: faction1: faction2: newrelation: oldrelation:). This activator executes provided EXEC-activator when relationship between two factions is changed.
  • Flag FACTION (Parameter - faction's name). Checks is player is member of faction.
  • For all players selectors (in MESSAGE and EXECUTE actions and /react run command) add a new selector: faction:. This parameters will point to all players in defined faction.
  • Bug-fix: /react copy command did not saves changes to file.
  • Now all VAR_* did not requires a player to execute (could be used in exec-activator launched from the server console)
  • Added Craftconomy3 support (If Craftconomy plugin is installed it will be accessed directly, without using Vault features.
  • All MONEY actions and flags now supports parameters: amount:<amount>, world:<world name> (if you use different accounts in different worlds) currency: (Only for Craftconomy3). You can forget about "currency" and "world" parameter if you going to use default currency and default world. Old syntax is supported too, so your activators will keep working :)
  • New flag MONEY syntax. MONEY amount:<amount> account:<player/account name> currency:<currency name>
  • Action MONEY_GIVE target:<target account> [source:<account to withdraw>] amount:<amount> currency:<currency name> world:<world name>
  • Action MONEY_PAY source:<source account>[target:<account to credit>] amount:<amount> currency:<currency name> world:<world name>
  • New commands added. /react var list [page num] [mask], /react set var id:<variable id> [player:<player name>] value:<value>, /react remove var id:<variable id> [player:<player name>]


  • Now you can use commands: /react help activator, /react help action, /react help flag to get list of available activators, actions and flags;
  • Fixed bug with ITEM_REMOVE_INVENTORY actions;
  • Fixed parsing error with locations.


  • New feature: Variables. You can save string, boolean and numerical values to veriables (global and persnal veriables supported) and use it later in any activator.
  • New action: VAR_SET — Create global variable. Parameters: id: value:
  • New action: VAR_PLAYER_SET — Create personal variable. Parameters: id: value:
  • New action: VAR_CLEAR — Remove global varibale. Parameter: id:
  • New action: VAR_PLAYER_CLEAR — Remove personal varibale. Parameter: id:
  • New action: VAR_INC — Increase global variable value. Parameters: id: value:
  • New action: VAR_PLAYER_INC — Increase personal variable value. Parameters: id: value:
  • New action: VAR_DEC — Decrease global variable value. Parameters: id: value:");
  • New action: VAR_PLAYER_DEC — Decrease personal variable value. Parameters: id: value:
  • New flag: VAR_EXIST — checks existance of global variable.Parameter: ");
  • New flag: VAR_PLAYER_EXIST — checks existance of personal variable. Parameter: ");
  • New flag: VAR_COMPARE — compares global variable with value. Parameters: id: value:");
  • New flag: VAR_PLAYER_COMPARE — compares personal variable with value. Parameters: id: value:");
  • New flag: VAR_GREATER — checks is global variable greater than given value. Parameters: id: value:");
  • New flag: VAR_PLAYER_GREATER — checks is personal variable greater than given value. Parameters: id: value:");
  • New flag: VAR_LOWER — checks is global variable lower than given value. Parameters: id: value:");
  • New flag: VAR_PLAYER_LOWER — checks is personal variable lower than given value. Parameters: id: value:");
  • New feature: Timers. You create a scheduled actions to execute EXEC-activator. Two types of timers could be used to create timer based on in-game time. And timers based on real (server time).
  • New command: /react add timer activator: time:HH:MM,HH:MM|0_0/5_*_*_*_? [player:] [world:]
  • New command: /react list timer [page]
  • New command: /react remove timer
  • New action:TIMER_STOP — Stops execution of timer. Parameter: timer:
  • New action:TIMER_RESUME — Resumes execution of stopped timer. Parameter: timer:
  • New flag: TIMER_ACTIVE — checks activity state of defined timer. Returns false if timer is paused. Parameter: "
  • New activator: ITEM_WEAR. This activator is linked to defined item and executing every three seconds while player wears an item. /react add item_wear <item (name supported)>
  • New action: SHOOT — shoot (without projectile) in player view direction. Parameters: distance: singlehit:<true/false> damage:
  • New action: EXECUTE_STOP — stops execution of delayed EXEC-activator. Parameters: player: activator:
  • New action: EXECUTE_UNSTOP — resumes execution of stopped activator. Parameters: activator: player:
  • New flag: EXECUTE_STOP — checks stopping-state of delayed EXEC activator. Parameter:
  • New action: RNC_SET_RACE — Set player's race (RacesAndClasses plugin required). Parameter: race:
  • New action: RNC_SET_CLASS — Set player's class (RacesAndClasses plugin required). Parameter: class:
  • New flag: RNC_RACE — checks player's race (RacesAndClasses plugin). Parameter:
  • New flag: RNC_CLASS — checks player's class (Requires RacesAndClasses plugin). Parameter:
  • New flag: WEATHER — checks weather state around player. Parameter: <rain/clear>


  • Fixed bugs (founded at v0.5.0 and 0.5.1): REGION activator executing only when player is moving inside; delay flags freezes after reload command.


  • New activator ITEM_CLICK. Parameter: item. This activator executes when you right-clicking with this item in hand.
  • New activator ITEM_HOLD. Parameter: item. This activator executes when you take item in hand and every 2 seconds while it in your hand.
  • New action POWER_SET loc: power:<on/off/toggle> - change power state of levers and door blocks located in defined location.
  • New action EXECUTE_STOP player: activator: - stops defined activator. Only applicable to delayed EXEC-activators.
  • New action EXECUTE_UNSTOP player: activator: - resume execution of defined activator. Only applicable to delayed EXEC-activators.
  • New flag REGION_MEMBER (parameter - region name) returns true if player is a member or owner of the region
  • New flag REGION_OWNER (parameter - region name) returns true if player is a owner of the region
  • New flag EXECUTE_STOP (parameter - activator id) returns true if defined EXEC-activator is stopped
  • New flag FLAG_SET (parameter - set of flags, except FLAG_SET: flag1:value1 flag2:value2). This flag is return true if one of the all flags in set returns true. This flag is implementing logical OR operation.
  • New command /react set delay player:<player> delay:<time> id:<id> — sets the delay value that could be checked with DELAY and DELAY_PLAYER flags
  • New command /react list delay [page] — shows list of active delays


  • Activators renamed. Your activator files will automatically updated after restarting plugin. But I'm strongly recommend you to backup all ReActions files before update.
  • New activators: PVP_DEATH and PVP_RESPAWN. PVP_DEATH is initiating when player was killed by another player. PVP_RESPAWN is initiating when player respawning after he was killed by another player.
  • New activators: MOBCLICK is executing when player right-clicking mob. You can define mob type (name supported too) for this activators. For example: /react add mobclick &6Super_Cow$COW
  • New activator: JOIN this activator executing when player joins a server. If you setup this activator with additional parameter "FIRST" this activator will execute only for players that did not played on server before.
  • Activator EXEC and actions EXECUTE optimized. Now command line executing (/react run) and EXECUTE action use same parameters: activator: delay:
  • New action: BLOCK_SET. Placing a block at defined location. Parameters: block: loc:
  • Added new parameters to action MOB_SPAWN: run: and rundelay:
  • New flag: BIOME. Returns true if player is located in defined biome.
  • New flag: DIRECTION. Returns true if player direction is equal to define one (NORTH, NORTHEAST, NORTHWEST, SOUTH, SOUTHEAST, SOUTHWEST, EAST, WEST)
  • New flag: LIGHT_LEVEL. Return true if light level in player locations is hight than defined.
  • New flag: WALK_BLOCK. Return true if player is walking/standing at defined block.
  • Flag STATE was extended with additional possible values: VEHICLE_MINECART, VEHICLE_BOAT, VEHICLE_PIG, VEHICLE_HORSE.
  • All items checks now support items name. So IRON_SWORD and IRON_SWORD called "Super sword" now is different items.


  • New flag WORLD (Parameter: world name). Returns true if player located at defined world.
  • New action BLOCK_SET block:<id>[:data] loc:<location>. Sets the block at defined location.
  • Fixed little bug: flag group was not worked correctly.


  • Now you can use placeholder in actions (reactions) definition too. Supported placeholder: %here% — player locations, %head% — player head locations, %view% — viewpoint, %selection% — location selected using /rea select command
  • Possibly removed NPE-error while teleporting player at MCPC+ servers


  • New activator added PVPKILL. This activator is activating when one player is killing other. All flags and actions will bound to the "killer" player
  • New activator added PVPDEATH. This activator is activating after respawn of dead player if he was murdered by other. All flags and actions will bound to the "deadplayer" player. After executing of this activator you can use
  • New activator LEVERL. This activator is linking to a lever block and executing when player triggers the lever. To create activator you need to type: /react add lever [ON/OFF/ANY]. If you define lever state (on/off)placeholder %deathpoint%. For example you can teleport player to his death location using action tp loc:%deathpoint%. activator will be executed only if lever is going to be enabled (ON) or disabled (OFF).
  • New activator DOOR This activators could be linked to any kind of doors (wooden door, fence gates and trap doors). This activator still supports door state (open/close) To create activator type: /react add door [OPEN/CLOSE/ANY]
  • New action HEAL. Parameters: hp:<hp amount> hearts:<true/false>
  • New action ITEM_DROP. Parameters: loc:<location> (if skipped - will use player locations) radius: land:<true/false> scatter:<true/false> (drop in single location or every item drop randomly) item:
  • Action MESSAGE (alias msg) now supports parameters: region:<region name>, world:<world name>, group:<group name>, perm:<permission>. This feature allows to send message only to player that located at region, world or is a member of group, or has defined permission. You can combine this parameters. Example: MESSAGE region:region1 group:admin &6This message will see only admins and players in region called region1
  • Now flags ITEM and ITEM_INVENTORY (invitem) supports item's name. For example flag item = &6Super_sword$IRON_SWORD will return true value only if player holds iron sword and it's name is gold-color "Super sword".
  • New flag GAMEMODE <survival/creative/adventure> — this flag checks current player game mode
  • New flag FOODLEVEL <food level> — this flag returns true if player's food lever is equal or greater than parameter value
  • New flag XP <xp> — this flag returns true if player's total experience is equal or greater than parameter value
  • New flag LEVEL <level> — this flag returns true if player's experience level is equal or greater than parameter value
  • New flag POWER <llocation>. This flag returns true if block placed in locations is powered by redstone power.
  • New command /rea select. This command select location in your view point. After selection location you can use it while adding any flag or actions - just type placeholder %selection% (or %sel%). For example: /rea add flag POWER %selection%
  • All flags and actions are renamed. But old names will supported too (you can use it as aliases)
  • Changed placeholders to use while adding actions and flags. Now supported: %here% — player locations, %head% — player head locations, %view% — viewpoint, %selection% — location selected using /rea select command
  • Code optimization. I think it will more easy to add new activators, flag and actions in future.
  • Updated to new CurseAPI update-checker.


  • Action moneygive now supports ranges. For example moneygive 100-200 will grant player with random amount of money between 100 and 200.
  • Change advanced item syntax. Now you can define item using this template: item_name$id:dataamount@enchant:level,color;item_name$id:dataamount%chance/id:dataamount@enchant:level,color;id:dataamount%chance New format allows you to define some group of item sets (random group will selected) with define name of item and enchantments. Old format to define a single item is supported too. For example: STONE;DIRT2%10/IRON_AXE2@DAMAGE_ALL:2;&6Axe_of_fromgate$IRON_AXE@KNOCKBACK,DAMAGE_ALL:3%80 this string will "converted" to set of stone and two dirts (chance 10%) or set of two iron axe with damage all enchantment and one sword called "Axe of fromgate" with knockback and damage all (level 3) enchanments (chance 90%).
  • Action itemgive now supports advanced item format.


  • New activator type - command. This activator is initiates when player typed a defined command. To create this activator use command: /react add command . You can use this activator to add additional features for commands. For example you can player smoke effect when player types /help command, or remove some amount of money when player types /spawn command. You can use activator even you need to add totally new command. Just create activator and define actions for it.
  • New activator type - exec. This activator is not bounded to anything like button or regions. But it could be executed by command /react run [playername] [delay] and... by other activator
  • New action type - run (/react add a run exec: delay:
  • Every actions and flags that use time now use advanced format for time.
  • New flag - region (region <region name>). This flag returns true when player is in defined region.
  • New flag - pose (pose <stand/sneak/sprint>). This flag checks current pose of player. For example pose sprint will return true only if player is sprinting.
  • New flag - rgplayer (rgplaer <region>/<count>). This flag returns true when amount of players in <region> is equal (or more) than .
  • New format for item parameters. Now you can define color for leather armor and enchantments for items: <id>[:data][*amount[@<color>,<enchantment1:level>,<enchantment2:level>...<enchantmentN:level>]. Here amount could be defined as a range of values. For example STONE:5-10 will represent a random values (more than 5 but lesser than 10) of stone blocks.
  • New parameter added to action mob - equip. This parameter is alternative for parameters helm, chest, leg, boot and weapon. Now you can use: equip:;;;; to define equipment of Zombies and Skeletons.
  • New parameter added to action "mob" - dmg. This is a multiplier for damage value of spawned mob. For example if spawned mob is dealing a 5 damage multiplier 2 will increase damage value to 10, multiplier 0.2 will decrease damage value to 1.


  • New format for action's parameters. Old formats are supported too, but new format allows to use more abilities. For example using new format of tp actions you can additionally play an effect at teleporting location and define random location around the predefined.
  • Added new action effects. This action is playing any basic visual effects in defined location: smoke, ender signal (ender), mob spawner flames (flame), bottle of potion breaking (potion).
  • Added new action mob. This action is spawning a mob at defined location (you can additionally specify: name, number of mobs, health (works only with CB1.6.2), equipment (for zombies and skeletons)
  • Added new action velocity. This actions is sets player's velocity.
  • Debug mode is fixed.


  • Releasing my awesome plugin!