Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package me.TheTealViper.defaultitemchanger;
- import java.util.ArrayList;
- import java.util.List;
- import org.bukkit.Bukkit;
- import org.bukkit.ChatColor;
- import org.bukkit.Material;
- import org.bukkit.enchantments.Enchantment;
- import org.bukkit.event.EventHandler;
- import org.bukkit.event.Listener;
- import org.bukkit.event.entity.ItemSpawnEvent;
- import org.bukkit.event.inventory.InventoryClickEvent;
- import org.bukkit.inventory.ItemStack;
- import org.bukkit.inventory.meta.ItemMeta;
- import org.bukkit.inventory.meta.SkullMeta;
- import org.bukkit.material.MaterialData;
- import org.bukkit.plugin.java.JavaPlugin;
- import Utils.EnableShit;
- @SuppressWarnings("deprecation")
- public class DefaultItemChanger extends JavaPlugin implements Listener{
- public void onEnable(){
- EnableShit.handleOnEnable(this, this, "-1");
- }
- public void onDisable(){
- getLogger().info("DefaultItemChanger from TheTealViper shutting down. Bshzzzzzz");
- }
- @EventHandler
- public void onItemDrop(ItemSpawnEvent e){
- String id = e.getEntity().getItemStack().getTypeId() + ":" + e.getEntity().getItemStack().getDurability();
- if(getConfig().contains(id))
- e.getEntity().setItemStack(getItem(id, e.getEntity().getItemStack().getAmount()));
- }
- @EventHandler
- public void onInventory(InventoryClickEvent e){
- try{
- if(e.getClickedInventory().getTitle().equals(e.getInventory().getTitle())){
- int slot = e.getSlot();
- ItemStack item = e.getInventory().getItem(slot);
- e.getInventory().setItem(slot, getItem(item.getTypeId() + ":" + item.getDurability(), item.getAmount()));
- }
- }catch(Exception ex){
- }
- }
- public ItemStack getItem(String id, int amount){
- ItemStack item = new ItemStack(Integer.valueOf(id.split(":")[0]), amount, Short.valueOf(id.split(":")[1]));
- ItemMeta meta = Bukkit.getItemFactory().getItemMeta(Material.STICK);
- meta.setDisplayName(makeColors(getConfig().getString(id + ".name")));
- List<String> lore = getConfig().contains(id + ".lore") ? getConfig().getStringList(id + ".lore") : new ArrayList<String>();
- for(int i = 0;i < lore.size();i++)
- lore.set(i, makeColors(lore.get(i)));
- if(!lore.isEmpty())
- meta.setLore(lore);
- item.setItemMeta(meta);
- List<String> enchantData = getConfig().contains(id + ".enchantments") ? getConfig().getStringList(id + ".enchantments") : new ArrayList<String>();
- for(String s : enchantData){
- String enchantment = s.split(":")[0];
- int level = Integer.valueOf(s.split(":")[1]);
- if(enchantment.equalsIgnoreCase("arrowdamage")){
- item.addEnchantment(Enchantment.ARROW_DAMAGE, level);
- }else if(enchantment.equalsIgnoreCase("arrowfire")){
- item.addUnsafeEnchantment(Enchantment.ARROW_FIRE, level);
- }else if(enchantment.equalsIgnoreCase("arrowinfinite")){
- item.addUnsafeEnchantment(Enchantment.ARROW_INFINITE, level);
- }else if(enchantment.equalsIgnoreCase("arrowknockback")){
- item.addUnsafeEnchantment(Enchantment.ARROW_KNOCKBACK, level);
- }else if(enchantment.equalsIgnoreCase("damage")){
- item.addUnsafeEnchantment(Enchantment.DAMAGE_ALL, level);
- }else if(enchantment.equalsIgnoreCase("digspeed")){
- item.addUnsafeEnchantment(Enchantment.DIG_SPEED, level);
- }else if(enchantment.equalsIgnoreCase("durability")){
- item.addUnsafeEnchantment(Enchantment.DURABILITY, level);
- }else if(enchantment.equalsIgnoreCase("fireaspect")){
- item.addUnsafeEnchantment(Enchantment.FIRE_ASPECT, level);
- }else if(enchantment.equalsIgnoreCase("knockback")){
- item.addUnsafeEnchantment(Enchantment.KNOCKBACK, level);
- }else if(enchantment.equalsIgnoreCase("lootbonusblock")){
- item.addUnsafeEnchantment(Enchantment.LOOT_BONUS_BLOCKS, level);
- }else if(enchantment.equalsIgnoreCase("lootbonusmob")){
- item.addUnsafeEnchantment(Enchantment.LOOT_BONUS_MOBS, level);
- }else if(enchantment.equalsIgnoreCase("luck")){
- item.addUnsafeEnchantment(Enchantment.LUCK, level);
- }else if(enchantment.equalsIgnoreCase("protectionfall")){
- item.addUnsafeEnchantment(Enchantment.PROTECTION_FALL, level);
- }else if(enchantment.equalsIgnoreCase("protectionfire")){
- item.addUnsafeEnchantment(Enchantment.PROTECTION_FALL, level);
- }else if(enchantment.equalsIgnoreCase("silktouch")){
- item.addUnsafeEnchantment(Enchantment.SILK_TOUCH, level);
- }
- }
- List<String> tags = getConfig().contains(id + ".tags") ? getConfig().getStringList(id + ".tags") : new ArrayList<String>();
- for(String s : tags){
- if(s.startsWith("skullskin") && item.getType().equals(Material.SKULL_ITEM)){
- SkullMeta skull = (SkullMeta) item.getData();
- skull.setOwner(s.replace("skullskin:", ""));
- item.setData((MaterialData) skull);
- }
- }
- return item;
- }
- public static String makeColors(String s){
- String replaced = s
- .replaceAll("&0", "" + ChatColor.BLACK)
- .replaceAll("&1", "" + ChatColor.DARK_BLUE)
- .replaceAll("&2", "" + ChatColor.DARK_GREEN)
- .replaceAll("&3", "" + ChatColor.DARK_AQUA)
- .replaceAll("&4", "" + ChatColor.DARK_RED)
- .replaceAll("&5", "" + ChatColor.DARK_PURPLE)
- .replaceAll("&6", "" + ChatColor.GOLD)
- .replaceAll("&7", "" + ChatColor.GRAY)
- .replaceAll("&8", "" + ChatColor.DARK_GRAY)
- .replaceAll("&9", "" + ChatColor.BLUE)
- .replaceAll("&a", "" + ChatColor.GREEN)
- .replaceAll("&b", "" + ChatColor.AQUA)
- .replaceAll("&c", "" + ChatColor.RED)
- .replaceAll("&d", "" + ChatColor.LIGHT_PURPLE)
- .replaceAll("&e", "" + ChatColor.YELLOW)
- .replaceAll("&f", "" + ChatColor.WHITE)
- .replaceAll("&r", "" + ChatColor.RESET)
- .replaceAll("&l", "" + ChatColor.BOLD)
- .replaceAll("&o", "" + ChatColor.ITALIC)
- .replaceAll("&k", "" + ChatColor.MAGIC)
- .replaceAll("&m", "" + ChatColor.STRIKETHROUGH)
- .replaceAll("&n", "" + ChatColor.UNDERLINE)
- .replaceAll("\\\\", " ");
- return replaced;
- }
- public static String convertToInvisibleString(String s) {
- String hidden = "";
- for (char c : s.toCharArray()) hidden += ChatColor.COLOR_CHAR+""+c;
- return hidden;
- }
- public static String convertBack(String s){
- //String converted = ChatColor.stripColor(s);
- String converted = s.replaceAll("§", "");
- return converted;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement