做一个复古物语一样的地图预览,输入种子和地形设置即可显示世界的全部内容。
反编译是可以知道具体生成世界的逻辑,但是如何绘制出地形图很难,让我试试。
最新进度版本:https://vscdn.hansjack.com/tools/vsmap.zip
地图种子:937964539
下面是官方JSON玩法+地形设置:
{
"gameMode": "survival",
"playerlives": "-1",
"startingClimate": "temperate",
"spawnRadius": "0",
"graceTimer": "0",
"deathPunishment": "drop",
"droppedItemsTimer": "3600",
"seasons": "enabled",
"daysPerMonth": "9",
"harshWinters": "true",
"blockGravity": "sandgravel",
"caveIns": "on",
"allowFallingBlocks": true,
"allowFireSpread": true,
"lightningFires": true,
"allowUndergroundFarming": false,
"noLiquidSourceTransport": true,
"playerHealthPoints": "15",
"playerHealthRegenSpeed": "1",
"playerHungerSpeed": "1",
"lungCapacity": "40000",
"bodyTemperatureResistance": "0",
"playerMoveSpeed": "1.5",
"creatureHostility": "aggressive",
"creatureStrength": "1",
"creatureSwimSpeed": "2",
"foodSpoilSpeed": "1",
"saplingGrowthRate": "1",
"toolDurability": "1",
"toolMiningSpeed": "1",
"propickNodeSearchRadius": "6",
"microblockChiseling": "stonewood",
"allowCoordinateHud": true,
"allowMap": true,
"colorAccurateWorldmap": true,
"loreContent": true,
"clutterObtainable": "ifrepaired",
"temporalStability": true,
"temporalStorms": "sometimes",
"tempstormDurationMul": "1",
"temporalRifts": "visible",
"temporalGearRespawnUses": "20",
"temporalStormSleeping": "0",
"worldClimate": "realistic",
"landcover": "0.975",
"oceanscale": "5",
"upheavelCommonness": "0.3",
"geologicActivity": "0.05",
"landformScale": "1.0",
"worldWidth": "1024000",
"worldLength": "1024000",
"worldEdge": "traversable",
"polarEquatorDistance": "100000",
"storyStructuresDistScaling": "1",
"globalTemperature": "1",
"globalPrecipitation": "1",
"globalForestation": "0",
"globalDepositSpawnRate": "1",
"surfaceCopperDeposits": "0.12",
"surfaceTinDeposits": "0.007",
"snowAccum": "true",
"allowLandClaiming": false,
"classExclusiveRecipes": false,
"auctionHouse": true,
"playstyle": "surviveandbuild",
"worldHeight": 384
}
很显然这可以作为突破口,每一个函数反编译出来然后写二维图生成。
目前没有三维结构的图(海陆预览/温度预览/降雨预览):
还有一个新开始的项目,决定不依靠原游戏服务器文件生成地图:
通过 seed + worldConfig + 预提取的 assetpack 自己计算地图!
地貌区块:







