TriggerReactor
Note
- If you are using GraalVM Java 16
- Use 3.2.x-Release or 3.3.0.x-Beta version
- For 1.5.2 ~ 1.12.2 server, use bukkit-legacy
- For 1.13 ~ latest server, use bukkit-latest
- Use 3.2.x-Release or 3.3.0.x-Beta version
- If you are using any other JVM
- Same as the case as GraalVM Java 16, yet you have to install a third-party plugin, such as JShader. Though, it should work with any plugin that provides nashorn script engine.
- If you are Sponge user
- Stay with 3.1.x version. Sponge API 8 support is coming soon for the later versions, but not at the moment.
You can find them in this link
Support Us:
We dedicate our time to provide support for this plugin, so please support us if our plugin helped you!
https://patreon.com/TriggerReactor
Description:
Want to create in-game based scripts? Have you tried VariableTrigger? Are you an expert Skript programmer? Give a chance to TriggerReactor. TriggerReactor is Script Engine that has the in-game interaction features of VariableTrigger, and the advanced scripting system of Skript.
You can also create trigger for walking on the block, clicking the block, command, enter/exit area, and all of the Bukkit Events, Custom Permissions, and Third party plugin's Event! (You can hook up Events from plugins like Factions, MCMMO, etc. and do whatever you want. I personally am giving Guild experience based on Guild members' portion of MCMMO experience)
Have Questions?
You may ask questions in discord
English: https://discord.gg/Df8vgut
Korean: https://discord.gg/KubaFcd
Features(written by MidnightSugar):
- Multi-threading capability (No lag)
- 6 Trigger Types: Click, Walk, Command, Named, Inventory, Repeating
- Or create custom triggers from any event
- Includes 49+ Executors and 43+ Placeholders for ease of use
- Or create your own Executors and interact with other plugins
- Use methods directly from javadocs
- Create dynamic variables
- Robust conditions system
- Create and use loops and arrays
- Access third party plugin API
Commands:
/trg - type it to see more commands
Permissions:
triggerreactor.admin - give access to all of the /trg commands, and TriggerReactor tools.
Tools:
There are some tool to make your life easier
1. Bone : inspection tool. Left click with it to delete the trigger at the clicked location or Right click to see the brief information
2. Shear: cut tool. Right click to cut a trigger at clicked location and Left click to paste it on another place.
3. Paper: copy tool. Right click to copy a trigger at clicked location and Left click to paste it on another place.
Some Examples:
A lot of Information You Must See:
Can be found in Wiki
Bug report/Suggestions:
Please report/suggest it on the Issue tab of github site. (will be greatly appreciated.)
Hey, you know some java?
Please help me add up more useful Executors and Placeholders. Executors and Placeholders are all written in Javascript, and you only need very basic knowledge to make a lot of things.
Look at the $isop placeholder's code:
if(player == null)
return null;
return player.isOp();
}
That's literally all you need to know to help me out! So if you are willing to help me out, please don't hesitate to do so!
Donations:
overload : $50 - Surprisingly huge amount of money. Thank you!
@wysohn I have a very large Variable Triggers script I developed for a game mode I created. I am interested to see how far you got on being able to convert code. You can check out my project at https://github.com/Silverbane/MinecraftImpossible I have not worked on it for a while simply because I could not get my plugins to work on the newest minecraft updates and gave up. But I am very interested to see if I could get it going again if someone could help me update the code to a new system that will work with the new builds. Anyways please let me know if you can take a look.
Thank you.
In reply to Silversbane:
Hi wysohn, let me start out by saying amazing plugin!
I just ask your help with a few things. I'm having an issue with #MESSAGE because it sends a message to a triggering player. It seems like there is no triggering player when one trigger #CALL 's another so there's no player to #MESSAGE. So I can't send a message to one player this way. I Tried to use #CMDCON "tellraw "+.... but tellraw uses (") so it messes up the trigger file. Is there something like #MESSAGE:player or #TELLRAW? Any help would be really appreciated! Thank you in advance!
In reply to QuinLord:
Good plugin!
Is it possible to allow certain permissions when players are inside their Feudal claims?
Thanks!
In reply to resoluciones:
#CANCELEVENT //event must be cancelled in order to change the permission behavior
lastIndex = requestedPermission.lastIndexOf(".")
craftLevel = parseInt(requestedPermission.substring(lastIndex + 1))
//#MESSAGE "Required craft level = "+craftLevel
level = 0
level = level + mcmmo.level(player, "REPAIR") / 50
//#MESSAGE "Current level "+level
IF level >= craftLevel //if mcmmo level is larger than the craftLevel
event.setAllowed(true) //allow player to have this permission
ENDIF
ENDIF
In reply to wysohn:
I'm just discovering TriggerReactor and am very appreciative of your great effort and elegant design. I've used the venerable VT in years past and recently returned to it to find it's status a bit unclear, though apparently not entirely dead. But it is clear that TR is active and you, kind dev, are energized and present w/ the project. Much gratitude. I've always believed that an active project should consider charging a small fee for the plugin. I'd pay if it meant keeping the project alive and the dev responding to inquiries.
Ok, so off I go to delve further into TR. :-)
In reply to gmalone:
Hi! How do you make users execute a command 'tutorial' when they first do the command /tutorial and if they did it more than 1 times then they will get the message "You already finished the tutorial!"? Thanks!
In reply to Samaine:
Hey! Thanks for creating the Plugin.
I have bent using Variable Triggers my whole life,
But now I'm trying to move on with this plugin as VT2 has lots of bugs and error.
Is there a way to replace <cmdarg:> that is in VT?
Such as
"@IF s <cmdarg:1> = null"
In VT.
Or..
"@IF s <cmdarg:1> = hi"
So, I am going to use this on a command..
/event
[ @IF s <cmdarg:1> = null
@PLAYER (something)
@ENDIF ]
/event go
[ @IF s <cmdarg:1> = go
@CMD warp event <playername>
@ENDIF ]
Thanks!
In reply to Samaine:
In reply to wysohn:
Love this plugin, been using it to get alot of small features that i would have to otherwise stack up a bunch of other plugins for. People just need to get this plugin out there and put tutorials on it etc. Maybe i will be the person to do that, but im still learning alot about it myself as is. Anyway thanks wysohn! Great plugin.
In reply to DontActLikeMe:
Hey wysohn thanks for your fast reply on my comment in VariableTrigger comment section!
I'm starting to go throughout the things in wiki but as I'm noob to cmd and wanting to
establish more complicated trigger, its quite hard for me to understand (especially the logic part 'if else' ; idk where to put the codes in). I can simply do some easy command such as sending player to spawn if the player walk on the trigger but I want to do something like.
IF player.getName() !="John_Na"
#CMDOP "spawn"
#MESSAGE "+player.getName()+!You are trespassing private territory!"
ELSE
#MESSAGE "HI, +player.getName()+"
ENDIF
**I want to do this to prevent people coming into my house (just for example)
and even If I'm right on the conditions idk where to put this command as its just too long to type in the game as to its coding material not command as long as I know.
I know you're busy working on your project and your life's work but please help me with this.
Thanks heaps!!
P.S. I found out that you can type in some Korean in your example command. Are you? I'm jst curious cause I'm Korean tho. It doesn't affect how we speak in English at all. As I think its fair to speak in common lan. in global website for other users to understand our chats. Anyway, again, thanks for your replies and concerns.
In reply to johnna:
NVM I did it I've code into the files in walktrigger and at the first time
I thought /reload or /trg reload might work. But when I restart the spigot it worked! which means... /trg reload might not be working... :'(
In reply to johnna:
Really nice work dude, keep it up