Advertisement
Guest User

Untitled

a guest
Apr 1st, 2020
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 7.00 KB | None | 0 0
  1. package zecro.Custom_Loot;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.List;
  5. import java.util.Random;
  6. import org.bukkit.Bukkit;
  7. import org.bukkit.ChatColor;
  8. import org.bukkit.Material;
  9. import org.bukkit.enchantments.Enchantment;
  10. import org.bukkit.entity.LivingEntity;
  11. import org.bukkit.entity.Monster;
  12. import org.bukkit.entity.Player;
  13. import org.bukkit.event.EventHandler;
  14. import org.bukkit.event.Listener;
  15. import org.bukkit.event.block.Action;
  16. import org.bukkit.event.entity.EntityDeathEvent;
  17. import org.bukkit.event.player.PlayerInteractEvent;
  18. import org.bukkit.inventory.ItemFlag;
  19. import org.bukkit.inventory.ItemStack;
  20. import org.bukkit.inventory.meta.ItemMeta;
  21. import org.bukkit.plugin.java.JavaPlugin;
  22.  
  23. public class Custom_Loot extends JavaPlugin implements Listener {
  24.  
  25.     @Override
  26.     public void onEnable() {
  27.         this.getServer().getPluginManager().registerEvents(this, this);
  28.     }
  29.  
  30.     @Override
  31.     public void onDisable() {
  32.    
  33.     }
  34.  
  35.     public static ItemStack item = getItem();  
  36.     public static ItemMeta meta = item.getItemMeta();
  37.    
  38.     public static ItemStack getItem() {
  39.         ItemStack scroll = new ItemStack(Material.PAPER);
  40.         ItemMeta scrollMeta = scroll.getItemMeta();
  41.         scrollMeta.setDisplayName(ChatColor.GRAY + "Ancient Scroll");
  42.         List<String> loreList = new ArrayList<String>();
  43.         loreList.add(ChatColor.DARK_GRAY + "A Mystery...");
  44.         scrollMeta.setLore(loreList);
  45.         scroll.setItemMeta(scrollMeta);
  46.         return scroll;
  47.     }
  48.    
  49.     @EventHandler
  50.     public void mobDeath(EntityDeathEvent event) {
  51.         LivingEntity killed = event.getEntity();
  52.         Player killer = killed.getKiller();
  53.         Random random = new Random();
  54.         if (event.getEntity() instanceof Monster) {
  55.             int Chance = random.nextInt(5);
  56.             for (Player online : Bukkit.getOnlinePlayers())
  57.                 online.sendMessage(Integer.toString(Chance));
  58.             if (Chance == 0) {
  59.                 giveScroll(killer);            
  60.             }
  61.         } else {
  62.             ///NOT MONSTER
  63.         }
  64.     }
  65.    
  66.     public void giveScroll(Player p) { 
  67.         p.getInventory().addItem(item);    
  68.     }
  69.    
  70.     public static ItemStack relicTome = getRelicTome();
  71.     public static ItemMeta relicMeta = relicTome.getItemMeta();
  72.    
  73.     public static ItemStack getRelicTome() {
  74.         ItemStack tome = new ItemStack(Material.BOOK);
  75.         ItemMeta tomeMeta = tome.getItemMeta();
  76.         tomeMeta.setDisplayName(ChatColor.GOLD + "Relic Tome");
  77.         List<String> loreList = new ArrayList<String>();
  78.         loreList.add(ChatColor.YELLOW + "Holds a Legend...");
  79.         tomeMeta.setLore(loreList);
  80.        
  81.         tomeMeta.addEnchant(Enchantment.DURABILITY, 1, true);
  82.         tomeMeta.addItemFlags(ItemFlag.HIDE_ENCHANTS);
  83.        
  84.         tome.setItemMeta(tomeMeta);
  85.         return tome;
  86.     }
  87.    
  88.     public static ItemStack mysticTome = getMysticTome();
  89.     public static ItemMeta mysticMeta = mysticTome.getItemMeta();
  90.    
  91.     public static ItemStack getMysticTome() {
  92.         ItemStack tome = new ItemStack(Material.BOOK);
  93.         ItemMeta tomeMeta = tome.getItemMeta();
  94.         tomeMeta.setDisplayName(ChatColor.LIGHT_PURPLE + "Mystic Tome");
  95.         List<String> loreList = new ArrayList<String>();
  96.         loreList.add(ChatColor.DARK_PURPLE + "Something Magical...");
  97.         tomeMeta.setLore(loreList);
  98.        
  99.         tomeMeta.addEnchant(Enchantment.DURABILITY, 1, true);
  100.         tomeMeta.addItemFlags(ItemFlag.HIDE_ENCHANTS);
  101.        
  102.         tome.setItemMeta(tomeMeta);
  103.         return tome;
  104.     }
  105.    
  106.     public static ItemStack rareTome = getRareTome();
  107.     public static ItemMeta rareMeta = rareTome.getItemMeta();
  108.    
  109.     public static ItemStack getRareTome() {
  110.         ItemStack tome = new ItemStack(Material.BOOK);
  111.         ItemMeta tomeMeta = tome.getItemMeta();
  112.         tomeMeta.setDisplayName(ChatColor.YELLOW + "Rare Tome");
  113.         List<String> loreList = new ArrayList<String>();
  114.         loreList.add(ChatColor.WHITE + "Contains something unordinary...");
  115.         tomeMeta.setLore(loreList);
  116.         tome.setItemMeta(tomeMeta);
  117.         return tome;
  118.     }
  119.    
  120.     public static ItemStack uncommonTome = getUncommonTome();
  121.     public static ItemMeta uncommonMeta = uncommonTome.getItemMeta();
  122.    
  123.     public static ItemStack getUncommonTome() {
  124.         ItemStack tome = new ItemStack(Material.BOOK);
  125.         ItemMeta tomeMeta = tome.getItemMeta();
  126.         tomeMeta.setDisplayName(ChatColor.WHITE + "Uncommon Tome");
  127.         List<String> loreList = new ArrayList<String>();
  128.         loreList.add(ChatColor.GRAY + "Something a little unusual...");
  129.         tomeMeta.setLore(loreList);
  130.         tome.setItemMeta(tomeMeta);
  131.         return tome;
  132.     }
  133.    
  134.     public static ItemStack commonTome = getCommonTome();
  135.     public static ItemMeta commonMeta = commonTome.getItemMeta();
  136.    
  137.     public static ItemStack getCommonTome() {
  138.         ItemStack tome = new ItemStack(Material.BOOK);
  139.         ItemMeta tomeMeta = tome.getItemMeta();
  140.         tomeMeta.setDisplayName(ChatColor.DARK_GRAY + "Common Tome");
  141.         List<String> loreList = new ArrayList<String>();
  142.         loreList.add(ChatColor.GRAY + "Another piece of junk...");
  143.         tomeMeta.setLore(loreList);
  144.         tome.setItemMeta(tomeMeta);
  145.         return tome;
  146.     }
  147.    
  148.     @EventHandler
  149.     public void scrollUnravel(PlayerInteractEvent event) {
  150.         if  (event.getAction() != null && (event.getAction() == (Action.RIGHT_CLICK_AIR) || event.getAction() == (Action.RIGHT_CLICK_BLOCK))) {
  151.             if (event.getPlayer().getInventory().getItemInMainHand().getItemMeta().equals(meta))
  152.             if (event.getPlayer().getInventory().containsAtLeast(item, 1)) {
  153.                 if (event.getPlayer().getInventory().getItemInMainHand().getItemMeta().equals(meta)) {
  154.                     event.getPlayer().getInventory().getItemInMainHand().setAmount(event.getPlayer().getInventory().getItemInMainHand().getAmount() -1);
  155.                     Random random = new Random();
  156.                     int Chance = random.nextInt(10000);
  157.                     // Relic = 0, Mystic = 1, Rare = 2, Uncommon = 3, Common = 4                   
  158.                     switch ((0 <= Chance && Chance <= 28) ? 0 :             // Relic 0.29% Odds
  159.                             (29 <= Chance && Chance <= 146) ? 1 :           // Mystic 1.18% Odds
  160.                             (147 <= Chance && Chance <= 617) ? 2 :          // Rare 4.71% Odds
  161.                             (618 <= Chance && Chance <= 2499) ? 3 :         // Uncommon 18.82% Odds
  162.                             (2500 <= Chance && Chance <= 10000) ? 4 : 5) {  // Common 75.01% Odds
  163.                     case 0:
  164.                     event.getPlayer().sendMessage(ChatColor.GRAY + "You got a " + ChatColor.GOLD + "Relic" + ChatColor.GRAY + " Tome");
  165.                     event.getPlayer().getInventory().addItem(relicTome);
  166.                     break;
  167.                     case 1:
  168.                     event.getPlayer().sendMessage(ChatColor.GRAY + "You got a " + ChatColor.LIGHT_PURPLE + "Mystic" + ChatColor.GRAY + " Tome");
  169.                     event.getPlayer().getInventory().addItem(mysticTome);
  170.                     break;
  171.                     case 2:
  172.                     event.getPlayer().sendMessage(ChatColor.GRAY + "You got a " + ChatColor.YELLOW + "Rare" + ChatColor.GRAY + " Tome");
  173.                     event.getPlayer().getInventory().addItem(rareTome);
  174.                     break;
  175.                     case 3:
  176.                     event.getPlayer().sendMessage(ChatColor.GRAY + "You got a " + ChatColor.WHITE + "Uncommon" + ChatColor.GRAY + " Tome");
  177.                     event.getPlayer().getInventory().addItem(uncommonTome);
  178.                     break;
  179.                     case 4:
  180.                     event.getPlayer().sendMessage(ChatColor.GRAY + "You got a " + ChatColor.DARK_GRAY + "Common" + ChatColor.GRAY + " Tome");
  181.                     event.getPlayer().getInventory().addItem(commonTome);
  182.                     break;
  183.                     case 5:
  184.                     event.getPlayer().sendMessage("Unknown");
  185.                     break;
  186.                     }
  187.                    
  188.                 }
  189.             }
  190.         }
  191.     }
  192.    
  193.    
  194.    
  195. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement