Frogguer Postado Março 7, 2018 Denunciar Compartilhar Postado Março 7, 2018 Estou tentando fazer um pl de warps e queria criar uma segunda gui para o meu "minas de ranks" e abrir uma segunda gui com as minas de ranks se poder fazer um exemplo ajudaria, eu uso headcustons Link para o comentário Compartilhar em outros sites More sharing options...
0 VictorHeaven Postado Março 7, 2018 Denunciar Compartilhar Postado Março 7, 2018 (editado) Aqui, criamos 2 inventários, 1 para mostrar todas WARPS e outro para mostrar as warp ARENA public static Inventory warpsMain() { Inventory inv = null; inv = Bukkit.createInventory(null, 3 * 9, "Warps..."); inv.setItem(13, new ItemStack(Material.DIAMOND_SWORD)); return inv; } public static Inventory warpsArenas() { Inventory inv = null; inv = Bukkit.createInventory(null, 3 * 9, "Warps > Arenas"); inv.setItem(0, new ItemStack(Material.ARROW)); return inv; } Temos 2 inventários, agora, vamos "conectar eles" Para isso, usaremos o evento InventoryClickEvent Verificamos se o item que ele está clicando não é null, se o nome do inventário que o player está clicando é um dos menu de warp e se o slot tem alguma função @EventHandler public void InventoryClickE(InventoryClickEvent e) { if (e.getCurrentItem() == null) return; Player p = (Player) e.getWhoClicked(); if (e.getInventory().getTitle().equals("Warps...")) { e.setCancelled(true); if (e.getSlot() == 13) { p.openInventory(warpsArenas()); } } if (e.getInventory().getTitle().equals("Warps > Arenas")) { e.setCancelled(true); if (e.getSlot() == 0) { p.openInventory(warpsMain()); } } } Se o jogador clicar no slot 13, do inventário chamado "Warps..." ele irá abrir o inventário chamado "Warps > Arenas"Se o jogador clicar no slot 0, do inventário chamado "Warps > Arenas" ele vai abrir novamente o inventário "Warps..." Foi um tutorial meio bosta, mais acho que deu pra entender. @edit Pra abrir inicialmente o inventário pro jogador, é só usar p.openInventory(warpsMain()); warpsMain() = Retorna um inventário, que foi o método que criei Editado Março 7, 2018 por Victor696 Link para o comentário Compartilhar em outros sites More sharing options...
0 NOCRYB4BY Postado Março 7, 2018 Denunciar Compartilhar Postado Março 7, 2018 Cria uma void, por exemplo:public static void menuMinas(Player p) {Inventory inv.....p.openInventory....Isso em outra class, ai na parte que for registrar o menu no InventoryClickEvent coloca pra abrir o menu, Nome_da_sua_Class.menuMinas(p);Qualquer duvida só chamar xD Link para o comentário Compartilhar em outros sites More sharing options...
0 PandaTwo Postado Março 7, 2018 Denunciar Compartilhar Postado Março 7, 2018 Não vou por exemplos porque estou com o eclipse fechado e renderizando umas paradas, mais vou tentar explicar o máximo:1: Cria um inventario e bota os itens com as divisões: PVP | RANKS | ETC2: Abra esse inventario pro player usando: p.openInventory(InventarioDasDivisões);3: Registre o evento InventoryClickEvent e verifique se o inventario é igual ao da divisão.4: Se sim, cancele o evento e utilize o e.getCurrentItem() para verificar se é PVP, RANKS ou outro.5: Se for o item do RANK, por exemplo, use o p.openInventory(Ranks); Link para o comentário Compartilhar em outros sites More sharing options...
0 Frogguer Postado Março 7, 2018 Autor Denunciar Compartilhar Postado Março 7, 2018 Não vou por exemplos porque estou com o eclipse fechado e renderizando umas paradas, mais vou tentar explicar o máximo: 1: Cria um inventario e bota os itens com as divisões: PVP | RANKS | ETC 2: Abra esse inventario pro player usando: p.openInventory(InventarioDasDivisões); 3: Registre o evento InventoryClickEvent e verifique se o inventario é igual ao da divisão. 4: Se sim, cancele o evento e utilize o e.getCurrentItem() para verificar se é PVP, RANKS ou outro. 5: Se for o item do RANK, por exemplo, use o p.openInventory(Ranks); Eu já tenho um assim que é os dos kits, eu posso usar o mesmo método? Link para o comentário Compartilhar em outros sites More sharing options...
0 Manolo8 Postado Março 7, 2018 Denunciar Compartilhar Postado Março 7, 2018 Bem, se lhe for útil https://gist.github.com/Manolo8/0eebfe48038ce08976cec2a93db4beff https://gist.github.com/Manolo8/fb58b7a3a306a0d73a2e1c53260e2ad4 https://gist.github.com/Manolo8/a039098d5879c73e316001768084b7a9 Só fiz 2 guis por enquanto, e ainda estou desenvolvendo umas melhoras... Vou fazer uma GUI de um shop, e vou ter que adicionar muita coisa (O shop vai ter opção de arrastar um item para colocar a venda, e uma outra gui para aumentar/diminuir o preço) bem complexo '-' Mas, tá ai, se querer ajuda pra usar, só falar 1 Link para o comentário Compartilhar em outros sites More sharing options...
0 Frogguer Postado Março 7, 2018 Autor Denunciar Compartilhar Postado Março 7, 2018 Aqui, criamos 2 inventários, 1 para mostrar todas WARPS e outro para mostrar as warp ARENA public static Inventory warpsMain() { Inventory inv = null; inv = Bukkit.createInventory(null, 3 * 9, "Warps..."); inv.setItem(13, new ItemStack(Material.DIAMOND_SWORD)); return inv; } public static Inventory warpsArenas() { Inventory inv = null; inv = Bukkit.createInventory(null, 3 * 9, "Warps > Arenas"); inv.setItem(0, new ItemStack(Material.ARROW)); return inv; } Temos 2 inventários, agora, vamos "conectar eles" Para isso, usaremos o evento InventoryClickEvent Verificamos se o item que ele está clicando não é null, se o nome do inventário que o player está clicando é um dos menu de warp e se o slot tem alguma função @EventHandler public void InventoryClickE(InventoryClickEvent e) { if (e.getCurrentItem() == null) return; Player p = (Player) e.getWhoClicked(); if (e.getInventory().getTitle().equals("Warps...")) { e.setCancelled(true); if (e.getSlot() == 13) { p.openInventory(warpsArenas()); } } if (e.getInventory().getTitle().equals("Warps > Arenas")) { e.setCancelled(true); if (e.getSlot() == 0) { p.openInventory(warpsMain()); } } } Se o jogador clicar no slot 13, do inventário chamado "Warps..." ele irá abrir o inventário chamado "Warps > Arenas" Se o jogador clicar no slot 0, do inventário chamado "Warps > Arenas" ele vai abrir novamente o inventário "Warps..." Foi um tutorial meio bosta, mais acho que deu pra entender. @edit Pra abrir inicialmente o inventário pro jogador, é só usar p.openInventory(warpsMain()); warpsMain() = Retorna um inventário, que foi o método que criei Obrigado ;3 Link para o comentário Compartilhar em outros sites More sharing options...
0 gmoehra Postado Março 7, 2018 Denunciar Compartilhar Postado Março 7, 2018 Sua dúvida foi marcada como [Resolvido] e movido à área de dúvidas resolvidas. Atenciosamente, Gamer's Board Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Frogguer
Estou tentando fazer um pl de warps e queria criar uma segunda gui
para o meu "minas de ranks" e abrir uma segunda gui com as minas de ranks
se poder fazer um exemplo ajudaria, eu uso headcustons
Link para o comentário
Compartilhar em outros sites
7 respostass a esta questão
Posts Recomendados