Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package freyja_pack;
- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Stack;
- import org.bukkit.Bukkit;
- import org.bukkit.Material;
- import org.bukkit.command.Command;
- import org.bukkit.command.CommandSender;
- import org.bukkit.enchantments.Enchantment;
- import org.bukkit.entity.HumanEntity;
- import org.bukkit.entity.Player;
- import org.bukkit.entity.Villager;
- import org.bukkit.event.EventHandler;
- import org.bukkit.event.Listener;
- import org.bukkit.event.entity.VillagerCareerChangeEvent;
- import org.bukkit.event.inventory.InventoryClickEvent;
- import org.bukkit.event.player.PlayerItemHeldEvent;
- import org.bukkit.event.player.PlayerMoveEvent;
- import org.bukkit.event.player.PlayerPickupItemEvent;
- import org.bukkit.event.player.PlayerSwapHandItemsEvent;
- import org.bukkit.inventory.ItemStack;
- import org.bukkit.inventory.MerchantRecipe;
- import org.bukkit.plugin.java.JavaPlugin;
- import org.bukkit.potion.PotionEffect;
- import org.bukkit.potion.PotionEffectType;
- import org.bukkit.scheduler.BukkitScheduler;
- import net.md_5.bungee.api.ChatColor;
- public class freyja_class extends JavaPlugin implements Listener {
- public ArrayList<Player> spp = new ArrayList<Player>();
- public custom_item ci;
- public custom_mob cm;
- public static freyja_class plugin;
- public HashMap<Integer, ArrayList<ItemStack>> A = new HashMap<Integer, ArrayList<ItemStack>>();
- public HashMap<Integer, ItemStack> W = new HashMap<Integer, ItemStack>();
- public void Ranked_Gear() {
- Bukkit.broadcastMessage("B4");
- Material LH = Material.LEATHER_HELMET;
- Material LC = Material.LEATHER_CHESTPLATE;
- Material LL = Material.LEATHER_LEGGINGS;
- Material LB = Material.LEATHER_BOOTS;
- Material CH = Material.CHAINMAIL_HELMET;
- Material CC = Material.CHAINMAIL_CHESTPLATE;
- Material CL = Material.CHAINMAIL_LEGGINGS;
- Material CB = Material.CHAINMAIL_BOOTS;
- Material GH = Material.GOLDEN_HELMET;
- Material GC = Material.GOLDEN_CHESTPLATE;
- Material GL = Material.GOLDEN_LEGGINGS;
- Material GB = Material.GOLDEN_BOOTS;
- Material IH = Material.IRON_HELMET;
- Material IC = Material.IRON_CHESTPLATE;
- Material IL = Material.IRON_LEGGINGS;
- Material IB = Material.IRON_BOOTS;
- Material DH = Material.DIAMOND_HELMET;
- Material DC = Material.DIAMOND_CHESTPLATE;
- Material DL = Material.DIAMOND_LEGGINGS;
- Material DB = Material.DIAMOND_BOOTS;
- Enchantment aquaaffinity = Enchantment.WATER_WORKER;
- Enchantment respiration = Enchantment.OXYGEN;
- Enchantment depthstrider = Enchantment.DEPTH_STRIDER;
- Enchantment featherfalling = Enchantment.PROTECTION_FALL;
- Enchantment frostwalker = Enchantment.FROST_WALKER;
- Enchantment blastprotection = Enchantment.PROTECTION_EXPLOSIONS;
- Enchantment fireprotection = Enchantment.PROTECTION_FIRE;
- Enchantment projectileprotection = Enchantment.PROTECTION_PROJECTILE;
- Enchantment protection = Enchantment.PROTECTION_ENVIRONMENTAL;
- Enchantment thorns = Enchantment.THORNS;
- Enchantment unbreaking = Enchantment.DURABILITY;
- ItemStack H = null;
- ItemStack C = null;
- ItemStack L = null;
- ItemStack B = null;
- ArrayList<Enchantment> HE = new ArrayList<Enchantment>();
- ArrayList<Integer> HEL = new ArrayList<Integer>();
- ArrayList<Enchantment> CE = new ArrayList<Enchantment>();
- ArrayList<Integer> CEL = new ArrayList<Integer>();
- ArrayList<Enchantment> LE = new ArrayList<Enchantment>();
- ArrayList<Integer> LEL = new ArrayList<Integer>();
- ArrayList<Enchantment> BE = new ArrayList<Enchantment>();
- ArrayList<Integer> BEL = new ArrayList<Integer>();
- ArrayList<ItemStack> armor = new ArrayList<ItemStack>();
- //Rank A
- HE.add(unbreaking);
- HEL.add(10);
- HE.add(protection);
- HEL.add(10);
- H = ci.make(DH, null, null, HE, HEL);
- CE.add(unbreaking);
- CEL.add(10);
- CE.add(protection);
- CEL.add(10);
- C = ci.make(DC, null, null, CE, CEL);
- LE.add(unbreaking);
- LEL.add(10);
- LE.add(protection);
- LEL.add(10);
- L = ci.make(DL, null, null, LE, LEL);
- BE.add(unbreaking);
- BEL.add(10);
- BE.add(protection);
- BEL.add(10);
- B = ci.make(DB, null, null, BE, BEL);
- armor.add(H);
- armor.add(C);
- armor.add(L);
- armor.add(B);
- A.put(100, armor);
- HE.clear();
- HEL.clear();
- CE.clear();
- CEL.clear();
- LE.clear();
- LEL.clear();
- BE.clear();
- BEL.clear();
- armor.clear();
- //Rank B
- HE.add(unbreaking);
- HEL.add(10);
- HE.add(protection);
- HEL.add(10);
- H = ci.make(IH, null, null, HE, HEL);
- CE.add(unbreaking);
- CEL.add(10);
- CE.add(protection);
- CEL.add(10);
- C = ci.make(IC, null, null, CE, CEL);
- LE.add(unbreaking);
- LEL.add(10);
- LE.add(protection);
- LEL.add(10);
- L = ci.make(IL, null, null, LE, LEL);
- BE.add(unbreaking);
- BEL.add(10);
- BE.add(protection);
- BEL.add(10);
- B = ci.make(IB, null, null, BE, BEL);
- armor.add(H);
- armor.add(C);
- armor.add(L);
- armor.add(B);
- for(int a = 95; a <= 99; a++) {A.put(a, armor);}
- HE.clear();
- HEL.clear();
- CE.clear();
- CEL.clear();
- LE.clear();
- LEL.clear();
- BE.clear();
- BEL.clear();
- armor.clear();
- //Rank C
- HE.add(unbreaking);
- HEL.add(10);
- HE.add(protection);
- HEL.add(10);
- H = ci.make(GH, null, null, HE, HEL);
- CE.add(unbreaking);
- CEL.add(10);
- CE.add(protection);
- CEL.add(10);
- C = ci.make(GC, null, null, CE, CEL);
- LE.add(unbreaking);
- LEL.add(10);
- LE.add(protection);
- LEL.add(10);
- L = ci.make(GL, null, null, LE, LEL);
- BE.add(unbreaking);
- BEL.add(10);
- BE.add(protection);
- BEL.add(10);
- B = ci.make(GB, null, null, BE, BEL);
- armor.add(H);
- armor.add(C);
- armor.add(L);
- armor.add(B);
- for(int a = 85; a <= 95; a++) {A.put(a, armor);}
- HE.clear();
- HEL.clear();
- CE.clear();
- CEL.clear();
- LE.clear();
- LEL.clear();
- BE.clear();
- BEL.clear();
- armor.clear();
- //Rank D
- HE.add(unbreaking);
- HEL.add(10);
- HE.add(protection);
- HEL.add(10);
- H = ci.make(CH, null, null, HE, HEL);
- CE.add(unbreaking);
- CEL.add(10);
- CE.add(protection);
- CEL.add(10);
- C = ci.make(CC, null, null, CE, CEL);
- LE.add(unbreaking);
- LEL.add(10);
- LE.add(protection);
- LEL.add(10);
- L = ci.make(CL, null, null, LE, LEL);
- BE.add(unbreaking);
- BEL.add(10);
- BE.add(protection);
- BEL.add(10);
- B = ci.make(CB, null, null, BE, BEL);
- armor.add(H);
- armor.add(C);
- armor.add(L);
- armor.add(B);
- for(int a = 65; a <= 85; a++) {A.put(a, armor);}
- HE.clear();
- HEL.clear();
- CE.clear();
- CEL.clear();
- LE.clear();
- LEL.clear();
- BE.clear();
- BEL.clear();
- armor.clear();
- //Rank F
- HE.add(unbreaking);
- HEL.add(10);
- HE.add(protection);
- HEL.add(10);
- H = ci.make(LH, null, null, HE, HEL);
- CE.add(unbreaking);
- CEL.add(10);
- CE.add(protection);
- CEL.add(10);
- C = ci.make(LC, null, null, CE, CEL);
- LE.add(unbreaking);
- LEL.add(10);
- LE.add(protection);
- LEL.add(10);
- L = ci.make(LL, null, null, LE, LEL);
- BE.add(unbreaking);
- BEL.add(10);
- BE.add(protection);
- BEL.add(10);
- B = ci.make(LB, null, null, BE, BEL);
- armor.add(H);
- armor.add(C);
- armor.add(L);
- armor.add(B);
- for(int a = 0; a <= 65; a++) {
- Bukkit.broadcastMessage(a + " " + armor.get(0).getType().name());
- A.put(a, armor);
- Bukkit.broadcastMessage(A.get(65).get(0).getType().name());
- }
- HE.clear();
- HEL.clear();
- CE.clear();
- CEL.clear();
- LE.clear();
- LEL.clear();
- BE.clear();
- BEL.clear();
- armor.clear();
- Bukkit.broadcastMessage("AFTER");
- }
- public void onEnable() {
- this.getServer().getPluginManager().registerEvents(this, this);
- Bukkit.getServer().getPluginManager().registerEvents(new custom_mob(), this);
- plugin = this;
- ci = new custom_item();
- cm = new custom_mob();
- pot_loop();
- }
- public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
- Player p = Bukkit.getPlayer(sender.getName());
- if(label.equalsIgnoreCase("v")) {
- cm.custom_villager(p);
- Ranked_Gear();
- }
- return false;
- }
- public void Item_Making() {
- //This is meant to be an example
- List<String> lore = new ArrayList<String>();
- lore.add("SPECIAL:" + "JUMP_5 POISON_2");
- lore.add("Forged By The Mighty Moles");
- List<Enchantment> ench = new ArrayList<Enchantment>();
- ench.add(Enchantment.DIG_SPEED);
- ench.add(Enchantment.DURABILITY);
- List<Integer> lvl = new ArrayList<Integer>();
- lvl.add(100);
- lvl.add(50);
- ci.make(Material.DIAMOND_PICKAXE, "DIGGO", lore, ench, lvl);
- }
- //Item Handling Start
- public void pot_loop() {
- Bukkit.getScheduler().scheduleSyncRepeatingTask(this, new Runnable() {
- public void run() {
- for(Player p : spp){
- Bukkit.broadcastMessage(p.toString());
- get_in_hand(p);
- }
- }
- }, 20, 100);
- }
- public void get_in_hand(Player p) {
- this.getServer().getScheduler().scheduleSyncDelayedTask(this, new Runnable() {
- public void run() {
- ItemStack i = p.getInventory().getItemInMainHand();
- if (i == null || i.getType() == Material.AIR) {spp.remove(p);} else {sp_ef(p, i);}
- i = p.getInventory().getItemInOffHand();
- if (i == null || i.getType() == Material.AIR) {spp.remove(p);} else {sp_ef(p, i);}
- }
- },5);
- }
- public void sp_ef(Player p, ItemStack i) {
- String sp = null;
- String[] ef = null;
- if(i.getItemMeta().getLore() != null) {
- for(Integer a = 0; a<i.getItemMeta().getLore().size(); a++) {
- if(i.getItemMeta().getLore().get(a).contains("SPECIAL:")) {
- sp = i.getItemMeta().getLore().get(a);
- if(!spp.contains(p)) {spp.add(p);}
- }}
- if(!sp.contains("SPECIAL:")) {spp.remove(p); return;} else {
- ef = sp.split("SPECIAL:")[1].split(" ");
- }
- for(Integer a = 1; a<ef.length; a++) {
- String p1 = ef[a].split("_")[0];
- String p2 = ef[a].split("_")[1];
- Integer str = Integer.valueOf(p2);
- if(p1.equalsIgnoreCase("JUMP")) {add_pe(p, PotionEffectType.JUMP, 120, str);}
- if(p1.equalsIgnoreCase("POISON")) {add_pe(p, PotionEffectType.POISON, 120, str);}
- }
- } else {spp.remove(p);}
- }
- @EventHandler
- public void main_item_change(PlayerItemHeldEvent e) {
- Player p = e.getPlayer();
- get_in_hand(p);
- }
- @EventHandler
- public void off_item_change(InventoryClickEvent e) {
- HumanEntity p = e.getWhoClicked();
- Integer slot = e.getSlot();
- Bukkit.broadcastMessage(String.valueOf(slot));
- if(slot == 40) {
- get_in_hand((Player) p);
- }
- }
- @EventHandler
- public void hand_swap(PlayerSwapHandItemsEvent e) {
- Player p = e.getPlayer();
- get_in_hand(p);
- }
- //Item Handling End
- //Villager set trade start
- @EventHandler
- public void vcc(VillagerCareerChangeEvent e) {
- Villager v = e.getEntity();
- set_trade(v);
- }
- public void set_trade(Villager v) {
- this.getServer().getScheduler().scheduleSyncDelayedTask(this, new Runnable() {
- public void run() {
- MerchantRecipe a = new MerchantRecipe(new ItemStack(Material.DIAMOND), Integer.MAX_VALUE);
- a.addIngredient(new ItemStack(Material.DIRT));
- v.setRecipe(0, a);
- }
- },5);
- }
- //Villager set trade end
- @EventHandler
- public void onMove(PlayerMoveEvent e) {
- Player p = e.getPlayer();
- List<String> lore = new ArrayList<String>();
- lore.add("SPECIAL:" + " JUMP_5");
- lore.add("SWIMMING FOR JOY");
- List<Enchantment> ench = new ArrayList<Enchantment>();
- ench.add(Enchantment.DIG_SPEED);
- List<Integer> lvl = new ArrayList<Integer>();
- lvl.add(100);
- ItemStack i = ci.make(Material.TROPICAL_FISH, ChatColor.YELLOW + "HAPPY", lore, ench, lvl);
- p.getInventory().addItem(i);
- }
- public void add_pe(Player p, PotionEffectType pot, Integer timer, Integer str) {
- p.addPotionEffect(new PotionEffect(pot, timer, str));
- }
- }
RAW Paste Data