AstroCoder Postado Setembro 4, 2015 Denunciar Compartilhar Postado Setembro 4, 2015 (editado) TitleAPI Eu sempre fui o tipo de pessoa que gosta de deixar o servidor todo bonito, portanto para todos os meus servidores eu fiz esta api para que pudesse facilmente criar um title, title é uma feature da versão 1.8. titleAPI.class (voce pode renomear como é obvio) import org.bukkit.craftbukkit.v1_7_R4.entity.CraftPlayer; import org.bukkit.entity.Player; import org.spigotmc.ProtocolInjector; import net.minecraft.server.v1_7_R4.ChatSerializer; import net.minecraft.server.v1_7_R4.IChatBaseComponent; /* API criada por AstroCoder */ public class titleAPI { public static void sendTitleAndSubTo(Player p, String title, String subtitle) { if (((CraftPlayer)p).getHandle().playerConnection.networkManager.getVersion() < 47) { return; } IChatBaseComponent chatTitle = ChatSerializer.a("{\"text\": \"" + title + "\"}"); ProtocolInjector.PacketTitle t = new ProtocolInjector.PacketTitle(ProtocolInjector.PacketTitle.Action.TITLE, chatTitle); IChatBaseComponent subTitle = ChatSerializer.a("{\"text\": \"" + subtitle + "\"}"); ProtocolInjector.PacketTitle sub = new ProtocolInjector.PacketTitle(ProtocolInjector.PacketTitle.Action.SUBTITLE, subTitle); ProtocolInjector.PacketTitle time = new ProtocolInjector.PacketTitle(ProtocolInjector.PacketTitle.Action.TIMES, 20, 120, 20); ((CraftPlayer)p).getHandle().playerConnection.sendPacket(time); ((CraftPlayer)p).getHandle().playerConnection.sendPacket(t); ((CraftPlayer)p).getHandle().playerConnection.sendPacket(sub); } public static void sendTitleTo(Player p, String title) { if (((CraftPlayer)p).getHandle().playerConnection.networkManager.getVersion() < 47) { //ver a version do player return; } IChatBaseComponent chatTitle = ChatSerializer.a("{\"text\": \"" + title + "\"}"); ProtocolInjector.PacketTitle t = new ProtocolInjector.PacketTitle(ProtocolInjector.PacketTitle.Action.TITLE, chatTitle); ProtocolInjector.PacketTitle time = new ProtocolInjector.PacketTitle(ProtocolInjector.PacketTitle.Action.TIMES, 20, 120, 20); ((CraftPlayer)p).getHandle().playerConnection.sendPacket(time); ((CraftPlayer)p).getHandle().playerConnection.sendPacket(t); } } Como usar? (Exemplo num join event) @EventHandler public void OnJoin(PlayerJoinEvent e) { Player p = e.getPlayer(); e.setJoinMessage(null); titleAPI.sendTitleAndSubTo(p, "seu titulo", "seu subtitulo"); titleAPI.sendTitleTo(p, "seu titulo"); //sem subtitulo } Atenção: Utilizei ProtocolHack para fazer esta api Muito fácil de usar e eficiente. O resto de um bom coding. Editado Setembro 4, 2015 por AstroCoder 1 Link para o comentário Compartilhar em outros sites More sharing options...
TequilAxBr Postado Setembro 4, 2015 Denunciar Compartilhar Postado Setembro 4, 2015 Vlw, estava procurando. Link para o comentário Compartilhar em outros sites More sharing options...
Trow_Games Postado Setembro 4, 2015 Denunciar Compartilhar Postado Setembro 4, 2015 Boa hehe Link para o comentário Compartilhar em outros sites More sharing options...
Guest » MickCraft » xKizame » Postado Outubro 21, 2015 Denunciar Compartilhar Postado Outubro 21, 2015 Ótimo eh.eh Link para o comentário Compartilhar em outros sites More sharing options...
Langsdorf Postado Outubro 21, 2015 Denunciar Compartilhar Postado Outubro 21, 2015 ProtocolInjector.PacketTitle time = new ProtocolInjector.PacketTitle(ProtocolInjector.PacketTitle.Action.TIMES, 20, 120, 20); 10 SEGUNDOS NA TELA? OUSH Boa e.e Link para o comentário Compartilhar em outros sites More sharing options...
Guest » MickCraft » xKizame » Postado Outubro 21, 2015 Denunciar Compartilhar Postado Outubro 21, 2015 ProtocolInjector.PacketTitle time = new ProtocolInjector.PacketTitle(ProtocolInjector.PacketTitle.Action.TIMES, 20, 120, 20); 10 SEGUNDOS NA TELA? OUSH Boa e.e Devia criar um PA nos Link para o comentário Compartilhar em outros sites More sharing options...
☯Mr. yang☯ Postado Outubro 21, 2015 Denunciar Compartilhar Postado Outubro 21, 2015 legal e.e Link para o comentário Compartilhar em outros sites More sharing options...
Langsdorf Postado Outubro 21, 2015 Denunciar Compartilhar Postado Outubro 21, 2015 (editado) Devia criar um PA nos public void create(Player p, String title, String sub, int in, int time, int out) { IChatBaseComponent chatTitle = ChatSerializer.a("{\"text\": \"" + title + "\"}"); PacketPlayOutTitle titled = new PacketPlayOutTitle(EnumTitleAction.TITLE, chatTitle); PacketPlayOutTitle length = new PacketPlayOutTitle(EnumTitleAction.TIMES, chatTitle, 20, 40, 20); IChatBaseComponent subt = ChatSerializer.a("{\"text\": \"" + sub + "\"}"); PacketPlayOutTitle subp = new PacketPlayOutTitle(EnumTitleAction.SUBTITLE, subt); PacketPlayOutTitle subl = new PacketPlayOutTitle(EnumTitleAction.TIMES, subt, in, time, out); ((CraftPlayer) p).getHandle().playerConnection.sendPacket(titled); ((CraftPlayer) p).getHandle().playerConnection.sendPacket(length); ((CraftPlayer) p).getHandle().playerConnection.sendPacket(subp); ((CraftPlayer) p).getHandle().playerConnection.sendPacket(subl); } Lembrando que o tempo e em MS 20 = 1 segundo Esse ai e pra spigot 1.8 Editado Outubro 21, 2015 por stalker112 Link para o comentário Compartilhar em outros sites More sharing options...
Guest » MickCraft » xKizame » Postado Outubro 21, 2015 Denunciar Compartilhar Postado Outubro 21, 2015 public void create(Player p, String title, String sub, int in, int time, int out) { IChatBaseComponent chatTitle = ChatSerializer.a("{\"text\": \"" + title + "\"}"); PacketPlayOutTitle titled = new PacketPlayOutTitle(EnumTitleAction.TITLE, chatTitle); PacketPlayOutTitle length = new PacketPlayOutTitle(EnumTitleAction.TIMES, chatTitle, 20, 40, 20); IChatBaseComponent subt = ChatSerializer.a("{\"text\": \"" + sub + "\"}"); PacketPlayOutTitle subp = new PacketPlayOutTitle(EnumTitleAction.SUBTITLE, subt); PacketPlayOutTitle subl = new PacketPlayOutTitle(EnumTitleAction.TIMES, subt, in, time, out); ((CraftPlayer) p).getHandle().playerConnection.sendPacket(titled); ((CraftPlayer) p).getHandle().playerConnection.sendPacket(length); ((CraftPlayer) p).getHandle().playerConnection.sendPacket(subp); ((CraftPlayer) p).getHandle().playerConnection.sendPacket(subl); }Lembrando que o tempo e em MS 20 = 1 segundo Esse ai e pra spigot 1.8 Eu quero 1 pra 1.5 será que da? Link para o comentário Compartilhar em outros sites More sharing options...
Langsdorf Postado Outubro 21, 2015 Denunciar Compartilhar Postado Outubro 21, 2015 Eu quero 1 pra 1.5 será que da? '-'.... Percebeu que a 1.5 n presta? '-' Link para o comentário Compartilhar em outros sites More sharing options...
Guest » MickCraft » xKizame » Postado Outubro 21, 2015 Denunciar Compartilhar Postado Outubro 21, 2015 '-'.... Percebeu que a 1.5 n presta? '-' Osh ;-; 1.5.2 tem sentimentos também Link para o comentário Compartilhar em outros sites More sharing options...
Guest iHoolywod_ Postado Novembro 28, 2015 Denunciar Compartilhar Postado Novembro 28, 2015 Poderia fazer pro tab tbm? (da 1.8) Link para o comentário Compartilhar em outros sites More sharing options...
LymeeFairy Postado Setembro 20, 2024 Denunciar Compartilhar Postado Setembro 20, 2024 ANÁLISE DE INATIVIDADE Este tópico foi automaticamente arquivado devido à inatividade. Para manter a organização e fluidez das discussões na comunidade, tópicos que permanecem sem novas interações por um período prolongado são fechados automaticamente. Se houver interesse em retomar o conteúdo, sinta-se à vontade para criar um novo tópico ou entre em contato com a equipe da comunidade para reabrir este tópico. Equipe de Moderação Gamer's Board Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados