Ir para conteúdo

Como criar comandos no MyCommand


RUSHyoutuber

Posts Recomendados

TÓPICO EM DESENVOLVIMENTO!


» ▬▬▬▬▬▬▬▬▬ MyCommand ▬▬▬▬▬▬▬▬▬ «


 
No tutorial de hoje irei ensinar vocês a criar todos os tipos de comandos, menus, gambiaras etc... tudo dentro do nosso famoso MyCommand.
 
Primeiramente vou ensinar as coisas básicas que você irão utilizar em todos os comandos.
OBS: Estas opções não são obrigatórias nos comandos. Você pode criar os comandos sem essas opções, tudo vai depender do tipo do comando que você vai criar.
 
 

permission-required: false

Está opção ira definir se o player precisa ou não de permissão para poder executar o comando.

 

permission-error: '&cVocê não tem permissão!'

Está opção ira definir a mensagem que é enviada quando o player não tem permissão para executar o comando.

 

permission-node: mycommand.cmd.<comando>

Está opção serve para definir a permissão que o player ira precisar para usar o comando.

 

error-message: "Comando incorreto, use /divulgar <mensagem>"

Está opção ira definir qual mensagem ira aparecer quando o player não colocar todos os argumentos que o comando pede.

 

success-message: "&aVocê divulgou no chat!"

Está opção ira definir qual mensagem ira aparecer quando o comando for executado com sucesso.

 

 require_all_arguments: true

Está opção serve para definir se o player ira precisar colocar os argumentos po comando funcionar, caso ele não colocar os argumentos necessários ira aparecer a mensagem de erro "error-message"

 

 register: false

Está opção serve para definir se o comando sera registrado no MyCommand. Caso está opção for definida como true o comando ira aparecer no /(tab) e ele também não poderá ser usado quando o player estiver em combate.

 

 delaytimer: 2

Está opção serve para definir o delay usado pela variável $delay$ ou seja se você colocar $delay$/warp arena" o comando só sera executa depois de 2 segundos.

 

 tab_completer:

 - creative

 - survival

Está opção serve para auto completar um comando. Por exemplo /gamemode (tab) ira aparecer creative e survival facilitando a sua vida XD.
 

itemcost: "COBBLESTONE:5"

Está opção serve para cobrar itens para poder executar um comando. Por exemplo para executar o comando /divulgar o player ira precisar de 5 pedras no inventario.
 

Agora que nós já aprendemos as opções dos comandos vamos fazer um comando para testar tudo isso.
Exemplo 1:
 

Alerta:
  command: /Alerta
  type: BROADCAST_TEXT
  text:
  - '§2[ALERTA] $multiargs'
  error-message: "Comando incorreto, use /alerta <mensagem>"
  success-message: "&aVocê enviou um alerta no chat!"
  require_all_arguments: true
  permission-required: true
  permission-node: mycommand.cmd.Alerta
  permission-error: "&cVocê não tem permissão para utilizar este comando."
  register: false

Exemplo 2:

gamemode:
  command: /gamemode
  type: RUN_COMMAND
  runcmd:
  - '/gm $arg1'
  required_args: 1
  register: true
  tab_completer:
  - survival
  - creative
  - spectator
  - adventure
  error-message: '&cVocê deve usar /gamemode <modo-de-jogo>'
  permission-error: '&cVocê não tem permissão para utilizar este comando'
  permission-required: true

No primeiro código nós criamos um comando básico de /alerta onde você envia um alerta no chat, e no segundo código nós encurtamos o comando /gamemode para /gm.
 
 
Agora que vocês já sabem sobre as opções dos comandos vamos aprender sobre os tipos de comandos que podem ser criados no MyCommand. No final irei mostrar 1 exemplo de cada tipo de comando!

type: TEXT

Este tipo de comando mostra uma texto no chat do player quando o comando é usado.

 

type: BROADCAST_TEXT

Este tipo de comando mostra uma texto no chat para todos os players do servidor.

 

type: RUN_COMMAND

Este tipo de comando executa um skript ou uma série de comandos e códigos (é um dos tipos mais usados).

 

type: RUN_COMMAND_RANDOM

Este tipo de comando executa um comando aleatório dentro de uma lista de comandos. Exemplo: você tem 10 comandos e quer executar 1 aleatoriamente.

 

type: RUN_CONSOLE

Este tipo de comando executa um código ou um comando dentro do console. (é bem útil)

 

type: ADD_PERMISSION

Este tipo de comando serve para criar uma permissão ou bloquear um comando como o /plugins.

 

type: RUN_AS_OPERATOR

Este tipo de comando serve para executar um comando como se o player tivesse OP, ou seja ele burla a permissão do comando (não é muito confiável e é meio inútil)

 

type: ICONMENU

Este tipo de comando serve para criar um menu GUI em varios formatos (é o meu preferido).

 

type: SCOREBOARD

Este tipo de comando serve para criar uma scoreboard temporaria bem simples e com pouquíssimas variaveis.

 

type: ALIAS

Este tipo de comando serve para encurtar um comando ou criar um variação do comando (gamemode -> gm)

 

type: CALL_URL

Executa ou verifica um skript em um site ou documento php (nunca usei e também não sei como usar kkkk)

 

type: TITLE

Este tipo de comando envia um title na tela do player (igual TitleManager)

 

type: BROADCAST_TITLE

Este tipo de comando envia um title na tela de todos os players do servidor (igual TitleManager)

 

type: RAW_TEXT

Este tipo de comando mostra uma texto em JSON no chat do player (JSON são aqueles texto que você consegue passar o mouse em cima e clicar).

 

type: BROADCAST_RAW_TEXT

Este tipo de comando mostra uma texto em JSON no chat de todos os player do servidor (JSON são aqueles texto que você consegue passar o mouse em cima e clicar).

 

type: EXP_BAR

Este tipo de comando cria uma contagem regressiva na barra de XP. O seu nivel de XP vai descendo 10, 9, 8.... até 0 ai o seu xp volta ao normal.

 

type: ACTION_BAR

type: BROADCAST_ACTION_BAR

Estes dois tipos de comandos enviam mensagens na action bar do player ou do servidor. Por algum motivo desconhecido eles não funcionam em servidores 1.8.

 

type: BUNGEE_TP

Este tipo de comando serve para teleportar players de 1 servidor para o outro, igual o comando /server ou /send.

 

 

Agora que vocês já sabem sobre os tipos de comandos que podem ser criados pelo MyCommand vamos aprender um pouco sobre as variáveis do plugin e depois vamos ver alguns exemplos de comandos.
 
$player - Retorna o nome do player.
$getdisplayname - Retorna o nome de exibição do player.
$uuid - Retorna a UUID do player.
$getaddress - Retorna o IP do player.
$health - Retorna o HP do player.
$food - Retorna a fome do player.
$exp - Retorna o XP do do player.
$level - Retorna o level de XP do player.
$getexptolevel - Retorna a quantia de XP que falta pra upar de level.
$gamemode - Retorna o modo de jogo do player.
$world - Retorna o nome do mundo.
$biome - Retorna o nome do bioma.
$locX - Retorna a coordenada X.
$locY - Retorna a coordenada Y.
$locZ - Retorna a coordenada Z.
$loc_pitch - Retorna o pitch.
$loc_yaw - Retorna o yaw.
$loc_highestY - Retorna a coordenada Y onde esta o bloco mais alto.
$getallowflight - Retorna TRUE e FALSE, mostra se o player esta de fly.
$oplist - Retorna a lista de players com OP no servidor.
$online - Retorna o número de players online no servidor.
$ponline - Retorna a lista com o nome de todos os players online no servidor.
$server-name - Retorna o nome do servidor (configurado no server.properties)
$server-motd - Retorna a motd do servidor (configurada no server.properties)
$todaydate - Retorna o dia atual.
$wgregionname - Retorna o nome da region no worldguard.
$primarygroup - Retorna o grupo do PEX.
$chatprefix - Retorna o prefixo do chat.
$chatsuffix - Retorna o suffixo do chat.
$iteminhand - Retorna o nome do tipo do item que o player esta segurando.
$amount_iteminhand - Retorna a quantidade do item que o player esta segurando.
$name_iteminhand - Retorna o nome do item que o player esta segurando
$arg1 , $arg2 , $arg3 .... $arg9 - Retorna os argumentos digitados pelo player.
$multiargs - Retorna os varios argumentos digitados pelo player (tipo uma frase curta)
'%Repeat%10% Oi' - Repete a mensagem X vezes.
'%ExpBar%10%' - Cria uma contagem regressiva de 10 segundos na ExpBar.
'$text$ Oi' - Envia um texto (isso é usado muito nos run_command)
'$broadcasttext$ Oi' - Envia um texto broadcast (isso é usado muito nos run_command)
$random_color - Retorna uma cor aleatória.
$randomplayer - Retorna o nome de um player aleatório online.
$randomnumber%100% - Retorna um numero aleatório de 0 a 100. Esse número pode ser configurado para quando você quiser, por exemplo $randomnumber%5% retorna um número aleatório de 0 a 5
 OBS: Essas variáveis podem ser usadas em qualquer tipo de comando, seja ele texto, title, runcommand, menu_gui etc...
 
Agora que vocês sabem um pouco mais sobre as variáveis do MyCommand vou ensinar um pouco sobre o Player API que é uma série de eventos que a gente pode usar nos comandos do tipo RUN_COMMAND.
 
TRUE ou FALSE
"%PlayerOptions%setAllowFlight: true" - Liga ou desliga o Fly do player.
"%PlayerOptions%setBanned: true" - Bane ou desbane o player (só funciona quando ele relogar no server)
"%PlayerOptions%setOp: false" - Tira e coloca o OP do player.
"%PlayerOptions%setWhitelisted: false" - Tira e colocar o player da Whitelist.
 
APENAS TRUE
"%PlayerOptions%leaveVehicle: true" - Tira o player de dentro do veiculo.
"%PlayerOptions%closeInventory: true" - Fecha o inventario ou o menu gui do player.
"%PlayerOptions%clearInventory: true" - Limpa o inventario do player.
 
ALTERA O NOME DO PLAYER (tipo /fake)
 "%PlayerOptions%setCustomName: $arg1"
 "%PlayerOptions%setDisplayName: $arg1"
 "%PlayerOptions%setPlayerListName: $arg1"
O $arg1 vai ser definido pelo player, caso você queira colocar um nome especifico é só apagar o $arg1 e colocar o nome que você quer.
 
OUTROS
"%PlayerOptions%setGameMode: CREATIVE" - Altera o modo de jogo do player.
"%PlayerOptions%teleport: nome_do_mundo:X:Y:Z" - Teleporta o player para uma coordenada do mapa.
"%PlayerOptions%setBedSpawnLocation: nome_do_mundo:X:Y:Z" - Define o ponto de renascimento do player (spawn point)
"%PlayerOptions%kickPlayer: Você foi kickado do servdor!" - Kicka o player do servidor (você pode alterar a mensagem)
"%PlayerOptions%sendMessage: Ola $player" - Envia uma mensagem pro player (igual o $text$)
"%PlayerOptions%playSound: ANVIL_BREAK:1.0:1" - Envia um som para o player. (NOME_DO_SOM:VOLUME:BYTE_DATA)
"%PlayerOptions%playEffect: RECORD_PLAY:2260" - Executa efeito de particulas para o player (NOME_DO_EFEITO:INT_DATA)
"%PlayerOptions%addPotionEffect: SPEED:1200:0" - Adiciona um efeito para o player (NOME_DA_POÇÃO:TEMPO_EM_TICKS:LEVEL)
"%PlayerOptions%setFlySpeed: 5" - Define a velocidade do fly do player.
"%PlayerOptions%setHealth: 20" - Define o HP do player.
"%PlayerOptions%setFoodLevel: 20" - Define a fome do player.
"%PlayerOptions%giveExp: 200" - Envia uma quantidade de XP para o player.
"%PlayerOptions%giveExpLevels: 10" - Envia uma quantidade de Levels de XP para o player.
"%PlayerOptions%damage: 2" - Aplica um dano no player.
"%PlayerOptions%setFireTicks: 100" - Faz o player pegar fogo.
OBS: 20 TICKS = 1 SEGUNDO, 200 TICKS= 10 SEGUNDOS, 1200 TICKS = 1 MINUTO, 6000 TICKS = 5 MINUTOS
PARA ADICIONAR E SETAR ITENS PARA O PLAYER É FACIL XD
Este é o padrão! ITEM:QUANTIDADE:DATA_TAG
Exemplo:
'%PlayerOptions%setItemInHand: DIAMOND_SWORD:1:0' - Seta um item na mão do player.
'%PlayerOptions%setHelmet: DIAMOND_HELMET:1:0' - Seta um item na cabeça do player.
'%PlayerOptions%setChestplate: DIAMOND_CHESTPLATE:1:0' - Seta um item no peitoral do player.
'%PlayerOptions%setLeggings: DIAMOND_LEGGINGS:1:0' - Seta um item na calça do player.
'%PlayerOptions%setBoots: DIAMOND_BOOTS:1:0' - Seta um item nas botas do player.
'%PlayerOptions%addItem: GOLDEN_APPLE:32:1' - Seta um item no inventario.
 
Caso a gente quiser colocar um nome personalizado ou colocar encantamentos devemos seguir este padrão
'ITEM:QUANTIDADE:DATA_TAG:NOME_DO_ENCANTAMENTO;NIVEL:NOME_DO_ITEM:LORE'
Exemplo:
'%PlayerOptions%addItem: DIAMOND_SWORD:1:0:DAMAGE_ALL;5;FIRE_ASPECT;2;DURABILITY;3:&4Espada Suprema:Espada Foda'
'%PlayerOptions%setBoots: DIAMOND_BOOTS:1:0:PROTECTION_ENVIRONMENTAL;4;DURABILITY;3:&4Bota Suprema:Lore Linha1;Lore Linha2;Lore Linha3'
 
OBS: Caso a gente queira setar mais de 1 linha na lore basta colocarmos ;
 
Agora quer vocês já conhecem todas a variaveis e todas as options do Player API do MyCommand vamos começar a criar comandos!
Eu irei criar vários comandos de vários tipos para vocês entenderem bem!
 
Exemplos de comandos do tipo TEXT


Texto bem simples sem variáveis apenas texto:

 

regras:
  command: /regras
  type: TEXT
  text:
  - '&a &l É PROIBIDO:'
  - ''
  - '&6* &aFazer Flood'
  - '&6* &aFazer Spam'
  - '&6* &aDivulgar'
  - '&6* &aUsar Hacker'
  permission-required: false

niuf6lS6TCGUqgqfO8TWMw.png


 
Texto mais avançado com varias variáveis:

 










info:
  command: /info
  type: TEXT
  text:
  - '&eOlá $player!'
  - '&eVocê está no mundo &a$world &ee no bioma &a$biome&e.'
  - '&eSuas coordenadas são &6X:&a $locX &6Y:&a $locY &6Z:&a $locZ'
  - '&eVocê está com $level níveis de XP e está no gamemode $gamemode.'
  - '&eVocê está com $health de vida e $food de fome.'
  permission-required: false

PQlPaCyNQwmfbqc5VX0Abg.png



 
Exemplos de comandos do tipo BROADCAST_TEXT


Comando broadcast simples de /bomdia



 









bomdia:
  command: /bomdia
  type: BROADCAST_TEXT
  text:
  - ''
  - '&6&lBom dia a todos!'
  - ''
  permission-required: true
  permission-node: mycommand.cmd.bomdia
  permission-error: '&cVocê não tem permissão para executar este comando.'

6A48_XMdQhqBcHLxakp7OQ.png


Comando broadcast simples de /alerta

 










alerta:
  command: /alerta
  type: BROADCAST_TEXT
  text:
  - ''
  - '&a[ALERTA] $multiargs'
  - ''
  permission-required: true
  required_args: 1
  error-message: "&cComando incorreto, use /alerta <mensagem>"
  permission-node: mycommand.cmd.alerta
  permission-error: '&cVocê não tem permissão para executar este comando.'

hsyCRgeEQoGzltlRJ053Tw.png


Comando broadcast para limpar o chat do servidor

 










clear_chat:
  command: /clearchat
  type: BROADCAST_TEXT
  text:
  - '%Repeat%100%&a '
  - '&aO chat foi limpo por $player!'
  permission-required: true
  permission-node: mycommand.cmd.clear_chat
  permission-error: '&cVocê não tem permissão para executar este comando.'

cLjWyzjWSo64RwMMsTFbaw.png


Comando broadcast para sortear itens.

 










sortear:
  command: /sortear
  type: BROADCAST_TEXT
  text:
  - "$delay$&a"
  - "&aIniciando Sorteio de $multiargs em 5 segundos..."
  - "$delay$&a"
  - "$delay$&a5"
  - "$delay$&a4"
  - "$delay$&a3"
  - "$delay$&a2"
  - "$delay$&a1"
  - "$delay$&aGO!"
  - "$delay$&aO player sorteado foi &e$randomplayer"
  delaytimer: 2
  required_args: 1
  delaytimer_format: SECONDS
  permission-required: true
  permission-node: mycommand.cmd.sortear
  error-message: '&fComando Incorreto, Use: &c/sortear <item que você vai sortear>'
  permission-error: "&cVocê não tem permissão para utilizar este comando."

6c94gGd4RMW3xA2AauVkAQ.png



 
Exemplos de comandos do tipo RUN_COMMAND_RANDOM


Este comando é 1 exemplo basico, ele escolhe 1 aleatório da lista.

 










comandoAleatorio:
  command: /Aleatorio
  type: RUN_COMMAND_RANDOM
  runcmd:
  - '/me Comando1'
  - '/me Comando2'
  - '/me Comando3'
  - '/me Comando4'
  - '/me Comando5'
  - '/me Comando6'
  - '/me Comando7'
  permission-required: false

0ycIEGqNQNedaeFUSkY5PQ.png


Este sistema que vocês vão ver a seguir é um tipo de loteria. Onde o player aposta 1 diamante e tem a chance de perder, ganhar +1 ou continuar com o mesmo diamante.

 










comandoSorte:
  command: /sorte
  type: RUN_COMMAND_RANDOM
  runcmd:
  - '$delay$%PlayerOptions%addItem: DIAMOND:1:0'
  - '$delay$$text$&cPerdeu!'
  - '$delay$%PlayerOptions%addItem: DIAMOND:2:0'
  itemcost: 'DIAMOND:1'
  error-message: '&cVocê precisa ter 1 diamante no seu inventário para poder testar sua sorte.'
  success-message: "&aApostado!"
  delaytimer: 3
  permission-required: false

 


OBS: Esse tipo de comando não é muito usado... ( eu usei apenas 2 vezes na vida )


 
Exemplos de comandos do tipo RUN_CONSOLE


Como vocês sabem pessoas com OP não podem usar o comando /pex apenas pessoas com permissão * podem usar o PEX então eu criei um comando que liberava o /pex pros OPs facilitando assim nossa vida.

Ppex:
  command: /ppex
  type: RUN_CONSOLE
  runcmd:
  - /pex $multiargs
  error-message: '&fComando Incorreto, Use:&c /Ppex <função>'
  required_args: 1
  permission-required: true
  permission-node: mycommand.cmd.Ppex
  permission-error: '&cVocê não tem permissão para utilizar este comando.'

OBS: Essa é apenas uma das muitas gambiarras que eu fazia com o MyCommand, tudo vai depender da sua criatividade :D


 
Exemplos de códigos do tipo ADD_PERMISSION


Este código bloqueia o /pl e o /plugins para pessoas sem permissão.

 

pl:
  command: /pl
  type: ADD_PERMISSION
  permission-required: true
  permission-node: mycommand.cmd.pl
  permission-error: '&cVocê não tem permissão para utilizar este comando.'
plugins:
  command: /plugins
  type: ADD_PERMISSION
  permission-required: true
  permission-node: mycommand.cmd.plugins
  permission-error: '&cVocê não tem permissão para utilizar este comando.'

dAHablASTEOGhP1eHaYDtQ.png


 
Este código serve para trocar aquela mensagem que aparece quando alguém tenta digitar comandos do minecraft como /op ou /reload etc.... 

 










reload:
  command: /reload
  type: ADD_PERMISSION
  permission-required: true
  permission-node: mycommand.cmd.reload
  permission-error: '&cVocê precisa ser do grupo gerente ou superior para poder usar este comando.'

qzVFLciGTxiPUC6pAj9eKQ.png


Basicamente você consegue bloquear comandos e trocar mensagens de permissão usando esse código, ou seja é algo super util.


 
Exemplo de comando do tipo RUN_AS_OPERATOR


Este tipo de comando é inútil, pois é como se você liberasse OP para o player...
O único comando que eu já criei usando esse tipo de comando é o /suicidio 










suicidio:
  command: /suicidio
  type: RUN_AS_OPERATOR
  runcmd:
  - '/kill $player'
  - '$text$&cVocê se matou!'
  permission-required: false

pOHt95-5TYCwJgdlEO3uFw.png
 
OBS: O comando /suicido também poderia ser criado usando o type: RUN_CONSOLE... ele ia funcionar do mesmo jeito.
 
Gambiarra que eu fiz usando esse tipo de comando


Esse tipo de comando é usado raramente... a unica vez que eu usei ele foi quando eu baixei um plugin que modificava as TNTs, o problema era que você não conseguia pegar as TNTs pelo console o unico jeito de pegar as TNTs era usando o comando /tnt give então eu criei um comando chamado /@$@TNT@$@, esse comando era um comando do tipo RUN_AS_OPERATOR. Ai quando o player fosse comprar a TNT pelo /shop ele executava esse comando como se estivesse de /op então ele consegui pegar as tnts...  GAMBIARADA 10/10 ehuhuehuehue



 
Exemplos de comandos do tipo ALIAS


O tipo de comando ALIAS é o mais facil de se entender... ele só serve pra copiar ou encurtar outros comandos.










plot:
  command: /p
  type: ALIAS
  alias: /plot
  permission-required: false
arena:
  command: /arena
  type: ALIAS
  alias: /warp arena
  permission-required: false

 


 
Exemplos de comandos do tipo TITLE


Estes titles são bem uteis, você pode enviar um title quando o player entra no servidor igual o TitleManager.
 
Exemplo simples de title que mostra em que bioma você está

 

bioma:
  command: /bioma
  type: TITLE
  text:
  - '&2Olá $player'
  - '&aVocê esta no bioma $biome'
  permission-required: false

QNqrRAGUT1e3qiI-_JzxNA.png


 
Exemplo de title que mostra quando o player entra no servidor


Para que o código seja executado quando o player entrar no servidor nós devemos primeiramente acessar o arquivo config.yml dentro da pasta do MyCommand e alterar a opção EXTRA_LISTENER: false por padrão ela estará false, para funcionar devemos colocar true.
 
Logo após alterarmos a config.yml iremos acessar o arquivo playerevents.yml dentro da pasta do MyCommand.
Por padrão ira estar tudo desativado então iremos no evento PlayerJoin e iremos colocara seguinte configuração:










PlayerJoin:
  active: true
  execute:
  - '/@jointitle'

Logo após alterarmos o arquivo playerevents iremos criar o comando /jointitle que ficara deste jeito:

jointitle:
  command: /@jointitle
  type: TITLE
  text:
  - '&6Factions Flame'
  - '&eSeja Bem Vindo!'
  permission-required: false

Agora sempre que um player entrar no servidor ele ira receber o seguinte title:
qwS4lL2mRy2Le0irn0LOtg.png
 
Caso você tenha ficado com alguma duvida de como fazer isso acesse este tópico:
http://gamersboard.com.br/topic/53938-substituindo-o-titlemanager-pelo-mycommand/


 
A gente pode criar também um sistema para que sempre que a gente mate um player apareça um title na tela.


Primeiramente a gente terra que ativar o extra_listener dentro da config.yml. Logo após ter feito isso iremos entrar dentro do arquivo playerevents.yml e iremos procurar pelo código PlayerDeath: neste código iremos deixar mais ou menos desta maneira

PlayerDeath:
  active_on_kill: true
  active_on_death: false
  prevent_suicide: true
  ignore_env_or_mobs_deathcause: false
  execute_for_killer:
  - '/@playerkiller'
  execute_for_defeated:
  - ''

 
Logo após termos feito isso iremos criar um comando com o seguinte código:

playerkiller:
  command: /@playerkiller
  type: TITLE
  text:
  - '&c'
  - '&cVocê matou $killed_player'
  permission-required: false

 
Agora toda vez que um player matar outro player ele recebera o seguinte title:
uGsnebBcRPadVSqNW15XEg.png



 
Exemplos de comandos do tipo BROADCAST_TITLE


Os comandos do tipo BROADCAST_TITLE geralmente são usados pela staff para dar um alerta ou algo do tipo.
 
Veja aqui um exemplo de comando /reiniciar

 

reiniciar:
  command: /reiniciar
  type: BROADCAST_TITLE
  text:
  - '&cALERTA!'
  - '&eReiniciando servidor...'
  permission-required: true
  permission-node: mycommand.cmd.reiniciar
  permission-error: '&cVocê não tem permissão para utilizar este comando.'

yRaEGg8rQbOVlFx-OFd_4w.png



 
Exemplos de comandos do tipo RAW_TEXT


Os comandos do tipo RAW_TEXT são os mais utilizados pois eles são textos normais mas com função JSON onde o player pode interagir com a mensagem.
 
Os comandos em RAW_TEXT devem sempre seguir este padrão: "FRASE;FRASE_EM_JSON;COMANDO" 
 
Exemplo : "/warp arena - Teleporta você para arena;Clique para ir para arena;/warp arena"
 
Caso você queira que a frase abra um link você deve colocar $OPEN_URL$ antes da frase.
Caso você queira que o comando seja executado automaticamente você deve colocar $RUN_COMMAND$ antes da frase.
 
Este comando /site é 1 exemplo basico de RAW_TEXT

 










site:
  command: /site
  type: RAW_TEXT
  text:
  - '&f&lACESSE NOSSAS REDES SOCIAIS'
  - ''
  - '$OPEN_URL$&9&lFacebook;&fClique para acessar;https://twww.facebook.com/rush'
  - '$OPEN_URL$&b&lTwitter;&fClique para acessar;https://twww.twitter.com/canalrush'
  - '$OPEN_URL$&c&lYouTube;&fClique para acessar;https://twww.youtube.com/rushteam'
  - '$OPEN_URL$&3&lTeamSpeak;&fClique para acessar;http://www.teamspeak.com/invite/ts3floco.com/?server_uid=WsJaAxx40TeCqM5r%2FcOwQuR1m6A%3D'
  permission-required: false 

a981zg0VSIOLCkFLutsjEQ.png


 
Este comando  /ajuda é outro exemplo de RAW_TEXT

 










ajuda:
  command: /ajuda
  type: RAW_TEXT
  text:
  - '&2-&a-&2-&a-&2-&a-&2-&a-&2-&a-&2-&a- &e&lLISTA DE COMANDOS &2-&a-&2-&a-&2-&a-&2-&a-&2-&a-&2-&a-'
  - '$RUN_COMMAND$&e/arena &8-&7 Teleporta para a arena.;Clique para se teleportar para a arena;/warp arena'
  - '$RUN_COMMAND$&e/spawn &8-&7 Teleporta para o spawn.;Clique para se teleportar para o spawn;/warp spawn'
  - '$RUN_COMMAND$&e/mina &8-&7 Teleporta para a mina.;Clique para se teleportar para a mina;/warp mina'
  - '$RUN_COMMAND$&e/loja &8-&7 Teleporta para a loja.;Clique para se teleportar para a loja;/warp loja'
  - '$RUN_COMMAND$&e/vip &8-&7 Teleporta para a area vip.;Clique para se teleportar para a vip;/warp vip'
  - '$RUN_COMMAND$&e/shop &8-&7 Abre o shop do servidor.;Clique para abrir o shop;/shop'
  - '$RUN_COMMAND$&e/kits &8-&7 Abre o menu dos kits.;Clique para abrir o menu dos kits;/kits'
  - '$RUN_COMMAND$&e/sethome &8-&7 Define uma home.;Clique para definir uma home;/sethome'
  - '$RUN_COMMAND$&e/delhome &8-&7 Deleta uma home.;Clique para deletar uma home;/delhome'
  - '$RUN_COMMAND$&e/home &8-&7 Teleporta para uma home.;Clique para se teleportar para uma home;/home'
  permission-required: false 

8FlN8f7FRdqpWfN-xxNimQ.png


 
Este comando /cores é o mais simples, ele não executa comandos nem abre links, apenas mostra informações.

 










Cores:
  command: /cores
  type: RAW_TEXT
  text:
  - '&f&lL&e&lI&2&lS&3&lT&4&lA&d&l D&6&lE &7&lC&c&lO&9&lR&b&lE&a&lS'
  - ''
  - '&1&$darkblue1 = Azul Escuro;&1&$darkblue1 = Azul Escuro'
  - '&2&$darkgreen2 = Verde Escuro;&2&$darkgreen2 = Verde Escuro'
  - '&3&$darkteal3 = Ciano;&3&$darkteal3 = Ciano'
  - '&4&$darkred4 = Vermelho Escuro;&4&$darkred4 = Vermelho Escuro'
  - '&5&$purple5 = Roxo;&5&$purple5 = Roxo'
  - '&6&$gold6 = Dourado;&6&$gold6 = Dourado'
  - '&7&$gray7 = Cinza Claro;&7&$gray7 = Cinza Claro'
  - '&8&$darkgray8 = Cinza Escuro;&8&$darkgray8 = Cinza Escuro'
  - '&9&$blue9 = Azul Claro;&9&$blue9 = Azul Claro'
  - '&0&$black0 = Preto;&0&$black0 = Preto'
  - '&a&$brightgreena = Verde Claro;&a&$brightgreena = Verde Claro'
  - '&b&$tealb = Azul Bebe;&b&$tealb = Azul Bebe'
  - '&c&$redc = Vermelho Claro;&c&$redc = Vermelho Claro'
  - '&d&$pinkd = Rosa;&d&$pinkd = Rosa'
  - '&e&$yellowe = Amarelo;&e&$yellowe = Amarelo'
  - '&f&$whitef = Branco;&f&$whitef = Branco'
  permission-required: false 

dn4KffSNRKu7WXEzi358vA.png



 
Exemplos de comando do tipo BROADCAST_RAW_TEXT


Os comandos do tipo BROADCAST_RAW_TEXT seguem o mesmo padrão dos RAW_TEXT "frase;frase_em_json;comando ou link"
 
Para abrir um link deve-se colocar $OPEN_URL$ e pra executar um comando $RUN_COMMAND$.
 
Comando /divulgar simples de BROADCAST_RAW_TEXT

 










divulgarlive:
  command: /divulgar live
  type: BROADCAST_RAW_TEXT
  text:
  - ''
  - '$OPEN_URL$&a$arg1 está em live agora! Clique para assistir.;&eClique para assistir;$arg2'
  - ''
  permission-required: true
  required_args: 2
  permission-node: mycommand.cmd.divulgarlive
  permission-error: '&cVocê não tem permissão para utilizar este comando.'
  error-message: '&fComando Incorreto, Use: &c/divulgar video <seu-nick> <link>
divulgarvideo:
  command: /divulgar video
  type: BROADCAST_RAW_TEXT
  text:
  - ''
  - '$OPEN_URL$&a$arg1 postou um novo vídeo! Clique para assistir.;&eClique para assistir;$arg2'
  - ''
  permission-required: true
  required_args: 2
  permission-node: mycommand.cmd.divulgarvideo
  permission-error: '&cVocê não tem permissão para utilizar este comando.'
  error-message: '&fComando Incorreto, Use: &c/divulgar video <seu-nick> <link>
divulgar:
  command: /divulgar
  type: RAW_TEXT
  text:
  - '&aPara divulgar use:'
  - '&e/divulgar video <seu-nick> <link>;Clique para divulgar;/Divulgar Video <seu-nick> <link>'
  - '&e/divulgar live <seu-nick> <link>;Clique para divulgar;/Divulgar Live <seu-nick> <link>'
  permission-required: true
  permission-node: mycommand.cmd.divulgar
  permission-error: '&cVocê não tem permissão para utilizar este comando.' 

DJ4cjxaDTK6Kl6SXN8bJiw.png
Esse código é um pouco mais complexo, mas é muito fácil de entender!
Quando a pessoa digita /divulgar abre o menu de ajuda. Caso a pessoa quer divulgar uma live é simples /divulgar live <seu-nick> que seria o nome do canal e depois o link da live para quando as pessoas clicarem na mensagem abrirem a live! Bem simples ;D


 
Comando bem simples /inciarevento avisa que o evento foi iniciado com a opção de clicar na mensagem para entrar.

 










iniciarevento:
  command: /iniciarevento
  type: BROADCAST_RAW_TEXT
  text:
  - ''
  - '$RUN_COMMAND$&a[ALERTA] Evento mina recheada iniciado, clique para participar!;&eClique para entrar no evento;/warp evento'
  - ''
  permission-required: true
  permission-node: mycommand.cmd.iniciarevento
  permission-error: '&cVocê não tem permissão para utilizar este comando.' 

RjJnp8H9TxW6FA_fZaz1_Q.png



 
Exemplo de comando do tipo BUNGEE_TP


Eu nunca usei comandos do tipo BUNGEE_TP... O que eu sei é que eles servem pra teleportar o jogar de 1 bungee para 1 servidor. Se você pesquisar na net também não tem muitos exemplos desse tipo de comando, pelo que eu li ele funciona perfeitamente :) então se alguém quiser mexer com esse tipo de comando é bem fácil. Aqui esta alguns exemplos de ele como funciona:
Exemplo 1: 

bungeecord_example:
  command: /hub
  type: BUNGEE_TP
  server_name: hub 

Exemplo 2:

bungeecord_example:
  command: /bungeetest
  type: BUNGEE_TP
  server_name: hub
  permission-required: true
  permission-node: mycommand.cmd.bungeecord_example
  permission-error: "You don't have permission!" 

 


 
Exemplos de comandos do tipo EXP_BAR


Os comandos EXP_BAR são praticamente inuteis, tudo que eles fazem é criar uma contagem regressiva na EXP_BAR... geralmente as pessoas usam %ExpBar%10% nos comandos do tipo RUN_COMMAND para fazer contagens regressivas pois fica mais pratico e legal.
 
Exemplo de comando EXP_BAR

Contagem:
  command: /Contagem
  type: EXP_BAR
  delaytimer: 5
  permission-required: false

fTjLq2E.gif


 
(o melhor)
Exemplos de comandos do tipo RUN_COMMAND


Os comandos do tipo RUN_COMMAND são os mais completos e os mais utilizados. Na minha opinião esse tipo de comando é o melhor do MyCommand pois aqui você pode juntar tudo, você pode executar comandos, enviar textos, colocar delay, variaveis TUDO! Então pra vocês entenderem bem vou criar varios exemplos de comandos!
 
Exemplo 1:
No exemplo 1 iremos encurtar um comando!

 

Arena:
  command: /arena
  type: RUN_COMMAND
  runcmd:
  - '/warp arena'
  permission-required: false 

Agora para deixar um pouco mais completo iremos enviar uma mensagem Broadcast quando o player entrar na arena:

Arena:
  command: /arena
  type: RUN_COMMAND
  runcmd:
  - '/warp arena'
  - '$broadcasttext$&c$player acabou de entrar na arena!'
  permission-required: false 

 


Exemplo 2:
Agora no exemplo 2 iremos enviar uma mensagem de alerta no chat junto com um Title

 

xxAlerta:
  command: /@alerta
  type: BROADCAST_TITLE
  text:
  - '&aALERTA!'
  permission-required: true
  permission-node: mycommand.cmd.xxAlerta
  permission-error: '&cVocê não tem permissão para executar este comando.'
yyAlerta:
  command: /alerta
  type: RUN_COMMAND
  runcmd:
  - '/@alerta'
  - '$broadcasttext$'
  - '$broadcasttext$&a[ALERTA] $multiargs'
  - '$broadcasttext$'
  - '$text$&7&oAlerta enviado com sucesso!'
  permission-required: true
  required_args: 1
  permission-node: mycommand.cmd.yyAlerta
  permission-error: '&cVocê não tem permissão para executar este comando.' 

NSISeSDtQCGV7jE3lR7V3w.png


No próximo exemplo irei criar um sistema de WARPs dentro do MyCommand e futuramente irei criar um MENU GUI para elas.

 

WarpMina:
  command: /warp mina
  type: RUN_COMMAND
  runcmd:
  - '$text$Teleportando-se para a mina...'
  - '%PlayerOptions%teleport: world:1000.0:22.0:1000.0'
  permission-required: false
WarpArena:
  command: /warp arena
  type: RUN_COMMAND
  runcmd:
  - '$text$Teleportando-se para a arena...'
  - '%PlayerOptions%teleport: world:2000.0:22.0:2000.0'
  permission-required: false
WarpLoja:
  command: /warp loja
  type: RUN_COMMAND
  runcmd:
  - '$text$Teleportando-se para a loja...'
  - '%PlayerOptions%teleport: world:3000.0:22.0:3000.0'
  permission-required: false
WarpVip:
  command: /warp vip
  type: RUN_COMMAND
  runcmd:
  - '$text$Teleportando-se para a area vip...'
  - '%PlayerOptions%teleport: world:4000.0:22.0:4000.0'
  permission-required: true
  permission-node: mycommand.cmd.WarpVip
  permission-error: '&cVocê não tem permissão para utilizar este comando.'
Warp:
  command: /warp
  type: RUN_COMMAND
  runcmd:
  - '$text$&6Lista de Warps:'
  - '$text$&eWarp Mina'
  - '$text$&eWarp Loja'
  - '$text$&eWarp Arena'
  - '$text$&eWarp Vip'
  permission-required: false 

 


Agora no exemplo 4 iremos bloquear comandos usando o RUN_COMMAND

 

Ver:
  command: /ver
  type: RUN_COMMAND
  runcmd:
  - '$text$&cVocê não tem permissão para utilizar este comando.'
  required_args: 1
  register: true
  error-message: '&cVocê não tem permissão para utilizar este comando.'
  tab_completer:
  - Minecraft
  permission-required: false
bbVer:
  command: /bukkit:ver
  type: RUN_COMMAND
  runcmd:
  - '$text$&cVocê não tem permissão para utilizar este comando.'
  required_args: 1
  register: true
  error-message: '&cVocê não tem permissão para utilizar este comando.'
  tab_completer:
  - Minecraft
  permission-required: false
babout:
  command: /bukkit:about
  type: RUN_COMMAND
  runcmd:
  - "%PlayerOptions%setFireTicks: 100"
  required_args: 1
  register: true
  tab_completer:
  - Minecraft
  error-message: '&cVocê não tem permissão para utilizar este comando.'
  permission-required: false
about:
  command: /about
  type: RUN_COMMAND
  runcmd:
  - "%PlayerOptions%setTotalExperience: 10"
  required_args: 1
  register: true
  tab_completer:
  - Minecraft
  error-message: '&cVocê não tem permissão para utilizar este comando.'
  permission-required: false
bversion:
  command: /bukkit:version
  type: RUN_COMMAND
  runcmd:
  - '$text$&cVocê não tem permissão para utilizar este comando.'
  required_args: 1
  register: true
  tab_completer:
  - Minecraft
  error-message: '&cVocê não tem permissão para utilizar este comando.'
  permission-required: false
version:
  command: /version
  type: RUN_COMMAND
  runcmd:
  - '$text$&cVocê não tem permissão para utilizar este comando.'
  required_args: 1
  register: true
  tab_completer:
  - Minecraft
  error-message: '&cVocê não tem permissão para utilizar este comando.'
  permission-required: false
pl:
  command: /pl
  type: RUN_COMMAND
  runcmd:
  - "$text$&cVocê não tem permissão para utilizar este comando."
  permission-required: false
plugins:
  command: /plugins
  type: RUN_COMMAND
  runcmd:
  - "$text$&cVocê não tem permissão para utilizar este comando."
  permission-required: false
 

Lembrado! Os comandos que temo tab_completer, ele bloqueia também o /ver [tab] essas coisas...


No exemplo 5 eu vou criar um comando chamado /proteger. Esse comando adiciona automaticamente todas as flags do worldguarld em uma region.

 

Proteger:
  command: /Proteger
  type: RUN_COMMAND
  runcmd:
  - '/rg flag $arg1 build deny'
  - '/rg flag $arg1 block-break deny'
  - '/rg flag $arg1 block-place deny'
  - '/rg flag $arg1 pvp deny'
  - '/rg flag $arg1 chest-access allow'
  - '/rg flag $arg1 tnt deny'
  - '/rg flag $arg1 use allow'
  - '/rg flag $arg1 interact allow'
  - '/rg flag $arg1 damage-animals deny'
  - '/rg flag $arg1 mob-damage deny'
  - '/rg flag $arg1 mob-spawning deny'
  - '/rg flag $arg1 creeper-explosion deny'
  - '/rg flag $arg1 other-explosion deny'
  - '/rg flag $arg1 enderdragon-block-damage deny'
  - '/rg flag $arg1 invincible allow'
  - '/rg flag $arg1 ghast-fireball deny'
  - '/rg flag $arg1 enderman-grief deny'
  - '/rg flag $arg1 entity-painting-destroy deny'
  - '/rg flag $arg1 enderpearl deny'
  - '/rg flag $arg1 entity-item-frame-destroy deny'
  - '/rg flag $arg1 fire-spread deny'
  - '/rg flag $arg1 lava-fire deny'
  - '/rg flag $arg1 lava-flow deny'
  - '/rg flag $arg1 water-flow deny'
  - '/rg flag $arg1 potion-splash deny'
  - '/rg flag $arg1 buyable no'
  - '/rg flag $arg1 allow-shop allow'
  error-message: '&fComando Incorreto, Use:&c /Proteger <nome-da-region>'
  require_all_arguments: true
  permission-required: true
  permission-node: mycommand.cmd.Proteger
  permission-error: "&cVoce nao tem permissao para utilizar este comando." 

 


Comando /heal ou /curar criado dentro do MyCommand

 

curar:
  command: /curar
  type: RUN_COMMAND
  runcmd:
  - '%PlayerOptions%setHealth: 20'
  - '%PlayerOptions%setFoodLevel: 20'
  - '$text$&aCurado!'
  permission-required: false 

 


Comando /fake ou /trocarnick criado com RUN_COMMAND

 

fake:
  command: /fake
  type: RUN_COMMAND
  runcmd:
  - '%PlayerOptions%setCustomName: $arg1'
  - '%PlayerOptions%setDisplayName: $arg1'
  - '%PlayerOptions%setPlayerListName: $arg1'
  permission-required: false
  required_args: 1
  error-message: "&aComando incorreto, use /fake <nome-fake>" 

 



 
(menu gui)
Exemplos de comando do tipo ICON_MENU


Os comandos do tipo ICON_MENU abrem um menu gui. Esse menu gui é muito util pois você pode executar comandos clicando nos icones, ou apenas mostrar informações caso você queira.
 
Para criarmos menus no MyCommand nós devemos seguir um padrão que é:

Teste:
  command: /TesteMenu
  type: ICON_MENU
  iconmenu_title: '&cGamersBoard'
  iconmenu_size: 27
  iconmenu_commands:
  - '0:GOLDEN_APPLE:0:/help:&2Ajuda:&aAbre o Menu de ajuda'
  - '1:2,GOLDEN_APPLE:0:/help:&2Ajuda:&aAbre o Menu de ajuda'
  - '2:STONE_SWORD;DAMAGE_ALL;1;FIRE_ASPECT;1;DURABILITY;3:0:/Nada:Espada:Espada;De RUSH'
  permission-required: false

O padrão sempre sera:

- Posição:Item:Data_Tag:/Comnado:Nome_Do_Item:Lore_Do_item'

Para colocar uma nova linha de lore devemos colocar ;
Para colocar uma quantidade itens agrupados devemos colocar 'Posição:Quantidade,Item' dessa forma - '1:2,GOLDEN_APPLE'

Para deixar o menu aberto quando a pessoa clica em um item devemos colocar %stayopen% antes do comando desta maneira: 
- 'Posição:Item:Data_Tag:%stayopen%/Comando:Nome:Lore'
- '1:PAPER:0:%stayopen%/Comando:&eBioma atual:&f$biome'

Para abrir outro menu quando a pessoa clica no item devemos colocar %openiconmenu% antes do comando desta maneira: 
- 'Posição:Item:Data_Tag:%openiconmenu%/comando:Nome:Lore'
- '1:PAPER:0:%openiconmenu%/VoltarMenu:&7Voltar:&e;&eClique para voltar'

Para colocar encantamentos nos items devemos colocar o nome depois ; depois o encantamento depois ; depois a quantidade dessa maneira
'2:STONE_SWORD;DAMAGE_ALL;1;FIRE_ASPECT;1;DURABILITY;3:0:/Nada:Espada:Espada;De RUSH' 

iconmenu_title é o titulo do menu que fica lá em cima
iconmenu_size é o tamanho do menu. O tamanho sempre devera ser 9, 18, 27, 36, 45 ou 54
iconmenu_type é o tipo do menu. O padrão é o chest mas se a gente quiser a gente poder criar menus dentro de fornalhas, ejetores, funis, estandes de poção etc... (muito loco kkk)

OBS: O nome os itens e dos encantamentos sempre devem estar em letra maiúscula! 
Para saber o nome de um item você pode segurar ele na mão e digita /mycmd-itemset add 

 

 

Editado por RUSHyoutuber
Link para o comentário
Compartilhar em outros sites

Você poderia me passar o download do Mycommand? o que eu tenho é outra versão

É só digitar MyCommand no google e ir no site do bukkit e baixar a versão mais atualizada

Olosko, cheguei de para-quedas!!

 

Caiu de para-quedas pequeno gafanhoto? Aposto que você vai entender tudo ><

Link para o comentário
Compartilhar em outros sites

É só digitar MyCommand no google e ir no site do bukkit e baixar a versão mais atualizada

 

Caiu de para-quedas pequeno gafanhoto? Aposto que você vai entender tudo ><

 

Não sei se percebi mas eu percebi então estou voando de para quedas. Tendi nada '1'

Link para o comentário
Compartilhar em outros sites

Esqueceu do:

  cooldown:

q deixa o comando em tempo de recarga.

Eu nunca usei esse tipo de comando pra ser sincero... é uma das poucas coisas do MyCommand que eu nunca usei '-' se puder dar uns exemplos ai eu coloco no tópico blz

RUSH me ajuda mano? estou criando um servidor e não sei como bloquear só o /bukkit:help (+tab), pode me ajudar?

 

é só você ir ali nos exemplos de comandos do tipo RUN_COMMAND... eu ensino como bloquear isso lá XD

Link para o comentário
Compartilhar em outros sites

 

TÓPICO EM DESENVOLVIMENTO!

» ▬▬▬▬▬▬▬▬▬ MyCommand ▬▬▬▬▬▬▬▬▬ «

 

No tutorial de hoje irei ensinar vocês a criar todos os tipos de comandos, menus, gambiaras etc... tudo dentro do nosso famoso MyCommand.

 

Primeiramente vou ensinar as coisas básicas que você irão utilizar em todos os comandos.

OBS: Estas opções não são obrigatórias nos comandos. Você pode criar os comandos sem essas opções, tudo vai depender do tipo do comando que você vai criar.

 

 

permission-required: false

Está opção ira definir se o player precisa ou não de permissão para poder executar o comando.

 

permission-error: '&cVocê não tem permissão!'

Está opção ira definir a mensagem que é enviada quando o player não tem permissão para executar o comando.

 

permission-node: mycommand.cmd.<comando>

Está opção serve para definir a permissão que o player ira precisar para usar o comando.

 

error-message: "Comando incorreto, use /divulgar <mensagem>"

Está opção ira definir qual mensagem ira aparecer quando o player não colocar todos os argumentos que o comando pede.

 

success-message: "&aVocê divulgou no chat!"

Está opção ira definir qual mensagem ira aparecer quando o comando for executado com sucesso.

 

 require_all_arguments: true

Está opção serve para definir se o player ira precisar colocar os argumentos po comando funcionar, caso ele não colocar os argumentos necessários ira aparecer a mensagem de erro "error-message"

 

 register: false

Está opção serve para definir se o comando sera registrado no MyCommand. Caso está opção for definida como true o comando ira aparecer no /(tab) e ele também não poderá ser usado quando o player estiver em combate.

 

 delaytimer: 2

Está opção serve para definir o delay usado pela variável $delay$ ou seja se você colocar $delay$/warp arena" o comando só sera executa depois de 2 segundos.

 

 tab_completer:

 - creative

 - survival

Está opção serve para auto completar um comando. Por exemplo /gamemode (tab) ira aparecer creative e survival facilitando a sua vida XD.

 

itemcost: "COBBLESTONE:5"

Está opção serve para cobrar itens para poder executar um comando. Por exemplo para executar o comando /divulgar o player ira precisar de 5 pedras no inventario.

 

Agora que nós já aprendemos as opções dos comandos vamos fazer um comando para testar tudo isso.

Exemplo 1:

 

Alerta:
  command: /Alerta
  type: BROADCAST_TEXT
  text:
  - '§2[ALERTA] $multiargs'
  error-message: "Comando incorreto, use /alerta <mensagem>"
  success-message: "&aVocê enviou um alerta no chat!"
  require_all_arguments: true
  permission-required: true
  permission-node: mycommand.cmd.Alerta
  permission-error: "&cVocê não tem permissão para utilizar este comando."
  register: false

Exemplo 2:

gamemode:
  command: /gamemode
  type: RUN_COMMAND
  runcmd:
  - '/gm $arg1'
  required_args: 1
  register: true
  tab_completer:
  - survival
  - creative
  - spectator
  - adventure
  error-message: '&cVocê deve usar /gamemode <modo-de-jogo>'
  permission-error: '&cVocê não tem permissão para utilizar este comando'
  permission-required: true

No primeiro código nós criamos um comando básico de /alerta onde você envia um alerta no chat, e no segundo código nós encurtamos o comando /gamemode para /gm.

 

 

Agora que vocês já sabem sobre as opções dos comandos vamos aprender sobre os tipos de comandos que podem ser criados no MyCommand. No final irei mostrar 1 exemplo de cada tipo de comando!

type: TEXT

Este tipo de comando mostra uma texto no chat do player quando o comando é usado.

 

type: BROADCAST_TEXT

Este tipo de comando mostra uma texto no chat para todos os players do servidor.

 

type: RUN_COMMAND

Este tipo de comando executa um skript ou uma série de comandos e códigos (é um dos tipos mais usados).

 

type: RUN_COMMAND_RANDOM

Este tipo de comando executa um comando aleatório dentro de uma lista de comandos. Exemplo: você tem 10 comandos e quer executar 1 aleatoriamente.

 

type: RUN_CONSOLE

Este tipo de comando executa um código ou um comando dentro do console. (é bem útil)

 

type: ADD_PERMISSION

Este tipo de comando serve para criar uma permissão ou bloquear um comando como o /plugins.

 

type: RUN_AS_OPERATOR

Este tipo de comando serve para executar um comando como se o player tivesse OP, ou seja ele burla a permissão do comando (não é muito confiável e é meio inútil)

 

type: ICONMENU

Este tipo de comando serve para criar um menu GUI em varios formatos (é o meu preferido).

 

type: SCOREBOARD

Este tipo de comando serve para criar uma scoreboard temporaria bem simples e com pouquíssimas variaveis.

 

type: ALIAS

Este tipo de comando serve para encurtar um comando ou criar um variação do comando (gamemode -> gm)

 

type: CALL_URL

Executa ou verifica um skript em um site ou documento php (nunca usei e também não sei como usar kkkk)

 

type: TITLE

Este tipo de comando envia um title na tela do player (igual TitleManager)

 

type: BROADCAST_TITLE

Este tipo de comando envia um title na tela de todos os players do servidor (igual TitleManager)

 

type: RAW_TEXT

Este tipo de comando mostra uma texto em JSON no chat do player (JSON são aqueles texto que você consegue passar o mouse em cima e clicar).

 

type: BROADCAST_RAW_TEXT

Este tipo de comando mostra uma texto em JSON no chat de todos os player do servidor (JSON são aqueles texto que você consegue passar o mouse em cima e clicar).

 

type: EXP_BAR

Este tipo de comando cria uma contagem regressiva na barra de XP. O seu nivel de XP vai descendo 10, 9, 8.... até 0 ai o seu xp volta ao normal.

 

type: ACTION_BAR

type: BROADCAST_ACTION_BAR

Estes dois tipos de comandos enviam mensagens na action bar do player ou do servidor. Por algum motivo desconhecido eles não funcionam em servidores 1.8.

 

type: BUNGEE_TP

Este tipo de comando serve para teleportar players de 1 servidor para o outro, igual o comando /server ou /send.

 

 

Agora que vocês já sabem sobre os tipos de comandos que podem ser criados pelo MyCommand vamos aprender um pouco sobre as variáveis do plugin e depois vamos ver alguns exemplos de comandos.

 

$player - Retorna o nome do player.

$getdisplayname - Retorna o nome de exibição do player.

$uuid - Retorna a UUID do player.

$getaddress - Retorna o IP do player.

$health - Retorna o HP do player.

$food - Retorna a fome do player.

$exp - Retorna o XP do do player.

$level - Retorna o level de XP do player.

$getexptolevel - Retorna a quantia de XP que falta pra upar de level.

$gamemode - Retorna o modo de jogo do player.

$world - Retorna o nome do mundo.

$biome - Retorna o nome do bioma.

$locX - Retorna a coordenada X.

$locY - Retorna a coordenada Y.

$locZ - Retorna a coordenada Z.

$loc_pitch - Retorna o pitch.

$loc_yaw - Retorna o yaw.

$loc_highestY - Retorna a coordenada Y onde esta o bloco mais alto.

$getallowflight - Retorna TRUE e FALSE, mostra se o player esta de fly.

$oplist - Retorna a lista de players com OP no servidor.

$online - Retorna o número de players online no servidor.

$ponline - Retorna a lista com o nome de todos os players online no servidor.

$server-name - Retorna o nome do servidor (configurado no server.properties)

$server-motd - Retorna a motd do servidor (configurada no server.properties)

$todaydate - Retorna o dia atual.

$wgregionname - Retorna o nome da region no worldguard.

$primarygroup - Retorna o grupo do PEX.

$chatprefix - Retorna o prefixo do chat.

$chatsuffix - Retorna o suffixo do chat.

$iteminhand - Retorna o nome do tipo do item que o player esta segurando.

$amount_iteminhand - Retorna a quantidade do item que o player esta segurando.

$name_iteminhand - Retorna o nome do item que o player esta segurando

$arg1 , $arg2 , $arg3 .... $arg9 - Retorna os argumentos digitados pelo player.

$multiargs - Retorna os varios argumentos digitados pelo player (tipo uma frase curta)

'%Repeat%10% Oi' - Repete a mensagem X vezes.

'%ExpBar%10%' - Cria uma contagem regressiva de 10 segundos na ExpBar.

'$text$ Oi' - Envia um texto (isso é usado muito nos run_command)

'$broadcasttext$ Oi' - Envia um texto broadcast (isso é usado muito nos run_command)

$random_color - Retorna uma cor aleatória.

$randomplayer - Retorna o nome de um player aleatório online.

$randomnumber%100% - Retorna um numero aleatório de 0 a 100. Esse número pode ser configurado para quando você quiser, por exemplo $randomnumber%5% retorna um número aleatório de 0 a 5

 OBS: Essas variáveis podem ser usadas em qualquer tipo de comando, seja ele texto, title, runcommand, menu_gui etc...

 

Agora que vocês sabem um pouco mais sobre as variáveis do MyCommand vou ensinar um pouco sobre o Player API que é uma série de eventos que a gente pode usar nos comandos do tipo RUN_COMMAND.

 

TRUE ou FALSE

"%PlayerOptions%setAllowFlight: true" - Liga ou desliga o Fly do player.

"%PlayerOptions%setBanned: true" - Bane ou desbane o player (só funciona quando ele relogar no server)

"%PlayerOptions%setOp: false" - Tira e coloca o OP do player.

"%PlayerOptions%setWhitelisted: false" - Tira e colocar o player da Whitelist.

 

APENAS TRUE

"%PlayerOptions%leaveVehicle: true" - Tira o player de dentro do veiculo.

"%PlayerOptions%closeInventory: true" - Fecha o inventario ou o menu gui do player.

"%PlayerOptions%clearInventory: true" - Limpa o inventario do player.

 

ALTERA O NOME DO PLAYER (tipo /fake)

 "%PlayerOptions%setCustomName: $arg1"

 "%PlayerOptions%setDisplayName: $arg1"

 "%PlayerOptions%setPlayerListName: $arg1"

O $arg1 vai ser definido pelo player, caso você queira colocar um nome especifico é só apagar o $arg1 e colocar o nome que você quer.

 

OUTROS

"%PlayerOptions%setGameMode: CREATIVE" - Altera o modo de jogo do player.

"%PlayerOptions%teleport: nome_do_mundo:X:Y:Z" - Teleporta o player para uma coordenada do mapa.

"%PlayerOptions%setBedSpawnLocation: nome_do_mundo:X:Y:Z" - Define o ponto de renascimento do player (spawn point)

"%PlayerOptions%kickPlayer: Você foi kickado do servdor!" - Kicka o player do servidor (você pode alterar a mensagem)

"%PlayerOptions%sendMessage: Ola $player" - Envia uma mensagem pro player (igual o $text$)

"%PlayerOptions%playSound: ANVIL_BREAK:1.0:1" - Envia um som para o player. (NOME_DO_SOM:VOLUME:BYTE_DATA)

"%PlayerOptions%playEffect: RECORD_PLAY:2260" - Executa efeito de particulas para o player (NOME_DO_EFEITO:INT_DATA)

"%PlayerOptions%addPotionEffect: SPEED:1200:0" - Adiciona um efeito para o player (NOME_DA_POÇÃO:TEMPO_EM_TICKS:LEVEL)

"%PlayerOptions%setFlySpeed: 5" - Define a velocidade do fly do player.

"%PlayerOptions%setHealth: 20" - Define o HP do player.

"%PlayerOptions%setFoodLevel: 20" - Define a fome do player.

"%PlayerOptions%giveExp: 200" - Envia uma quantidade de XP para o player.

"%PlayerOptions%giveExpLevels: 10" - Envia uma quantidade de Levels de XP para o player.

"%PlayerOptions%damage: 2" - Aplica um dano no player.

"%PlayerOptions%setFireTicks: 100" - Faz o player pegar fogo.

OBS: 20 TICKS = 1 SEGUNDO, 200 TICKS= 10 SEGUNDOS, 1200 TICKS = 1 MINUTO, 6000 TICKS = 5 MINUTOS

PARA ADICIONAR E SETAR ITENS PARA O PLAYER É FACIL XD

Este é o padrão! ITEM:QUANTIDADE:DATA_TAG

Exemplo:

'%PlayerOptions%setItemInHand: DIAMOND_SWORD:1:0' - Seta um item na mão do player.

'%PlayerOptions%setHelmet: DIAMOND_HELMET:1:0' - Seta um item na cabeça do player.

'%PlayerOptions%setChestplate: DIAMOND_CHESTPLATE:1:0' - Seta um item no peitoral do player.

'%PlayerOptions%setLeggings: DIAMOND_LEGGINGS:1:0' - Seta um item na calça do player.

'%PlayerOptions%setBoots: DIAMOND_BOOTS:1:0' - Seta um item nas botas do player.

'%PlayerOptions%addItem: GOLDEN_APPLE:32:1' - Seta um item no inventario.

 

Caso a gente quiser colocar um nome personalizado ou colocar encantamentos devemos seguir este padrão

'ITEM:QUANTIDADE:DATA_TAG:NOME_DO_ENCANTAMENTO;NIVEL:NOME_DO_ITEM:LORE'

Exemplo:

'%PlayerOptions%addItem: DIAMOND_SWORD:1:0:DAMAGE_ALL;5;FIRE_ASPECT;2;DURABILITY;3:&4Espada Suprema:Espada Foda'

'%PlayerOptions%setBoots: DIAMOND_BOOTS:1:0:PROTECTION_ENVIRONMENTAL;4;DURABILITY;3:&4Bota Suprema:Lore Linha1;Lore Linha2;Lore Linha3'

 

OBS: Caso a gente queira setar mais de 1 linha na lore basta colocarmos ;

 

Agora quer vocês já conhecem todas a variaveis e todas as options do Player API do MyCommand vamos começar a criar comandos!

Eu irei criar vários comandos de vários tipos para vocês entenderem bem!

 

Exemplos de comandos do tipo TEXT

 

 

Texto bem simples sem variáveis apenas texto:

 

 

regras:
  command: /regras
  type: TEXT
  text:
  - '&a &l É PROIBIDO:'
  - ''
  - '&6* &aFazer Flood'
  - '&6* &aFazer Spam'
  - '&6* &aDivulgar'
  - '&6* &aUsar Hacker'
  permission-required: false

niuf6lS6TCGUqgqfO8TWMw.png

 

 

 

Texto mais avançado com varias variáveis:

 

 

 

 

 

info:
  command: /info
  type: TEXT
  text:
  - '&eOlá $player!'
  - '&eVocê está no mundo &a$world &ee no bioma &a$biome&e.'
  - '&eSuas coordenadas são &6X:&a $locX &6Y:&a $locY &6Z:&a $locZ'
  - '&eVocê está com $level níveis de XP e está no gamemode $gamemode.'
  - '&eVocê está com $health de vida e $food de fome.'
  permission-required: false

PQlPaCyNQwmfbqc5VX0Abg.png

 

 

 

 

 

Exemplos de comandos do tipo BROADCAST_TEXT

 

 

Comando broadcast simples de /bomdia

 

 

 

 

 

 

bomdia:
  command: /bomdia
  type: BROADCAST_TEXT
  text:
  - ''
  - '&6&lBom dia a todos!'
  - ''
  permission-required: true
  permission-node: mycommand.cmd.bomdia
  permission-error: '&cVocê não tem permissão para executar este comando.'

6A48_XMdQhqBcHLxakp7OQ.png

 

 

Comando broadcast simples de /alerta

 

 

 

 

 

alerta:
  command: /alerta
  type: BROADCAST_TEXT
  text:
  - ''
  - '&a[ALERTA] $multiargs'
  - ''
  permission-required: true
  required_args: 1
  error-message: "&cComando incorreto, use /alerta <mensagem>"
  permission-node: mycommand.cmd.alerta
  permission-error: '&cVocê não tem permissão para executar este comando.'

hsyCRgeEQoGzltlRJ053Tw.png

 

 

Comando broadcast para limpar o chat do servidor

 

 

 

 

 

clear_chat:
  command: /clearchat
  type: BROADCAST_TEXT
  text:
  - '%Repeat%100%&a '
  - '&aO chat foi limpo por $player!'
  permission-required: true
  permission-node: mycommand.cmd.clear_chat
  permission-error: '&cVocê não tem permissão para executar este comando.'

cLjWyzjWSo64RwMMsTFbaw.png

 

 

Comando broadcast para sortear itens.

 

 

 

 

 

sortear:
  command: /sortear
  type: BROADCAST_TEXT
  text:
  - "$delay$&a"
  - "&aIniciando Sorteio de $multiargs em 5 segundos..."
  - "$delay$&a"
  - "$delay$&a5"
  - "$delay$&a4"
  - "$delay$&a3"
  - "$delay$&a2"
  - "$delay$&a1"
  - "$delay$&aGO!"
  - "$delay$&aO player sorteado foi &e$randomplayer"
  delaytimer: 2
  required_args: 1
  delaytimer_format: SECONDS
  permission-required: true
  permission-node: mycommand.cmd.sortear
  error-message: '&fComando Incorreto, Use: &c/sortear <item que você vai sortear>'
  permission-error: "&cVocê não tem permissão para utilizar este comando."

6c94gGd4RMW3xA2AauVkAQ.png

 

 

 

 

 

Exemplos de comandos do tipo RUN_COMMAND_RANDOM

 

 

Este comando é 1 exemplo basico, ele escolhe 1 aleatório da lista.

 

 

 

 

 

comandoAleatorio:
  command: /Aleatorio
  type: RUN_COMMAND_RANDOM
  runcmd:
  - '/me Comando1'
  - '/me Comando2'
  - '/me Comando3'
  - '/me Comando4'
  - '/me Comando5'
  - '/me Comando6'
  - '/me Comando7'
  permission-required: false

0ycIEGqNQNedaeFUSkY5PQ.png

 

 

Este sistema que vocês vão ver a seguir é um tipo de loteria. Onde o player aposta 1 diamante e tem a chance de perder, ganhar +1 ou continuar com o mesmo diamante.

 

 

 

 

 

comandoSorte:
  command: /sorte
  type: RUN_COMMAND_RANDOM
  runcmd:
  - '$delay$%PlayerOptions%addItem: DIAMOND:1:0'
  - '$delay$$text$&cPerdeu!'
  - '$delay$%PlayerOptions%addItem: DIAMOND:2:0'
  itemcost: 'DIAMOND:1'
  error-message: '&cVocê precisa ter 1 diamante no seu inventário para poder testar sua sorte.'
  success-message: "&aApostado!"
  delaytimer: 3
  permission-required: false

 

 

OBS: Esse tipo de comando não é muito usado... ( eu usei apenas 2 vezes na vida )

 

 

 

Exemplos de comandos do tipo RUN_CONSOLE

 

 

Como vocês sabem pessoas com OP não podem usar o comando /pex apenas pessoas com permissão * podem usar o PEX então eu criei um comando que liberava o /pex pros OPs facilitando assim nossa vida.

Ppex:
  command: /ppex
  type: RUN_CONSOLE
  runcmd:
  - /pex $multiargs
  error-message: '&fComando Incorreto, Use:&c /Ppex <função>'
  required_args: 1
  permission-required: true
  permission-node: mycommand.cmd.Ppex
  permission-error: '&cVocê não tem permissão para utilizar este comando.'

OBS: Essa é apenas uma das muitas gambiarras que eu fazia com o MyCommand, tudo vai depender da sua criatividade :D

 

 

 

Exemplos de códigos do tipo ADD_PERMISSION

 

 

Este código bloqueia o /pl e o /plugins para pessoas sem permissão.

 

 

pl:
  command: /pl
  type: ADD_PERMISSION
  permission-required: true
  permission-node: mycommand.cmd.pl
  permission-error: '&cVocê não tem permissão para utilizar este comando.'
plugins:
  command: /plugins
  type: ADD_PERMISSION
  permission-required: true
  permission-node: mycommand.cmd.plugins
  permission-error: '&cVocê não tem permissão para utilizar este comando.'

dAHablASTEOGhP1eHaYDtQ.png

 

 

 

Este código serve para trocar aquela mensagem que aparece quando alguém tenta digitar comandos do minecraft como /op ou /reload etc.... 

 

 

 

 

 

reload:
  command: /reload
  type: ADD_PERMISSION
  permission-required: true
  permission-node: mycommand.cmd.reload
  permission-error: '&cVocê precisa ser do grupo gerente ou superior para poder usar este comando.'

qzVFLciGTxiPUC6pAj9eKQ.png

 

 

Basicamente você consegue bloquear comandos e trocar mensagens de permissão usando esse código, ou seja é algo super util.

 

 

 

Exemplo de comando do tipo RUN_AS_OPERATOR

 

 

Este tipo de comando é inútil, pois é como se você liberasse OP para o player...

O único comando que eu já criei usando esse tipo de comando é o /suicidio 

 

 

 

suicidio:
  command: /suicidio
  type: RUN_AS_OPERATOR
  runcmd:
  - '/kill $player'
  - '$text$&cVocê se matou!'
  permission-required: false

pOHt95-5TYCwJgdlEO3uFw.png

 

OBS: O comando /suicido também poderia ser criado usando o type: RUN_CONSOLE... ele ia funcionar do mesmo jeito.

 

Gambiarra que eu fiz usando esse tipo de comando

 

 

Esse tipo de comando é usado raramente... a unica vez que eu usei ele foi quando eu baixei um plugin que modificava as TNTs, o problema era que você não conseguia pegar as TNTs pelo console o unico jeito de pegar as TNTs era usando o comando /tnt give então eu criei um comando chamado /@$@TNT@$@, esse comando era um comando do tipo RUN_AS_OPERATOR. Ai quando o player fosse comprar a TNT pelo /shop ele executava esse comando como se estivesse de /op então ele consegui pegar as tnts...  GAMBIARADA 10/10 ehuhuehuehue

 

 

 

 

 

Exemplos de comandos do tipo ALIAS

 

 

O tipo de comando ALIAS é o mais facil de se entender... ele só serve pra copiar ou encurtar outros comandos.

 

 

 

plot:
  command: /p
  type: ALIAS
  alias: /plot
  permission-required: false
arena:
  command: /arena
  type: ALIAS
  alias: /warp arena
  permission-required: false

 

 

 

Exemplos de comandos do tipo TITLE

 

 

Estes titles são bem uteis, você pode enviar um title quando o player entra no servidor igual o TitleManager.

 

Exemplo simples de title que mostra em que bioma você está

 

 

bioma:
  command: /bioma
  type: TITLE
  text:
  - '&2Olá $player'
  - '&aVocê esta no bioma $biome'
  permission-required: false

QNqrRAGUT1e3qiI-_JzxNA.png

 

 

 

Exemplo de title que mostra quando o player entra no servidor

 

 

Para que o código seja executado quando o player entrar no servidor nós devemos primeiramente acessar o arquivo config.yml dentro da pasta do MyCommand e alterar a opção EXTRA_LISTENER: false por padrão ela estará false, para funcionar devemos colocar true.

 

Logo após alterarmos a config.yml iremos acessar o arquivo playerevents.yml dentro da pasta do MyCommand.

Por padrão ira estar tudo desativado então iremos no evento PlayerJoin e iremos colocara seguinte configuração:

 

 

 

PlayerJoin:
  active: true
  execute:
  - '/@jointitle'

Logo após alterarmos o arquivo playerevents iremos criar o comando /jointitle que ficara deste jeito:

jointitle:
  command: /@jointitle
  type: TITLE
  text:
  - '&6Factions Flame'
  - '&eSeja Bem Vindo!'
  permission-required: false

Agora sempre que um player entrar no servidor ele ira receber o seguinte title:

qwS4lL2mRy2Le0irn0LOtg.png

 

Caso você tenha ficado com alguma duvida de como fazer isso acesse este tópico:

http://gamersboard.com.br/topic/53938-substituindo-o-titlemanager-pelo-mycommand/

 

 

 

A gente pode criar também um sistema para que sempre que a gente mate um player apareça um title na tela.

 

 

Primeiramente a gente terra que ativar o extra_listener dentro da config.yml. Logo após ter feito isso iremos entrar dentro do arquivo playerevents.yml e iremos procurar pelo código PlayerDeath: neste código iremos deixar mais ou menos desta maneira

PlayerDeath:
  active_on_kill: true
  active_on_death: false
  prevent_suicide: true
  ignore_env_or_mobs_deathcause: false
  execute_for_killer:
  - '/@playerkiller'
  execute_for_defeated:
  - ''

 

Logo após termos feito isso iremos criar um comando com o seguinte código:

playerkiller:
  command: /@playerkiller
  type: TITLE
  text:
  - '&c'
  - '&cVocê matou $killed_player'
  permission-required: false

 

Agora toda vez que um player matar outro player ele recebera o seguinte title:

uGsnebBcRPadVSqNW15XEg.png

 

 

 

 

 

Exemplos de comandos do tipo BROADCAST_TITLE

 

 

Os comandos do tipo BROADCAST_TITLE geralmente são usados pela staff para dar um alerta ou algo do tipo.

 

Veja aqui um exemplo de comando /reiniciar

 

 

reiniciar:
  command: /reiniciar
  type: BROADCAST_TITLE
  text:
  - '&cALERTA!'
  - '&eReiniciando servidor...'
  permission-required: true
  permission-node: mycommand.cmd.reiniciar
  permission-error: '&cVocê não tem permissão para utilizar este comando.'

yRaEGg8rQbOVlFx-OFd_4w.png

 

 

 

 

 

Exemplos de comandos do tipo RAW_TEXT

 

 

Os comandos do tipo RAW_TEXT são os mais utilizados pois eles são textos normais mas com função JSON onde o player pode interagir com a mensagem.

 

Os comandos em RAW_TEXT devem sempre seguir este padrão: "FRASE;FRASE_EM_JSON;COMANDO" 

 

Exemplo : "/warp arena - Teleporta você para arena;Clique para ir para arena;/warp arena"

 

Caso você queira que a frase abra um link você deve colocar $OPEN_URL$ antes da frase.

Caso você queira que o comando seja executado automaticamente você deve colocar $RUN_COMMAND$ antes da frase.

 

Este comando /site é 1 exemplo basico de RAW_TEXT

 

 

 

 

 

site:
  command: /site
  type: RAW_TEXT
  text:
  - '&f&lACESSE NOSSAS REDES SOCIAIS'
  - ''
  - '$OPEN_URL$&9&lFacebook;&fClique para acessar;https://twww.facebook.com/rush'
  - '$OPEN_URL$&b&lTwitter;&fClique para acessar;https://twww.twitter.com/canalrush'
  - '$OPEN_URL$&c&lYouTube;&fClique para acessar;https://twww.youtube.com/rushteam'
  - '$OPEN_URL$&3&lTeamSpeak;&fClique para acessar;http://www.teamspeak.com/invite/ts3floco.com/?server_uid=WsJaAxx40TeCqM5r%2FcOwQuR1m6A%3D'
  permission-required: false 

a981zg0VSIOLCkFLutsjEQ.png

 

 

 

Este comando  /ajuda é outro exemplo de RAW_TEXT

 

 

 

 

 

ajuda:
  command: /ajuda
  type: RAW_TEXT
  text:
  - '&2-&a-&2-&a-&2-&a-&2-&a-&2-&a-&2-&a- &e&lLISTA DE COMANDOS &2-&a-&2-&a-&2-&a-&2-&a-&2-&a-&2-&a-'
  - '$RUN_COMMAND$&e/arena &8-&7 Teleporta para a arena.;Clique para se teleportar para a arena;/warp arena'
  - '$RUN_COMMAND$&e/spawn &8-&7 Teleporta para o spawn.;Clique para se teleportar para o spawn;/warp spawn'
  - '$RUN_COMMAND$&e/mina &8-&7 Teleporta para a mina.;Clique para se teleportar para a mina;/warp mina'
  - '$RUN_COMMAND$&e/loja &8-&7 Teleporta para a loja.;Clique para se teleportar para a loja;/warp loja'
  - '$RUN_COMMAND$&e/vip &8-&7 Teleporta para a area vip.;Clique para se teleportar para a vip;/warp vip'
  - '$RUN_COMMAND$&e/shop &8-&7 Abre o shop do servidor.;Clique para abrir o shop;/shop'
  - '$RUN_COMMAND$&e/kits &8-&7 Abre o menu dos kits.;Clique para abrir o menu dos kits;/kits'
  - '$RUN_COMMAND$&e/sethome &8-&7 Define uma home.;Clique para definir uma home;/sethome'
  - '$RUN_COMMAND$&e/delhome &8-&7 Deleta uma home.;Clique para deletar uma home;/delhome'
  - '$RUN_COMMAND$&e/home &8-&7 Teleporta para uma home.;Clique para se teleportar para uma home;/home'
  permission-required: false 

8FlN8f7FRdqpWfN-xxNimQ.png

 

 

 

Este comando /cores é o mais simples, ele não executa comandos nem abre links, apenas mostra informações.

 

 

 

 

 

Cores:
  command: /cores
  type: RAW_TEXT
  text:
  - '&f&lL&e&lI&2&lS&3&lT&4&lA&d&l D&6&lE &7&lC&c&lO&9&lR&b&lE&a&lS'
  - ''
  - '&1&$darkblue1 = Azul Escuro;&1&$darkblue1 = Azul Escuro'
  - '&2&$darkgreen2 = Verde Escuro;&2&$darkgreen2 = Verde Escuro'
  - '&3&$darkteal3 = Ciano;&3&$darkteal3 = Ciano'
  - '&4&$darkred4 = Vermelho Escuro;&4&$darkred4 = Vermelho Escuro'
  - '&5&$purple5 = Roxo;&5&$purple5 = Roxo'
  - '&6&$gold6 = Dourado;&6&$gold6 = Dourado'
  - '&7&$gray7 = Cinza Claro;&7&$gray7 = Cinza Claro'
  - '&8&$darkgray8 = Cinza Escuro;&8&$darkgray8 = Cinza Escuro'
  - '&9&$blue9 = Azul Claro;&9&$blue9 = Azul Claro'
  - '&0&$black0 = Preto;&0&$black0 = Preto'
  - '&a&$brightgreena = Verde Claro;&a&$brightgreena = Verde Claro'
  - '&b&$tealb = Azul Bebe;&b&$tealb = Azul Bebe'
  - '&c&$redc = Vermelho Claro;&c&$redc = Vermelho Claro'
  - '&d&$pinkd = Rosa;&d&$pinkd = Rosa'
  - '&e&$yellowe = Amarelo;&e&$yellowe = Amarelo'
  - '&f&$whitef = Branco;&f&$whitef = Branco'
  permission-required: false 

dn4KffSNRKu7WXEzi358vA.png

 

 

 

 

 

Exemplos de comando do tipo BROADCAST_RAW_TEXT

 

 

Os comandos do tipo BROADCAST_RAW_TEXT seguem o mesmo padrão dos RAW_TEXT "frase;frase_em_json;comando ou link"

 

Para abrir um link deve-se colocar $OPEN_URL$ e pra executar um comando $RUN_COMMAND$.

 

Comando /divulgar simples de BROADCAST_RAW_TEXT

 

 

 

 

 

divulgarlive:
  command: /divulgar live
  type: BROADCAST_RAW_TEXT
  text:
  - ''
  - '$OPEN_URL$&a$arg1 está em live agora! Clique para assistir.;&eClique para assistir;$arg2'
  - ''
  permission-required: true
  required_args: 2
  permission-node: mycommand.cmd.divulgarlive
  permission-error: '&cVocê não tem permissão para utilizar este comando.'
  error-message: '&fComando Incorreto, Use: &c/divulgar video <seu-nick> <link>
divulgarvideo:
  command: /divulgar video
  type: BROADCAST_RAW_TEXT
  text:
  - ''
  - '$OPEN_URL$&a$arg1 postou um novo vídeo! Clique para assistir.;&eClique para assistir;$arg2'
  - ''
  permission-required: true
  required_args: 2
  permission-node: mycommand.cmd.divulgarvideo
  permission-error: '&cVocê não tem permissão para utilizar este comando.'
  error-message: '&fComando Incorreto, Use: &c/divulgar video <seu-nick> <link>
divulgar:
  command: /divulgar
  type: RAW_TEXT
  text:
  - '&aPara divulgar use:'
  - '&e/divulgar video <seu-nick> <link>;Clique para divulgar;/Divulgar Video <seu-nick> <link>'
  - '&e/divulgar live <seu-nick> <link>;Clique para divulgar;/Divulgar Live <seu-nick> <link>'
  permission-required: true
  permission-node: mycommand.cmd.divulgar
  permission-error: '&cVocê não tem permissão para utilizar este comando.' 

DJ4cjxaDTK6Kl6SXN8bJiw.png

Esse código é um pouco mais complexo, mas é muito fácil de entender!

Quando a pessoa digita /divulgar abre o menu de ajuda. Caso a pessoa quer divulgar uma live é simples /divulgar live <seu-nick> que seria o nome do canal e depois o link da live para quando as pessoas clicarem na mensagem abrirem a live! Bem simples ;D

 

 

 

Comando bem simples /inciarevento avisa que o evento foi iniciado com a opção de clicar na mensagem para entrar.

 

 

 

 

 

iniciarevento:
  command: /iniciarevento
  type: BROADCAST_RAW_TEXT
  text:
  - ''
  - '$RUN_COMMAND$&a[ALERTA] Evento mina recheada iniciado, clique para participar!;&eClique para entrar no evento;/warp evento'
  - ''
  permission-required: true
  permission-node: mycommand.cmd.iniciarevento
  permission-error: '&cVocê não tem permissão para utilizar este comando.' 

RjJnp8H9TxW6FA_fZaz1_Q.png

 

 

 

 

 

Exemplo de comando do tipo BUNGEE_TP

 

 

Eu nunca usei comandos do tipo BUNGEE_TP... O que eu sei é que eles servem pra teleportar o jogar de 1 bungee para 1 servidor. Se você pesquisar na net também não tem muitos exemplos desse tipo de comando, pelo que eu li ele funciona perfeitamente :) então se alguém quiser mexer com esse tipo de comando é bem fácil. Aqui esta alguns exemplos de ele como funciona:

Exemplo 1: 

 

 

 

 

bungeecord_example:
  command: /hub
  type: BUNGEE_TP
  server_name: hub 

Exemplo 2:

bungeecord_example:
  command: /bungeetest
  type: BUNGEE_TP
  server_name: hub
  permission-required: true
  permission-node: mycommand.cmd.bungeecord_example
  permission-error: "You don't have permission!" 

 

 

 

Exemplos de comandos do tipo EXP_BAR

 

 

Os comandos EXP_BAR são praticamente inuteis, tudo que eles fazem é criar uma contagem regressiva na EXP_BAR... geralmente as pessoas usam %ExpBar%10% nos comandos do tipo RUN_COMMAND para fazer contagens regressivas pois fica mais pratico e legal.

 

Exemplo de comando EXP_BAR

Contagem:
  command: /Contagem
  type: EXP_BAR
  delaytimer: 5
  permission-required: false

fTjLq2E.gif

 

 

 

(o melhor)

Exemplos de comandos do tipo RUN_COMMAND

 

 

Os comandos do tipo RUN_COMMAND são os mais completos e os mais utilizados. Na minha opinião esse tipo de comando é o melhor do MyCommand pois aqui você pode juntar tudo, você pode executar comandos, enviar textos, colocar delay, variaveis TUDO! Então pra vocês entenderem bem vou criar varios exemplos de comandos!

 

Exemplo 1:

No exemplo 1 iremos encurtar um comando!

 

 

Arena:
  command: /arena
  type: RUN_COMMAND
  runcmd:
  - '/warp arena'
  permission-required: false 

Agora para deixar um pouco mais completo iremos enviar uma mensagem Broadcast quando o player entrar na arena:

Arena:
  command: /arena
  type: RUN_COMMAND
  runcmd:
  - '/warp arena'
  - '$broadcasttext$&c$player acabou de entrar na arena!'
  permission-required: false 

 

 

Exemplo 2:

Agora no exemplo 2 iremos enviar uma mensagem de alerta no chat junto com um Title

 

 

xxAlerta:
  command: /@alerta
  type: BROADCAST_TITLE
  text:
  - '&aALERTA!'
  permission-required: true
  permission-node: mycommand.cmd.xxAlerta
  permission-error: '&cVocê não tem permissão para executar este comando.'
yyAlerta:
  command: /alerta
  type: RUN_COMMAND
  runcmd:
  - '/@alerta'
  - '$broadcasttext$'
  - '$broadcasttext$&a[ALERTA] $multiargs'
  - '$broadcasttext$'
  - '$text$&7&oAlerta enviado com sucesso!'
  permission-required: true
  required_args: 1
  permission-node: mycommand.cmd.yyAlerta
  permission-error: '&cVocê não tem permissão para executar este comando.' 

NSISeSDtQCGV7jE3lR7V3w.png

 

 

No próximo exemplo irei criar um sistema de WARPs dentro do MyCommand e futuramente irei criar um MENU GUI para elas.

 

 

WarpMina:
  command: /warp mina
  type: RUN_COMMAND
  runcmd:
  - '$text$Teleportando-se para a mina...'
  - '%PlayerOptions%teleport: world:1000.0:22.0:1000.0'
  permission-required: false
WarpArena:
  command: /warp arena
  type: RUN_COMMAND
  runcmd:
  - '$text$Teleportando-se para a arena...'
  - '%PlayerOptions%teleport: world:2000.0:22.0:2000.0'
  permission-required: false
WarpLoja:
  command: /warp loja
  type: RUN_COMMAND
  runcmd:
  - '$text$Teleportando-se para a loja...'
  - '%PlayerOptions%teleport: world:3000.0:22.0:3000.0'
  permission-required: false
WarpVip:
  command: /warp vip
  type: RUN_COMMAND
  runcmd:
  - '$text$Teleportando-se para a area vip...'
  - '%PlayerOptions%teleport: world:4000.0:22.0:4000.0'
  permission-required: true
  permission-node: mycommand.cmd.WarpVip
  permission-error: '&cVocê não tem permissão para utilizar este comando.'
Warp:
  command: /warp
  type: RUN_COMMAND
  runcmd:
  - '$text$&6Lista de Warps:'
  - '$text$&eWarp Mina'
  - '$text$&eWarp Loja'
  - '$text$&eWarp Arena'
  - '$text$&eWarp Vip'
  permission-required: false 

 

 

Agora no exemplo 4 iremos bloquear comandos usando o RUN_COMMAND

 

 

Ver:
  command: /ver
  type: RUN_COMMAND
  runcmd:
  - '$text$&cVocê não tem permissão para utilizar este comando.'
  required_args: 1
  register: true
  error-message: '&cVocê não tem permissão para utilizar este comando.'
  tab_completer:
  - Minecraft
  permission-required: false
bbVer:
  command: /bukkit:ver
  type: RUN_COMMAND
  runcmd:
  - '$text$&cVocê não tem permissão para utilizar este comando.'
  required_args: 1
  register: true
  error-message: '&cVocê não tem permissão para utilizar este comando.'
  tab_completer:
  - Minecraft
  permission-required: false
babout:
  command: /bukkit:about
  type: RUN_COMMAND
  runcmd:
  - "%PlayerOptions%setFireTicks: 100"
  required_args: 1
  register: true
  tab_completer:
  - Minecraft
  error-message: '&cVocê não tem permissão para utilizar este comando.'
  permission-required: false
about:
  command: /about
  type: RUN_COMMAND
  runcmd:
  - "%PlayerOptions%setTotalExperience: 10"
  required_args: 1
  register: true
  tab_completer:
  - Minecraft
  error-message: '&cVocê não tem permissão para utilizar este comando.'
  permission-required: false
bversion:
  command: /bukkit:version
  type: RUN_COMMAND
  runcmd:
  - '$text$&cVocê não tem permissão para utilizar este comando.'
  required_args: 1
  register: true
  tab_completer:
  - Minecraft
  error-message: '&cVocê não tem permissão para utilizar este comando.'
  permission-required: false
version:
  command: /version
  type: RUN_COMMAND
  runcmd:
  - '$text$&cVocê não tem permissão para utilizar este comando.'
  required_args: 1
  register: true
  tab_completer:
  - Minecraft
  error-message: '&cVocê não tem permissão para utilizar este comando.'
  permission-required: false
pl:
  command: /pl
  type: RUN_COMMAND
  runcmd:
  - "$text$&cVocê não tem permissão para utilizar este comando."
  permission-required: false
plugins:
  command: /plugins
  type: RUN_COMMAND
  runcmd:
  - "$text$&cVocê não tem permissão para utilizar este comando."
  permission-required: false
 

Lembrado! Os comandos que temo tab_completer, ele bloqueia também o /ver [tab] essas coisas...

 

 

No exemplo 5 eu vou criar um comando chamado /proteger. Esse comando adiciona automaticamente todas as flags do worldguarld em uma region.

 

 

Proteger:
  command: /Proteger
  type: RUN_COMMAND
  runcmd:
  - '/rg flag $arg1 build deny'
  - '/rg flag $arg1 block-break deny'
  - '/rg flag $arg1 block-place deny'
  - '/rg flag $arg1 pvp deny'
  - '/rg flag $arg1 chest-access allow'
  - '/rg flag $arg1 tnt deny'
  - '/rg flag $arg1 use allow'
  - '/rg flag $arg1 interact allow'
  - '/rg flag $arg1 damage-animals deny'
  - '/rg flag $arg1 mob-damage deny'
  - '/rg flag $arg1 mob-spawning deny'
  - '/rg flag $arg1 creeper-explosion deny'
  - '/rg flag $arg1 other-explosion deny'
  - '/rg flag $arg1 enderdragon-block-damage deny'
  - '/rg flag $arg1 invincible allow'
  - '/rg flag $arg1 ghast-fireball deny'
  - '/rg flag $arg1 enderman-grief deny'
  - '/rg flag $arg1 entity-painting-destroy deny'
  - '/rg flag $arg1 enderpearl deny'
  - '/rg flag $arg1 entity-item-frame-destroy deny'
  - '/rg flag $arg1 fire-spread deny'
  - '/rg flag $arg1 lava-fire deny'
  - '/rg flag $arg1 lava-flow deny'
  - '/rg flag $arg1 water-flow deny'
  - '/rg flag $arg1 potion-splash deny'
  - '/rg flag $arg1 buyable no'
  - '/rg flag $arg1 allow-shop allow'
  error-message: '&fComando Incorreto, Use:&c /Proteger <nome-da-region>'
  require_all_arguments: true
  permission-required: true
  permission-node: mycommand.cmd.Proteger
  permission-error: "&cVoce nao tem permissao para utilizar este comando." 

 

 

Comando /heal ou /curar criado dentro do MyCommand

 

 

curar:
  command: /curar
  type: RUN_COMMAND
  runcmd:
  - '%PlayerOptions%setHealth: 20'
  - '%PlayerOptions%setFoodLevel: 20'
  - '$text$&aCurado!'
  permission-required: false 

 

 

Comando /fake ou /trocarnick criado com RUN_COMMAND

 

 

fake:
  command: /fake
  type: RUN_COMMAND
  runcmd:
  - '%PlayerOptions%setCustomName: $arg1'
  - '%PlayerOptions%setDisplayName: $arg1'
  - '%PlayerOptions%setPlayerListName: $arg1'
  permission-required: false
  required_args: 1
  error-message: "&aComando incorreto, use /fake <nome-fake>" 

 

 

 

 

 

 

OLOKO Cara, parabens

Link para o comentário
Compartilhar em outros sites

Excelente Tutorial gostei bastante vai ajudar muitos que esta para começar um servidor ou não sabe mexer com o mycommand 

 

Vlw pelo apoio mano <3

 

Daqui uns dia vou dar um editada no tópico e postar mais uma lista de comandos e ensinar novas funções XD

OLOKO Cara, parabens

Vlw mano espero que tenha lhe ajudado <3

Tutorial 10/10

Continue trazendo seus tutoriais para a nossa comunidade :D

Passei mais de 7 horas fazendo o tutorial XD

Vlw pelo apoio <3

Pode deixar que eu ainda vou trazer varios tutoriais!

Link para o comentário
Compartilhar em outros sites

Eu nunca usei esse tipo de comando pra ser sincero... é uma das poucas coisas do MyCommand que eu nunca usei '-' se puder dar uns exemplos ai eu coloco no tópico blz

 

é só você ir ali nos exemplos de comandos do tipo RUN_COMMAND... eu ensino como bloquear isso lá XD

é so você botar um comando com cooldown: 300, ai você so vai poder utilizar o mesmo comando a cada 5 minutos.

Link para o comentário
Compartilhar em outros sites

Rush, no exemplo que voce deu de /alerta a permissao que vc colocou nao esta funcionando todos do servidor estao executando o comando msm nao tendo a permissao pode ajuda ? eu so sei o exeplo do /alerta todos os comando q eu coloco permissao os players estao executando a permisao nao esta sendo usada

Link para o comentário
Compartilhar em outros sites

Rush, no exemplo que voce deu de /alerta a permissao que vc colocou nao esta funcionando todos do servidor estao executando o comando msm nao tendo a permissao pode ajuda ? eu so sei o exeplo do /alerta todos os comando q eu coloco permissao os players estao executando a permisao nao esta sendo usada

Você tem que verificar, se o comando está com a opção permission-required: true só quem tem a permissão o quem estiver de OP vai poder usar o comando.... verifica se você não botou alguma permissão a mais no PEX ou se você não colocou algo errado no código do comando

Link para o comentário
Compartilhar em outros sites

Vale lembrar que em

permission-node: mycommand.cmd.<comando>

 

Não necessariamente precisa ser começado por "mycommand.cmd." eu uso minhas proprias permissões. Tipo:

 

coord:

  command: /coord
  type: TEXT
  text:
  - '&3&lPlayer : &b$player'
  - '&3&lMundo : &b$world'
  - '&3&lCordenadas :'
  - '&3&lX : &b$locX'
  - '&3&lY : &b$locY'
  - '&3&lZ : &b$locZ'
  - '&3&lNome da Region : &b$wgregionname'
  - '&3&lData (DD/MM/AAAA) : &b$todaydate'
  permission-required: true
  permission-node: mycmd.player

Minha permissão está "mycmd.player" e funciona do mesmo jeito!

BELO POST, ja fiz alguns packs de comandos pelo mycmd aqui no GB, só queria que eles implementa-se no plugin um sistema de delay no comando...tipo /megafone, da pra você aplicar o delay apenas nos comandos da lista da config...esta livre para digitar /megafone quantas vezes que quiser, somente os delay será aplicado de forma diferente. Podia ter um delay de forma que pudesse digitar /megafone a cada X minutos. Abraços AHHH VALEU POR TRADUZIR O WG 

Link para o comentário
Compartilhar em outros sites

 

O MAIOR TÓPICO QUE JÁ VÍ,

EM TODA MINHA VIDA!

ÓTIMO TUTORIAL PARABÉNS!

 

Hehehe vlw pelo apoio <3

 

 

Vale lembrar que em

Não necessariamente precisa ser começado por "mycommand.cmd." eu uso minhas proprias permissões. Tipo:

Minha permissão está "mycmd.player" e funciona do mesmo jeito!

BELO POST, ja fiz alguns packs de comandos pelo mycmd aqui no GB, só queria que eles implementa-se no plugin um sistema de delay no comando...tipo /megafone, da pra você aplicar o delay apenas nos comandos da lista da config...esta livre para digitar /megafone quantas vezes que quiser, somente os delay será aplicado de forma diferente. Podia ter um delay de forma que pudesse digitar /megafone a cada X minutos. Abraços AHHH VALEU POR TRADUZIR O WG 

 

Eu sempre usei mycommand.cmd já tinha ouvido pessoas falaram que dava pra botar outras permission mas eu nunca tinha testado.... bom saber que funciona hehe

 

Muito legal.

 

Eu uso bastante o MyCommand e aprendi tudo sozinho olhando o site deles em inglês, isso vai facilitar demais.

 

Eu basicamente traduzi o site inteiro deles e simplifiquei hehe

Link para o comentário
Compartilhar em outros sites

Voltando aqui...testei agora o sistema de permissao e tive que pesquisar muito e descobrir o problema...mesmo tendo as permissões em seus grupos(mycommand.cmd.###) ou permissões personalizadas"permission-node: mycmd.moderador" como eu normalmente uso (mycmd.moderador). É PRECISO IR NA CONFIG DO MYCOMMAND E MUDAR A SEGUINTE CONFIGURAÇÃO:  

DISABLE_PERMISSIONS: false

 

ELA JA VEM COMO PADRÃO EM "false" MUDE PARA:  

DISABLE_PERMISSIONS: true

 

ai funcionara perfeitamente as permissões personalizadas!

Link para o comentário
Compartilhar em outros sites

Você tem que verificar, se o comando está com a opção permission-required: true só quem tem a permissão o quem estiver de OP vai poder usar o comando.... verifica se você não botou alguma permissão a mais no PEX ou se você não colocou algo errado no código do comando

Mano esta tudo certinho olha a print pra tu ver.  http://prntscr.com/i4613g

Link para o comentário
Compartilhar em outros sites

Mano esta tudo certinho olha a print pra tu ver.  http://prntscr.com/i4613g

 

tenta colocar a pemissão padrão do mycommand que é mycommand.cmd.<comando>

 

Auto:
  command: /Auto
  type: RUN_COMMAND
  runcmd:
  - '$text$oii'
  permission-required: true
  permission-node: mycommand.cmd.Auto
  permission-error: '&cVocê não tem permissão para utilizar este comando.'
Link para o comentário
Compartilhar em outros sites

 

tenta colocar a pemissão padrão do mycommand que é mycommand.cmd.<comando>

 

Auto:
  command: /Auto
  type: RUN_COMMAND
  runcmd:
  - '$text$oii'
  permission-required: true
  permission-node: mycommand.cmd.Auto
  permission-error: '&cVocê não tem permissão para utilizar este comando.'

 

Ainda nao deu todos os players estao digitado o comando numa boa

Link para o comentário
Compartilhar em outros sites

Ainda nao deu todos os players estao digitado o comando numa boa

 

Você deve ter colocado alguma permissão erada no PEX porque eu acabei de testar esse comando só quem tem perm pode usar.

 

tenta ir na config.yml e colocar isso true

 

DISABLE_PERMISSIONS: false

 

Oloco! tutorial completão! <3

Vlw mano <3

Link para o comentário
Compartilhar em outros sites

 

Eu estava querendo fazer um comando /prender <jogador> que redirecionaria para o /jail <player> <nome da jail>.

Como seria a config?

 

 

é só olhar o tutorial é a coisa mais facil de fazer.... type: run_command -- command /prender -- runcmd  /jail $arg1 cadeia

Link para o comentário
Compartilhar em outros sites

Participe da Conversa

Você pode postar agora e se cadastrar mais tarde. Se você tiver uma conta, a class='ipsType_brandedLink' href='https://gamersboard.com.br/login/' data-ipsDialog data-ipsDialog-size='medium' data-ipsDialog-title='Sign In Now'>acesse agora para postar com sua conta.
Observação: sua postagem exigirá aprovação do moderador antes de ficar visível.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.

Processando...
×
×
  • Criar Novo...