Write synced entities in world data

This commit is contained in:
Anuken
2022-01-07 10:53:56 -05:00
parent 4fb2b70c4b
commit dcfdf37b4f
3 changed files with 72 additions and 35 deletions

View File

@@ -44,8 +44,19 @@ public class NetworkIO{
stream.writeLong(GlobalConstants.rand.seed0);
stream.writeLong(GlobalConstants.rand.seed1);
Writes write = new Writes(stream);
stream.writeInt(player.id);
player.write(Writes.get(stream));
player.write(write);
stream.writeInt(Groups.sync.size());
//write all synced entities *immediately*
for(Syncc entity : Groups.sync){
stream.writeInt(entity.id());
stream.writeByte(entity.classId());
entity.writeSync(write);
}
SaveIO.getSaveWriter().writeContentHeader(stream);
SaveIO.getSaveWriter().writeMap(stream);
@@ -68,13 +79,21 @@ public class NetworkIO{
GlobalConstants.rand.seed0 = stream.readLong();
GlobalConstants.rand.seed1 = stream.readLong();
Reads read = new Reads(stream);
Groups.clear();
int id = stream.readInt();
player.reset();
player.read(Reads.get(stream));
player.read(read);
player.id = id;
player.add();
int entities = stream.readInt();
for(int j = 0; j < entities; j++){
NetClient.readSyncEntity(stream, read);
}
SaveIO.getSaveWriter().readContentHeader(stream);
SaveIO.getSaveWriter().readMap(stream, world.context);
SaveIO.getSaveWriter().readTeamBlocks(stream);