I started to work on Beautymine again by implementing a fully working NBT (Named Binary Tag) reader.
Sample dumps:
Level.dat dump:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 | TAG_COMPOUND(""): 1 entries { TAG_COMPOUND("Data"): 36 entries { TAG_LONG("RandomSeed"): 6069523395707597033 TAG_STRING("generatorName"): default TAG_DOUBLE("BorderCenterZ"): 0 TAG_BYTE("Difficulty"): 2 TAG_LONG("BorderSizeLerpTime"): 0 TAG_BYTE("raining"): 0 TAG_LONG("Time"): 852 TAG_INT("GameType"): 0 TAG_BYTE("MapFeatures"): 1 TAG_DOUBLE("BorderCenterX"): 0 TAG_DOUBLE("BorderDamagePerBlock"): 0.2 TAG_DOUBLE("BorderWarningBlocks"): 5 TAG_DOUBLE("BorderSizeLerpTarget"): 6e+007 TAG_LONG("DayTime"): 852 TAG_BYTE("initialized"): 1 TAG_BYTE("allowCommands"): 0 TAG_LONG("SizeOnDisk"): 0 TAG_COMPOUND("GameRules"): 15 entries { TAG_STRING("doTileDrops"): true TAG_STRING("doFireTick"): true TAG_STRING("reducedDebugInfo"): false TAG_STRING("naturalRegeneration"): true TAG_STRING("doMobLoot"): true TAG_STRING("keepInventory"): false TAG_STRING("doEntityDrops"): true TAG_STRING("mobGriefing"): true TAG_STRING("randomTickSpeed"): 3 TAG_STRING("commandBlockOutput"): true TAG_STRING("doMobSpawning"): true TAG_STRING("logAdminCommands"): true TAG_STRING("sendCommandFeedback"): true TAG_STRING("doDaylightCycle"): true TAG_STRING("showDeathMessages"): true } TAG_COMPOUND("Player"): 35 entries { TAG_INT("HurtByTimestamp"): 0 TAG_SHORT("SleepTimer"): 0 TAG_LIST("Attributes"): 4 entries of type TAG_COMPOUND { TAG_COMPOUND(""): 2 entries { TAG_DOUBLE("Base"): 20 TAG_STRING("Name"): generic.maxHealth } TAG_COMPOUND(""): 2 entries { TAG_DOUBLE("Base"): 0 TAG_STRING("Name"): generic.knockbackResistance } TAG_COMPOUND(""): 2 entries { TAG_DOUBLE("Base"): 0.1 TAG_STRING("Name"): generic.movementSpeed } TAG_COMPOUND(""): 2 entries { TAG_DOUBLE("Base"): 1 TAG_STRING("Name"): generic.attackDamage } } TAG_BYTE("Invulnerable"): 0 TAG_INT("PortalCooldown"): 0 TAG_FLOAT("AbsorptionAmount"): 0 TAG_COMPOUND("abilities"): 7 entries { TAG_BYTE("invulnerable"): 0 TAG_BYTE("mayfly"): 0 TAG_BYTE("instabuild"): 0 TAG_FLOAT("walkSpeed"): 0.1 TAG_BYTE("mayBuild"): 1 TAG_BYTE("flying"): 0 TAG_FLOAT("flySpeed"): 0.05 } TAG_FLOAT("FallDistance"): 0 TAG_SHORT("DeathTime"): 0 TAG_INT("XpSeed"): 0 TAG_FLOAT("HealF"): 20 TAG_INT("XpTotal"): 0 TAG_INT("playerGameType"): 0 TAG_LIST("Motion"): 3 entries of type TAG_DOUBLE { TAG_DOUBLE(""): 0 TAG_DOUBLE(""): -0.0784 TAG_DOUBLE(""): 0 } TAG_LONG("UUIDLeast"): -5449757056182179933 TAG_SHORT("Health"): 20 TAG_FLOAT("foodSaturationLevel"): 5 TAG_SHORT("Air"): 300 TAG_BYTE("OnGround"): 1 TAG_INT("Dimension"): 0 TAG_LIST("Rotation"): 2 entries of type TAG_FLOAT { TAG_FLOAT(""): -51.8999 TAG_FLOAT(""): 14.4 } TAG_INT("XpLevel"): 0 TAG_INT("Score"): 0 TAG_LONG("UUIDMost"): 4868346027275340658 TAG_BYTE("Sleeping"): 0 TAG_LIST("Pos"): 3 entries of type TAG_DOUBLE { TAG_DOUBLE(""): -203.739 TAG_DOUBLE(""): 73 TAG_DOUBLE(""): 247.604 } TAG_SHORT("Fire"): -20 TAG_FLOAT("XpP"): 0 TAG_LIST("EnderItems"): 0 entries of type TAG_END { } TAG_INT("foodLevel"): 20 TAG_FLOAT("foodExhaustionLevel"): 1.9867 TAG_SHORT("HurtTime"): 0 TAG_INT("SelectedItemSlot"): 0 TAG_LIST("Inventory"): 0 entries of type TAG_END { } TAG_INT("foodTickTimer"): 0 } TAG_INT("SpawnY"): 64 TAG_INT("rainTime"): 61328 TAG_INT("thunderTime"): 118297 TAG_INT("SpawnZ"): 240 TAG_BYTE("hardcore"): 0 TAG_BYTE("DifficultyLocked"): 0 TAG_INT("SpawnX"): -216 TAG_INT("clearWeatherTime"): 0 TAG_BYTE("thundering"): 0 TAG_INT("generatorVersion"): 1 TAG_INT("version"): 19133 TAG_DOUBLE("BorderSafeZone"): 5 TAG_STRING("generatorOptions"): TAG_LONG("LastPlayed"): 1423848173120 TAG_DOUBLE("BorderWarningTime"): 15 TAG_STRING("LevelName"): Beautymine TAG_DOUBLE("BorderSize"): 6e+007 } } |
Chunk[0,22] dump:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 | TAG_COMPOUND(""): 1 entries { TAG_COMPOUND("Level"): 12 entries { TAG_BYTE("LightPopulated"): 0 TAG_INT("zPos"): 22 TAG_INT_ARRAY("HeightMap"): [256 integers] TAG_LIST("Sections"): 6 entries of type TAG_COMPOUND { TAG_COMPOUND(""): 5 entries { TAG_BYTE_ARRAY("Blocks"): [4096 bytes] TAG_BYTE_ARRAY("SkyLight"): [2048 bytes] TAG_BYTE("Y"): 0 TAG_BYTE_ARRAY("BlockLight"): [2048 bytes] TAG_BYTE_ARRAY("Data"): [2048 bytes] } TAG_COMPOUND(""): 5 entries { TAG_BYTE_ARRAY("Blocks"): [4096 bytes] TAG_BYTE_ARRAY("SkyLight"): [2048 bytes] TAG_BYTE("Y"): 1 TAG_BYTE_ARRAY("BlockLight"): [2048 bytes] TAG_BYTE_ARRAY("Data"): [2048 bytes] } TAG_COMPOUND(""): 5 entries { TAG_BYTE_ARRAY("Blocks"): [4096 bytes] TAG_BYTE_ARRAY("SkyLight"): [2048 bytes] TAG_BYTE("Y"): 2 TAG_BYTE_ARRAY("BlockLight"): [2048 bytes] TAG_BYTE_ARRAY("Data"): [2048 bytes] } TAG_COMPOUND(""): 5 entries { TAG_BYTE_ARRAY("Blocks"): [4096 bytes] TAG_BYTE_ARRAY("SkyLight"): [2048 bytes] TAG_BYTE("Y"): 3 TAG_BYTE_ARRAY("BlockLight"): [2048 bytes] TAG_BYTE_ARRAY("Data"): [2048 bytes] } TAG_COMPOUND(""): 5 entries { TAG_BYTE_ARRAY("Blocks"): [4096 bytes] TAG_BYTE_ARRAY("SkyLight"): [2048 bytes] TAG_BYTE("Y"): 4 TAG_BYTE_ARRAY("BlockLight"): [2048 bytes] TAG_BYTE_ARRAY("Data"): [2048 bytes] } TAG_COMPOUND(""): 5 entries { TAG_BYTE_ARRAY("Blocks"): [4096 bytes] TAG_BYTE_ARRAY("SkyLight"): [2048 bytes] TAG_BYTE("Y"): 5 TAG_BYTE_ARRAY("BlockLight"): [2048 bytes] TAG_BYTE_ARRAY("Data"): [2048 bytes] } } TAG_LONG("LastUpdate"): 852 TAG_BYTE("V"): 1 TAG_BYTE_ARRAY("Biomes"): [256 bytes] TAG_LONG("InhabitedTime"): 0 TAG_INT("xPos"): 0 TAG_BYTE("TerrainPopulated"): 0 TAG_LIST("TileEntities"): 0 entries of type TAG_END { } TAG_LIST("Entities"): 0 entries of type TAG_END { } } } |