public static void uninject(Player p) { try { Object craftOnline = ReflectionUtil.getBukkitClass("entity.CraftPlayer").cast(p); Object craftHandle = ReflectionUtil.invokeMethod(craftOnline.getClass(), craftOnline, "getHandle"); Object playerCon = ReflectionUtil.getField(craftHandle.getClass(), "playerConnection").get(craftHandle); Object manager = ReflectionUtil.getField(playerCon.getClass(), "networkManager").get(playerCon); Channel channel = (Channel) ReflectionUtil.getField(manager.getClass(), "channel").get(manager); if (channel.pipeline().context("PacketListener") != null) channel.pipeline().remove("PacketListener"); } catch (Exception e) { e.printStackTrace(); } }