Facebook
From YOUR HEAD, 9 Years ago, written in Java.
Embed
Download Paste or View Raw
Hits: 611
  1. package de.cactus.stone;
  2.  
  3. import java.util.Map;
  4. import java.util.Random;
  5. import org.apache.commons.lang.Validate;
  6. import org.bukkit.ChatColor;
  7. import org.bukkit.GameMode;
  8. import org.bukkit.Location;
  9. import org.bukkit.Material;
  10. import org.bukkit.World;
  11. import org.bukkit.block.Block;
  12. import org.bukkit.enchantments.Enchantment;
  13. import org.bukkit.entity.Player;
  14. import org.bukkit.event.EventHandler;
  15. import org.bukkit.event.Listener;
  16. import org.bukkit.event.block.BlockBreakEvent;
  17. import org.bukkit.inventory.ItemStack;
  18. import org.bukkit.inventory.meta.ItemMeta;
  19.  
  20. public class stone implements Listener{
  21.        
  22.   Random rand = new Random();
  23.  
  24.   public double getRandomDouble(double min, double max)
  25.     Validate.isTrue(max > min, "Max nie moze byc mniejszy niz min");
  26.     return this.rand.nextDouble() * (max - min) + min;
  27.   }
  28.  
  29.   public boolean getChance(double chance){
  30.     return (chance >= 100.0D) || (chance >= getRandomDouble(0.0D, 100.0D));
  31.   }
  32.  
  33.   @EventHandler
  34.   public void onBreak(BlockBreakEvent e){
  35.     Player p = e.getPlayer();
  36.     Block b = e.getBlock();
  37.     if (b.getType() == Material.STONE){
  38.       if ((b.getLocation().getBlockY() <= 64) &&
  39.         (p.getGameMode() == GameMode.SURVIVAL) &&
  40.         (getChance(50.0D))){
  41.         b.getWorld().dropItemNaturally(b.getLocation(), new ItemStack(Material.IRON_INGOT, 1));
  42.         p.sendMessage(ChatColor.GRAY + "Znalazles zelazo :D");
  43.       }
  44.       if ((b.getLocation().getBlockY() <= 24) &&
  45.         (getChance(25.0D))){
  46.         b.getWorld().dropItemNaturally(b.getLocation(), new ItemStack(Material.DIAMOND, 1));
  47.         p.sendMessage(ChatColor.AQUA + "Znalazles diament :D");
  48.       }
  49.       if ((b.getLocation().getBlockY() <= 30) &&
  50.         (p.getItemInHand().getType() == Material.DIAMOND_PICKAXE) &&
  51.         (p.getItemInHand().getItemMeta().getEnchants().containsKey(Enchantment.LOOT_BONUS_BLOCKS)) &&
  52.         (p.getItemInHand().getItemMeta().getEnchantLevel(Enchantment.LOOT_BONUS_BLOCKS) == 3) &&
  53.         (getChance(50.0D))){
  54.         int goldAmount = this.rand.nextInt(3) + 1;
  55.        
  56.         b.getWorld().dropItemNaturally(b.getLocation(), new ItemStack(Material.GOLD_INGOT, goldAmount));
  57.       }
  58.     }
  59.     if ((b.getType() == Material.IRON_ORE) || (b.getType() == Material.DIAMOND_ORE)){
  60.       b.setType(Material.AIR);
  61.       p.sendMessage(ChatColor.GOLD + "Jest drop ze stone :D");
  62.     }
  63.   }
  64. }