XlAlbertlX

Untitled

Nov 9th, 2023
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.14 KB | None | 0 0
  1. public class BlockBreaked implements Listener {
  2.     private double chanceShogun = 0.3;
  3.     private double chanceSamurai = 0.6;
  4.     private Random random = new Random();
  5.  
  6.     @EventHandler
  7.     public void onBlockBreakEvent(BlockBreakEvent event) {
  8.         Block block = event.getBlock();
  9.         if (block.getType() != Material.SPAWNER) return;
  10.  
  11.         Player player = event.getPlayer();
  12.         ItemStack itemInMainHand = player.getInventory().getItemInMainHand();
  13.  
  14.         boolean validItem = itemInMainHand.getType() == Material.DIAMOND_PICKAXE
  15.                 || itemInMainHand.getType() == Material.NETHERITE_PICKAXE;
  16.  
  17.         boolean validEnchant = itemInMainHand.containsEnchantment(Enchantment.SILK_TOUCH);
  18.  
  19.         if (!validItem || !validEnchant) {
  20.             player.sendMessage("§c§lЧтобы получить спавнер, у вас должна быть алмазная или незеритовая кирка с шелковым касанием!");
  21.             return;
  22.         }
  23.  
  24.         boolean dropItem = false;
  25.         if (player.hasPermission("blockBreaked.shogun")) {
  26.             if ((random.nextDouble() < chanceShogun)) {
  27.                 dropItem = true;
  28.             }
  29.         } else if (player.hasPermission("blockBreaked.samurai")) {
  30.             if ((random.nextDouble() < chanceSamurai)) {
  31.                 dropItem = true;
  32.             }
  33.         } else {
  34.             player.sendMessage("§c§lУ вас должна быть как минимум привилегия §fꑴ §c§l для выпадения спавнеров!");
  35.             return;
  36.         }
  37.  
  38.         if (!dropItem) {
  39.             player.sendMessage("§c§lНе повезло, блок не выпал :(");
  40.             return;
  41.         }
  42.  
  43.         ItemStack spawner = new ItemStack(block.getType());
  44.         ItemMeta meta = spawner.getItemMeta();
  45.         if (meta instanceof BlockStateMeta) {
  46.             ((BlockStateMeta) meta).setBlockState(block.getState());
  47.             spawner.setItemMeta(meta);
  48.         }
  49.         Location blockLocation = block.getLocation();
  50.         block.getWorld().dropItemNaturally(blockLocation, spawner);
  51.     }
  52.  
  53. }
Advertisement
Add Comment
Please, Sign In to add comment