Advertisement
Guest User

Untitled

a guest
Jul 30th, 2016
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.22 KB | None | 0 0
  1. private String invBanner = "Bannière";
  2.  
  3. ArrayList<Pattern> patternList = new ArrayList<Pattern>();
  4. DyeColor dyeColor = DyeColor.WHITE;
  5. int getPage = 1;
  6. boolean itIsBlack = false;
  7.  
  8. public void openInv(Player p){
  9. Inventory menu = Bukkit.createInventory(null, 54, invBanner);
  10.  
  11. updateItems(menu);
  12.  
  13. p.openInventory(menu);
  14. }
  15.  
  16.  
  17. //tempo
  18. @EventHandler
  19. public void onSneak(PlayerToggleSneakEvent e){
  20. if(e.getPlayer().isSneaking())
  21. openInv(e.getPlayer());
  22. }
  23. //tempo
  24.  
  25.  
  26. @SuppressWarnings("deprecation")
  27. @EventHandler
  28. public void onClick(InventoryClickEvent e){
  29. Player p = (Player)e.getWhoClicked();
  30. if(e.getInventory().getName().equalsIgnoreCase(invBanner)){
  31. if(e.getCurrentItem() == null || e.getCurrentItem().getType() == Material.AIR)
  32. return;
  33.  
  34. if(e.getCurrentItem()!= null || e.getCurrentItem().getType() != Material.AIR)
  35. e.setCancelled(true);
  36.  
  37. if(e.getCurrentItem().getType().equals(Material.TRIPWIRE_HOOK)){
  38. if(patternList.toArray().length > 0){
  39. patternList.remove(patternList.toArray().length - 1);
  40. }
  41. updateItems(e.getInventory());
  42. p.updateInventory();
  43. return;
  44. }
  45.  
  46. if(e.getCurrentItem().getType().equals(Material.BARRIER)){
  47. p.playSound(p.getLocation(), Sound.BLOCK_ANVIL_HIT, 9, 1);
  48. return;
  49. }
  50.  
  51. if(e.getCurrentItem().getType().equals(Material.SIGN)){
  52. if(e.getCurrentItem().getItemMeta().getDisplayName().contains("2") && e.getSlot() == 53)
  53. getPage = 2;
  54. if(e.getCurrentItem().getItemMeta().getDisplayName().contains("1") && e.getSlot() == 45)
  55. getPage = 1;
  56. if(e.getCurrentItem().getItemMeta().getDisplayName().contains("3") && e.getSlot() == 53)
  57. getPage = 3;
  58. if(e.getCurrentItem().getItemMeta().getDisplayName().contains("2") && e.getSlot() == 45)
  59. getPage = 2;
  60. updateItems(e.getInventory());
  61. p.updateInventory();
  62. return;
  63. }
  64.  
  65. if(e.getCurrentItem().getType().equals(Material.INK_SACK)){
  66. itIsBlack = false;
  67. if(e.getCurrentItem().getData().getData() == 0)
  68. dyeColor = DyeColor.WHITE;itIsBlack = true;
  69. if(e.getCurrentItem().getData().getData() == 1)
  70. dyeColor = DyeColor.RED;
  71. if(e.getCurrentItem().getData().getData() == 2)
  72. dyeColor = DyeColor.GREEN;
  73. if(e.getCurrentItem().getData().getData() == 3)
  74. dyeColor = DyeColor.BROWN;
  75. if(e.getCurrentItem().getData().getData() == 4)
  76. dyeColor = DyeColor.BLUE;
  77. if(e.getCurrentItem().getData().getData() == 5)
  78. dyeColor = DyeColor.PURPLE;
  79. if(e.getCurrentItem().getData().getData() == 6)
  80. dyeColor = DyeColor.CYAN;
  81. if(e.getCurrentItem().getData().getData() == 7)
  82. dyeColor = DyeColor.GRAY;
  83. if(e.getCurrentItem().getData().getData() == 8)
  84. dyeColor = DyeColor.SILVER;
  85. if(e.getCurrentItem().getData().getData() == 9)
  86. dyeColor = DyeColor.PINK;
  87. if(e.getCurrentItem().getData().getData() == 10)
  88. dyeColor = DyeColor.LIME;
  89. if(e.getCurrentItem().getData().getData() == 11)
  90. dyeColor = DyeColor.YELLOW;
  91. if(e.getCurrentItem().getData().getData() == 12)
  92. dyeColor = DyeColor.LIGHT_BLUE;
  93. if(e.getCurrentItem().getData().getData() == 13)
  94. dyeColor = DyeColor.MAGENTA;
  95. if(e.getCurrentItem().getData().getData() == 14)
  96. dyeColor = DyeColor.ORANGE;
  97. if(e.getCurrentItem().getData().getData() == 15)
  98. dyeColor = DyeColor.WHITE;
  99. updateItems(e.getInventory());
  100. p.updateInventory();
  101. }
  102.  
  103. if(e.getCurrentItem().getType().equals(Material.BANNER)){
  104. if(e.getSlot() == 0){
  105. ItemStack banner = new ItemStack(Material.BANNER, 1);
  106. BannerMeta bannermeta = (BannerMeta) banner.getItemMeta();
  107. if(patternList != null){bannermeta.setPatterns(patternList);}
  108. banner.setItemMeta(bannermeta);
  109. p.getInventory().addItem(banner);
  110. p.closeInventory();
  111. return;
  112. }
  113.  
  114. patternList.addAll(((BannerMeta) e.getCurrentItem().getItemMeta()).getPatterns());
  115. updateItems(e.getInventory());
  116. p.updateInventory();
  117. }
  118. }
  119. }
  120.  
  121. @EventHandler
  122. public void onInventory(InventoryCloseEvent e){
  123. if(e.getInventory().getName().equals(invBanner)){
  124. patternList.clear();
  125. dyeColor = DyeColor.WHITE;
  126. getPage = 1;
  127. }
  128. }
  129.  
  130. public void updateItems(Inventory menu){
  131. if(getPage == 3){
  132. for(int i = 0; i < 54; i++){
  133. menu.setItem(i, new ItemStack(Material.STAINED_GLASS_PANE, 1, (short)7));
  134. }
  135. }
  136.  
  137. ItemStack banner = new ItemStack(Material.BANNER, 1);
  138. BannerMeta bannermeta = (BannerMeta) banner.getItemMeta();
  139. bannermeta.setDisplayName("§aTerminer");
  140. if(patternList != null){bannermeta.setPatterns(patternList);}
  141. banner.setItemMeta(bannermeta);
  142. menu.setItem(0, banner);
  143.  
  144. if(patternList.size() > 0){
  145. ItemStack undo = new ItemStack(Material.TRIPWIRE_HOOK, 1);
  146. ItemMeta undometa = undo.getItemMeta();
  147. undometa.setDisplayName("§aAnnuler");
  148. undo.setItemMeta(undometa);
  149. menu.setItem(9, undo);
  150. }else{
  151. ItemStack remove = new ItemStack(Material.BARRIER, 1);
  152. ItemMeta removemeta = remove.getItemMeta();
  153. removemeta.setDisplayName("§cVous n'avez aucune action précédente!");
  154. remove.setItemMeta(removemeta);
  155. menu.setItem(9, remove);
  156. }
  157.  
  158. int item = 2;
  159. int data = 15;
  160. for(int i = 2; i < 18; i++){
  161. ItemStack dye = new ItemStack(Material.INK_SACK, 1, (short)data);
  162. ItemMeta dyemeta = dye.getItemMeta();
  163. dye.setItemMeta(dyemeta);
  164. menu.setItem(item, dye);
  165. item++;
  166. data--;
  167.  
  168. if(item == 9){
  169. item = item + 2;
  170. }
  171.  
  172. if(item == 18){
  173. item = item + 7;
  174. }
  175. }
  176.  
  177. if(getPage == 1){
  178. setPage1(menu);
  179. }
  180. if(getPage == 2){
  181. setPage2(menu);
  182. }
  183. if(getPage == 3){
  184. setPage3(menu);
  185. }
  186.  
  187. for(int i = 0; i < 54; i++){
  188. if(menu.getItem(i) == null || menu.getItem(i).getType() == Material.AIR){
  189. menu.setItem(i, new ItemStack(Material.STAINED_GLASS_PANE, 1, (short)7));
  190. }
  191. }
  192. }
  193.  
  194. public void setPage1(Inventory menu){
  195. ItemStack page = new ItemStack(Material.SIGN, 1);
  196. ItemMeta pagemeta = page.getItemMeta();
  197. pagemeta.setDisplayName("§aPage 2");
  198. page.setItemMeta(pagemeta);
  199. menu.setItem(53, page);
  200.  
  201. int i = 36;
  202. for(PatternType patterns : PatternType.values()){
  203. if(i < 53){
  204. ItemStack banner = new ItemStack(Material.BANNER, 1);
  205. BannerMeta bannermeta = (BannerMeta) banner.getItemMeta();
  206. ArrayList<Pattern> bannerpattern = new ArrayList<Pattern>();
  207. bannerpattern.add(new Pattern(dyeColor, patterns));
  208. bannermeta.setPatterns(bannerpattern);
  209. banner.setItemMeta(bannermeta);
  210. menu.setItem(i, banner);
  211. i++;
  212. }
  213. }
  214. }
  215.  
  216. public void setPage2(Inventory menu){
  217. ItemStack page = new ItemStack(Material.SIGN, 1);
  218. ItemMeta pagemeta = page.getItemMeta();
  219. pagemeta.setDisplayName("§aPage 1");
  220. page.setItemMeta(pagemeta);
  221. menu.setItem(45, page);
  222.  
  223. ItemStack page1 = new ItemStack(Material.SIGN, 1);
  224. ItemMeta pagemeta1 = page1.getItemMeta();
  225. pagemeta1.setDisplayName("§aPage 3");
  226. page1.setItemMeta(pagemeta1);
  227. menu.setItem(53, page1);
  228.  
  229. int i = 19;
  230. for(PatternType patterns : PatternType.values()){
  231. if(i < 53){
  232. if(i == 45)
  233. i++;
  234. ItemStack banner = new ItemStack(Material.BANNER, 1);
  235. BannerMeta bannermeta = (BannerMeta) banner.getItemMeta();
  236. ArrayList<Pattern> bannerpattern = new ArrayList<Pattern>();
  237. bannerpattern.add(new Pattern(dyeColor, patterns));
  238. bannermeta.setPatterns(bannerpattern);
  239. banner.setItemMeta(bannermeta);
  240. if(i >= 36)
  241. menu.setItem(i, banner);
  242. i++;
  243. }
  244. }
  245. }
  246.  
  247. public void setPage3(Inventory menu){
  248. ItemStack page = new ItemStack(Material.SIGN, 1);
  249. ItemMeta pagemeta = page.getItemMeta();
  250. pagemeta.setDisplayName("§aPage 2");
  251. page.setItemMeta(pagemeta);
  252. menu.setItem(45, page);
  253.  
  254. int i = 3;
  255. for(PatternType patterns : PatternType.values()){
  256. if(i < 53){
  257. if(i == 45)
  258. i++;
  259. ItemStack banner = new ItemStack(Material.BANNER, 1);
  260. BannerMeta bannermeta = (BannerMeta) banner.getItemMeta();
  261. ArrayList<Pattern> bannerpattern = new ArrayList<Pattern>();
  262. bannerpattern.add(new Pattern(dyeColor, patterns));
  263. bannermeta.setPatterns(bannerpattern);
  264. banner.setItemMeta(bannermeta);
  265. if(i >= 36)
  266. menu.setItem(i, banner);
  267. i++;
  268. }
  269. }
  270. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement