-
Total de itens
415 -
Registro em
-
Última visita
Tudo que mabazi postou
-
descreva a função e versão desejada por favor
-
Exatamente oque o fexzzz falou, mas voce pode nao colocar o L e o numero é em ticks, 1segundo = 20 ticks Eu faço normalmente (20 * seg)
-
simples: ItemStack item = new ItemStack(Material.Skull_Item, 1, (short)3); SkullMeta m = (SkullMeta) item.getSkullMeta(); m.setOwner(Player); item.setItemMeta(m); Player.getInventory().addItem(item);
-
de punição uso maxbans
-
dúvida resolvida Desativar e ativar evento por comando
tópico respondeu ao zToodi de mabazi em Dúvidas resolvidas
int valor = null; ainda tem que estar la acima do boolean isInt -
dúvida resolvida Desativar e ativar evento por comando
tópico respondeu ao zToodi de mabazi em Dúvidas resolvidas
erro meu, int nunca sera null, ele muda pra 0 boolean isInt = false; try{ valor = Integer.parseInt(msg); //verifica se é um numero valido isInt = true; }catch(){ //nao é um numero inteiro (pode ser letras) //msg de nao é um numero vai aqui usaramComando.remove(e.getPlayer()); } if(isInt){ //player digitou um valor valido usaramComando.remove(e.getPlayer); e.setCancelled(true); //impede que o numero apareça no chat } só add um boolean de verificação que inicia com false e se o jogador digitar um numero valido muda pra true e executa as ordens -
sim, mas como acesso main.getListas() pela API ?
-
talvez... mas lembrei de uma unica vez que meu anti-virus bloqueou acesso ao meu server, tente desativa-lo como um ultimo teste, se nao der acho que podemos concluir que é a internet
-
pode ser que nao, quando aprendi java diziam que precisava, nunca tentei nao usar >.<
-
sim, eu uso depois do command.getName
-
quero jogar na classe API (eu sei, nao consigo explicar :') )
-
dúvida resolvida Desativar e ativar evento por comando
tópico respondeu ao zToodi de mabazi em Dúvidas resolvidas
Eu usaria um ArrayList e um runtasklater para definir o tempo //nao vou colocar os public void e bla bla bla, so o basico pra entender onCommand(){ Player player = (player)sender; if(command.getName().equals("valor"){ player.sendMessage("digite o valor no chat"); usaramComando.add(player);//add o player a lista de pessoas que usaram comando mas nao disseram o numero new bukkitrunnable( //Timer de 30s para caso o jogador nao digite nada //nao lembro oque vem dentro run(){ if(usaramComando.contains(player){ //depois dos 30s ele verifica se o jogador ja digitou o numero, se nao ele expira usaramComando.remove(player); player.sendMessage("Tempo esgotado"); } } }}.runTaskLater(this, 20*30);//20*30 = (20ticks/1s) totaliza 30s } private ArrayList<Player> usaramComando = new ArrayList<>(); //lista de todos que usaram /valor mas nao disseram o numero ainda event(AsyncPlayerChatEvent e){ //evento de msg no chat if(!usaramComando.contains(e.getPlayer()) return; //verifica se esta esperando o jogador dizer o numero String msg = e.getMessage(); //msg enviada no chat int valor = null; try{ valor = Integer.parseInt(msg); //verifica se é um numero valido }catch(){ //nao é um numero inteiro (pode ser letras) //msg de nao é um numero vai aqui usaramComando.remove(e.getPlayer()); } if(valor != null){ //player digitou um valor valido usaramComando.remove(e.getPlayer); e.setCancelled(true); //impede que o numero apareça no chat } } -
Matei a charada, vc esta solicitando a linha "permissao", porem na config esta "Permissao" (letra maiuscula importa)
-
nao é aconselhavel ter caracteres especiais no plugin.yml como !@#$%¨&*()+=^~ nao é aconselhavel o path ter letras maiusculas "me.nome.algumaCoisa" obrigatorio verificar se o jogador é um player para nao ocorrer bugs, mas caso queira que possa ser usado comando no console, use apenas como sender, nao como player if(sender instanceof Player){ Player p = (Player)sender; } (só isso que reparei)
-
precisa ter @override emcima do onEnable onDisable e onCommand @override public void onEnable(){ } @override public void onDisable(){ }
-
dúvida resolvida Desativar e ativar evento por comando
tópico respondeu ao zToodi de mabazi em Dúvidas resolvidas
vc esta programando, skriptando ou usando plugins como my-command? -
kkkkk, sou pessimo e explicar OK tenho 3 classes uma delas é a main, onde fica onEnable outra é a Lista, onde guardo as HashMaps Outra é a API, onde coloco comandos de acesso facil No main eu importei a Lista ( Lista listas = new Lista() ) Entao ele me da as listas em branco Eu coloco coisas nelas e fico com listas cheias de coisas Na classe API eu tenho um void que diz os items de uma lista que esta na classe Lista Porem se eu der "Lista listas = new Lista() " ele ira me dar uma copia das listas vazias e nao posso colocar o constructor API(Main main) para atraves do main ver as listas entao preciso de uma forma de ver o Lista que ja foi iniciado sem pedir o Main no constructor
-
no meu plugin tem a classe API e nela a função de pegar a lista esta lista é gerada com a classe quando o plugin é ativado e apagada qdo desativado o problema é, eu crio uma new ClasseExemplo() para começar a arquivar pelo onEnable só que a classe API nao pode pedir o Main de forma direta no constructor dele, e nao conheço outra forma que me resulte na lista ja criada alguma ideia de como transferir? --------------------------- @UPDATE re-explicando Tenho as classes Main, API, Listas Lista: Guardo a lista em si que inicia vazia (new HashMap<>()) e outras listas API: acesso rapido e facil a terceiros no plugin Main: JavaPlugin Coloquei para quando a Main for ativa ela ja gerar a Listas e ativar a lista vazia, assim posso acessar a lista pelo Main Porem a API nao inicia com a Main, ela é iniciada por terceiros! como faço pra pegar a Main com a Lista sem colocar a Main diretamente no constructor?
-
cria uma hashmap de blocos public void onDisable(){ convertBlocks(); HandlerList().unRegisterAll(); } private HashMap<Integer/*ID*/, Location> RGlocs = new HashMap<>(); private HashMap<Integer/*ID*/, EventType> RGevent = new HashMap<>(); private HashMap<Integer/*ID*/, Material> RGmat = new HashMap<>(); public enum EventType{ Placed, Break } private int lastID = 0; public void convertBlocks(){ while(RGlocs.size > 0){ lastID--; if(RGevent.get(lastID) == EventType.Placed){ RGlocs.get(lastID).getBlock().setType(Material.AIR); }else if(RGevent.get(lastID) == EventType.Break){ RGlocs.get(lastID).getBlock().setType(RGmat.get(lastID)); } } } este é só um exemplo, envez de salvar em hashmaps, vc pode criar uma classe para arquivar individualmente os blocos, seus tipos, oque tinham dentro caso fossem baus, etc e tbm esqueci de incluir os eventos pra qdo o player quebrar, arquivar no hashmap qualquer duvida só perguntar ^^
-
Este aqui é de como usar o TAB e este outro de como usar prefixos juntando os dois e um pouco de raciocinio vc consegue fazer ele atualizar as cores toda vez que o player usar tab
-
Entao amigo... 1. Verifique na server.propriates se o IPV4 esta certo na linha "server-ip=" 2. Verifique se a porta é 25565 3. Verifique se online-mode esta em false (em algumas versoes se deixar true ele pode causar erros) se nada disso funcionar... poste aqui: 1. o print do prompt com IPV4 (apenas) 2. print do server.propriates 3. print do log completo (tente entrar pra vermos no log se ha alguma alteração) 4. print do erro no jogo
-
Meio obvio, mas tem um objeto sendo lançado muito rapido e isso ta causando o erro... e pelo jeito é um plugin do tintaDev (ou copia), deveria pedir suporte ao criador do plugin... https://www.tintadev.com
-
estes sao de modificação de tipo(ID) do bloco e movimentação, quero modificar a data, para modificar a posição do craneo relativo ao bloco, se ele fica apoiado na parede, chao ou flutuando Exemplo: http://prntscr.com/llv99w
-
Eu estou fazendo um plugin que usa craneos, so que quando do bloco.setType o craneo fica flutuando e nao consegui usar o setRotation pra ficar no chao... como faço ele ficar colado ao chao?
-
entregue [Portal] Ao entrar executa um COMANDO 1.5.2
tópico respondeu ao Cloudingx de mabazi em Pedidos entregues