Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package zecro.Custom_Loot;
- import java.util.ArrayList;
- import java.util.List;
- import java.util.Random;
- import org.bukkit.Bukkit;
- import org.bukkit.ChatColor;
- import org.bukkit.Material;
- import org.bukkit.enchantments.Enchantment;
- import org.bukkit.entity.LivingEntity;
- import org.bukkit.entity.Monster;
- import org.bukkit.entity.Player;
- import org.bukkit.event.EventHandler;
- import org.bukkit.event.Listener;
- import org.bukkit.event.block.Action;
- import org.bukkit.event.entity.EntityDeathEvent;
- import org.bukkit.event.player.PlayerInteractEvent;
- import org.bukkit.inventory.ItemFlag;
- import org.bukkit.inventory.ItemStack;
- import org.bukkit.inventory.meta.ItemMeta;
- import org.bukkit.plugin.java.JavaPlugin;
- public class Custom_Loot extends JavaPlugin implements Listener {
- @Override
- public void onEnable() {
- this.getServer().getPluginManager().registerEvents(this, this);
- }
- @Override
- public void onDisable() {
- }
- public static ItemStack item = getItem();
- public static ItemMeta meta = item.getItemMeta();
- public static ItemStack getItem() {
- ItemStack scroll = new ItemStack(Material.PAPER);
- ItemMeta scrollMeta = scroll.getItemMeta();
- scrollMeta.setDisplayName(ChatColor.GRAY + "Ancient Scroll");
- List<String> loreList = new ArrayList<String>();
- loreList.add(ChatColor.DARK_GRAY + "A Mystery...");
- scrollMeta.setLore(loreList);
- scroll.setItemMeta(scrollMeta);
- return scroll;
- }
- @EventHandler
- public void mobDeath(EntityDeathEvent event) {
- LivingEntity killed = event.getEntity();
- Player killer = killed.getKiller();
- Random random = new Random();
- if (event.getEntity() instanceof Monster) {
- int Chance = random.nextInt(5);
- for (Player online : Bukkit.getOnlinePlayers())
- online.sendMessage(Integer.toString(Chance));
- if (Chance == 0) {
- giveScroll(killer);
- }
- } else {
- ///NOT MONSTER
- }
- }
- public void giveScroll(Player p) {
- p.getInventory().addItem(item);
- }
- public static ItemStack relicTome = getRelicTome();
- public static ItemMeta relicMeta = relicTome.getItemMeta();
- public static ItemStack getRelicTome() {
- ItemStack tome = new ItemStack(Material.BOOK);
- ItemMeta tomeMeta = tome.getItemMeta();
- tomeMeta.setDisplayName(ChatColor.GOLD + "Relic Tome");
- List<String> loreList = new ArrayList<String>();
- loreList.add(ChatColor.YELLOW + "Holds a Legend...");
- tomeMeta.setLore(loreList);
- tomeMeta.addEnchant(Enchantment.DURABILITY, 1, true);
- tomeMeta.addItemFlags(ItemFlag.HIDE_ENCHANTS);
- tome.setItemMeta(tomeMeta);
- return tome;
- }
- public static ItemStack mysticTome = getMysticTome();
- public static ItemMeta mysticMeta = mysticTome.getItemMeta();
- public static ItemStack getMysticTome() {
- ItemStack tome = new ItemStack(Material.BOOK);
- ItemMeta tomeMeta = tome.getItemMeta();
- tomeMeta.setDisplayName(ChatColor.LIGHT_PURPLE + "Mystic Tome");
- List<String> loreList = new ArrayList<String>();
- loreList.add(ChatColor.DARK_PURPLE + "Something Magical...");
- tomeMeta.setLore(loreList);
- tomeMeta.addEnchant(Enchantment.DURABILITY, 1, true);
- tomeMeta.addItemFlags(ItemFlag.HIDE_ENCHANTS);
- tome.setItemMeta(tomeMeta);
- return tome;
- }
- public static ItemStack rareTome = getRareTome();
- public static ItemMeta rareMeta = rareTome.getItemMeta();
- public static ItemStack getRareTome() {
- ItemStack tome = new ItemStack(Material.BOOK);
- ItemMeta tomeMeta = tome.getItemMeta();
- tomeMeta.setDisplayName(ChatColor.YELLOW + "Rare Tome");
- List<String> loreList = new ArrayList<String>();
- loreList.add(ChatColor.WHITE + "Contains something unordinary...");
- tomeMeta.setLore(loreList);
- tome.setItemMeta(tomeMeta);
- return tome;
- }
- public static ItemStack uncommonTome = getUncommonTome();
- public static ItemMeta uncommonMeta = uncommonTome.getItemMeta();
- public static ItemStack getUncommonTome() {
- ItemStack tome = new ItemStack(Material.BOOK);
- ItemMeta tomeMeta = tome.getItemMeta();
- tomeMeta.setDisplayName(ChatColor.WHITE + "Uncommon Tome");
- List<String> loreList = new ArrayList<String>();
- loreList.add(ChatColor.GRAY + "Something a little unusual...");
- tomeMeta.setLore(loreList);
- tome.setItemMeta(tomeMeta);
- return tome;
- }
- public static ItemStack commonTome = getCommonTome();
- public static ItemMeta commonMeta = commonTome.getItemMeta();
- public static ItemStack getCommonTome() {
- ItemStack tome = new ItemStack(Material.BOOK);
- ItemMeta tomeMeta = tome.getItemMeta();
- tomeMeta.setDisplayName(ChatColor.DARK_GRAY + "Common Tome");
- List<String> loreList = new ArrayList<String>();
- loreList.add(ChatColor.GRAY + "Another piece of junk...");
- tomeMeta.setLore(loreList);
- tome.setItemMeta(tomeMeta);
- return tome;
- }
- @EventHandler
- public void scrollUnravel(PlayerInteractEvent event) {
- if (event.getAction() != null && (event.getAction() == (Action.RIGHT_CLICK_AIR) || event.getAction() == (Action.RIGHT_CLICK_BLOCK))) {
- if (event.getPlayer().getInventory().getItemInMainHand().getItemMeta().equals(meta))
- if (event.getPlayer().getInventory().containsAtLeast(item, 1)) {
- if (event.getPlayer().getInventory().getItemInMainHand().getItemMeta().equals(meta)) {
- event.getPlayer().getInventory().getItemInMainHand().setAmount(event.getPlayer().getInventory().getItemInMainHand().getAmount() -1);
- Random random = new Random();
- int Chance = random.nextInt(10000);
- // Relic = 0, Mystic = 1, Rare = 2, Uncommon = 3, Common = 4
- switch ((0 <= Chance && Chance <= 28) ? 0 : // Relic 0.29% Odds
- (29 <= Chance && Chance <= 146) ? 1 : // Mystic 1.18% Odds
- (147 <= Chance && Chance <= 617) ? 2 : // Rare 4.71% Odds
- (618 <= Chance && Chance <= 2499) ? 3 : // Uncommon 18.82% Odds
- (2500 <= Chance && Chance <= 10000) ? 4 : 5) { // Common 75.01% Odds
- case 0:
- event.getPlayer().sendMessage(ChatColor.GRAY + "You got a " + ChatColor.GOLD + "Relic" + ChatColor.GRAY + " Tome");
- event.getPlayer().getInventory().addItem(relicTome);
- break;
- case 1:
- event.getPlayer().sendMessage(ChatColor.GRAY + "You got a " + ChatColor.LIGHT_PURPLE + "Mystic" + ChatColor.GRAY + " Tome");
- event.getPlayer().getInventory().addItem(mysticTome);
- break;
- case 2:
- event.getPlayer().sendMessage(ChatColor.GRAY + "You got a " + ChatColor.YELLOW + "Rare" + ChatColor.GRAY + " Tome");
- event.getPlayer().getInventory().addItem(rareTome);
- break;
- case 3:
- event.getPlayer().sendMessage(ChatColor.GRAY + "You got a " + ChatColor.WHITE + "Uncommon" + ChatColor.GRAY + " Tome");
- event.getPlayer().getInventory().addItem(uncommonTome);
- break;
- case 4:
- event.getPlayer().sendMessage(ChatColor.GRAY + "You got a " + ChatColor.DARK_GRAY + "Common" + ChatColor.GRAY + " Tome");
- event.getPlayer().getInventory().addItem(commonTome);
- break;
- case 5:
- event.getPlayer().sendMessage("Unknown");
- break;
- }
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement