Move terrain selectors to ru.dbotthepony.kstarbound.world.terrain

This commit is contained in:
DBotThePony 2024-03-28 13:34:01 +07:00
parent 1d5953eb36
commit c8683a15bd
Signed by: DBot
GPG Key ID: DCC23B5715498507
9 changed files with 17 additions and 12 deletions

View File

@ -39,8 +39,8 @@ import ru.dbotthepony.kstarbound.defs.world.BushVariant
import ru.dbotthepony.kstarbound.defs.world.GrassVariant
import ru.dbotthepony.kstarbound.defs.world.TreeVariant
import ru.dbotthepony.kstarbound.defs.world.BiomeDefinition
import ru.dbotthepony.kstarbound.defs.world.terrain.TerrainSelectorFactory
import ru.dbotthepony.kstarbound.defs.world.terrain.TerrainSelectorType
import ru.dbotthepony.kstarbound.world.terrain.TerrainSelectorFactory
import ru.dbotthepony.kstarbound.world.terrain.TerrainSelectorType
import ru.dbotthepony.kstarbound.util.AssetPathStack
import java.util.*
import java.util.concurrent.CompletableFuture

View File

@ -40,7 +40,7 @@ import ru.dbotthepony.kstarbound.defs.world.VisitableWorldParametersType
import ru.dbotthepony.kstarbound.defs.world.BiomePlaceables
import ru.dbotthepony.kstarbound.defs.world.BiomePlacementDistributionType
import ru.dbotthepony.kstarbound.defs.world.BiomePlacementItemType
import ru.dbotthepony.kstarbound.defs.world.terrain.TerrainSelectorType
import ru.dbotthepony.kstarbound.world.terrain.TerrainSelectorType
import ru.dbotthepony.kstarbound.io.*
import ru.dbotthepony.kstarbound.json.factory.MapsTypeAdapterFactory
import ru.dbotthepony.kstarbound.json.InternedJsonElementAdapter

View File

@ -1,4 +1,4 @@
package ru.dbotthepony.kstarbound.defs.world.terrain
package ru.dbotthepony.kstarbound.defs.world
import ru.dbotthepony.kstarbound.json.builder.JsonFactory
import java.util.random.RandomGenerator

View File

@ -18,9 +18,8 @@ import ru.dbotthepony.kommons.vector.Vector2i
import ru.dbotthepony.kstarbound.GlobalDefaults
import ru.dbotthepony.kstarbound.Registries
import ru.dbotthepony.kstarbound.Starbound
import ru.dbotthepony.kstarbound.defs.world.terrain.AbstractTerrainSelector
import ru.dbotthepony.kstarbound.defs.world.terrain.TerrainSelectorParameters
import ru.dbotthepony.kstarbound.defs.world.terrain.createNamedTerrainSelector
import ru.dbotthepony.kstarbound.world.terrain.AbstractTerrainSelector
import ru.dbotthepony.kstarbound.world.terrain.createNamedTerrainSelector
import ru.dbotthepony.kstarbound.json.builder.JsonFactory
import ru.dbotthepony.kstarbound.util.ListInterner
import ru.dbotthepony.kstarbound.util.random.AbstractPerlinNoise

View File

@ -1,8 +1,9 @@
package ru.dbotthepony.kstarbound.defs.world.terrain
package ru.dbotthepony.kstarbound.world.terrain
import com.google.gson.JsonObject
import ru.dbotthepony.kommons.gson.set
import ru.dbotthepony.kstarbound.Starbound
import ru.dbotthepony.kstarbound.defs.world.TerrainSelectorParameters
abstract class AbstractTerrainSelector<D : Any>(val name: String, val config: D, val parameters: TerrainSelectorParameters) {
// Returns a float signifying the "solid-ness" of a block, >= 0.0 should be

View File

@ -1,5 +1,6 @@
package ru.dbotthepony.kstarbound.defs.world.terrain
package ru.dbotthepony.kstarbound.world.terrain
import ru.dbotthepony.kstarbound.defs.world.TerrainSelectorParameters
import ru.dbotthepony.kstarbound.json.builder.JsonFactory
class ConstantTerrainSelector(name: String, data: Data, parameters: TerrainSelectorParameters) : AbstractTerrainSelector<ConstantTerrainSelector.Data>(name, data, parameters) {

View File

@ -1,8 +1,9 @@
package ru.dbotthepony.kstarbound.defs.world.terrain
package ru.dbotthepony.kstarbound.world.terrain
import com.google.gson.JsonObject
import ru.dbotthepony.kommons.vector.Vector2d
import ru.dbotthepony.kstarbound.defs.PerlinNoiseParameters
import ru.dbotthepony.kstarbound.defs.world.TerrainSelectorParameters
import ru.dbotthepony.kstarbound.json.builder.JsonFactory
import ru.dbotthepony.kstarbound.util.random.AbstractPerlinNoise
import kotlin.math.roundToInt

View File

@ -1,4 +1,6 @@
package ru.dbotthepony.kstarbound.defs.world.terrain
package ru.dbotthepony.kstarbound.world.terrain
import ru.dbotthepony.kstarbound.defs.world.TerrainSelectorParameters
class TerrainSelectorFactory<D : Any, out T : AbstractTerrainSelector<D>>(val name: String, private val data: D, private val factory: (String, D, TerrainSelectorParameters) -> T) {
fun create(parameters: TerrainSelectorParameters): T {

View File

@ -1,4 +1,4 @@
package ru.dbotthepony.kstarbound.defs.world.terrain
package ru.dbotthepony.kstarbound.world.terrain
import com.google.gson.Gson
import com.google.gson.JsonObject
@ -12,6 +12,7 @@ import ru.dbotthepony.kommons.gson.consumeNull
import ru.dbotthepony.kommons.gson.value
import ru.dbotthepony.kstarbound.Registries
import ru.dbotthepony.kstarbound.Starbound
import ru.dbotthepony.kstarbound.defs.world.TerrainSelectorParameters
fun createNamedTerrainSelector(name: String, parameters: TerrainSelectorParameters): AbstractTerrainSelector<*> {
return Registries.terrainSelectors.getOrThrow(name).value.create(parameters)