package com.gmail.woodyc40.common.protocol; import com.google.common.base.Charsets; import net.tridentsdk.meta.MessageBuilder; import net.tridentsdk.server.player.TridentPlayer; /** * Tests the protocol class(es) * * @author Pierre C */ public class ProtocolTest { public static void main(String[] args) { /* ProtocolManagement management = ProtocolManagement.manager(); management.intercept(event -> System.out.println(event.getClass() + " has happened")); for (int i = 0; i < 10; i++) { final int finalI = i; management.transmit(new ProtocolEvent() { }, pipe -> { System.out.println("This is the " + finalI + "th round"); return ProtocolAction.NO_PLAYERS; }); } */ /* // I haven't tested this LOL ProtocolManagement management = ProtocolManagement.manager(); management.intercept(new ProtocolListener<PacketReceivedEvent>() { @Override public void intercept(PacketReceivedEvent event) { Packet packet = event.packet(); if (packet.id() == 0x01) { // Packet 0x01 received is player chat // Read the first field String string = (String) packet.read(); // Prevent it from being processed if you're // a skythekidrs fanboy if (string.contains("budder")) { event.setIgnored(true); } else { String skythekidrs = "skythekidrs"; if (string.contains(skythekidrs)) { // Strings are immutable String newString = string.replace(skythekidrs, ""); // Write the first field packet.write(newString); } } } } }); */ // Not tested ProtocolManagement management = ProtocolManagement.manager(); Packet packet = management.createPacket(0x02, true); // WRITING ByteAppender appender = ByteAppender.empty(); appender.append(new MessageBuilder("Hello World").build().asJson().getBytes(Charsets.UTF_8)); appender.append((byte) 0); packet.decode(appender.wrapped().peek()); // or packet.write(new MessageBuilder("Hello World").build().asJson()); packet.write((byte) 0); // SENDING management.send(appender, TridentPlayer.players()); // or management.send(pipe -> { packet.encode(pipe); return TridentPlayer.players(); }); } }