MyCommand v5.6.0

Details

  • Filename
    MyCommand.jar
  • Uploaded by
  • Uploaded
    Nov 1, 2019
  • Size
    402.25 KB
  • Downloads
    3,708
  • MD5
    2b4acc8fefcb42d8bf9892c7666d248a

Supported Bukkit Versions

  • 1.14
  • 1.13
  • 1.12
  • 1.11
  • 1.10
  • 1.9
  • 1.8

Changelog

(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.

 

 

Main:
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.

 

Args:

 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.

 iconmenu_commands:
  - 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.

 

PlayerData :
  Added MYSQL.AUTO_RECONNECT in config.yml (true or false)

 

Placeholders :
  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.

 

 

Cooldown's :
  Added "cooldown-message" make you be able to customize per-command cooldown's messages.

 

Scoreboard's:
  Fixed the support for old server versions 1.12<

 

Itemset:
  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.

 

Playerevents.yml

 

 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.

 

Preparation :

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"

 

REMOVED STUFFs:

$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 reload
/bmycmd list
/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.