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 1 hora atrás, Sm0nG4m1ng disse: @RUSHyoutuber @BettoSK @BrunnoAlgum de você pode me ajudar? 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 1 hora atrás, rubenlousada11 disse: tu tem que usar o ItemSpawnEvent Como? Link para o comentário Compartilhar em outros sites More sharing options...
rubenlousada11 Postado Setembro 16, 2020 Denunciar Compartilhar Postado Setembro 16, 2020 1 hora atrás, Sm0nG4m1ng disse: Como? 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 4 horas atrás, 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(); } } } 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 4 horas atrás, 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(); } } } 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 56 minutos atrás, rubenlousada11 disse: para que remover a entidade se o evento é cancelado e o item (que é a entidade) não é spawnado? 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 13:12, Sm0nG4m1ng disse: Consegui arrumar obrigado! 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