public static void SendGhostBlock(Colony colony, Vector3Int position, ItemType type) { using (ByteBuilder data = ByteBuilder.Get()) { data.Write(ClientMessageType.BlockChange); data.WriteVariable(position); data.WriteVariable(type.ItemIndex); Players.SendToNearbyDrawDistance(position, data, 2000, NetworkMessageReliability.ReliableWithBuffering); } Log.Write("Sending ghost block!"); }
public override ESerializeEntityResult SerializeToBytes(Chunk chunk, Vector3Byte blockPosition, ByteBuilder builder) { var result = base.SerializeToBytes(chunk, blockPosition, builder); builder.WriteVariable(StoredItemCount); return(result); }
public override ESerializeEntityResult SerializeToBytes(Chunk chunk, Vector3Byte blockPosition, ByteBuilder builder) { var result = base.SerializeToBytes(chunk, blockPosition, builder); builder.WriteVariable(BlockTypeBelow?.ItemIndex ?? 0); return(result); }
public void saveBlueprint(string filename) { using (ByteBuilder builder = ByteBuilder.Get()) { builder.WriteVariable(playerMod); builder.WriteVariable(types.Count); builder.WriteVariable(xSize); builder.WriteVariable(ySize); builder.WriteVariable(zSize); using (ByteBuilder compressed = ByteBuilder.Get()) { foreach (var key in types.Keys) { compressed.WriteVariable(key); compressed.Write(types[key]); } for (int x = 0; x < xSize; x++) { for (int y = 0; y < ySize; y++) { for (int z = 0; z < zSize; z++) { compressed.WriteVariable(blocks[x, y, z]); } } } builder.WriteCompressed(compressed); } //return builder.ToArray(); File.WriteAllBytes(BlueprintManager.MODPATH + "/blueprints/" + filename + ".b", builder.ToArray()); } }
public ESerializeEntityResult SerializeToBytes(Chunk chunk, Vector3Byte blockPosition, ByteBuilder builder) { builder.WriteVariable(Colony != null ? Colony.ColonyID : 0); return(ESerializeEntityResult.LoadChunkOnStartup | ESerializeEntityResult.WroteData); }