danik159

Untitled

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