Ir para conteúdo

RaaKuus

Membros
  • Total de itens

    8
  • Registro em

  • Última visita

  1. a parte do "issoehinutil?" é o valor da metadata, você pode por qualquer coisa ai, só precisa lembrar de fazer cast depois... ex com a String: String valor = mob.getMetadata("True").get(0).asString(); //valor = "issoehinutil?" Obs: na parte do "True" fica a chave de indexação da metadata que você está setando...
  2. @EventHandler public void spawn(CreatureSpawnEvent event){ SpawnReason spawnReason = event.getSpawnReason(); } Esse spawnReason é o enum CreatureSpawnEvent.SpawnReason por ele você sabe o motivo da entidade estar spawnando. @Edit fui interpretar corretamente depois, que você precisa dessa informação quando o player matar a entidade, no caso você pode adicionar uma metadata na entidade sempre que ela spawnar, com o próprio enum SpawnReason e quando o player matar essa entidade você apenas pega essa informação salva na metadata da entidade.
  3. Tem como configurar valores diferentes para itens diferentes? tipo espada de ferro custando 100, espada de diamante custando 500...?
  4. Realmente meu exemplo tem problemas de acoplamento e tals, mas pensei em algo que talvez sirva, uma classe que também abusaria de acoplamento mas... class MyConfig { private FileConfiguration config; public MyConfig(FileConfiguration config){ this.config = config; } public String getString(String path){ return this.config.getString(path).replace("&","§"); } } O que acha?
  5. Acredito que você poderia fazer um método estático responsável por encapsular essas mensagens, tipo: public static void sendMessage(Player player, String msg) { player.sendMessage(msg.replace("&", "§")); } E reutilizar esse método em todo seu plugin, não consigo pensar em algo mais simples e útil :S
  6. Você tem que fechar o try{} com catch(Exception nomeDaVariavelException) { //codigo ou em branco } igual a linha 37. O erro da linha 38 pode ser por falta de um " } " na linha 40 não sei se está faltando por que você não colou o método onEnable() completo ou só está faltando mesmo.
  7. Não vou saber te explicar o motivo de não poder usar async em algumas collections mas esse post da Caelum explica bem detalhadamente: http://blog.caelum.com.br/concurrentmodificationexception-e-os-fail-fast-iterators/ Existe também a possibilidade de você usar a Concurrent Collections da java api se o erro estiver ocorrendo na manipulação de alguma collection sua, se o error ocorrer com manipulação de collection do minecraft ou do bukkit não vai dar certo... Exemplo se você estiver usando o HashMap existe o ConcurrentHashMap que é mais lento mas é thread safe. http://blog.caelum.com.br/concurrentmodificationexception-e-os-fail-fast-iterators/
  8. ConcurrentModificationException não acontece quando há uma alteração em coleção de forma assíncrona (concorrente)? Você não está executando esse bloco de código em alguma task assíncrona não?
×
×
  • Criar Novo...