Sr_Edition Postado Fevereiro 4, 2019 Denunciar Compartilhar Postado Fevereiro 4, 2019 Olá seres, esse dias eu estava criando um plugin de terrenos e queria adicionar um menu GUI para o plugin ficar mais didático, o que acontece é que toda vez que eu precisasse fazer um menu em meus plugins eu sempre tinha que começar um menu do zero, vi que isso me deixava bem menos produtivo então eu resolvi criar uma biblioteca simples para criação de menus para Minecraft, tanto menus simples quanto menus com layouts customs. A biblioteca é bem simples mas muito eficaz, pretendo adicionar novos recursos tais como: menus com outros tipos de inventário, atualização em tempo real do menu (etc..). Bom aqui eu vou dar um exemplo simples de como usar a biblioteca e abaixo você pode acessar o link que irá redireciona-los ao repositório do projeto no meu GitHub. Contribuir com esse projeto no GitHub seria muito bom para comunidade, então fique a vontade para contribuir e dar pull request TUTORIAL Bom, antes de começar a usar a biblioteca você precisa informar que seu plugin vai usar os recursos da mesma @Override public void onEnable() { // Registra o GuiEngine no onEnable(); new GuiEngine(this).register(); } Agora podemos usar a biblioteca tranquilamente Criando um menu simples // Exibe um menu com o layout default para o jogador. public static void showSimpleMenu(Player player) { // Cria um GuiFrame com o título e layout que você quer usar. // DefaultLayout(rows) GuiFrame frame = new GuiFrame("Menu Simples", new DefaultLayout(6)); // Cria alguns botões para colocar no menu GuiButton netherStarButton = new GuiButton(new ItemStack(Material.NETHER_STAR)); GuiButton diamondButton = new GuiButton(new ItemStack(Material.DIAMOND)); // Adicione os métodos que devem ser executados ao clicar nos botões. netherStarButton.addGuiRunnable(ClickType.LEFT, new GuiRunnable() { @Override public void run(Player player) { player.sendMessage("§aVocê clicou na Nether Star"); } }); diamondButton.addGuiRunnable(ClickType.LEFT, new GuiRunnable() { @Override public void run(Player player) { player.closeInventory(); player.sendMessage("§cVocê fechou o menu"); } }); // com o método put(GuiButton) você adiciona o botão ao primeiro slot vazio do // inventário. frame.put(netherStarButton); // com o método put(int, GuiButton) você adiciona o botão no slot informado como // int. frame.put(53, diamondButton); // exibe o menu para o jogador. frame.show(player); } Criando um menu com layout custom // Exibe um menu com o layout customizado para o jogador. public static void showCustomMenu(Player player) { // Cria um GuiFrame com o título e layout que você quer usar. // CustomLayout(rows, slots) GuiFrame frame = new GuiFrame("Menu Custom", new CustomLayout(6, new int[] { 10, 11, 12, 13, 14, 15, 16, 19, 20, 21, 22, 23, 24, 25, 28, 29, 30, 31, 32, 33, 34, 37, 38, 39, 40, 41, 42, 43 })); // Cria alguns botões para colocar no menu GuiButton netherStarButton = new GuiButton(new ItemStack(Material.NETHER_STAR)); GuiButton diamondButton = new GuiButton(new ItemStack(Material.DIAMOND)); // Adicione os métodos que devem ser executados ao clicar nos botões. netherStarButton.addGuiRunnable(ClickType.LEFT, new GuiRunnable() { @Override public void run(Player player) { player.sendMessage("§aVocê clicou na Nether Star"); } }); diamondButton.addGuiRunnable(ClickType.LEFT, new GuiRunnable() { @Override public void run(Player player) { player.closeInventory(); player.sendMessage("§cVocê fechou o menu"); } }); // com o método put(GuiButton) você adiciona o botão ao primeiro slot vazio do // inventário. frame.put(netherStarButton); // com o método put(int, GuiButton) você adiciona o botão no slot informado como // int. frame.put(53, diamondButton); // exibe o menu para o jogador. frame.show(player); } Você também pode pegar o menu que o jogador está aberto GuiFrame frame = GuiFrame.currentFrame(player); Isso é tudo pessoal, se tiverem sugestões seria bom compartilhar Ver Repositório 1 Link para o comentário Compartilhar em outros sites More sharing options...
Vitor Paulo Postado Fevereiro 4, 2019 Denunciar Compartilhar Postado Fevereiro 4, 2019 Cade o MR-Plots? 1 Link para o comentário Compartilhar em outros sites More sharing options...
CarlosFG Postado Fevereiro 4, 2019 Denunciar Compartilhar Postado Fevereiro 4, 2019 10 minutos atrás, vitorblog disse: Cade o MR-Plots? 1 Link para o comentário Compartilhar em outros sites More sharing options...
iHuck Postado Fevereiro 4, 2019 Denunciar Compartilhar Postado Fevereiro 4, 2019 Boa, vai ajudar mt gente :v 1 Link para o comentário Compartilhar em outros sites More sharing options...
Vitor Paulo Postado Fevereiro 4, 2019 Denunciar Compartilhar Postado Fevereiro 4, 2019 Agora, CarlosFG disse: Mais fake que eu namorando 1 Link para o comentário Compartilhar em outros sites More sharing options...
Rebs Postado Fevereiro 4, 2019 Denunciar Compartilhar Postado Fevereiro 4, 2019 Boooa edition, não entendo muito de Java, mas, aparetemente, foi feita com muita qualidade, parabéns e obrigado por ajudar nossa comundiade a produzir plugins com mais qualidade e facilidade. 1 Link para o comentário Compartilhar em outros sites More sharing options...
RUSHyoutuber Postado Fevereiro 4, 2019 Denunciar Compartilhar Postado Fevereiro 4, 2019 Ainda prefiro fazer manualmente mas achei muito interessante a Biblioteca, e muito bem feita por sinal, pra melhorar ainda mais deveria se usar um ItemBuilder junto parar criar os ItemStack. e.getClickedInventory() é um método da SpigotAPI e isso ira gerar problemas com quem ainda usar por acidente ou por desconhecimento a BukkitAPI 1 Link para o comentário Compartilhar em outros sites More sharing options...
Vitor Paulo Postado Fevereiro 4, 2019 Denunciar Compartilhar Postado Fevereiro 4, 2019 Java 8 mandou abraços Link para o comentário Compartilhar em outros sites More sharing options...
gaalaxY Postado Abril 22, 2020 Denunciar Compartilhar Postado Abril 22, 2020 Seu tópico foi marcado como Inativo. Para reverter esta ação, entre em contato com a equipe de Moderação. OBS: Essa mensagem é automática. Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados