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);
        }
示例#4
0
        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());
            }
        }
示例#5
0
 public ESerializeEntityResult SerializeToBytes(Chunk chunk, Vector3Byte blockPosition, ByteBuilder builder)
 {
     builder.WriteVariable(Colony != null ? Colony.ColonyID : 0);
     return(ESerializeEntityResult.LoadChunkOnStartup | ESerializeEntityResult.WroteData);
 }