Advertisement
Guest User

Untitled

a guest
Nov 23rd, 2017
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.02 KB | None | 0 0
  1. package io.github.amaknajaja;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.Arrays;
  5. import java.util.List;
  6. import org.bukkit.ChatColor;
  7. import org.bukkit.Material;
  8. import org.bukkit.entity.Player;
  9. import org.bukkit.event.EventHandler;
  10. import org.bukkit.event.Listener;
  11. import org.bukkit.event.block.Action;
  12. import org.bukkit.event.entity.PlayerDeathEvent;
  13. import org.bukkit.event.inventory.InventoryClickEvent;
  14. import org.bukkit.event.inventory.InventoryType;
  15. import org.bukkit.event.player.PlayerInteractEvent;
  16. import org.bukkit.event.player.PlayerRespawnEvent;
  17. import org.bukkit.inventory.ItemStack;
  18.  
  19. public class Eventos implements Listener {
  20.  
  21. //--Constructor--//
  22.  
  23. static Main main;
  24. public Eventos(Main mainClass){
  25. main = mainClass;
  26. }
  27.  
  28. //--------------//
  29.  
  30. @EventHandler
  31. public void seleccionRaza(InventoryClickEvent e) {
  32. Player p = (Player)e.getWhoClicked();
  33. ItemStack clicked = e.getCurrentItem();
  34. if(e.getView().getTopInventory().getTitle().equals(ChatColor.AQUA + "Selecciona tu raza")){
  35. e.setCancelled(true);
  36. if(clicked != null) {
  37. if(clicked.getType() == Material.APPLE) {
  38. if(!main.razaConfig.contains(p.getUniqueId().toString())) {
  39. main.razaConfig.set(p.getUniqueId().toString() + ".Raza","Nekos");
  40. main.razaConfig.set(p.getUniqueId().toString() + ".Nombre", p.getName());
  41. main.guardarConfiguracion();
  42. p.getInventory().setHelmet(main.orejitasLista("Nekos"));
  43. p.sendMessage(main.color(main.getConfig().getString("neko-message")));
  44. p.closeInventory();
  45. }else{
  46. p.closeInventory();
  47. p.sendMessage(main.color(main.getConfig().getString("raza-message")));
  48. }
  49. }
  50. if(clicked.getType() == Material.POTATO_ITEM) {
  51. if(!main.razaConfig.contains(p.getUniqueId().toString())) {
  52. main.razaConfig.set(p.getUniqueId().toString() + ".Raza","Elfos");
  53. main.razaConfig.set(p.getUniqueId().toString() + ".Nombre", p.getName());;
  54. main.guardarConfiguracion();
  55. p.getInventory().setHelmet(main.orejitasLista("elfo"));
  56. p.sendMessage(main.color(main.getConfig().getString("elfo-message")));
  57. p.closeInventory();
  58.  
  59. }else{
  60. p.closeInventory();
  61. p.sendMessage(main.color(main.getConfig().getString("raza-message")));
  62. }
  63. }
  64. if(clicked.getType() == Material.CARROT_ITEM) {
  65. if(!main.razaConfig.contains(p.getUniqueId().toString())) {
  66. main.razaConfig.set(p.getUniqueId().toString() + ".Raza","Humanos");
  67. main.razaConfig.set(p.getUniqueId().toString() + ".Nombre", p.getName());
  68. main.guardarConfiguracion();
  69. p.getInventory().setHelmet(main.orejitasLista("humano"));
  70. p.sendMessage(main.color(main.getConfig().getString("humano-message")));
  71. p.closeInventory();
  72. }else{
  73. p.closeInventory();
  74. p.sendMessage(main.color(main.getConfig().getString("raza-message")));
  75. }
  76. }
  77. if(clicked.getType() == Material.COOKED_FISH) {
  78. if(!main.razaConfig.contains(p.getUniqueId().toString())) {
  79. main.razaConfig.set(p.getUniqueId().toString() + ".Raza","Hydras");
  80. main.razaConfig.set(p.getUniqueId().toString() + ".Nombre", p.getName());
  81. main.guardarConfiguracion();
  82. p.getInventory().setHelmet(main.orejitasLista("hydra"));
  83. p.sendMessage(main.color(main.getConfig().getString("hydra-message")));
  84. p.closeInventory();
  85. }else{
  86. p.closeInventory();
  87. p.sendMessage(main.color(main.getConfig().getString("raza-message")));
  88. }
  89. }
  90. }
  91. }
  92. }
  93.  
  94. //----Si muere----//
  95.  
  96. @EventHandler
  97. public void muerteJugador(PlayerDeathEvent e) {
  98.  
  99. //Aquí el plugin con el bucle, buscará el item deseado de entre todos los
  100. //items que hemos dropeado al morir, después, los convertirá en AIRE.
  101. Player p = e.getEntity();
  102. for(ItemStack item : contents(p.getInventory().getArmorContents(),p.getInventory().getContents())) {
  103. if(item != null && main.orejitasArray.contains(item)){
  104. for(ItemStack i : e.getDrops()) {
  105. if(i.equals(item)) {
  106. i.setType(Material.AIR);
  107. }
  108. }
  109. }
  110. }
  111.  
  112. }
  113. public ItemStack[] contents(ItemStack[] a, ItemStack[] b) {
  114. List<ItemStack> list = new ArrayList<>();
  115. list.addAll(Arrays.asList(a));
  116. list.addAll(Arrays.asList(b));
  117. return list.toArray(new ItemStack[list.size()]);
  118. }
  119. @EventHandler
  120. public void añadirSombrero(PlayerRespawnEvent e) {
  121. Player p = e.getPlayer();
  122. String raza = (String) main.razaConfig.get(p.getUniqueId().toString() + ".Raza");
  123. p.getInventory().setHelmet(main.orejitasLista(raza));
  124. }
  125.  
  126. //---------------//
  127.  
  128. @EventHandler
  129. public void interact(PlayerInteractEvent e){
  130.  
  131. Player p = e.getPlayer();
  132. ItemStack i = e.getItem();
  133.  
  134. if(i != null) {
  135. Material m = i.getType();
  136. String mName = m.toString();
  137.  
  138. if(e.getAction().equals(Action.RIGHT_CLICK_AIR) && p.isSneaking()){
  139. if(mName.contains("_HELMET") || main.orejitasArray.contains(i)){
  140. p.sendMessage("Yaii");
  141. ItemStack helmet = p.getInventory().getHelmet();
  142. if(helmet != null && main.orejitasArray.contains(helmet)){
  143. helmet.setType(Material.AIR);
  144. if(i.getAmount() > 1){
  145. ItemStack clone = i.clone();
  146. p.getInventory().setHelmet(clone);
  147. i.setAmount(i.getAmount() - 1);}
  148. }else{
  149. p.sendMessage("Yaiiyoo");
  150. ItemStack clone = i.clone();
  151. p.getInventory().setHelmet(clone);
  152. p.getInventory().remove(i);
  153. }
  154. }
  155. }
  156. }
  157. }
  158. @EventHandler
  159. public void cambiarOrejas(InventoryClickEvent e) {
  160. Player p = (Player) e.getWhoClicked();
  161. if(e.getInventory().getType().equals(InventoryType.CRAFTING)) {
  162. int slot = e.getSlot();
  163. if(slot == 39){
  164. main.getServer().getScheduler().scheduleSyncDelayedTask(main, new Runnable(){
  165. public void run() {
  166. String raza = main.razaConfig.getString(p.getUniqueId().toString() + ".Raza");
  167. if(p.getInventory().getHelmet() == null){
  168. p.getInventory().setHelmet(main.orejitasLista(raza));
  169. p.sendMessage(ChatColor.GREEN + "Vuelves a ser un gatito");
  170. }
  171.  
  172. }
  173. }
  174.  
  175. },20L);
  176. }
  177. }
  178.  
  179. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement