I fixed the issue for single player by making a global variable that the integrated server can set directly, nullifying the need for packets. Now my SimpleNetworkWrapper isn't working on multiplayer. I set it up in my server's preInit method with
net = NetworkRegistry.INSTANCE.newSimpleChannel("dataChannel");
net.registerMessage(PacketHandler.class, Packet.class, 0, Side.CLIENT);
and send it with
net.sendTo(new Packet(data), player);
I tested this code on single player without the global variable and it worked, but on multiplayer the client doesn't receive the packet.