danik159

Untitled

Jul 24th, 2019
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.48 KB | None | 0 0
  1. package com.junkstyle.forge;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.HashMap;
  5. import java.util.List;
  6.  
  7. import org.bukkit.Bukkit;
  8. import org.bukkit.ChatColor;
  9. import org.bukkit.Material;
  10. import org.bukkit.Sound;
  11. import org.bukkit.block.Block;
  12. import org.bukkit.entity.Player;
  13. import org.bukkit.event.EventHandler;
  14. import org.bukkit.event.Listener;
  15. import org.bukkit.event.block.Action;
  16. import org.bukkit.event.inventory.InventoryClickEvent;
  17. import org.bukkit.event.player.PlayerInteractEvent;
  18. import org.bukkit.inventory.EquipmentSlot;
  19. import org.bukkit.inventory.Inventory;
  20. import org.bukkit.inventory.ItemFlag;
  21. import org.bukkit.inventory.ItemStack;
  22. import org.bukkit.inventory.meta.ItemMeta;
  23. import org.bukkit.plugin.java.JavaPlugin;
  24. import org.bukkit.scheduler.BukkitRunnable;
  25. import org.bukkit.scheduler.BukkitTask;
  26.  
  27.  
  28. public class Main extends JavaPlugin implements Listener {
  29. @Override
  30. public void onEnable() {
  31. Bukkit.getPluginManager().registerEvents(this, this);
  32. }
  33. @EventHandler
  34. public void onCLick(InventoryClickEvent e) {
  35. // List<String> playeritem = new ArrayList<>();
  36.  
  37. List<String> craftitem = new ArrayList<>();
  38. craftitem.add("Diamond");
  39. // Player player = (Player) e.getWhoClicked();
  40. int slot = e.getSlot();
  41. //ItemStack itemin = player.getInventory().getItem(20);
  42. // ItemStack diamond = new ItemStack(Material.DIAMOND);
  43. //ItemStack pasted = e.getCurrentItem();
  44.  
  45. if (ChatColor.translateAlternateColorCodes('&', e.getClickedInventory().getTitle()).equals(ChatColor.GRAY + "ForgePlus")) {
  46. if (slot == 20 || slot == 21 || slot >= 45 || slot == 23) {
  47.  
  48. } else {
  49. e.setCancelled(true);
  50. }
  51. }
  52. }
  53.  
  54.  
  55. BukkitTask task;
  56.  
  57. public void ApplyGui(Player player) {
  58. Inventory gui = Bukkit.createInventory(null, 45 , ChatColor.GRAY + "ForgePlus");
  59. List<String> info = new ArrayList<>();
  60. info.add(ChatColor.LIGHT_PURPLE + "You can use this forge to create new items!" );
  61. info.add(ChatColor.LIGHT_PURPLE + "Just put the specific items in the craft and you will get new item!");
  62. info.add(ChatColor.LIGHT_PURPLE + "To get more help write /forgehelp");
  63.  
  64. ItemStack glass = new ItemStack(Material.STAINED_GLASS_PANE, 1, (short)7);
  65. ItemMeta meta = glass.getItemMeta();
  66. meta.removeItemFlags(ItemFlag.HIDE_ATTRIBUTES);
  67. meta.setDisplayName(" ");
  68. glass.setItemMeta(meta);
  69.  
  70. ItemStack paper = new ItemStack(Material.PAPER);
  71. ItemMeta papermeta = paper.getItemMeta();
  72. papermeta.setDisplayName(ChatColor.LIGHT_PURPLE + "Info");
  73. papermeta.setLore(info);
  74. papermeta.removeItemFlags(ItemFlag.HIDE_ATTRIBUTES);
  75. paper.setItemMeta(papermeta);
  76.  
  77.  
  78. gui.setItem(0, glass);
  79. gui.setItem(1, glass);
  80. gui.setItem(2, glass);
  81. gui.setItem(3, glass);
  82. gui.setItem(4, glass);
  83. gui.setItem(5, glass);
  84. gui.setItem(6, glass);
  85. gui.setItem(7, glass);
  86. gui.setItem(8, glass);
  87. gui.setItem(9, glass);
  88. gui.setItem(10, glass);
  89. gui.setItem(11, glass);
  90. gui.setItem(12, glass);
  91. gui.setItem(13, glass);
  92. gui.setItem(14, glass);
  93. gui.setItem(15, glass);
  94. gui.setItem(16, glass);
  95. gui.setItem(17, glass);
  96. gui.setItem(18, glass);
  97. gui.setItem(19, glass);
  98. gui.setItem(22, glass);
  99. gui.setItem(24, glass);
  100. gui.setItem(25, glass);
  101. gui.setItem(26, glass);
  102. gui.setItem(27, glass);
  103. gui.setItem(28, glass);
  104. gui.setItem(29, glass);
  105. gui.setItem(30, glass);
  106. gui.setItem(31, glass);
  107. gui.setItem(32, glass);
  108. gui.setItem(33, glass);
  109. gui.setItem(34, glass);
  110. gui.setItem(35, glass);
  111. gui.setItem(36, paper);
  112. gui.setItem(37, glass);
  113. gui.setItem(38, glass);
  114. gui.setItem(39, glass);
  115. gui.setItem(40, glass);
  116. gui.setItem(41, glass);
  117. gui.setItem(42, glass);
  118. gui.setItem(43, glass);
  119. gui.setItem(44, glass);
  120.  
  121. player.openInventory(gui);
  122. ItemStack diamond_sword = new ItemStack(Material.DIAMOND_SWORD);
  123.  
  124. HashMap<String, ItemStack> storaged = new HashMap<String, ItemStack>();
  125. HashMap<String, ItemStack> storages = new HashMap<String, ItemStack>();
  126. //Craft System
  127. task = new BukkitRunnable() {
  128.  
  129. @Override
  130. public void run() {
  131. player.sendMessage("1");
  132. if (gui.getViewers().isEmpty() == true) {
  133. cancel();
  134. return;
  135. } else {
  136. if (gui.getItem(20) == null) {
  137. return;
  138. } else if (gui.getItem(20).getType() == Material.DIAMOND) {
  139. storaged.put(player.getName(), gui.getItem(20));
  140. if (gui.getViewers().isEmpty() == true) {
  141. player.getInventory().addItem(storaged.get(player.getName()));
  142. storaged.clear();
  143. cancel();
  144. return;
  145. } else {
  146. if (gui.getItem(21) == null) {
  147. return;
  148. } else if (gui.getItem(21).getType() == Material.STICK) {
  149. storages.put(player.getName(), gui.getItem(21));
  150. if (gui.getViewers().isEmpty() == true) {
  151. player.getInventory().addItem(storaged.get(player.getName()));
  152. player.getInventory().addItem(storages.get(player.getName()));
  153. storaged.clear();
  154. storages.clear();
  155. cancel();
  156. return;
  157. } else {
  158. gui.setItem(20, null);
  159. gui.setItem(21, null);
  160. gui.setItem(23, diamond_sword);
  161. player.getWorld().playSound(player.getLocation(), Sound.BLOCK_ANVIL_USE, 2f, 1f);
  162. cancel();
  163. return;
  164. }
  165. }
  166. }
  167. }
  168. }
  169. }
  170. }.runTaskTimerAsynchronously(this, 0, 1);
  171. }
  172. @EventHandler
  173. public void onClick(PlayerInteractEvent e) {
  174. Player player = (Player) e.getPlayer();
  175. Block block = e.getClickedBlock();
  176. if(e.getAction() == Action.RIGHT_CLICK_BLOCK) {
  177. if (e.getHand().equals(EquipmentSlot.OFF_HAND)) {
  178. return;
  179. } else {
  180. if (e.getClickedBlock().getType() == Material.GOLD_BLOCK) {
  181. Block block2 = block.getRelative(1, 0, 0);
  182. Block block3 = block.getRelative(-1, 0, 0);
  183. Block block4 = block.getRelative(0, 0, 1);
  184. Block block5 = block.getRelative(0, 0, -1);
  185. if (block2.getType() == Material.QUARTZ_STAIRS &&
  186. block3.getType() == Material.QUARTZ_STAIRS &&
  187. block4.getType() == Material.QUARTZ_STAIRS &&
  188. block5.getType() == Material.QUARTZ_STAIRS) {
  189. player.sendMessage("hello");
  190. ApplyGui(player);
  191. }
  192.  
  193. }
  194. }
  195. }
  196. }
  197. }
Advertisement
Add Comment
Please, Sign In to add comment