예제 #1
0
    public void WriteDimensionCodec(DimensionCodec value)
    {
        var writer = new NbtWriter(this, "");

        value.WriteElement(writer);

        writer.EndCompound();
        writer.TryFinish();
    }
예제 #2
0
    public static void Write(this DimensionCodec value, NbtList list)
    {
        var compound = new NbtCompound
        {
            new NbtTag <int>("id", value.Id),

            new NbtTag <string>("name", value.Name),

            value.WriteElement()
        };

        list.Add(compound);
    }
예제 #3
0
    public static NbtCompound WriteElement(this DimensionCodec value)
    {
        var compound = new NbtCompound("element")
        {
            new NbtTag <bool>("piglin_safe", value.Element.PiglinSafe),

            new NbtTag <bool>("natural", value.Element.Natural),

            new NbtTag <float>("ambient_light", value.Element.AmbientLight),

            new NbtTag <string>("infiniburn", value.Element.Infiniburn),

            new NbtTag <bool>("respawn_anchor_works", value.Element.RespawnAnchorWorks),
            new NbtTag <bool>("has_skylight", value.Element.HasSkylight),
            new NbtTag <bool>("bed_works", value.Element.BedWorks),

            new NbtTag <string>("effects", value.Element.Effects),

            new NbtTag <bool>("has_raids", value.Element.HasRaids),

            new NbtTag <int>("min_y", value.Element.MinY),

            new NbtTag <int>("height", value.Element.Height),

            new NbtTag <int>("logical_height", value.Element.LogicalHeight),

            new NbtTag <float>("coordinate_scale", value.Element.CoordinateScale),

            new NbtTag <bool>("ultrawarm", value.Element.Ultrawarm),
            new NbtTag <bool>("has_ceiling", value.Element.HasCeiling)
        };

        if (value.Element.FixedTime.HasValue)
        {
            compound.Add(new NbtTag <long>("fixed_time", value.Element.FixedTime.Value));
        }

        return(compound);
    }
예제 #4
0
        public void WriteDimensionCodec(DimensionCodec value)
        {
            var nbt = new NbtFile(value.ToNbt());

            nbt.SaveToStream(this, NbtCompression.None);
        }