Use removeTerrainFeatures and addTerrainFeature instead of setTerrainFeatures so serialization will work. (#8302)

This commit is contained in:
Philip Keiter 2023-01-04 07:44:41 -06:00 committed by GitHub
parent 5aca35c244
commit 040770a39a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -788,10 +788,12 @@ class MapGenerator(val ruleset: Ruleset) {
// Spawn ice on center tile
if (bestArcticTileName == iceTerrainName) {
tile.baseTerrain = waterTerrainName
tile.setTerrainFeatures(listOf(iceTerrainName))
tile.removeTerrainFeatures()
tile.addTerrainFeature(iceTerrainName)
} else if (iceTerrainName != null && bestArcticTileName != mountainTerrainName) {
tile.baseTerrain = bestArcticTileName // snow (or a mod's equivalent)
tile.setTerrainFeatures(listOf(iceTerrainName))
tile.removeTerrainFeatures()
tile.addTerrainFeature(iceTerrainName)
} else {
tile.baseTerrain = bestArcticTileName // mountain (or a mod's equivalent)
tile.removeTerrainFeatures()
@ -801,10 +803,12 @@ class MapGenerator(val ruleset: Ruleset) {
for (neighbor in tile.neighbors) {
if (bestArcticTileName == iceTerrainName) {
neighbor.baseTerrain = waterTerrainName
neighbor.setTerrainFeatures(listOf(iceTerrainName))
neighbor.removeTerrainFeatures()
neighbor.addTerrainFeature(iceTerrainName)
} else if (iceTerrainName != null && bestArcticTileName != mountainTerrainName) {
neighbor.baseTerrain = bestArcticTileName // snow (or a mod's equivalent)
neighbor.setTerrainFeatures(listOf(iceTerrainName))
neighbor.removeTerrainFeatures()
neighbor.addTerrainFeature(iceTerrainName)
} else {
neighbor.baseTerrain = bestArcticTileName // mountain (or a mod's equivalent)
neighbor.removeTerrainFeatures()
@ -816,10 +820,12 @@ class MapGenerator(val ruleset: Ruleset) {
// Do nothing most of the time at random.
} else if (bestArcticTileName == iceTerrainName) {
neighbor2.baseTerrain = waterTerrainName
neighbor2.setTerrainFeatures(listOf(iceTerrainName))
neighbor2.removeTerrainFeatures()
neighbor2.addTerrainFeature(iceTerrainName)
} else if (iceTerrainName != null && bestArcticTileName != mountainTerrainName) {
neighbor2.baseTerrain = bestArcticTileName // snow (or a mod's equivalent)
neighbor2.setTerrainFeatures(listOf(iceTerrainName))
neighbor2.removeTerrainFeatures()
neighbor2.addTerrainFeature(iceTerrainName)
} else {
neighbor2.baseTerrain = bestArcticTileName // mountain (or a mod's equivalent)
neighbor2.removeTerrainFeatures()
@ -838,10 +844,12 @@ class MapGenerator(val ruleset: Ruleset) {
// Spawn arctic tiles on edge tile
if (arcticTileName == iceTerrainName) {
tile.baseTerrain = waterTerrainName
tile.setTerrainFeatures(listOf(iceTerrainName))
tile.removeTerrainFeatures()
tile.addTerrainFeature(iceTerrainName)
} else if (iceTerrainName != null && arcticTileName != mountainTerrainName) {
tile.baseTerrain = arcticTileName // snow (or a mod's equivalent)
tile.setTerrainFeatures(listOf(iceTerrainName))
tile.removeTerrainFeatures()
tile.addTerrainFeature(iceTerrainName)
} else {
tile.baseTerrain = arcticTileName // mountain (or a mod's equivalent)
tile.removeTerrainFeatures()
@ -856,10 +864,12 @@ class MapGenerator(val ruleset: Ruleset) {
// Do nothing most of the time at random.
} else if (arcticTileName == iceTerrainName) {
neighbor.baseTerrain = waterTerrainName
neighbor.setTerrainFeatures(listOf(iceTerrainName))
neighbor.removeTerrainFeatures()
neighbor.addTerrainFeature(iceTerrainName)
} else if (iceTerrainName != null && arcticTileName != mountainTerrainName) {
neighbor.baseTerrain = arcticTileName // snow (or a mod's equivalent)
neighbor.setTerrainFeatures(listOf(iceTerrainName))
neighbor.removeTerrainFeatures()
neighbor.addTerrainFeature(iceTerrainName)
} else {
neighbor.baseTerrain = arcticTileName // mountain (or a mod's equivalent)
neighbor.removeTerrainFeatures()