能不能做出vs chunk map?我想你会感兴趣的

做一个复古物语一样的地图预览,输入种子和地形设置即可显示世界的全部内容。

反编译是可以知道具体生成世界的逻辑,但是如何绘制出地形图很难,让我试试。

最新进度版本: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 自己计算地图!

地貌区块:

2 个赞

1.21.6可以用吗,哪怕是半成品

不能,没有实际作用,细节很多没有做好

如果只看大陆海洋分布呢

感觉还差一点点,比如部分水块需要服务器后期生成,而不是纯代码,那几天一直在调整水块问题,想纯代码拟合,但是。。。

大范围的水陆是可以的

不需要精细地图,只需要知道这区块是大陆还是海洋还是岛屿半岛就行,航海找陆地挺耗时间的。而且那个游戏在线加载地图的模组太吃内存与时间了

其实这样的,对于复古物语也是首个的,能快速生成地图

理解,这个不会荒废的