Jump to content

graycatvr

Members
  • Posts

    2
  • Joined

  • Last visited

Posts posted by graycatvr

  1. 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

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.