Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package me.gianluca.wardrobePlugin;
- import java.util.Arrays;
- import java.util.HashMap;
- import java.util.Map;
- import java.util.UUID;
- import org.bukkit.Bukkit;
- import org.bukkit.Color;
- import org.bukkit.Material;
- import org.bukkit.entity.HumanEntity;
- import org.bukkit.event.EventHandler;
- import org.bukkit.event.Listener;
- import org.bukkit.event.block.Action;
- import org.bukkit.event.inventory.InventoryAction;
- import org.bukkit.event.inventory.InventoryClickEvent;
- import org.bukkit.event.inventory.InventoryType.SlotType;
- import org.bukkit.event.player.PlayerInteractEvent;
- import org.bukkit.event.player.PlayerJoinEvent;
- import org.bukkit.inventory.Inventory;
- import org.bukkit.inventory.ItemStack;
- import org.bukkit.inventory.meta.ItemMeta;
- import org.bukkit.inventory.meta.LeatherArmorMeta;
- import org.bukkit.plugin.java.JavaPlugin;
- public class Main extends JavaPlugin implements Listener {
- private final String permissionToUse = "Wardrobe.use";
- private final String invWardrobeName = "Wardrobe";
- private final String invHelmetName = "Wardrobe - Helmets";
- private final String invChestPlateName = "Wardrobe - ChestPlates";
- private final String invLeggingsName = "Wardrobe - Leggings";
- private final String invBootsName = "Wardrobe - Boots";
- private final String invDyesName = "Wardrobe - Dyes";
- Map<UUID, ItemStack> map = new HashMap<UUID, ItemStack>();
- @Override
- public void onEnable() {
- getServer().getPluginManager().registerEvents(this, this);
- }
- private ItemStack guiLauncher() {
- ItemStack is = new ItemStack(Material.LEATHER_CHESTPLATE, 1);
- ItemMeta meta = is.getItemMeta();
- meta.setDisplayName(invWardrobeName);
- meta.setLore(Arrays.asList(new String[] { "Right click to open your wardrobe" }));
- is.setItemMeta(meta);
- return is;
- }
- @EventHandler
- public void onJoin(PlayerJoinEvent event) {
- if (!event.getPlayer().getInventory().contains(guiLauncher())) {
- event.getPlayer().getInventory().addItem(guiLauncher());
- }
- }
- @EventHandler
- public void onRightClick(PlayerInteractEvent event) {
- if (event.getAction().equals(Action.RIGHT_CLICK_AIR) || event.getAction().equals(Action.RIGHT_CLICK_BLOCK)) {
- if (event.getPlayer().hasPermission(permissionToUse)) {
- event.setCancelled(true);
- event.getPlayer().openInventory(mainInventory());
- }
- }
- }
- @EventHandler
- public void onInventoryClick(InventoryClickEvent event) {
- if (event.getSlotType().equals(SlotType.ARMOR) || event.getInventory().getItem(event.getSlot()) != null) {
- event.setCancelled(true);
- }
- HumanEntity player = event.getWhoClicked();
- if (event.getInventory().getName().equals(invWardrobeName)) {
- if (!event.getAction().equals(InventoryAction.PICKUP_ONE) || event.isRightClick() || event.isShiftClick()) {
- event.setCancelled(true);
- }
- if (event.getSlot() == 0) {
- player.closeInventory();
- player.openInventory(helmetInventory());
- } else if (event.getSlot() == 1) {
- player.closeInventory();
- player.openInventory(chestPlateInventory());
- } else if (event.getSlot() == 2) {
- player.closeInventory();
- player.openInventory(leggingsInventory());
- } else if (event.getSlot() == 3) {
- player.closeInventory();
- player.openInventory(bootsInventory());
- }
- if (event.getSlot() == 8) {
- player.closeInventory();
- }
- } else if (event.getInventory().getName().equals(invHelmetName)) {
- if (!event.getAction().equals(InventoryAction.PICKUP_ONE) || event.isRightClick() || event.isShiftClick()) {
- event.setCancelled(true);
- }
- if (event.getSlot() == 0) {
- player.closeInventory();
- map.put(player.getUniqueId(), event.getInventory().getItem(event.getSlot()));
- player.openInventory(dyeInventory(player.getUniqueId()));
- } else if (event.getSlot() == 1 || event.getSlot() == 2 || event.getSlot() == 3 || event.getSlot() == 4) {
- player.closeInventory();
- player.getInventory().setHelmet(event.getInventory().getItem(event.getSlot()));
- }
- if (event.getSlot() == 8) {
- player.closeInventory();
- player.openInventory(mainInventory());
- }
- } else if (event.getInventory().getName().equals(invChestPlateName)) {
- if (!event.getAction().equals(InventoryAction.PICKUP_ONE) || event.isRightClick() || event.isShiftClick()) {
- event.setCancelled(true);
- }
- if (event.getSlot() == 0) {
- player.closeInventory();
- map.put(player.getUniqueId(), event.getInventory().getItem(event.getSlot()));
- player.openInventory(dyeInventory(player.getUniqueId()));
- } else if (event.getSlot() == 1 || event.getSlot() == 2 || event.getSlot() == 3 || event.getSlot() == 4) {
- player.closeInventory();
- player.getInventory().setChestplate(event.getInventory().getItem(event.getSlot()));
- }
- if (event.getSlot() == 8) {
- player.closeInventory();
- player.openInventory(mainInventory());
- }
- } else if (event.getInventory().getName().equals(invLeggingsName)) {
- if (!event.getAction().equals(InventoryAction.PICKUP_ONE) || event.isRightClick() || event.isShiftClick()) {
- event.setCancelled(true);
- }
- if (event.getSlot() == 0) {
- player.closeInventory();
- map.put(player.getUniqueId(), event.getInventory().getItem(event.getSlot()));
- player.openInventory(dyeInventory(player.getUniqueId()));
- } else if (event.getSlot() == 1 || event.getSlot() == 2 || event.getSlot() == 3 || event.getSlot() == 4) {
- player.closeInventory();
- player.getInventory().setLeggings(event.getInventory().getItem(event.getSlot()));
- }
- if (event.getSlot() == 8) {
- player.closeInventory();
- player.openInventory(mainInventory());
- }
- } else if (event.getInventory().getName().equals(invBootsName)) {
- if (!event.getAction().equals(InventoryAction.PICKUP_ONE) || event.isRightClick() || event.isShiftClick()) {
- event.setCancelled(true);
- }
- if (event.getSlot() == 0) {
- player.closeInventory();
- map.put(player.getUniqueId(), event.getInventory().getItem(event.getSlot()));
- player.openInventory(dyeInventory(player.getUniqueId()));
- } else if (event.getSlot() == 1 || event.getSlot() == 2 || event.getSlot() == 3 || event.getSlot() == 4) {
- player.closeInventory();
- player.getInventory().setBoots(event.getInventory().getItem(event.getSlot()));
- }
- if (event.getSlot() == 8) {
- player.closeInventory();
- player.openInventory(mainInventory());
- }
- } else if (event.getInventory().getName().equals(invDyesName)) {
- if (!event.getAction().equals(InventoryAction.PICKUP_ONE) || event.isRightClick() || event.isShiftClick()) {
- event.setCancelled(true);
- }
- if (event.getSlot() == 0 || event.getSlot() == 1 || event.getSlot() == 2 || event.getSlot() == 3 || event.getSlot() == 4 || event.getSlot() == 5 || event.getSlot() == 6 || event.getSlot() == 7) {
- ItemStack is = event.getInventory().getItem(event.getSlot());
- //ItemStack is = map.get(player.getUniqueId());
- player.closeInventory();
- //Dye dye = (Dye) event.getInventory().getItem(event.getSlot()).getData();
- //Color color = dye.getColor().getColor();
- //LeatherArmorMeta meta = (LeatherArmorMeta) is.getItemMeta();
- //meta.setColor(color);
- //is.setItemMeta(meta);
- if (is.getType().equals(Material.LEATHER_HELMET)) {
- player.getInventory().setHelmet(is);
- } else if (is.getType().equals(Material.LEATHER_CHESTPLATE)) {
- player.getInventory().setChestplate(is);
- } else if (is.getType().equals(Material.LEATHER_LEGGINGS)) {
- player.getInventory().setLeggings(is);
- } else if (is.getType().equals(Material.LEATHER_BOOTS)) {
- player.getInventory().setBoots(is);
- }
- }
- if (event.getSlot() == 8) {
- player.closeInventory();
- player.openInventory(mainInventory());
- }
- }
- }
- private Inventory mainInventory() {
- Inventory inv = Bukkit.createInventory(null, 9, invWardrobeName);
- ItemStack helmet = new ItemStack(Material.LEATHER_HELMET);
- ItemStack chestplate = new ItemStack(Material.LEATHER_CHESTPLATE);
- ItemStack leggings = new ItemStack(Material.LEATHER_LEGGINGS);
- ItemStack boots = new ItemStack(Material.LEATHER_BOOTS);
- ItemStack clear = new ItemStack(Material.EMERALD);
- ItemMeta meta = clear.getItemMeta();
- meta.setDisplayName("Remove all armor");
- clear.setItemMeta(meta);
- inv.setItem(0, helmet);
- inv.setItem(1, chestplate);
- inv.setItem(2, leggings);
- inv.setItem(3, boots);
- inv.setItem(8, clear);
- return inv;
- }
- private Inventory helmetInventory() {
- Inventory inv = Bukkit.createInventory(null, 9, invHelmetName);
- ItemStack is1 = new ItemStack(Material.LEATHER_HELMET);
- ItemStack is2 = new ItemStack(Material.IRON_HELMET);
- ItemStack is3 = new ItemStack(Material.GOLD_HELMET);
- ItemStack is4 = new ItemStack(Material.CHAINMAIL_HELMET);
- ItemStack is5 = new ItemStack(Material.DIAMOND_HELMET);
- ItemStack back = new ItemStack(Material.EMERALD);
- ItemMeta meta = back.getItemMeta();
- meta.setDisplayName("Go back");
- back.setItemMeta(meta);
- inv.setItem(0, is1);
- inv.setItem(1, is2);
- inv.setItem(2, is3);
- inv.setItem(3, is4);
- inv.setItem(4, is5);
- inv.setItem(8, back);
- return inv;
- }
- private Inventory chestPlateInventory() {
- Inventory inv = Bukkit.createInventory(null, 9, invChestPlateName);
- ItemStack is1 = new ItemStack(Material.LEATHER_CHESTPLATE);
- ItemStack is2 = new ItemStack(Material.IRON_CHESTPLATE);
- ItemStack is3 = new ItemStack(Material.GOLD_CHESTPLATE);
- ItemStack is4 = new ItemStack(Material.CHAINMAIL_CHESTPLATE);
- ItemStack is5 = new ItemStack(Material.DIAMOND_CHESTPLATE);
- ItemStack back = new ItemStack(Material.EMERALD);
- ItemMeta meta = back.getItemMeta();
- meta.setDisplayName("Go back");
- back.setItemMeta(meta);
- inv.setItem(0, is1);
- inv.setItem(1, is2);
- inv.setItem(2, is3);
- inv.setItem(3, is4);
- inv.setItem(4, is5);
- inv.setItem(8, back);
- return inv;
- }
- private Inventory leggingsInventory() {
- Inventory inv = Bukkit.createInventory(null, 9, invLeggingsName);
- ItemStack is1 = new ItemStack(Material.LEATHER_LEGGINGS);
- ItemStack is2 = new ItemStack(Material.IRON_LEGGINGS);
- ItemStack is3 = new ItemStack(Material.GOLD_LEGGINGS);
- ItemStack is4 = new ItemStack(Material.CHAINMAIL_LEGGINGS);
- ItemStack is5 = new ItemStack(Material.DIAMOND_LEGGINGS);
- ItemStack back = new ItemStack(Material.EMERALD);
- ItemMeta meta = back.getItemMeta();
- meta.setDisplayName("Go back");
- back.setItemMeta(meta);
- inv.setItem(0, is1);
- inv.setItem(1, is2);
- inv.setItem(2, is3);
- inv.setItem(3, is4);
- inv.setItem(4, is5);
- inv.setItem(8, back);
- return inv;
- }
- private Inventory bootsInventory() {
- Inventory inv = Bukkit.createInventory(null, 9, invBootsName);
- ItemStack is1 = new ItemStack(Material.LEATHER_BOOTS);
- ItemStack is2 = new ItemStack(Material.IRON_BOOTS);
- ItemStack is3 = new ItemStack(Material.GOLD_BOOTS);
- ItemStack is4 = new ItemStack(Material.CHAINMAIL_BOOTS);
- ItemStack is5 = new ItemStack(Material.DIAMOND_BOOTS);
- ItemStack back = new ItemStack(Material.EMERALD);
- ItemMeta meta = back.getItemMeta();
- meta.setDisplayName("Go back");
- back.setItemMeta(meta);
- inv.setItem(0, is1);
- inv.setItem(1, is2);
- inv.setItem(2, is3);
- inv.setItem(3, is4);
- inv.setItem(4, is5);
- inv.setItem(8, back);
- return inv;
- }
- private final Inventory dyeInventory(UUID uuid) {
- Inventory inv = Bukkit.createInventory(null, 9, invDyesName);
- ItemStack purpleDye = map.get(uuid).clone();
- LeatherArmorMeta purple = (LeatherArmorMeta) purpleDye.getItemMeta();
- purple.setColor(Color.PURPLE);
- purpleDye.setItemMeta(purple);
- ItemStack blackDye = map.get(uuid).clone();
- LeatherArmorMeta black = (LeatherArmorMeta) blackDye.getItemMeta();
- black.setColor(Color.BLACK);
- blackDye.setItemMeta(black);
- ItemStack whiteDye = map.get(uuid).clone();
- LeatherArmorMeta white = (LeatherArmorMeta) whiteDye.getItemMeta();
- white.setColor(Color.WHITE);
- whiteDye.setItemMeta(white);
- ItemStack redDye = map.get(uuid).clone();
- LeatherArmorMeta red = (LeatherArmorMeta) redDye.getItemMeta();
- red.setColor(Color.RED);
- redDye.setItemMeta(red);
- ItemStack blueDye = map.get(uuid).clone();
- LeatherArmorMeta blue = (LeatherArmorMeta) blueDye.getItemMeta();
- blue.setColor(Color.BLUE);
- blueDye.setItemMeta(blue);
- ItemStack greenDye = map.get(uuid).clone();
- LeatherArmorMeta green = (LeatherArmorMeta) greenDye.getItemMeta();
- green.setColor(Color.GREEN);
- greenDye.setItemMeta(green);
- ItemStack grayDye = map.get(uuid).clone();
- LeatherArmorMeta gray = (LeatherArmorMeta) grayDye.getItemMeta();
- gray.setColor(Color.GRAY);
- grayDye.setItemMeta(gray);
- ItemStack back = new ItemStack(Material.EMERALD);
- ItemMeta meta = back.getItemMeta();
- meta.setDisplayName("Go back");
- back.setItemMeta(meta);
- inv.setItem(0, purpleDye);
- inv.setItem(1, blackDye);
- inv.setItem(2, whiteDye);
- inv.setItem(3, redDye);
- inv.setItem(4, blueDye);
- inv.setItem(5, greenDye);
- inv.setItem(6, grayDye);
- inv.setItem(7, map.get(uuid));
- inv.setItem(8, back);
- return inv;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement