MyCommand v5.1.0

Details

  • Filename
    MyCommand.jar
  • Uploaded by
  • Uploaded
    Mar 15, 2014
  • Size
    181.05 KB
  • Downloads
    11,637
  • MD5
    30bc3b91c3b6f72f9424eb5925f79c82

Supported Bukkit Versions

  • 1.7.4
  • 1.7.2
  • 1.6.4

Changelog

MyCommand Version 5.1.0

New features

  • Registered commands (Player and Console) ,runs in the Command Executor. (You can call it from another plugin.)
  • Added new arguments $getdisplayname , $getplayerlistname , $canpickupitems , $getmaxhealth , $getallowflight , $gettotalexperience , $getexptolevel , $getaddress , $wgregionname (Require WorldGuard)
  • Added a better TabCompleter for mycmd-edit (Now suggest types,fields and examples) , mycmd check (show command names) ,itemset load (show saved lists)
  • Added Enchantment support in IconMenù
  • Added WorldGuard region support.
  • Added execute_mode (NORMAL,BLOCK_ONLY,FROM_ANOTHER_COMMAND)
  • Added delaytimer_format (TICKS,SECONDS) (by default it's SECONDS)
  • Added cooldown for custom commands.
  • Added require_all_arguments: false
  • Added new options for %PlayerOptions% (playSound , playEffect , addPotionEffect , removePotionEffect)
  • Added %Repeat%N% Function.Use in text or runcmd,for repeat n times an command or text.


Fixed or updated:

  • Return with error-message when any $script$ fails;
  • Fixed $multiargs and $arg1... for console when used in a text type.
  • Fixed Case sensitive command not recognized.
  • Minor changes


P.S: RAW_TEXT type require an external plugin.(Not released)


Examples :


Added Enchantment support in IconMenù

0:ITEM_NAME;ENCHANTMENT_NAME:0:/command:Title:Description


Added WorldGuard region support.

allowed_wg_regions:
 - test2
 - test3
Or : 
blocked_wg_regions:
 - test4

Added delaytimer_format (TICKS,SECONDS) (by default it's SECONDS)

(20 server Ticks = 1 second)
Example:
  delaytimer: 20
  delaytimer_format: TICKS


Added cooldown for custom commands.

cooldownhere:
  command: /command
  type: TEXT
  ...
  cooldown: 5

How to use '%Repeat%n% '

clearchat:
  command: /mycmd-clearchat
  type: BROADCAST-TEXT
  text:
  - '%Repeat%30% '

or 
  runcmd:
  - '%Repeat%30%/dosomething'

execute_mode example and others:

'only_from_block':
  command: /onlyblock
  execute_mode: BLOCK_ONLY
  type: TEXT
  text:
  - "This command can be called only from /mycmd-blockset"
'only_from_command':
  command: /onlybycommand
  execute_mode: FROM_ANOTHER_COMMAND
  type: TEXT
  text:
  - "This command can be called only from another mycmd command"
'potion_effect':
  command: /speed
  type: RUN_COMMAND
  runcmd:
  - '%PlayerOptions%addPotionEffect: SPEED:100:0'
'effect':
  command: /effect
  type: RUN_COMMAND
  runcmd:
  - '%PlayerOptions%playEffect: RECORD_PLAY:2260'

Effect list : http://jd.bukkit.org/rb/apidocs/org/bukkit/Effect.html
Sounds list : http://jd.bukkit.org/rb/apidocs/org/bukkit/Sound.html

%PlayerOptions%addPotionEffect: POTION_NAME:TIME_IN_TICKS:LEVEL
%PlayerOptions%playEffect: EFFECT_NAME:INT_DATA
$delay$%PlayerOptions%playSound: SOUND_NAME:VOLUME:BYTE_DATA

'music':
  command: /music
  type: RUN_COMMAND
  runcmd:
  - '$delay$%PlayerOptions%sendMessage: &aJust an example'
  - '$delay$%PlayerOptions%playSound: NOTE_BASS:1.0F:1'
  - '$delay$%PlayerOptions%playSound: NOTE_BASS_DRUM:1.0F:1'











Old Version changes :

MyCommand Version 5.0.1

New features

  • Added BarAPI features,with 2 new commands type.
  • BAR_API_TEXT and BAR_API_BROADCAST_TEXT


Fixes :

  • Fixed Economy with allowdebit on false.
  • permission-error now replace variables and color.
  • Minor changes.


How to use BarApi features

MyCommand Version 5.0.0


Summary :
New features

  • Rewrited some of the main plugin code.
  • It's not more requisite put the commands in the config by ascending order
  • Now it's possible register real commands!Also with customizable TabCompleter.
  • Added some Player API utilizzable in RUN_COMMAND Type.
  • Added "permission-required" command field
  • Added "allowed_worlds" command field
  • Added "executefor" command field
  • Added MetricsLite
  • Added Cooldown command type
  • Added the permission mycommand.bypass.cooldown
  • Added Per world commands in RUN_COMMAND Type.Put $world=%world_name% as a prefix of your command
  • Added /mycmd-signset "mycommand.sign.set"
  • Debug command /mycmd register <commandname>
  • Minor changes.


Fixed or updated:

  • Revisited all plugin commands.
  • $multiargs commands now works without any argument typed.
  • RUN_COMMAND now support 9 arguments. ($arg1 $arg2 ... $arg9)


Breaking changes :

  • Rewrited the config.yml.Delete your old file and lets generate new from the plugin.
  • Renamed Addtimer command type in Warmup. Update your old "ADDTIMER" commands in "WARMUP".
  • Changed the permission mycommand.bypass.timer in mycommand.bypass.warmup
  • Removed ignoredworlds in the main config file,and re-added "per command"
  • (Only ItemSet) Changed $targetplayer argument in $targetentity (Now works also on Mobs)
  • If you have options.commandsnumber in you commands.yml config file,remove it.

Examples :


Now it's not more requisite put the commands in the config by ascending order.For example :

Instead of :

'1':
  command: /gm
  type: ALIAS

You can rename it :

'gamemode':
  command: /gm
  type: ALIAS
  alias: /gamemode

How register commands?
put "registered: true" below the command you want register.
(For now the RealCommand it's an empty command.All the code still running in the preprocess event.In the future i see to make it better.)

Example :

'command_name':
  command: /greets 
  type: RUN_COMMAND
  runcmd:
  - /say $arg1
  registered: true
  tab_completer:
  - Hi
  - Hello!

How to use permission-required :

'yourcommand':
  command: /lol
  type: TEXT
  permission-required: false

How to use allowed_worlds: :
You can use the "error-message" line for put an custom error.

'onlyinthenether':
  command: /onlynether
  type: TEXT
  text:
  - "&cYea,The Nether!"
  allowed_worlds:
  - world_nether
  error-message: "This command is not accessible from this world"

How to use "$world=%world_name%" in RUN_COMMAND Type :

'per_world_commands':
  command: /perworldcommand
  type: RUN_COMMAND
  runcmd:
  - "$world=%world%/me This command will be performed only if you are in the world"
  - "$world=%world_nether%/me And this only if you are in the nether"
  permission-required: false

How to use "executefor" command field :

Supported types :

SENDER (Execute the command only for the sender)
ONLINE_PLAYERS (Execute the command for every player online)
WORLD_PLAYERS (Execute the command for every player in the same world of the sender)

'executefortest':
  command: /executeforall
  type: RUN_CONSOLE
  executefor: ONLINE_PLAYERS
  runcmd
  - "/tp $player 0 64 0"
  permission-required: false


Basically works with every command type,exempt ADD_PERMISSION
(By Default every commands it's on SENDER type) (maybe,some of this options can made some loops if used wrongly.)

How to use "Player API" in RUN_COMMAND Type. :
Example of use :

heal:
  command: /heal
  type: RUN_COMMAND
  runcmd:
  - '%PlayerOptions%setHealth: 20'
  - '%PlayerOptions%setFoodLevel: 20'
  - '%PlayerOptions%sendMessage: &aHealed!'

or

  runcmd:
  - '%PlayerOptions%clearInventory: true'
  - '%PlayerOptions%teleport: world:0.0:100.0:0.0'
  - '%PlayerOptions%setItemInHand: STONE_SWORD:1'

Options available :

Boolean (can be true or false)

setAllowFlight , setBanned , setCanPickupItems , setCustomNameVisible , setFlying , setOp , setSneaking , setSprinting , setWhitelisted

(only true)

leaveVehicle , resetMaxHealth , closeInventory , clearInventory

String (can be text)

setCustomName , setDisplayName , setGameMode , setPlayerListName , kickPlayer , teleport , setBedSpawnLocation , setCompassTarget , setItemInHand , setItemOnCursor , chat , sendMessage

Integer,Double or Float (can be an number)

setExhaustion , setExp , setFallDistance , setFireTicks , setFlySpeed , setHealth , setFoodLevel ,setLastDamage , setLevel , setMaxHealth , setMaximumAir , setNoDamageTicks , setRemainingAir , setSaturation , setTotalExperience , giveExp , giveExpLevels , damage

For now teleport , setBedSpawnLocation , setCompassTarget works in this way :

- '%PlayerOptions%teleport: world_name:X:Y:Z'

Instead,setItemInHand , setItemOnCursor in this way

- '%PlayerOptions%setItemInHand: MATERIAL_NAME:AMOUNT'