Ir para conteúdo

leonardosc

Membros VIP
  • Total de itens

    2.229
  • Registro em

  • Última visita

Respostas na Comunidade

  1. leonardosc's postagem in Ajuda HashMap was marked as the answer   
    Ué, só usar o BoostersPlayer.get(player)
  2. leonardosc's postagem in Erro Eclipse was marked as the answer   
    Você instalou o JDK?
  3. leonardosc's postagem in Ajuda com o inventory e mobspawner? was marked as the answer   
    Só usar o InventoryHolder pra guardar o block (ou a localização, vc que sabe)
     
    Fiz o código aqui mesmo, pode ter erros de sintaxe...
    // Bota esta classe em algum lugar public class SpawnerBlockHolder implements InventoryHolder { private Block spawner; public SpawnerBlockHolder(Block spawner) { this.spawner = spawner; } public Block getSpawner() { return this.spawner; } @Override public Inventory getInventory() { return null; } } @EventHandler public void ClicarSpawn(BlockPlaceEvent e){ if(e.getBlock().getType().equals(Material.MOB_SPAWNER)){ SpawnerBlockHolder holder = new SpawnerBlockHolder(e.getBlock()); Inventory inv = Bukkit.createInventory(holder, 36, "§6Comprar Spawners"); ArrayList<String> lore1 = new ArrayList<String>(); lore1.add("§a - MobSpawner de Zumbi"); lore1.add("§aPreço: §7$7.000"); lore1.add("§aCaso clique aqui este MobSpawner irá virar de Zumbi!"); // 383:54 ItemStack mob_1 = ItemsManager.putName(Material.MONSTER_EGG,"§eMobSpawner de Zumbi", (short) 54); inv.setItem(1, mob_1); Player p = (Player) e.getPlayer(); p.openInventory(inv); } } @EventHandler public void ClickInv(InventoryClickEvent e){ if(e.getClickedInventory().getName().equalsIgnoreCase("§6Comprar Spawners")){ SpawnerBlockHolder holder = (SpawnerBlockHolder) e.getClickedInventory().getHolder(); BlockState blockState = holder.getSpawner().getState(); CreatureSpawner creatureSpawner = (CreatureSpawner) blockState; if(e.getCurrentItem().getItemMeta().equals("§eMobspawner de Zumbi")){ creatureSpawner.setSpawnedType(EntityType.ZOMBIE); blockState.update(); } // outros tipos } }
  4. leonardosc's postagem in [Dúvida] Reflections was marked as the answer   
    Vê se isso ainda funfa: https://bukkit.org/threads/util-1-7-2-auto-respawn.153592/
  5. leonardosc's postagem in Help me pls. was marked as the answer   
    Deve ser pq a query "SELECT * FROM `settings` WHERE `id` = 1" ta retornando false... (http://php.net/manual/pt_BR/mysqli.query.php#refsect1-mysqli.query-returnvalues)

    Muda pra: (ali na função settings_data)
    $result = $database->query("SELECT * FROM `settings` WHERE `id` = 1"); if ($result == FALSE) { // não encontrou, retorna alguma coisa. return FALSE; } $data = $result->fetch_object();
  6. leonardosc's postagem in Tutorial De Programacao PL was marked as the answer   
    Recomendo ver: http://bukkit.gamepedia.com/Plugin_Tutorial, é bem completo. Mostrar desde configurar a IDE até como criar comandos, eventos e etc.
  7. leonardosc's postagem in Duvida hashmap was marked as the answer   
    Basta usar o put novamente.
     
    Quando você coloca: map.put("key", valor), caso essa key já exista, o valor será atualizado.
     
    https://docs.oracle.com/javase/7/docs/api/java/util/Map.html#put(K,%20V)
  8. leonardosc's postagem in É possível ofuscar string ? was marked as the answer   
    Resposta simples: Não da. Não adianta.
     
    Da pra tu fazer umas gambiarra tipo o que o Allatori faz, mas é muito fácil de reverter.
     
    Quer a melhor maneira de esconder a senha? não coloque no código.
  9. leonardosc's postagem in ALTERAR SIMPLES FRASE was marked as the answer   
    Use o jar-string-editor: https://leonardosnt.github.io/jar-string-editor/
     
    Basta clicar em Selecionar Arquivo, selecionar o HardBoard.jar, alterar esse texto (Ele é o 4° do fim pro inicio da página) e depois salvar.
  10. leonardosc's postagem in [Dev][Duvida] Rank de TOP Players was marked as the answer   
    HashMap<String, Integer> players = new HashMap<>();   for(String key : getConfig().getConfigurationSection("Players").getKeys(false)){   int value = getConfig().getInt("Players." + key);   players.put(key, value); } // Daqui pra cima é o mesmo do código do zAth, // pra baixo é uma versão menos verbosa. players.entrySet() .stream() .sorted(Map.Entry.comparingByValue(Comparator.reverseOrder())) .forEach(e -> {
    // você pode mudar por sendMessage System.out.println(e.getKey() + " " + e.getValue()); });
    Aqui tem um gist que criei que mostra como ordenar uma Map pelo valor, salve em algum lugar: https://gist.github.com/leonardosnt/700b51bf0a4b420412bfa35268948aae
  11. leonardosc's postagem in [Dúvida] item:data ;-; was marked as the answer   
    Tenta:
    String rawItem = getConfig().getString("Inventory.item"); String[] partes = rawItem.split(";"); int id = Integer.parseInt(partes[0]); byte data = Byte.parseByte(partes[1]); ItemStack item = new ItemStack(id); item.getData().setData(data); // ou item.setDurability(data); // seta o item no inventario
  12. leonardosc's postagem in Socket não pega motd personalizado ? was marked as the answer   
    Aquele código é pra 1.8+.
     
    Tente esse: https://bukkit.org/threads/most-efficient-way-to-ping-a-1-7-server.369180/#post-3149542
  13. leonardosc's postagem in Erro server.bat was marked as the answer   
    Isso acontece quando já existe um servidor (ou outro processo) rodando na mesma porta (25565).
     
    Só mudar a porta ou fechar o processo que esteja usando essa porta.
  14. leonardosc's postagem in [Dúvida] Quebrar blocos was marked as the answer   
    da playEffect com Effect.STEP_SOUND, se não me engano aprece a partícula e da o som.
     
    https://leonardosnt.github.io/spigot-javadoc-jdk9/org/bukkit/Effect.html#STEP_SOUND
  15. leonardosc's postagem in Calcular tempo que passou was marked as the answer   
    É do mesmo jeito que você calcula qualquer diferença.
     
    DECORRIDO = FINAL - INICIAL
  16. leonardosc's postagem in [Duvida] Completable Future was marked as the answer   
    Não é assim, não mudou quase nada...
     
    Era +- assim que tava falando...
    Iterator<ServerInfo> servers = servers.iterator();static void recursivelyPing(final Iterator<ServerInfo> svs) {  if (svs.hasNext()) {    ServerInfo next = svs.next();    sv.ping(new Callback<ServerPing>() {      @Override      public void done(ServerPing ping, Throwable error) {        if(error != null){          if(ping.getPlayers().getOnline() < ping.getPlayers().getMax()){            p.connect(sv);          } else {            recursivelyPing(svs);          }        }      }    });  } else {    // nao tem mais servidores, pode kikar    System.out.println("nao tem sv");  }}
  17. leonardosc's postagem in cabeça was marked as the answer   
    Essa cabeça em 3d é só a partir da 1.8 se não me engano... poder ser isso...
  18. leonardosc's postagem in RADIUS JAVA was marked as the answer   
    ali em cima do
    if (loc.getWorld().getBlockAt(x, y, z).getType() == Material.STONE) { coloca
    if (x == loc.getBlockX() && y == loc.getBlockY() && z == loc.getBlockZ()) continue;
  19. leonardosc's postagem in Operador & (formula) was marked as the answer   
    É a mesma coisa cara, não muda nada, a unica diferença é que o número ta em decimal.
     
    Por exemplo:
     
    5 & 7 = 5
     
    é a mesma coisa que
     
    00110101 & 00110111 = 00110101
     
    0 & 0 = 0
    0 & 0 = 0
    1 & 1 = 1
    1 & 1 = 1
    0 & 0 = 0
    1 & 1 = 1
    0 & 1 = 0
    1 & 1 = 1
     
    5 em binário é 00110101, 7 é 00110111
  20. leonardosc's postagem in Como arrumar isso? was marked as the answer   
    Se não me engano é
    PlayerConnection connection = ((CraftPlayer) player).getHandle().playerConnection;
  21. leonardosc's postagem in Dúvida MCApi was marked as the answer   
    Coloca a parte do código onde você pega o "version".
     
    Provavelmente a parte que você pega o "version" está fora do bloco do "if (on) ...".
  22. leonardosc's postagem in Dúvida sobre um código was marked as the answer   
    Da pra fazer com css...
     
    // Código desse triangulo (peguei da página da print)
    .classe:after { position: relative; content: ""; display: inline-block; top: -13px; left: 50%; ; width: 0; height: 0; border-left: 13px solid transparent; border-right: 13px solid transparent; border-top: 13px solid #1D78C8; } Links sobre: 
    - https://www.w3schools.com/howto/howto_css_arrows.asp
    - https://css-tricks.com/snippets/css/css-triangle/
    - http://apps.eky.hk/css-triangle-generator/
  23. leonardosc's postagem in [Dúvida] Métodos em 'static' causam lag? was marked as the answer   
    Não.
     
    Você pode (ou deve) usar static pra métodos "uteis", funções puras etc...
     
    Exemplo de quando usar static:
     
    Você tem um método utilitário que "capitaliza" a primeira de uma String, nesse caso seria melhor você usar um método estático,
    senão você teria que criar uma instancia (ou usar singleton) da classe toda vez que fosse utilizar esse método e isso consumiria ram.
     
    Usando static:
    public class StringUtil {   public static String capitalizar(String texto) {      // lógica aqui   } } Ai você usaria assim: 
    String stringCapitalizada = StringUtil.capitalizar("uma string aqui"); Se não o método não fosse estático você teria que fazer isso: 
    StringUtil stringUtil = new StringUtil(); String stringCapitalizada = stringUtil.capitalizar("uma string aqui"); Como disse acima, você teria que criar uma instancia cada vez que fosse utilizar esse método, assim gastando recursos desnecessariamente.

     
    Exemplo de quando não usar.
    // Representa uma pessoa class Pessoa {   private String nome;   public Pessoa(String nome) { this.nome = nome; }   public void apresentar() {     System.out.println("Olá, meu nome é " + nome);   } } Pessoa joao = new Pessoa("joao"); joao.apresentar();// Olá, meu nome é joao Pessoa maria = new Pessoa("maria"); maria.apresentar();// Olá, meu nome é maria  
    Espero ter ajudado, não sou muito bom com explicação.
  24. leonardosc's postagem in Alguém me ajuda a fazer 1 sistema de radius para bloco? was marked as the answer   
    // 2 pra cima // 2 pra baixo // 2 pra +X // 2 pra -X // 2 pra +Z // 2 pra -Z int radius = 2; Location loc = e.getBlock().getLocation(); int x1 = loc.getBlockX() - radius; int z1 = loc.getBlockZ() - radius; int y1 = loc.getBlockY() - radius; int x2 = loc.getBlockX() + radius; int z2 = loc.getBlockZ() + radius; int y2 = loc.getBlockY() + radius; int startX = Math.min(x1, x2); int startY = Math.min(y1, y2); int startZ = Math.min(z1, z2); int endX = Math.max(x1, x2); int endY = Math.max(y1, y2); int endZ = Math.max(z1, z2); for (int x = startX; x <= endX; x++) { for (int y = startY; y <= endY; y++) { for (int z = startZ; z <= endZ; z++) { if (loc.getWorld().getBlockAt(x, y, z).getType() == Material.SPONGE) { e.getPlayer().sendMessage("§cSe n pode colocar aki " + System.currentTimeMillis()); e.setCancelled(true); } } } } @Edit
     
    Corrigi uns bug loko
     
     
     

  25. leonardosc's postagem in [DÚVIDA] COMO CHECAR SE O CLIQUE FOI NESSE ITEM? was marked as the answer   
    Você pode comparar o tipo e o nome do item, creio que seja a maneira mais simples de fazer.
     
    Examplo:
    ItemStack naMao = player.getItemInHand(); ItemMeta meta = naMao.getItemMeta(); // você pode (ou deve) verificar se é nulo ou usar o ItemStack#hasItemMeta // Da pra diminuir pra isso // if (naMao.getType() == Material.PAPER && "§eNome do item?".equals(meta.getDisplayName())) // if (naMao.getType() == Material.PAPER && meta.hasDisplayName() && meta.getDisplayName().equals("§eNome do item?")) { // faz alguma coisa aqui } @Edit
     
    Fiz aqui mesmo, não testei.
×
×
  • Criar Novo...