Greetings, I am currently trying to register a packet listener for forge 1.8.9 like this:
public class NameChangePacketListener {
@SubscribeEvent
@SideOnly(Side.CLIENT)
public void onPacketReceived(FMLNetworkEvent.ClientCustomPacketEvent event) throws IOException {
System.out.println("test");
if (event.packet.toS3FPackets() instanceof S38PacketPlayerListItem) {
S38PacketPlayerListItem packet = (S38PacketPlayerListItem) event.packet.toS3FPackets();
if (packet.func_179768_b() == S38PacketPlayerListItem.Action.UPDATE_DISPLAY_NAME) {
for (S38PacketPlayerListItem.AddPlayerData playerData : packet.func_179767_a()) {
String newName = playerData.getDisplayName().getUnformattedText();
IChatComponent chatComponent = new ChatComponentText("Your name has been changed")
.setChatStyle(new ChatStyle().setColor(EnumChatFormatting.GREEN));
Minecraft.getMinecraft().thePlayer.addChatMessage(chatComponent);
}
}
}
}
}
Now, in the init method, I register this listener to the event bus like so:
@Mod.EventHandler
@SideOnly(Side.CLIENT)
public static void init(FMLInitializationEvent event){
MinecraftForge.EVENT_BUS.register(new NameChangePacketListener());
}
I know for a fact the init method works, so why does the "onPacketReceived" method not get called? the "test" doesn't print at all