package com.bioxx.tfc2.networking.client;
import io.netty.buffer.ByteBuf;
import net.minecraft.util.IThreadListener;
import net.minecraftforge.fml.common.network.simpleimpl.IMessage;
import net.minecraftforge.fml.common.network.simpleimpl.IMessageHandler;
import net.minecraftforge.fml.common.network.simpleimpl.MessageContext;
import com.bioxx.jmapgen.IslandMap;
import com.bioxx.tfc2.world.WorldGen;
public class CMapPacket implements IMessage
{
public int islandX;
public int islandZ;
public long seed;
public CMapPacket()
{
}
public CMapPacket(int iX, int iZ, long seed)
{
islandX = iX;
islandZ = iZ;
this.seed = seed;
}
@Override
public void toBytes(ByteBuf buffer)
{
buffer.writeInt(islandX);
buffer.writeInt(islandZ);
buffer.writeLong(seed);
}
@Override
public void fromBytes(ByteBuf buffer)
{
this.islandX = buffer.readInt();
this.islandZ = buffer.readInt();
this.seed = buffer.readLong();
}
public static class Handler implements IMessageHandler<CMapPacket, IMessage>
{
@Override
public IMessage onMessage(final CMapPacket message, MessageContext ctx) {
IThreadListener mainThread = net.minecraft.client.Minecraft.getMinecraft(); //(WorldServer) ctx.getServerHandler().playerEntity.worldObj; // or Minecraft.getMinecraft() on the client
mainThread.addScheduledTask(new Runnable()
{
@Override
public void run()
{
IslandMap map = WorldGen.getInstance().createFakeMap(message.islandX, message.islandZ, message.seed, true);
}
});
return null; // no response in this case
}
}
}