@@ -562,107 +562,3 @@ Empty
562
562
EndInventoryList
563
563
EndInventory
564
564
---
565
-
566
- ===========================================================
567
- Minetest World Format used as of 2011-05 or so (deprecated)
568
- ===========================================================
569
-
570
- Map data serialization format version 17.
571
-
572
- 0.3.1 does not use this format, but a more recent one. This exists here for
573
- historical reasons.
574
-
575
- Directory structure:
576
- sectors/XXXXZZZZ or sectors2/XXX/ZZZ
577
- XXXX, ZZZZ, XXX and ZZZ being the hexadecimal X and Z coordinates.
578
- Under these, the block files are stored, called YYYY.
579
-
580
- There also exists files map_meta.txt and chunk_meta, that are used by the
581
- generator. If they are not found or invalid, the generator will currently
582
- behave quite strangely.
583
-
584
- The MapBlock file format (sectors2/XXX/ZZZ/YYYY):
585
- -------------------------------------------------
586
-
587
- NOTE: Byte order is MSB first.
588
-
589
- u8 version
590
- - map format version number, this one is version 17
591
-
592
- u8 flags
593
- - Flag bitmasks:
594
- - 0x01: is_underground: Should be set to 0 if there will be no light
595
- obstructions above the block. If/when sunlight of a block is updated and
596
- there is no block above it, this value is checked for determining whether
597
- sunlight comes from the top.
598
- - 0x02: day_night_differs: Whether the lighting of the block is different on
599
- day and night. Only blocks that have this bit set are updated when day
600
- transforms to night.
601
- - 0x04: lighting_expired: If true, lighting is invalid and should be updated.
602
- If you can't calculate lighting in your generator properly, you could try
603
- setting this 1 to everything and setting the uppermost block in every
604
- sector as is_underground=0. I am quite sure it doesn't work properly,
605
- though.
606
-
607
- zlib-compressed map data:
608
- - content:
609
- u8[4096]: content types
610
- u8[4096]: param1 values
611
- u8[4096]: param2 values
612
-
613
- zlib-compressed node metadata
614
- - content:
615
- u16 version (=1)
616
- u16 count of metadata
617
- foreach count:
618
- u16 position (= p.Z*MAP_BLOCKSIZE*MAP_BLOCKSIZE + p.Y*MAP_BLOCKSIZE + p.X)
619
- u16 type_id
620
- u16 content_size
621
- u8[content_size] misc. stuff contained in the metadata
622
-
623
- u16 mapblockobject_count
624
- - always write as 0.
625
- - if read != 0, just fail.
626
-
627
- foreach mapblockobject_count:
628
- - deprecated, should not be used. Length of this data can only be known by
629
- properly parsing it. Just hope not to run into any of this.
630
-
631
- u8 static object version:
632
- - currently 0
633
-
634
- u16 static_object_count
635
-
636
- foreach static_object_count:
637
- u8 type (object type-id)
638
- s32 pos_x * 1000
639
- s32 pos_y * 1000
640
- s32 pos_z * 1000
641
- u16 data_size
642
- u8[data_size] data
643
-
644
- u32 timestamp
645
- - Timestamp when last saved, as seconds from starting the game.
646
- - 0xffffffff = invalid/unknown timestamp, nothing will be done with the time
647
- difference when loaded (recommended)
648
-
649
- Node metadata format:
650
- ---------------------
651
-
652
- Sign metadata:
653
- u16 string_len
654
- u8[string_len] string
655
-
656
- Furnace metadata:
657
- TBD
658
-
659
- Chest metadata:
660
- TBD
661
-
662
- Locking Chest metadata:
663
- u16 string_len
664
- u8[string_len] string
665
- TBD
666
-
667
- // END
668
-
0 commit comments