Sm0nG4m1ng Postado Setembro 16, 2020 Denunciar Compartilhar Postado Setembro 16, 2020 Olá eu vinha aqui pedir uma pequena ajuda. Eu estou fazendo 1 plugin para nao dropar nem pedra nem terra no /mina e eu ja acabei o plugin mas quando eu minero / cavo não ganho xp de mcmmo porque eu setei o bloco com AIR poderiam me ajudar a arrumar? Código:@EventHandler private void onBlockBreak(BlockBreakEvent e) { Block b = e.getBlock(); Player p = e.getPlayer(); String world = Main.getInstance().getConfig().getString("Mundo"); if(p.getWorld() == Main.getInstance().getServer().getWorld(world)) { if(p.getGameMode() == GameMode.SURVIVAL){ if(b.getType() == Material.GRASS){ b.setType(Material.AIR); } } if(b.getType() == Material.STONE){ if(b.getDrops().contains(Material.COBBLESTONE)){ e.getBlock().getDrops().clear(); e.getBlock().getDrops().add(new ItemStack(Material.AIR, 0)); } } } } Link para o comentário Compartilhar em outros sites More sharing options...
Sm0nG4m1ng Postado Setembro 16, 2020 Autor Denunciar Compartilhar Postado Setembro 16, 2020 @RUSHyoutuber @BettoSK @BrunnoAlgum de você pode me ajudar? Link para o comentário Compartilhar em outros sites More sharing options...
rubenlousada11 Postado Setembro 16, 2020 Denunciar Compartilhar Postado Setembro 16, 2020 Em 16/09/2020 em 16:07, Sm0nG4m1ng disse: @RUSHyoutuber @BettoSK @BrunnoAlgum de você pode me ajudar? Expand tu tem que usar o ItemSpawnEvent Link para o comentário Compartilhar em outros sites More sharing options...
Sm0nG4m1ng Postado Setembro 16, 2020 Autor Denunciar Compartilhar Postado Setembro 16, 2020 Em 16/09/2020 em 16:27, rubenlousada11 disse: tu tem que usar o ItemSpawnEvent Expand Como? Link para o comentário Compartilhar em outros sites More sharing options...
rubenlousada11 Postado Setembro 16, 2020 Denunciar Compartilhar Postado Setembro 16, 2020 Em 16/09/2020 em 16:45, Sm0nG4m1ng disse: Como? Expand tem que usar o evento ItemSpawnEvent Link para o comentário Compartilhar em outros sites More sharing options...
B E E D Postado Setembro 16, 2020 Denunciar Compartilhar Postado Setembro 16, 2020 @EventHandler public void QuebrarBloquinho(ItemSpawnEvent e) { if (!e.getEntity().getLocation().getWorld().getName().equalsIgnoreCase("mina")) return; if (e.getEntity().getItemStack().getType() == Material.GRASS || e.getEntity().getItemStack().getType() == Material.STONE) { e.setCancelled(true); e.getEntity().remove(); } } } Link para o comentário Compartilhar em outros sites More sharing options...
Brunno Postado Setembro 17, 2020 Denunciar Compartilhar Postado Setembro 17, 2020 Em 16/09/2020 em 20:41, B E E D disse: @EventHandler public void QuebrarBloquinho(ItemSpawnEvent e) { if (!e.getEntity().getLocation().getWorld().getName().equalsIgnoreCase("mina")) return; if (e.getEntity().getItemStack().getType() == Material.GRASS || e.getEntity().getItemStack().getType() == Material.STONE) { e.setCancelled(true); e.getEntity().remove(); } } } Expand Eu faria: private static final String TARGET_WORLD_NAME = "mina"; private static final List<Material> TARGET_MATERIALS = asList(//Static import Material.GRASS, Material.DIRT, Material.STONE, Material.COBBLESTONE //Outros ); @EventHandler public void onBlockBreak(ItemSpawnEvent e) { Item entity = e.getEntity(); if (!isTargetWorld(entity.getLocation())) return; if(TARGET_MATERIALS.contains(entity.getItemStack().getType())) { e.setCancelled(true); entity.remove(); } } private static boolean isTargetWorld(Location location) { return location.getWorld().getName().equalsIgnoreCase(TARGET_WORLD_NAME); } Link para o comentário Compartilhar em outros sites More sharing options...
rubenlousada11 Postado Setembro 17, 2020 Denunciar Compartilhar Postado Setembro 17, 2020 Em 16/09/2020 em 20:41, B E E D disse: @EventHandler public void QuebrarBloquinho(ItemSpawnEvent e) { if (!e.getEntity().getLocation().getWorld().getName().equalsIgnoreCase("mina")) return; if (e.getEntity().getItemStack().getType() == Material.GRASS || e.getEntity().getItemStack().getType() == Material.STONE) { e.setCancelled(true); e.getEntity().remove(); } } } Expand para que remover a entidade se o evento é cancelado e o item (que é a entidade) não é spawnado? 1 Link para o comentário Compartilhar em outros sites More sharing options...
B E E D Postado Setembro 17, 2020 Denunciar Compartilhar Postado Setembro 17, 2020 Em 17/09/2020 em 00:20, rubenlousada11 disse: para que remover a entidade se o evento é cancelado e o item (que é a entidade) não é spawnado? Expand E porque no plugin de mina da internet tem algo que mesmo cancelando ele dropa a pedra, ou seja é só cancelar e apagar o drop ? 1 Link para o comentário Compartilhar em outros sites More sharing options...
Sm0nG4m1ng Postado Setembro 18, 2020 Autor Denunciar Compartilhar Postado Setembro 18, 2020 Consegui arrumar obrigado! 1 Link para o comentário Compartilhar em outros sites More sharing options...
Brunno Postado Setembro 19, 2020 Denunciar Compartilhar Postado Setembro 19, 2020 Em 18/09/2020 em 16:12, Sm0nG4m1ng disse: Consegui arrumar obrigado! Expand Cuidado com o double-post. Prefira editar a mensagem anterior e colocar um @edit para sinalizar que a mensagem foi alterada. Link para o comentário Compartilhar em outros sites More sharing options...
BettoSK Postado Setembro 19, 2020 Denunciar Compartilhar Postado Setembro 19, 2020 Sua dúvida foi marcada como resolvida pela nossa equipe. Caso sua dúvida não tenha sido sanada, crie outro tópico. OBS: Essa mensagem é automática. Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados