MyCommand icon

MyCommand -----

Make your own, customized Minecraft commands



New Feature and Fixes.
MyCommand v5.6.8 changelog list :

NOTE FROM 5.6.7. P LAYERDATA flatfile(yml) needs to be converted. If you're using a version older than 5.6.7, before updating to 5.6.8, check the changelog of the 5.6.7 to see how to convert the yml database (no MySQL users)

IconMenu's Updates:

IconMenu's can now use $Script$ lines (like runcmd).
Now you can create iconmenue's who can differs by a statement. Check the example below to see how implement them.

Example of use (command by Kjettinge):
Code (YAML):
questscommand:
  command
: /quests
  type
: ICON_MENU
  iconmenu_size
: 18
  register
: true
  permission-required
: false
  iconmenu_title
: GlobalMining Quest
  iconmenu_commands
:
 - "$Script$%if%$PlayerData%RookieHunteFinished%==true"
  - 0:1,WRITTEN_BOOK:0:/warp quest1:§aRookie Hunter
  - "$Script$%else%"
  - 0:1,WRITABLE_BOOK:0:/warp quest1:§aRookie Hunter
  - "$Script$%if%$PlayerData%StartingHunterFinished%==true"
  - 1:2,WRITTEN_BOOK:0:/warp quest2:§aStarting Hunter
  - "$Script$%else%"
  - 1:2,WRITABLE_BOOK:0:/warp quest2:§aStarting Hunter
  - "$Script$%showall%"
  - 1:STONE:0:/showall:§aShow whatever the condition is


In Dynamic IconMenu's the scripts works when created (command called), but aren't going to update dynamically (a.k.a without closing and reopening the GUI).
A workaround to make something similar can be creating something like this (But still close and re-open the GUI):

Code (YAML):
  - "$Script$%if%$PlayerData%test123%==true"
  - 10:STONE:0: %openiconmenu%/mycmd-playerdata set $player test123 false;/mymenu:§cGO to false
  - "$Script$%else%"
  - 10:COBBLESTONE:0: %openiconmenu%/mycmd-playerdata set $player test123 true;/mymenu:§aGO to true
%openiconmenu% is adjusted to make this works.

In the example above, we run 2 commands directly from the GUI, the first one set a value to something, the second one reopen the same gui, to allow the updated scripts to kick-in.

P.S. The line "$Script$%showall%" make possible to show other results after an IF, without creating an useless if just to do that.


iconmenu_mode: PLAYER_LIST is now personalizable.
You can now set up Title and Description.
Code (YAML):

iconmenu_playerlist
:
 command
: /iconmenu_list
 type
: ICON_MENU
 iconmenu_title
: '&3Online Player List &8 (&9$online&8 )'
 iconmenu_mode
: PLAYER_LIST
 iconmenu_commands
:
- ' %stayopen%/say $playerhead:&b&lHead of $playerhead:&aPress here to run;&athe command >; ;/say $playerhead'
 

IconMenu's items can now use the CustomModelData value. This allow's you to use custom textured items from plugin like (ItemsAdder) into your IconMenu.
To use them place the numeric custommodeldata number right after the data id, splitted by a ;

Code (YAML):
  - 1:ITEM_NAME:0; <CUSTOM MODEL DATA ID HERE > :/test:Title:Description  - >
 - 1:ITEM_NAME:0;1:/test:Title:Description  ->
How to know what CustomModelData an item have? Try with "/mycmd tell $itemcustommodeldata"


PlayerData Updates:

/mycmd-playerdata has now a better tab_completer. Now show the section as they should be, and in flatfile it returns also with the list of variables of a player. (MYSQL not implemented).


Added "/mycmd-playerdata set allaccounts <variable> <content>"
-> This command allow's you to set a variable to all existing players. In MySql mode, this command will set the variable to players who already have that one set up.

Added "/mycmd-playerdata list <add | remove> <player_name> <variable> <content>"
-> Create lists of string to be saved.

Added $Script$%PlayerData%listname.addlist=stringtoadd
Added $Script$%PlayerData%listname.removelist=stringtoremove

Added $Script$%PlayerData%array1.contains=string2


The comparator ".contains=" and ".notcontains=" are updated to works on lists, and it looks only for exact results. So if you search for "hello", and in the list there is "hello hello", it return false, you need to search for the exact string line "hello hello".

Code (YAML):
containsexample:
  command
: /containsexample
  type
: RUN_COMMAND
  runcmd
:
 - $Script$ %if%$PlayerData%list1%.contains=$multiargs
  - $text$Correct!
  - $Script$ %else%
  - $text$NOOO!  

PlayerData Economy :

MyCommand can now be used as a basic Economy Plugin, using a playerdata value as storage. You need Vault to make it working.
new lines in config.yml (add them manually if you want use it, or generate a new config.yml):

Code (YAML):
ECONOMY:
  USE_MYCOMMAND_AS_ECONOMY_PLUGIN
: false
  PLAYERDATA_VALUE
: money
  SUFFIX
: "$"

Holograms Updates:

Added /mycmd holograms floatingitem <HoloName> <Material_name>
It spawns an Item on the top of a created hologram, no extra events needed. (maybe this one isn't working perfectly.. i forgot about it lol until this release)


Blockset Updates :

You can now run commands through ItemFrames. The item inside the itemframe must be contained in the right click enable one's of blockset.

/mycmd-blockset itemframe (Show the Help).

Added LISTENERS.ITEMFRAME_LISTENER: false in config.yml

Turn it on, to enable the feature.

Permissions : mycommand.itemframe.break

Miss features, but it is in a working state.


Misc Changes/Fixes:

Fixed "/mycmd-playerdata set" command creating playerdata/uuid.yml files also when the plugin is set to use MySql
Fixed CHAT_LISTENER custom command prefixes not working on new versions.
$player_list now doesn't return anymore with the names of non-visible players. If you are vanished to a player, for example, your name doesn't appears anymore in that list.
%PlayerOptionsFor% was not working.
Changed the order where PlaceHolderAPI replace it's placeholder. (DIDN't TESTED any scenario if anything is like before). This change will fix the problem with $PlayerData%VarIaBlE% not working if the name is Case Sensitive.
PlayerData's now will use long as a value instead of int, to allow greater numbers to be used.
LIVE_CHAT can now user $RUN_CONSOLE$

TAB_COMPLETER Updates:

Added tab_completer_display_mode

by default now is "CHARACTER_BASED", that means when you start typing in the word you want, the suggestions adjust to that word accordingly.
SHOW_ALL just throw at you everything all togheter.

Example:
tab_completer_display_mode: SHOW_ALL

Do not use this option at all if you want the other type, as i said, it's default now.


Added a regex filter to avoid users to input unsafe characters. By default is set to :

config.yml :

Code (YAML):
REGEX:
  PATTERN
: "^[-a-zA-Z0-9&._ ]+"
if you want to add for example, the /, just put it as "^[-a-zA-Z0-9&._ /]+" and so on.. Check on internet for better patterns.
If you don't want to use it, put PATTERN: ".*" and everything will pass.

language.yml

Code (YAML):
LANGUAGE:
  CHARACTERS_NOT_ALLOWED
: "&cYour input contains not allowed characters."

Misc changes and bugfixes.
----------, Dec 27, 2020
Resource Information
Author:
----------
Total Downloads: 283,877
First Release: Apr 24, 2016
Last Update: Jul 4, 2023
Category: ---------------
All-Time Rating:
245 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings