Advertisement
Guest User

Apostas

a guest
Jan 18th, 2020
128
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.09 KB | None | 0 0
  1. package me.gabrideiros.apostar.objects;
  2.  
  3. import me.gabrideiros.apostar.api.ItemAPI;
  4. import org.bukkit.Bukkit;
  5. import org.bukkit.Material;
  6. import org.bukkit.entity.Player;
  7. import org.bukkit.inventory.Inventory;
  8. import org.bukkit.inventory.InventoryView;
  9. import org.bukkit.inventory.ItemStack;
  10.  
  11. import java.util.*;
  12.  
  13. public class Apostar {
  14.  
  15. private Lutador player;
  16. private Lutador player2;
  17. private List<Integer> leftslot;
  18. private List<Integer> rightslot;
  19. private List<ItemStack> items;
  20. private boolean cancelled;
  21.  
  22. public Apostar(Player player, Player player2) {
  23. this.player = new Lutador(player.getName(), player);
  24. this.player2 = new Lutador(player2.getName(), player2);
  25. this.leftslot = Arrays.asList(new Integer[]{0, 1, 2, 3, 9, 10, 11, 12, 18, 19, 20, 21, 27, 28, 29, 30, 36, 37, 38, 39, 45, 46, 47, 48});
  26. this.rightslot = Arrays.asList(new Integer[]{5, 6, 7, 8, 14, 15, 16, 17, 23, 24, 25, 26, 32, 33, 34, 35, 41, 42, 43, 44, 50, 51, 52, 53});
  27. this.items = new ArrayList<ItemStack>();
  28. }
  29.  
  30. public void openIventory() {
  31.  
  32. String name = "Apostar";
  33.  
  34. Inventory inventory = Bukkit.createInventory(null, 9*6, name);
  35.  
  36. ItemStack pending = ItemAPI.newItem("§ePendente", Material.WOOL, 1);
  37. ItemStack glass = ItemAPI.newItem("§a", Material.STAINED_GLASS_PANE, 0);
  38.  
  39. inventory.setItem(22, pending);
  40. inventory.setItem(31, pending);
  41.  
  42. inventory.setItem(4, glass);
  43. inventory.setItem(13, glass);
  44. inventory.setItem(40, glass);
  45. inventory.setItem(49, glass);
  46.  
  47. Inventory inv = Bukkit.createInventory(null, 6*9, name);
  48. inv.setContents(inventory.getContents());
  49. this.getPlayer().setInventory(inv);
  50.  
  51. Inventory inv2 = Bukkit.createInventory(null, 6*9, name);
  52. inv2.setContents(inventory.getContents());
  53. this.getPlayer2().setInventory(inv2);
  54.  
  55. this.getPlayer().show();
  56. this.getPlayer2().show();
  57.  
  58.  
  59. }
  60.  
  61. public List<ItemStack> getLeftItems(Player p) {
  62. List<ItemStack> items = new ArrayList<ItemStack>();
  63. if (this.getPlayer().getName().equalsIgnoreCase(p.getName())) {
  64. for (Iterator<Integer> i = this.getLeftslot().iterator(); i.hasNext(); ) {
  65. int slot = i.next().intValue();
  66. items.add(this.getPlayer().getInventory().getItem(slot));
  67. }
  68. }
  69. if (this.getPlayer2().getName().equalsIgnoreCase(p.getName())) {
  70. for (Iterator<Integer> i = this.getLeftslot().iterator(); i.hasNext(); ) {
  71. int slot = i.next().intValue();
  72. items.add(this.getPlayer2().getInventory().getItem(slot));
  73. }
  74. }
  75. return items;
  76. }
  77.  
  78. public List<ItemStack> getRightItems(Player p) {
  79. List<ItemStack> items = new ArrayList<ItemStack>();
  80. if (this.getPlayer().getName().equalsIgnoreCase(p.getName())) {
  81. for (Iterator<Integer> i = this.getRightslot().iterator(); i.hasNext();) {
  82. int slot = i.next().intValue();
  83. items.add(this.getPlayer().getInventory().getItem(slot));
  84. }
  85. }
  86. if (this.getPlayer2().getName().equalsIgnoreCase(p.getName())) {
  87. for (Iterator<Integer> i = this.getRightslot().iterator(); i.hasNext();) {
  88. int slot = i.next().intValue();
  89. items.add(this.getPlayer2().getInventory().getItem(slot));
  90. }
  91. }
  92. return items;
  93. }
  94.  
  95. public Inventory getInventory(Inventory inv) {
  96. if (inv.equals(this.getPlayer().getInventory()))
  97. return this.getPlayer2().getInventory();
  98.  
  99. if (inv.equals(this.getPlayer2().getInventory()))
  100. return this.getPlayer().getInventory();
  101.  
  102. return null;
  103. }
  104.  
  105.  
  106. public boolean hasOpenInventory(Inventory inventory) {
  107. if (this.getPlayer().getPlayer().getOpenInventory().equals(inventory) || this.getPlayer2().getPlayer().getOpenInventory().equals(inventory))
  108. return true;
  109.  
  110. return false;
  111. }
  112.  
  113. public void updateSlots(Inventory clicked, Inventory inv) {
  114. Map<Integer, ItemStack> items = new HashMap<Integer, ItemStack>();
  115. for (Integer leftslot : this.getLeftslot()) {
  116. ItemStack item = clicked.getItem(leftslot.intValue());
  117. if (item != null && item.getType() != Material.AIR) {
  118. items.put(leftslot, item);
  119. }
  120. }
  121. for (Integer rightslot : this.getRightslot()) {
  122. inv.clear(rightslot.intValue());
  123. }
  124.  
  125. for (Integer leftslot : this.getLeftslot()) {
  126. if (items.containsKey(leftslot)) {
  127. inv.setItem(leftslot.intValue() + 5, items.get(leftslot));
  128. }
  129. }
  130.  
  131. }
  132.  
  133. public void updateConfirm(Player p) {
  134.  
  135. if (this.getPlayer().getName().equalsIgnoreCase(p.getName())) {
  136. if (!this.getPlayer().isReady()) {
  137. this.getPlayer().getInventory().setItem(22, ItemAPI.newItem("§aConfirmado", Material.WOOL, 5));
  138. this.getPlayer2().getInventory().setItem(31, ItemAPI.newItem("§aConfirmado", Material.WOOL, 5));
  139. this.getPlayer().setReady(true);
  140.  
  141. if (this.getPlayer2().isReady()) {
  142. this.getPlayer2().close();
  143. this.getPlayer().close();
  144. }
  145. } else {
  146. this.getPlayer().getInventory().setItem(22, ItemAPI.newItem("§ePendente", Material.WOOL, 1));
  147. this.getPlayer2().getInventory().setItem(31, ItemAPI.newItem("§ePendente", Material.WOOL, 1));
  148. this.getPlayer().setReady(false);
  149. }
  150.  
  151. }
  152.  
  153. if (this.getPlayer2().getName().equalsIgnoreCase(p.getName())) {
  154. if (!this.getPlayer2().isReady()) {
  155. this.getPlayer2().getInventory().setItem(22, ItemAPI.newItem("§aConfirmado", Material.WOOL, 5));
  156. this.getPlayer().getInventory().setItem(31, ItemAPI.newItem("§aConfirmado", Material.WOOL, 5));
  157. this.getPlayer2().setReady(true);
  158.  
  159. if (this.getPlayer().isReady()) {
  160. this.getPlayer().close();
  161. this.getPlayer2().close();
  162. }
  163. } else {
  164. this.getPlayer2().getInventory().setItem(22, ItemAPI.newItem("§ePendente", Material.WOOL, 1));
  165. this.getPlayer().getInventory().setItem(31, ItemAPI.newItem("§aPendente", Material.WOOL, 1));
  166. this.getPlayer2().setReady(false);
  167. }
  168.  
  169. }
  170.  
  171. }
  172.  
  173. public void entregarItens() {
  174.  
  175. List<ItemStack> playeritens = this.getLeftItems(this.getPlayer().getPlayer());
  176. List<ItemStack> player2itens = this.getLeftItems(this.getPlayer2().getPlayer());
  177.  
  178. for (ItemStack item : playeritens) {
  179. if (item !=null) {
  180. this.getPlayer().getPlayer().getInventory().addItem(item);
  181. }
  182. }
  183.  
  184. for (ItemStack item : player2itens) {
  185. if (item !=null) {
  186. this.getPlayer2().getPlayer().getInventory().addItem(item);
  187. }
  188. }
  189.  
  190.  
  191.  
  192. }
  193.  
  194. public void completarTroca() {
  195.  
  196. List<ItemStack> playeritens = this.getLeftItems(this.getPlayer().getPlayer());
  197. List<ItemStack> player2itens = this.getLeftItems(this.getPlayer2().getPlayer());
  198.  
  199. List<ItemStack> items = new ArrayList<ItemStack>();
  200.  
  201. for (ItemStack item : playeritens) {
  202. if (item != null) {
  203. items.add(item);
  204. }
  205. }
  206.  
  207. for (ItemStack item : player2itens) {
  208. if (item != null) {
  209. items.add(item);
  210. }
  211. }
  212.  
  213. this.setItems(items);
  214. this.getPlayer().getPlayer().sendMessage("");
  215.  
  216. }
  217.  
  218. public void cancelarTroca() {
  219.  
  220. this.getPlayer().close();
  221. this.getPlayer2().close();
  222.  
  223. this.getPlayer().getPlayer().sendMessage("§cAposta cancelada!");
  224. this.getPlayer2().getPlayer().sendMessage("§cAposta cancelada!");
  225.  
  226. this.entregarItens();
  227.  
  228. }
  229.  
  230. public Lutador getPlayer() {
  231. return player;
  232. }
  233.  
  234. public void setPlayer(Lutador player) {
  235. this.player = player;
  236. }
  237.  
  238. public Lutador getPlayer2() {
  239. return player2;
  240. }
  241.  
  242. public void setPlayer2(Lutador player2) {
  243. this.player2 = player2;
  244. }
  245.  
  246. public List<Integer> getLeftslot() {
  247. return leftslot;
  248. }
  249.  
  250. public void setLeftslot(List<Integer> leftslot) {
  251. this.leftslot = leftslot;
  252. }
  253.  
  254. public List<Integer> getRightslot() {
  255. return rightslot;
  256. }
  257.  
  258. public void setRightslot(List<Integer> rightslot) {
  259. this.rightslot = rightslot;
  260. }
  261.  
  262. public List<ItemStack> getItems() {
  263. return items;
  264. }
  265.  
  266. public void setItems(List<ItemStack> items) {
  267. this.items = items;
  268. }
  269.  
  270. public boolean isCancelled() {
  271. return cancelled;
  272. }
  273.  
  274. public void setCancelled(boolean cancelled) {
  275. this.cancelled = cancelled;
  276. }
  277.  
  278. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement