Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @EventHandler
- public void onJoin(PlayerJoinEvent e) {
- final Player p = e.getPlayer();
- //TITLE:
- if(e.getPlayer().hasPlayedBefore()) {
- PacketPlayOutTitle title = new PacketPlayOutTitle(EnumTitleAction.TITLE, ChatSerializer.a("{\"text\":\"" + utils.toColor(plugin.getConfig().getString("onjoin.title.has-joined")) + "\"}"));
- PacketPlayOutTitle length = new PacketPlayOutTitle(0, plugin.getConfig().getList("onjoin.subtitles").size() * plugin.getConfig().getInt("onjoin.subtitle.stay-per-subtitle-ticks") - 10, 10);
- ((CraftPlayer) p).getHandle().playerConnection.sendPacket(title);
- ((CraftPlayer) p).getHandle().playerConnection.sendPacket(length);
- }else {
- PacketPlayOutTitle title = new PacketPlayOutTitle(EnumTitleAction.TITLE, ChatSerializer.a("{\"text\":\"" + utils.toColor(plugin.getConfig().getString("onjoin.title.never-joined")) + "\"}"));
- PacketPlayOutTitle length = new PacketPlayOutTitle(0, plugin.getConfig().getList("onjoin.subtitles").size() * plugin.getConfig().getInt("onjoin.subtitle.stay-per-subtitle-ticks") - 10, 10);
- ((CraftPlayer) p).getHandle().playerConnection.sendPacket(title);
- ((CraftPlayer) p).getHandle().playerConnection.sendPacket(length);
- //THE 2 PACKETS^
- }
- //TODO: HERE ARE THE SUBTITLES
- new BukkitRunnable() {
- int next = 0;
- boolean didTwice = false;
- public void run() {
- if(plugin.getConfig().getStringList("onjoin.subtitles").size() >= next + 1) {
- String s = plugin.getConfig().getStringList("onjoin.subtitles").get(next);
- Bukkit.broadcastMessage("Next: " + next);
- if(next + 1 == plugin.getConfig().getStringList("onjoin.subtitles").size()){
- PacketPlayOutTitle subtitle = new PacketPlayOutTitle(EnumTitleAction.SUBTITLE, ChatSerializer.a("{\"text\":\"" + utils.toColor(s) + "\"}"));
- PacketPlayOutTitle length = new PacketPlayOutTitle(0, plugin.getConfig().getInt("onjoin.subtitle.stay-per-subtitle-ticks") - 10, 10);
- ((CraftPlayer) p).getHandle().playerConnection.sendPacket(subtitle);
- ((CraftPlayer) p).getHandle().playerConnection.sendPacket(length);
- }else {
- PacketPlayOutTitle subtitle = new PacketPlayOutTitle(EnumTitleAction.SUBTITLE, ChatSerializer.a("{\"text\":\"" + utils.toColor(s) + "\"}"));
- PacketPlayOutTitle length = new PacketPlayOutTitle(0, plugin.getConfig().getInt("onjoin.subtitle.stay-per-subtitle-ticks"), 0);
- ((CraftPlayer) p).getHandle().playerConnection.sendPacket(subtitle);
- ((CraftPlayer) p).getHandle().playerConnection.sendPacket(length);
- }
- next++;
- }else {
- this.cancel();
- }
- }
- }.runTaskTimer(plugin, 0, plugin.getConfig().getInt("onjoin.subtitle.stay-per-subtitle-ticks"));
- //TABLIST:
- IChatBaseComponent headerText = ChatSerializer.a("{\"text\":\"" + utils.toColor(plugin.getConfig().getString("tablist.header")) + "\"}");
- IChatBaseComponent footerText = ChatSerializer.a("{\"text\": \"" + utils.toColor(plugin.getConfig().getString("tablist.footer")) + "\"}");
- PacketPlayOutPlayerListHeaderFooter packet = new PacketPlayOutPlayerListHeaderFooter();
- try {
- Field headerField = packet.getClass().getDeclaredField("a");
- headerField.setAccessible(true);
- headerField.set(packet, headerText);
- headerField.setAccessible(!headerField.isAccessible());
- Field footerField = packet.getClass().getDeclaredField("b");
- footerField.setAccessible(true);
- footerField.set(packet, footerText);
- footerField.setAccessible(!footerField.isAccessible());
- } catch (Exception er) {
- er.printStackTrace();
- }
- ((CraftPlayer) e.getPlayer()).getHandle().playerConnection.sendPacket(packet);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement