Advertisement
Guest User

Untitled

a guest
Oct 14th, 2019
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.60 KB | None | 0 0
  1. package de.Tommunity.Villager;
  2.  
  3. import java.util.ArrayList;
  4.  
  5. import org.bukkit.Bukkit;
  6. import org.bukkit.Material;
  7. import org.bukkit.command.Command;
  8. import org.bukkit.command.CommandExecutor;
  9. import org.bukkit.command.CommandSender;
  10. import org.bukkit.entity.Player;
  11. import org.bukkit.entity.Villager;
  12. import org.bukkit.entity.Witch;
  13. import org.bukkit.event.EventHandler;
  14. import org.bukkit.event.Listener;
  15. import org.bukkit.event.entity.EntityDamageByEntityEvent;
  16. import org.bukkit.event.inventory.InventoryClickEvent;
  17. import org.bukkit.event.player.PlayerInteractEntityEvent;
  18. import org.bukkit.inventory.Inventory;
  19. import org.bukkit.inventory.ItemStack;
  20. import org.bukkit.inventory.meta.ItemMeta;
  21.  
  22. import de.Tommunity.Commands.EconomySystem;
  23. import de.Tommunity.Main.Main;
  24.  
  25. public class MagierHandler implements CommandExecutor, Listener {
  26.  
  27. private final String GUI_NAME = "§1§lMagier-Menü";
  28.  
  29. EconomySystem es = new EconomySystem();
  30.  
  31. @Override
  32. public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
  33. if(!(sender instanceof Player)) {
  34. sender.sendMessage(Main.pre + " §cDazu musst du ein Spieler sein!");
  35. }
  36. Player p = (Player) sender;
  37.  
  38. if(!p.hasPermission("Tom.spawnNPC")) {
  39. p.sendMessage(Main.pre + " §cDazu hast du keine Rechte!");
  40. return true;
  41. }
  42. if(args.length == 0) {
  43. new Magier(p.getLocation());
  44. p.sendMessage(Main.pre + " §3Du hast den §eMagier §3erfolgreich erstellt");
  45. }else {
  46. p.sendMessage(Main.pre + " §3Bitte benutze §6/spawnMagier");
  47. }
  48. return true;
  49.  
  50. }
  51.  
  52. @EventHandler
  53. public void handlerMagierInteract(PlayerInteractEntityEvent e) {
  54.  
  55. Player p = e.getPlayer();
  56.  
  57. Inventory inventory = Bukkit.createInventory(null, 9 * 7, GUI_NAME);
  58.  
  59. ItemStack item1 = new ItemStack(Material.STAINED_GLASS_PANE);
  60.  
  61. inventory.setItem(0, item1);
  62. inventory.setItem(1, item1);
  63. inventory.setItem(2, item1);
  64. inventory.setItem(3, item1);
  65.  
  66. ItemStack item2 = new ItemStack(Material.PAPER);
  67. ItemMeta im1 = item2.getItemMeta();
  68. im1.setDisplayName("Hier ist das Magier Menü");
  69. item2.setItemMeta(im1);
  70.  
  71. inventory.setItem(4, item2);
  72.  
  73. inventory.setItem(5, item1);
  74. inventory.setItem(6, item1);
  75. inventory.setItem(7, item1);
  76. inventory.setItem(8, item1);
  77. inventory.setItem(9, item1);
  78. inventory.setItem(17, item1);
  79. inventory.setItem(18, item1);
  80. inventory.setItem(26, item1);
  81. inventory.setItem(27, item1);
  82. inventory.setItem(35, item1);
  83. inventory.setItem(36, item1);
  84. inventory.setItem(44, item1);
  85. inventory.setItem(45, item1);
  86. inventory.setItem(53, item1);
  87. inventory.setItem(54, item1);
  88. inventory.setItem(55, item1);
  89. inventory.setItem(56, item1);
  90. inventory.setItem(57, item1);
  91. inventory.setItem(58, item1);
  92. inventory.setItem(59, item1);
  93. inventory.setItem(60, item1);
  94. inventory.setItem(61, item1);
  95. inventory.setItem(62, item1);
  96.  
  97.  
  98.  
  99.  
  100. ArrayList<String> dirt = new ArrayList<String>();
  101. ItemStack item = new ItemStack(Material.DIRT);
  102. ItemMeta im = item.getItemMeta();
  103. im.setDisplayName("§6Dreck");
  104. dirt.add("§aKaufen: 20");
  105. dirt.add("§cVerkaufen: -");
  106. im.setLore(dirt);
  107. item.setItemMeta(im);
  108.  
  109. inventory.setItem(10, item);
  110.  
  111. ArrayList<String> faden = new ArrayList<String>();
  112. ItemStack item3 = new ItemStack(Material.STRING);
  113. ItemMeta im2 = item3.getItemMeta();
  114. im2.setDisplayName("§6Faden");
  115. faden.add("§aKaufen: 100");
  116. faden.add("§cVerkaufen: 30");
  117. im2.setLore(faden);
  118. item3.setItemMeta(im2);
  119.  
  120. inventory.setItem(11, item3);
  121.  
  122.  
  123. e.getPlayer().openInventory(inventory);
  124.  
  125. p.sendMessage(Main.pre + " §3Du hast den §eMagier §3geöffnet");
  126. }
  127.  
  128.  
  129.  
  130.  
  131. @EventHandler
  132. public void handleMagierMenuClick(InventoryClickEvent e) {
  133. if (!(e.getWhoClicked() instanceof Player))
  134. return;
  135. Player p = (Player) e.getWhoClicked();
  136. if (e.getClickedInventory().getTitle().equals(GUI_NAME)) {
  137. e.setCancelled(true);
  138. switch (e.getCurrentItem().getType()) {
  139. case DIRT:
  140.  
  141. if(e.getClick().isLeftClick()) {
  142. if(es.hasEnoughMoney(p.getName(), 20)) {
  143.  
  144. ItemStack item = new ItemStack(Material.DIRT);
  145.  
  146. p.getInventory().addItem(item);
  147. es.removeMoney(p.getName(), 20);
  148. }else {
  149. p.sendMessage(Main.pre + " §cDu hast nich genug Geld");
  150. }
  151. }else if(e.getClick().isRightClick()) {
  152. p.sendMessage(Main.pre + " §cDiese Item Kannst du nicht verkaufen");
  153. }
  154. break;
  155. case STRING:
  156. if(e.getClick().isLeftClick()) {
  157. if(es.hasEnoughMoney(p.getName(), 100)) {
  158. ItemStack item1 = new ItemStack(Material.STRING);
  159. p.getInventory().addItem(item1);
  160. es.removeMoney(p.getName(), 100);
  161. }else {
  162. p.sendMessage(Main.pre + " §cDu hast nich genug Geld");
  163. }
  164. }else if(e.getClick().isRightClick()) {
  165. ItemStack item = new ItemStack(Material.STRING);
  166.  
  167.  
  168. }
  169. }
  170. }
  171. }
  172.  
  173.  
  174.  
  175. @EventHandler
  176. public void handleMagierDamage(EntityDamageByEntityEvent e) {
  177. if(!(e.getEntity() instanceof Witch)) return;
  178. Witch magier = (Witch) e.getEntity();
  179. if(!magier.getCustomName().equals(Magier.WITCHNAME)) return;
  180. e.setCancelled(true);
  181.  
  182. if(!(e.getDamager() instanceof Player)) return;
  183. Player p = (Player) e.getDamager();
  184. if(p.hasPermission("Tom.killNPC")) {
  185. if(p.getItemInHand().getType() == Material.DIAMOND_SWORD) {
  186. magier.setHealth(0);
  187. p.sendMessage(Main.pre + " §3Du hast den §eMagier §3erfolgreich entfernt");
  188. }
  189. }
  190. }
  191.  
  192. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement