Advertisement
Guest User

Untitled

a guest
Nov 13th, 2017
46
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.93 KB | None | 0 0
  1. package me.TheTealViper.defaultitemchanger;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.List;
  5.  
  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.event.EventHandler;
  11. import org.bukkit.event.Listener;
  12. import org.bukkit.event.entity.ItemSpawnEvent;
  13. import org.bukkit.event.inventory.InventoryClickEvent;
  14. import org.bukkit.inventory.ItemStack;
  15. import org.bukkit.inventory.meta.ItemMeta;
  16. import org.bukkit.inventory.meta.SkullMeta;
  17. import org.bukkit.material.MaterialData;
  18. import org.bukkit.plugin.java.JavaPlugin;
  19.  
  20. import Utils.EnableShit;
  21.  
  22. @SuppressWarnings("deprecation")
  23. public class DefaultItemChanger extends JavaPlugin implements Listener{
  24.  
  25. public void onEnable(){
  26. EnableShit.handleOnEnable(this, this, "-1");
  27. }
  28.  
  29. public void onDisable(){
  30. getLogger().info("DefaultItemChanger from TheTealViper shutting down. Bshzzzzzz");
  31. }
  32.  
  33. @EventHandler
  34. public void onItemDrop(ItemSpawnEvent e){
  35. String id = e.getEntity().getItemStack().getTypeId() + ":" + e.getEntity().getItemStack().getDurability();
  36. if(getConfig().contains(id))
  37. e.getEntity().setItemStack(getItem(id, e.getEntity().getItemStack().getAmount()));
  38. }
  39.  
  40. @EventHandler
  41. public void onInventory(InventoryClickEvent e){
  42. try{
  43. if(e.getClickedInventory().getTitle().equals(e.getInventory().getTitle())){
  44. int slot = e.getSlot();
  45. ItemStack item = e.getInventory().getItem(slot);
  46. e.getInventory().setItem(slot, getItem(item.getTypeId() + ":" + item.getDurability(), item.getAmount()));
  47. }
  48. }catch(Exception ex){
  49.  
  50. }
  51. }
  52.  
  53. public ItemStack getItem(String id, int amount){
  54. ItemStack item = new ItemStack(Integer.valueOf(id.split(":")[0]), amount, Short.valueOf(id.split(":")[1]));
  55. ItemMeta meta = Bukkit.getItemFactory().getItemMeta(Material.STICK);
  56. meta.setDisplayName(makeColors(getConfig().getString(id + ".name")));
  57. List<String> lore = getConfig().contains(id + ".lore") ? getConfig().getStringList(id + ".lore") : new ArrayList<String>();
  58. for(int i = 0;i < lore.size();i++)
  59. lore.set(i, makeColors(lore.get(i)));
  60. if(!lore.isEmpty())
  61. meta.setLore(lore);
  62. item.setItemMeta(meta);
  63. List<String> enchantData = getConfig().contains(id + ".enchantments") ? getConfig().getStringList(id + ".enchantments") : new ArrayList<String>();
  64. for(String s : enchantData){
  65. String enchantment = s.split(":")[0];
  66. int level = Integer.valueOf(s.split(":")[1]);
  67. if(enchantment.equalsIgnoreCase("arrowdamage")){
  68. item.addEnchantment(Enchantment.ARROW_DAMAGE, level);
  69. }else if(enchantment.equalsIgnoreCase("arrowfire")){
  70. item.addUnsafeEnchantment(Enchantment.ARROW_FIRE, level);
  71. }else if(enchantment.equalsIgnoreCase("arrowinfinite")){
  72. item.addUnsafeEnchantment(Enchantment.ARROW_INFINITE, level);
  73. }else if(enchantment.equalsIgnoreCase("arrowknockback")){
  74. item.addUnsafeEnchantment(Enchantment.ARROW_KNOCKBACK, level);
  75. }else if(enchantment.equalsIgnoreCase("damage")){
  76. item.addUnsafeEnchantment(Enchantment.DAMAGE_ALL, level);
  77. }else if(enchantment.equalsIgnoreCase("digspeed")){
  78. item.addUnsafeEnchantment(Enchantment.DIG_SPEED, level);
  79. }else if(enchantment.equalsIgnoreCase("durability")){
  80. item.addUnsafeEnchantment(Enchantment.DURABILITY, level);
  81. }else if(enchantment.equalsIgnoreCase("fireaspect")){
  82. item.addUnsafeEnchantment(Enchantment.FIRE_ASPECT, level);
  83. }else if(enchantment.equalsIgnoreCase("knockback")){
  84. item.addUnsafeEnchantment(Enchantment.KNOCKBACK, level);
  85. }else if(enchantment.equalsIgnoreCase("lootbonusblock")){
  86. item.addUnsafeEnchantment(Enchantment.LOOT_BONUS_BLOCKS, level);
  87. }else if(enchantment.equalsIgnoreCase("lootbonusmob")){
  88. item.addUnsafeEnchantment(Enchantment.LOOT_BONUS_MOBS, level);
  89. }else if(enchantment.equalsIgnoreCase("luck")){
  90. item.addUnsafeEnchantment(Enchantment.LUCK, level);
  91. }else if(enchantment.equalsIgnoreCase("protectionfall")){
  92. item.addUnsafeEnchantment(Enchantment.PROTECTION_FALL, level);
  93. }else if(enchantment.equalsIgnoreCase("protectionfire")){
  94. item.addUnsafeEnchantment(Enchantment.PROTECTION_FALL, level);
  95. }else if(enchantment.equalsIgnoreCase("silktouch")){
  96. item.addUnsafeEnchantment(Enchantment.SILK_TOUCH, level);
  97. }
  98. }
  99. List<String> tags = getConfig().contains(id + ".tags") ? getConfig().getStringList(id + ".tags") : new ArrayList<String>();
  100. for(String s : tags){
  101. if(s.startsWith("skullskin") && item.getType().equals(Material.SKULL_ITEM)){
  102. SkullMeta skull = (SkullMeta) item.getData();
  103. skull.setOwner(s.replace("skullskin:", ""));
  104. item.setData((MaterialData) skull);
  105. }
  106. }
  107. return item;
  108. }
  109.  
  110. public static String makeColors(String s){
  111. String replaced = s
  112. .replaceAll("&0", "" + ChatColor.BLACK)
  113. .replaceAll("&1", "" + ChatColor.DARK_BLUE)
  114. .replaceAll("&2", "" + ChatColor.DARK_GREEN)
  115. .replaceAll("&3", "" + ChatColor.DARK_AQUA)
  116. .replaceAll("&4", "" + ChatColor.DARK_RED)
  117. .replaceAll("&5", "" + ChatColor.DARK_PURPLE)
  118. .replaceAll("&6", "" + ChatColor.GOLD)
  119. .replaceAll("&7", "" + ChatColor.GRAY)
  120. .replaceAll("&8", "" + ChatColor.DARK_GRAY)
  121. .replaceAll("&9", "" + ChatColor.BLUE)
  122. .replaceAll("&a", "" + ChatColor.GREEN)
  123. .replaceAll("&b", "" + ChatColor.AQUA)
  124. .replaceAll("&c", "" + ChatColor.RED)
  125. .replaceAll("&d", "" + ChatColor.LIGHT_PURPLE)
  126. .replaceAll("&e", "" + ChatColor.YELLOW)
  127. .replaceAll("&f", "" + ChatColor.WHITE)
  128. .replaceAll("&r", "" + ChatColor.RESET)
  129. .replaceAll("&l", "" + ChatColor.BOLD)
  130. .replaceAll("&o", "" + ChatColor.ITALIC)
  131. .replaceAll("&k", "" + ChatColor.MAGIC)
  132. .replaceAll("&m", "" + ChatColor.STRIKETHROUGH)
  133. .replaceAll("&n", "" + ChatColor.UNDERLINE)
  134. .replaceAll("\\\\", " ");
  135. return replaced;
  136. }
  137.  
  138. public static String convertToInvisibleString(String s) {
  139. String hidden = "";
  140. for (char c : s.toCharArray()) hidden += ChatColor.COLOR_CHAR+""+c;
  141. return hidden;
  142. }
  143. public static String convertBack(String s){
  144. //String converted = ChatColor.stripColor(s);
  145. String converted = s.replaceAll("§", "");
  146. return converted;
  147. }
  148. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement