package mcjty.rftools.network;
import io.netty.buffer.ByteBuf;
import io.netty.buffer.Unpooled;
import mcjty.lib.varia.Logging;
import mcjty.rftools.dimension.world.GenericWorldProvider;
import net.minecraftforge.common.DimensionManager;
public class DimensionSyncPacket {
private ByteBuf data = Unpooled.buffer();
private int[] dimensions;
public void addDimension(int id) {
data.writeInt(id);
}
public void consumePacket(ByteBuf data) {
int cnt = data.readableBytes() / 4;
dimensions = new int[cnt];
for (int i = 0 ; i < cnt ; i++) {
dimensions[i] = data.readInt();
}
}
public ByteBuf getData() {
return data;
}
public void execute() {
// Only do this on client side.
for (int id : dimensions) {
Logging.log("DimensionSyncPacket: Registering id: id = " + id);
if (!DimensionManager.isDimensionRegistered(id)) {
DimensionManager.registerProviderType(id, GenericWorldProvider.class, false);
DimensionManager.registerDimension(id, id);
}
}
}
}