UploadedNov 1, 2019
Supported Bukkit Versions
(I'm re-releasing it with 2 fixes and in a standalone way, without MyCommand for BungeeCord, otherwise the updater doesn't work as intended)
Built with spigot 1.14.4 API's.
It's now possible give more command TYPES to one command.
To do so, instead of placing the TYPE right afer "type", put them below like a list.
command_name: type: - TEXT - RUN_COMMAND
You can still use the old way of setting up the command type, infact the plugin is completly compatible and usable in the old way.
Not every type works well togheter or work at all, but overall, if you want, it's here.
The consequence of this lead me to remove those 2 now obsolete command type (RUN_COMMAND_TEXT and RUN_COMMAND_BROADCAST_TEXT). If you are using one of these 2 type, please update your command like the example above.
Added DEBUG.REPLACE_ARGS_WITH_NOTHING_IF_EMPTY: true in config.yml (This function will replace any empty $arg with "" nothing)
Mycmd-npc's function :
"/mycmd-npcs changetype <id> <type>" now change Villager types instead of the old professions list (DESERT, JUNGLE, PLAINS, SAVANNA, SNOW, SWAMP, TAIGA)
New command "/mycmd-npcs changeprofession <id> <type>" change as it says the professions of a Villager. Values can be (NONE, ARMORER, BUTCHER, CARTOGRAPHER, CLERIC, FISHERMAN, FARMER, FLETCHER, LEATHERWORKER, LIBRARIAN, MASON, NITWIT, SHEPHERD, TOOLSMITH, WEAPONSMITH)
(Old Version compatibility added)
Added a LEADERBOARD command type.
Sort playerdata number values by the highest amount. Configure it using the new field "playerdata_value" , "leaderboard_size" and "leaderboard_text"
PlaceHolders : $index , $username , $points
leaderboard_coins: command: /topcoins type: - TEXT - LEADERBOARD text: - "&dCoins Leaderboard :" playerdata_value: coins leaderboard_size: 20 leaderboard_text: "&a$index: &b$username &a- &b$points"
Added a BOOK command type.
Open up a Book GUI without the need of having a book in the inventory.
book1_test: command: /booktest type: BOOK text: - "&2Hello &a$player\n\n\n&3This is a book created with \n&9 MyCommand!\n\n\n\n\n\n\n\n &d -->&5 Next Page" - "Write what you want here!" book_title: MyCommand book_author: emmerrei book_add_to_inventory: false
IconMenu's command type:
Added a way to set RGB colors to the IconMenu POTION Items. (POTION, SPLASH_POTION and LINGERING_POTION)
Put the values like the playerhead name way, splitted by <rgb> 0 to 255 max.
- 1:POTION%255<rgb>120<rgb>0:0:/say hey:COLOR RGB TEST:RGB TEST
%stayopen% now works with execute_mode.
Added $RUN_CONSOLE$ prefix (before the command). This allow's you to execute the command directly as console.
Fixed an exploit.
Added MYSQL.AUTO_RECONNECT in config.yml (true or false)
Added : $hasemptyinventory (return true or false) and $inventorysize (return as a number of items inside the inventory)
Example : $Script$%if%$hasemptyinventory==true or $Script$%if%$inventorysize==0 (Empty inventory) $Script$%if%$inventorysize==41 (Full Inventory)
Added $randomnumber%25<to>50% Placeholder. It will return a number between the 2 numbers.
Added "cooldown-message" make you be able to customize per-command cooldown's messages.
Fixed the support for old server versions 1.12<
Fixed $targetentity triggering 2 times instead of once.
RUN_COMMAND command type:
Added $RUN_CONSOLE$ prefix. Using this live allow's you to run command by the console, per line, where required.
mycmd: command: /test type: RUN_COMMAND runcmd: - "/runthisfromgame" - "$RUN_CONSOLE$/andmefromtheconsole"
$log$ - Custom Logger
It's now possible save logs text in separate log file. Just use log_filename: "filename.log" like the exampel here below, and the $log$ message will get saved in "/plugin/MyCommand/logs/filename.log"
my_custom_logger: command: /mylog type: RUN_COMMAND runcmd: - "$text$&aThis log file is getting saved in &2/MyCommand/logs/filename.log" - "$log$[$player] $multiargs" log_filename: filename.log
Added $rawtext$ , $rawbroadcasttext$ . Allow's to send MyCommand RAW Text's formatted text's to players directly from runcmd.
How to use : Both act the same way of the other placeholder like $text$
Added "$Script$%if%HasNotPermission==perm.node" does the inverse of HasPermission.
Added $PERFORM_COMMAND$ .Placing it before the command you need to run (like in quit or kick event) to perform only a registered command. (This function is for compatibility with VentureChat and similar)
PlayerInteractEvent -> Added an antiflood function. By default is 3 Sec. Added "INTERACTION.DELAY_SEC: 3" in config.yml , and "LANGUAGE.INTERACTION_DELAY" in language.yml
Added a way to communicate to the BungeeCord Proxy and allowing the execution of proxy commands.
1. Place the MyCommand_BungeeCord.jar file inside the BungeeCord plugin folder
2. Open the config file of the Main MyCommand (config.yml) and put PLUGIN_MESSAGE_LISTENER on true
3. Done. Restart proxy and server.
How to use in MyCommand Spigot side.
Use those placeholder at the start of a runcmd line to execute commands on the BungeeCord Proxy. Or use /mycmd bungee (to debug stuffs).
bungeecord_bridge_example: command: /bcb_execute type: RUN_COMMAND runcmd: - "$bungeecord_execute$command_to_execute_on_the_proxy" runcmd: - "$bungeecord_runasproxy$command_to_execute" #It run's the command's as the proxy and not the player. This is like RUN_CONSOLE, it will bypass any permission. runcmd: - "$bungeecord_chat$Chat as a player or execute /server commands NOT PROXY one's" runcmd: - "$bungeecord_broadcast_message$PRIVATE MESSAGE to the sender" runcmd: - "$bungeecord_broadcast_message$BROADCAST MESSAGE on whole PROXY"
$script$HasEmptyInventory who wasn't even working right now. Replaced with the new placeholders : $hasemptyinventory and $inventorysize . Use them in a if condition.
MyCommand for BungeeCord v1.0
MyCommand_BungeeCord.jar isn't just a bridge for the local MyCommand plugin.
I've added some features that's make it a bit more useful.
It's possible create non registered commands directly on the MyCommand_BungeeCord proxy side plugin.
What you can do is to create simple TEXT commands, or RUN_COMMAND and RUN_AS_PROXY one's. There is the support for some features, like the multiple commands in a list, $delay$ and some placeholders.
It is a fresh plugin, it doesn't have any of the MyCommand feature beyond these i've written
Examples : run_command_example: command: /bungeeruncmd type: RUN_COMMAND runcmd: - "$text$&eHello &2$player! &bTesting TEXT" - "$delay$/alert 3" - "$delay$/alert 2" - "$delay$/alert 1" - "/do something" permission-required: true permission-node: "bmycmd.runcommand.test" permission-error: "&cYou can't use this command!" delaytimer: 1 run_as_proxy_ex: command: /gotolobby type: RUN_AS_PROXY runcmd: - "/send $player lobby" - "$text$&eTeleported to lobby." permission-required: false
Main Commands :
/bmycmd (Permission: bmycmd.admin).
/bmycmd check <command>
/bmycmd runasproxy <command>
bmycmd.admin permission also allow's you to run every command you create.
If you don't want to use those features, you can disable the Listener in the config.yml and the impact it will be zero. (if there is any).
Turning off the custom command feature, it always leave the Bridge working allowing server-side MyCommand to communicate with the proxy.