From 6fafcd6185a20f27fc9796b16e5bae1c9a2067d3 Mon Sep 17 00:00:00 2001 From: DBotThePony Date: Sun, 22 Jan 2023 18:47:30 +0700 Subject: [PATCH] =?UTF-8?q?=D0=95=D1=89=D1=91=20=D0=B1=D0=BE=D0=BB=D1=8C?= =?UTF-8?q?=D1=88=D0=B5=20=D0=BF=D1=80=D0=B8=D0=B1=D0=BE=D1=80=D0=BA=D0=B8?= =?UTF-8?q?=20=D0=B2=20=D1=81=D1=82=D1=80=D1=83=D0=BA=D1=82=D1=83=D1=80?= =?UTF-8?q?=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ru/dbotthepony/kstarbound/Starbound.kt | 2 +- .../dbotthepony/kstarbound/defs/DamageType.kt | 2 +- .../kstarbound/defs/IThingWithDescription.kt | 1 - .../kstarbound/defs/JsonFunction.kt | 4 ++-- .../kstarbound/defs/RawPrototype.kt | 5 +++-- .../kstarbound/defs/item/ArmorItemPrototype.kt | 6 +++--- .../defs/item/CurrencyItemPrototype.kt | 2 +- .../defs/item/IArmorItemDefinition.kt | 2 +- .../defs/item/IFossilItemDefinition.kt | 2 +- .../kstarbound/defs/item/IItemDefinition.kt | 2 +- .../defs/item/ILeveledStatusEffect.kt | 10 +++++----- .../kstarbound/defs/item/ItemPrototype.kt | 4 ++-- .../kstarbound/defs/item/ItemRarity.kt | 6 +----- .../defs/item/LiquidItemPrototype.kt | 2 +- .../defs/item/MaterialItemPrototype.kt | 2 +- .../kstarbound/defs/liquid/LiquidDefinition.kt | 2 +- .../defs/parallax/ParallaxPrototype.kt | 2 +- .../defs/parallax/ParallaxPrototypeLayer.kt | 2 +- .../kstarbound/defs/projectile/Configurable.kt | 18 +++++++++--------- .../defs/projectile/ProjectilePhysics.kt | 2 +- .../kstarbound/defs/tile/MaterialModifier.kt | 2 +- .../kstarbound/defs/tile/RenderParameters.kt | 2 +- .../kstarbound/defs/tile/RenderTemplate.kt | 4 ++-- .../kstarbound/defs/tile/TileDefinition.kt | 2 +- .../kstarbound/defs/world/SkyParameters.kt | 4 ++-- .../kstarbound/defs/world/SkyType.kt | 2 +- .../kstarbound/defs/world/WorldProperties.kt | 2 +- .../defs/world/dungeon/BeamUpRule.kt | 2 +- .../defs/world/dungeon/Configurable.kt | 4 ++-- .../defs/world/dungeon/DungeonType.kt | 2 +- .../io/json/{ => builder}/BuilderAdapter.kt | 16 +++++++++++----- .../io/json/{ => builder}/EnumAdapter.kt | 3 +-- .../io/json/{ => builder}/FactoryAdapter.kt | 6 +++++- .../io/json/{ => util}/LazyTypeProvider.kt | 2 +- .../io/json/{ => util}/ListAdapter.kt | 3 +-- .../io/json/{ => util}/MapAdapter.kt | 3 +-- .../io/json/{ => util}/String2ObjectAdapter.kt | 2 +- 37 files changed, 71 insertions(+), 68 deletions(-) rename src/main/kotlin/ru/dbotthepony/kstarbound/io/json/{ => builder}/BuilderAdapter.kt (98%) rename src/main/kotlin/ru/dbotthepony/kstarbound/io/json/{ => builder}/EnumAdapter.kt (98%) rename src/main/kotlin/ru/dbotthepony/kstarbound/io/json/{ => builder}/FactoryAdapter.kt (98%) rename src/main/kotlin/ru/dbotthepony/kstarbound/io/json/{ => util}/LazyTypeProvider.kt (90%) rename src/main/kotlin/ru/dbotthepony/kstarbound/io/json/{ => util}/ListAdapter.kt (94%) rename src/main/kotlin/ru/dbotthepony/kstarbound/io/json/{ => util}/MapAdapter.kt (92%) rename src/main/kotlin/ru/dbotthepony/kstarbound/io/json/{ => util}/String2ObjectAdapter.kt (96%) diff --git a/src/main/kotlin/ru/dbotthepony/kstarbound/Starbound.kt b/src/main/kotlin/ru/dbotthepony/kstarbound/Starbound.kt index 52538d14..4ab1c574 100644 --- a/src/main/kotlin/ru/dbotthepony/kstarbound/Starbound.kt +++ b/src/main/kotlin/ru/dbotthepony/kstarbound/Starbound.kt @@ -41,7 +41,7 @@ import ru.dbotthepony.kstarbound.defs.world.dungeon.DungeonWorldDef import ru.dbotthepony.kstarbound.io.* import ru.dbotthepony.kstarbound.io.json.AABBTypeAdapter import ru.dbotthepony.kstarbound.io.json.AABBiTypeAdapter -import ru.dbotthepony.kstarbound.io.json.EnumAdapter +import ru.dbotthepony.kstarbound.io.json.builder.EnumAdapter import ru.dbotthepony.kstarbound.io.json.Vector2dTypeAdapter import ru.dbotthepony.kstarbound.io.json.Vector2fTypeAdapter import ru.dbotthepony.kstarbound.io.json.Vector2iTypeAdapter diff --git a/src/main/kotlin/ru/dbotthepony/kstarbound/defs/DamageType.kt b/src/main/kotlin/ru/dbotthepony/kstarbound/defs/DamageType.kt index 7b784a70..eb466a62 100644 --- a/src/main/kotlin/ru/dbotthepony/kstarbound/defs/DamageType.kt +++ b/src/main/kotlin/ru/dbotthepony/kstarbound/defs/DamageType.kt @@ -1,7 +1,7 @@ package ru.dbotthepony.kstarbound.defs import com.google.gson.stream.JsonWriter -import ru.dbotthepony.kstarbound.io.json.IStringSerializable +import ru.dbotthepony.kstarbound.io.json.builder.IStringSerializable enum class DamageType(private vararg val aliases: String) : IStringSerializable { NORMAL, diff --git a/src/main/kotlin/ru/dbotthepony/kstarbound/defs/IThingWithDescription.kt b/src/main/kotlin/ru/dbotthepony/kstarbound/defs/IThingWithDescription.kt index e0a41c07..eb5d1bae 100644 --- a/src/main/kotlin/ru/dbotthepony/kstarbound/defs/IThingWithDescription.kt +++ b/src/main/kotlin/ru/dbotthepony/kstarbound/defs/IThingWithDescription.kt @@ -5,7 +5,6 @@ import com.google.gson.TypeAdapter import com.google.gson.stream.JsonReader import com.google.gson.stream.JsonToken import com.google.gson.stream.JsonWriter -import ru.dbotthepony.kstarbound.io.json.FactoryAdapter import ru.dbotthepony.kstarbound.sbIntern import ru.dbotthepony.kstarbound.util.NotNullVar diff --git a/src/main/kotlin/ru/dbotthepony/kstarbound/defs/JsonFunction.kt b/src/main/kotlin/ru/dbotthepony/kstarbound/defs/JsonFunction.kt index 7e5a6d86..a3a24f01 100644 --- a/src/main/kotlin/ru/dbotthepony/kstarbound/defs/JsonFunction.kt +++ b/src/main/kotlin/ru/dbotthepony/kstarbound/defs/JsonFunction.kt @@ -6,8 +6,8 @@ import com.google.gson.TypeAdapter import com.google.gson.stream.JsonReader import com.google.gson.stream.JsonToken import com.google.gson.stream.JsonWriter -import ru.dbotthepony.kstarbound.io.json.EnumAdapter -import ru.dbotthepony.kstarbound.io.json.IStringSerializable +import ru.dbotthepony.kstarbound.io.json.builder.EnumAdapter +import ru.dbotthepony.kstarbound.io.json.builder.IStringSerializable import ru.dbotthepony.kstarbound.io.json.Vector2dTypeAdapter import ru.dbotthepony.kvector.vector.ndouble.Vector2d diff --git a/src/main/kotlin/ru/dbotthepony/kstarbound/defs/RawPrototype.kt b/src/main/kotlin/ru/dbotthepony/kstarbound/defs/RawPrototype.kt index be7dd3dc..b32dfbb0 100644 --- a/src/main/kotlin/ru/dbotthepony/kstarbound/defs/RawPrototype.kt +++ b/src/main/kotlin/ru/dbotthepony/kstarbound/defs/RawPrototype.kt @@ -5,7 +5,7 @@ import it.unimi.dsi.fastutil.objects.Object2ObjectArrayMap import ru.dbotthepony.kstarbound.Starbound import ru.dbotthepony.kstarbound.defs.util.enrollMap import ru.dbotthepony.kstarbound.defs.util.flattenMap -import ru.dbotthepony.kstarbound.io.json.INativeJsonHolder +import ru.dbotthepony.kstarbound.io.json.builder.INativeJsonHolder /** * Базовый класс описания прототипа игрового объекта @@ -16,7 +16,8 @@ import ru.dbotthepony.kstarbound.io.json.INativeJsonHolder * Если границы поля зависят от других полей, то проверка такого поля должна осуществляться уже при самой * сборке прототипа. */ -abstract class RawPrototype, ASSEMBLED : AssembledPrototype> : INativeJsonHolder { +abstract class RawPrototype, ASSEMBLED : AssembledPrototype> : + INativeJsonHolder { val json = Object2ObjectArrayMap() fun enroll() = enrollMap(json, Starbound.STRING_INTERNER::intern) abstract fun assemble(directory: String = ""): ASSEMBLED diff --git a/src/main/kotlin/ru/dbotthepony/kstarbound/defs/item/ArmorItemPrototype.kt b/src/main/kotlin/ru/dbotthepony/kstarbound/defs/item/ArmorItemPrototype.kt index 4ba60377..30e9407b 100644 --- a/src/main/kotlin/ru/dbotthepony/kstarbound/defs/item/ArmorItemPrototype.kt +++ b/src/main/kotlin/ru/dbotthepony/kstarbound/defs/item/ArmorItemPrototype.kt @@ -2,9 +2,9 @@ package ru.dbotthepony.kstarbound.defs.item import ru.dbotthepony.kstarbound.Starbound import ru.dbotthepony.kstarbound.defs.util.enrollMap -import ru.dbotthepony.kstarbound.io.json.BuilderAdapter -import ru.dbotthepony.kstarbound.io.json.asJsonObject -import ru.dbotthepony.kstarbound.io.json.asList +import ru.dbotthepony.kstarbound.io.json.builder.BuilderAdapter +import ru.dbotthepony.kstarbound.io.json.util.asJsonObject +import ru.dbotthepony.kstarbound.io.json.util.asList import ru.dbotthepony.kstarbound.io.json.neverNull import ru.dbotthepony.kstarbound.util.NotNullVar diff --git a/src/main/kotlin/ru/dbotthepony/kstarbound/defs/item/CurrencyItemPrototype.kt b/src/main/kotlin/ru/dbotthepony/kstarbound/defs/item/CurrencyItemPrototype.kt index 3ca6d4ad..f9cb391e 100644 --- a/src/main/kotlin/ru/dbotthepony/kstarbound/defs/item/CurrencyItemPrototype.kt +++ b/src/main/kotlin/ru/dbotthepony/kstarbound/defs/item/CurrencyItemPrototype.kt @@ -1,7 +1,7 @@ package ru.dbotthepony.kstarbound.defs.item import ru.dbotthepony.kstarbound.defs.util.enrollMap -import ru.dbotthepony.kstarbound.io.json.BuilderAdapter +import ru.dbotthepony.kstarbound.io.json.builder.BuilderAdapter import ru.dbotthepony.kstarbound.util.NotNullVar class CurrencyItemPrototype : ItemPrototype(), ICurrencyItemDefinition { diff --git a/src/main/kotlin/ru/dbotthepony/kstarbound/defs/item/IArmorItemDefinition.kt b/src/main/kotlin/ru/dbotthepony/kstarbound/defs/item/IArmorItemDefinition.kt index 23570de8..db9d9da0 100644 --- a/src/main/kotlin/ru/dbotthepony/kstarbound/defs/item/IArmorItemDefinition.kt +++ b/src/main/kotlin/ru/dbotthepony/kstarbound/defs/item/IArmorItemDefinition.kt @@ -1,7 +1,7 @@ package ru.dbotthepony.kstarbound.defs.item import ru.dbotthepony.kstarbound.Starbound -import ru.dbotthepony.kstarbound.io.json.FactoryAdapter +import ru.dbotthepony.kstarbound.io.json.builder.FactoryAdapter import ru.dbotthepony.kstarbound.io.json.ifString interface IArmorItemDefinition : ILeveledItemDefinition, IScriptableItemDefinition { diff --git a/src/main/kotlin/ru/dbotthepony/kstarbound/defs/item/IFossilItemDefinition.kt b/src/main/kotlin/ru/dbotthepony/kstarbound/defs/item/IFossilItemDefinition.kt index c1212780..9284e6e7 100644 --- a/src/main/kotlin/ru/dbotthepony/kstarbound/defs/item/IFossilItemDefinition.kt +++ b/src/main/kotlin/ru/dbotthepony/kstarbound/defs/item/IFossilItemDefinition.kt @@ -1,7 +1,7 @@ package ru.dbotthepony.kstarbound.defs.item import ru.dbotthepony.kstarbound.defs.IThingWithDescription -import ru.dbotthepony.kstarbound.io.json.FactoryAdapter +import ru.dbotthepony.kstarbound.io.json.builder.FactoryAdapter import ru.dbotthepony.kvector.vector.ndouble.Vector2d interface IFossilItemDefinition : IItemDefinition { diff --git a/src/main/kotlin/ru/dbotthepony/kstarbound/defs/item/IItemDefinition.kt b/src/main/kotlin/ru/dbotthepony/kstarbound/defs/item/IItemDefinition.kt index 1acfbe77..436e1df6 100644 --- a/src/main/kotlin/ru/dbotthepony/kstarbound/defs/item/IItemDefinition.kt +++ b/src/main/kotlin/ru/dbotthepony/kstarbound/defs/item/IItemDefinition.kt @@ -3,7 +3,7 @@ package ru.dbotthepony.kstarbound.defs.item import ru.dbotthepony.kstarbound.Starbound import ru.dbotthepony.kstarbound.defs.IThingWithDescription import ru.dbotthepony.kstarbound.defs.image.SpriteReference -import ru.dbotthepony.kstarbound.io.json.FactoryAdapter +import ru.dbotthepony.kstarbound.io.json.builder.FactoryAdapter import ru.dbotthepony.kstarbound.io.json.ifString interface IItemDefinition : IThingWithDescription { diff --git a/src/main/kotlin/ru/dbotthepony/kstarbound/defs/item/ILeveledStatusEffect.kt b/src/main/kotlin/ru/dbotthepony/kstarbound/defs/item/ILeveledStatusEffect.kt index 795a646b..98238bc1 100644 --- a/src/main/kotlin/ru/dbotthepony/kstarbound/defs/item/ILeveledStatusEffect.kt +++ b/src/main/kotlin/ru/dbotthepony/kstarbound/defs/item/ILeveledStatusEffect.kt @@ -1,6 +1,6 @@ package ru.dbotthepony.kstarbound.defs.item -import ru.dbotthepony.kstarbound.io.json.FactoryAdapter +import ru.dbotthepony.kstarbound.io.json.builder.FactoryAdapter interface ILeveledStatusEffect { val levelFunction: String @@ -17,10 +17,10 @@ data class LeveledStatusEffect( ) : ILeveledStatusEffect { companion object { val ADAPTER = FactoryAdapter.Builder(LeveledStatusEffect::class, - LeveledStatusEffect::levelFunction, - LeveledStatusEffect::stat, - LeveledStatusEffect::baseMultiplier, - LeveledStatusEffect::amount, + LeveledStatusEffect::levelFunction, + LeveledStatusEffect::stat, + LeveledStatusEffect::baseMultiplier, + LeveledStatusEffect::amount, ).build() } } diff --git a/src/main/kotlin/ru/dbotthepony/kstarbound/defs/item/ItemPrototype.kt b/src/main/kotlin/ru/dbotthepony/kstarbound/defs/item/ItemPrototype.kt index 2cf923d5..ab724c88 100644 --- a/src/main/kotlin/ru/dbotthepony/kstarbound/defs/item/ItemPrototype.kt +++ b/src/main/kotlin/ru/dbotthepony/kstarbound/defs/item/ItemPrototype.kt @@ -2,8 +2,8 @@ package ru.dbotthepony.kstarbound.defs.item import ru.dbotthepony.kstarbound.defs.ThingDescription import ru.dbotthepony.kstarbound.defs.util.enrollMap -import ru.dbotthepony.kstarbound.io.json.BuilderAdapter -import ru.dbotthepony.kstarbound.io.json.INativeJsonHolder +import ru.dbotthepony.kstarbound.io.json.builder.BuilderAdapter +import ru.dbotthepony.kstarbound.io.json.builder.INativeJsonHolder import ru.dbotthepony.kstarbound.util.NotNullVar open class ItemPrototype : IItemDefinition, INativeJsonHolder { diff --git a/src/main/kotlin/ru/dbotthepony/kstarbound/defs/item/ItemRarity.kt b/src/main/kotlin/ru/dbotthepony/kstarbound/defs/item/ItemRarity.kt index 5090251c..1e889c3a 100644 --- a/src/main/kotlin/ru/dbotthepony/kstarbound/defs/item/ItemRarity.kt +++ b/src/main/kotlin/ru/dbotthepony/kstarbound/defs/item/ItemRarity.kt @@ -1,11 +1,7 @@ package ru.dbotthepony.kstarbound.defs.item -import com.google.gson.GsonBuilder -import com.google.gson.TypeAdapter import com.google.gson.stream.JsonWriter -import ru.dbotthepony.kstarbound.io.json.EnumAdapter -import ru.dbotthepony.kstarbound.io.json.IStringSerializable -import ru.dbotthepony.kstarbound.registerTypeAdapter +import ru.dbotthepony.kstarbound.io.json.builder.IStringSerializable enum class ItemRarity(val canonical: String) : IStringSerializable { COMMON("Common"), diff --git a/src/main/kotlin/ru/dbotthepony/kstarbound/defs/item/LiquidItemPrototype.kt b/src/main/kotlin/ru/dbotthepony/kstarbound/defs/item/LiquidItemPrototype.kt index 26d82630..4ba1020f 100644 --- a/src/main/kotlin/ru/dbotthepony/kstarbound/defs/item/LiquidItemPrototype.kt +++ b/src/main/kotlin/ru/dbotthepony/kstarbound/defs/item/LiquidItemPrototype.kt @@ -2,7 +2,7 @@ package ru.dbotthepony.kstarbound.defs.item import ru.dbotthepony.kstarbound.defs.MaterialReference import ru.dbotthepony.kstarbound.defs.util.enrollMap -import ru.dbotthepony.kstarbound.io.json.BuilderAdapter +import ru.dbotthepony.kstarbound.io.json.builder.BuilderAdapter class LiquidItemPrototype : ItemPrototype() { var liquid: MaterialReference? = null diff --git a/src/main/kotlin/ru/dbotthepony/kstarbound/defs/item/MaterialItemPrototype.kt b/src/main/kotlin/ru/dbotthepony/kstarbound/defs/item/MaterialItemPrototype.kt index ba9f7575..4ba586cd 100644 --- a/src/main/kotlin/ru/dbotthepony/kstarbound/defs/item/MaterialItemPrototype.kt +++ b/src/main/kotlin/ru/dbotthepony/kstarbound/defs/item/MaterialItemPrototype.kt @@ -2,7 +2,7 @@ package ru.dbotthepony.kstarbound.defs.item import ru.dbotthepony.kstarbound.defs.MaterialReference import ru.dbotthepony.kstarbound.defs.util.enrollMap -import ru.dbotthepony.kstarbound.io.json.BuilderAdapter +import ru.dbotthepony.kstarbound.io.json.builder.BuilderAdapter class MaterialItemPrototype : ItemPrototype() { var material: MaterialReference? = null diff --git a/src/main/kotlin/ru/dbotthepony/kstarbound/defs/liquid/LiquidDefinition.kt b/src/main/kotlin/ru/dbotthepony/kstarbound/defs/liquid/LiquidDefinition.kt index 8376bc76..84e08d0a 100644 --- a/src/main/kotlin/ru/dbotthepony/kstarbound/defs/liquid/LiquidDefinition.kt +++ b/src/main/kotlin/ru/dbotthepony/kstarbound/defs/liquid/LiquidDefinition.kt @@ -1,7 +1,7 @@ package ru.dbotthepony.kstarbound.defs.liquid import com.google.gson.GsonBuilder -import ru.dbotthepony.kstarbound.io.json.FactoryAdapter +import ru.dbotthepony.kstarbound.io.json.builder.FactoryAdapter import ru.dbotthepony.kstarbound.registerTypeAdapter import ru.dbotthepony.kvector.vector.Color diff --git a/src/main/kotlin/ru/dbotthepony/kstarbound/defs/parallax/ParallaxPrototype.kt b/src/main/kotlin/ru/dbotthepony/kstarbound/defs/parallax/ParallaxPrototype.kt index 2e4ac46c..92b0d3ea 100644 --- a/src/main/kotlin/ru/dbotthepony/kstarbound/defs/parallax/ParallaxPrototype.kt +++ b/src/main/kotlin/ru/dbotthepony/kstarbound/defs/parallax/ParallaxPrototype.kt @@ -1,7 +1,7 @@ package ru.dbotthepony.kstarbound.defs.parallax import com.google.gson.GsonBuilder -import ru.dbotthepony.kstarbound.io.json.BuilderAdapter +import ru.dbotthepony.kstarbound.io.json.builder.BuilderAdapter class ParallaxPrototype { var verticalOrigin = 0.0 diff --git a/src/main/kotlin/ru/dbotthepony/kstarbound/defs/parallax/ParallaxPrototypeLayer.kt b/src/main/kotlin/ru/dbotthepony/kstarbound/defs/parallax/ParallaxPrototypeLayer.kt index b1c36353..761d4416 100644 --- a/src/main/kotlin/ru/dbotthepony/kstarbound/defs/parallax/ParallaxPrototypeLayer.kt +++ b/src/main/kotlin/ru/dbotthepony/kstarbound/defs/parallax/ParallaxPrototypeLayer.kt @@ -5,7 +5,7 @@ import com.google.gson.TypeAdapter import com.google.gson.stream.JsonReader import com.google.gson.stream.JsonToken import com.google.gson.stream.JsonWriter -import ru.dbotthepony.kstarbound.io.json.BuilderAdapter +import ru.dbotthepony.kstarbound.io.json.builder.BuilderAdapter import ru.dbotthepony.kvector.vector.ndouble.Vector2d import kotlin.properties.Delegates diff --git a/src/main/kotlin/ru/dbotthepony/kstarbound/defs/projectile/Configurable.kt b/src/main/kotlin/ru/dbotthepony/kstarbound/defs/projectile/Configurable.kt index f2c2bac2..8550eeb5 100644 --- a/src/main/kotlin/ru/dbotthepony/kstarbound/defs/projectile/Configurable.kt +++ b/src/main/kotlin/ru/dbotthepony/kstarbound/defs/projectile/Configurable.kt @@ -8,8 +8,8 @@ import org.apache.logging.log4j.LogManager import ru.dbotthepony.kstarbound.Starbound import ru.dbotthepony.kstarbound.defs.* import ru.dbotthepony.kstarbound.defs.image.ImageReference -import ru.dbotthepony.kstarbound.io.json.BuilderAdapter -import ru.dbotthepony.kstarbound.io.json.EnumAdapter +import ru.dbotthepony.kstarbound.io.json.builder.BuilderAdapter +import ru.dbotthepony.kstarbound.io.json.builder.EnumAdapter import ru.dbotthepony.kstarbound.registerTypeAdapter import ru.dbotthepony.kstarbound.util.NotNullVar import ru.dbotthepony.kvector.vector.Color @@ -205,9 +205,9 @@ class ActionProjectile : IConfigurableAction { companion object { val ADAPTER = BuilderAdapter.Builder(::ActionProjectile, - ActionProjectile::type, - ActionProjectile::angle, - ActionProjectile::inheritDamageFactor, + ActionProjectile::type, + ActionProjectile::angle, + ActionProjectile::inheritDamageFactor, ).ignoreKey("action").build() } } @@ -224,7 +224,7 @@ class ActionSound : IConfigurableAction { companion object { val ADAPTER = BuilderAdapter.Builder(::ActionSound, - ActionSound::options, + ActionSound::options, ).ignoreKey("action").build() } } @@ -242,8 +242,8 @@ class ActionLoop : IConfigurableAction { companion object { val ADAPTER = BuilderAdapter.Builder(::ActionLoop, - ActionLoop::count, - ActionLoop::body, + ActionLoop::count, + ActionLoop::body, ).ignoreKey("action").build() } } @@ -260,7 +260,7 @@ class ActionActions : IConfigurableAction { companion object { val ADAPTER = BuilderAdapter.Builder(::ActionActions, - ActionActions::list, + ActionActions::list, ).ignoreKey("action").build() } } diff --git a/src/main/kotlin/ru/dbotthepony/kstarbound/defs/projectile/ProjectilePhysics.kt b/src/main/kotlin/ru/dbotthepony/kstarbound/defs/projectile/ProjectilePhysics.kt index fd8b014a..37ccd766 100644 --- a/src/main/kotlin/ru/dbotthepony/kstarbound/defs/projectile/ProjectilePhysics.kt +++ b/src/main/kotlin/ru/dbotthepony/kstarbound/defs/projectile/ProjectilePhysics.kt @@ -1,7 +1,7 @@ package ru.dbotthepony.kstarbound.defs.projectile import com.google.gson.stream.JsonWriter -import ru.dbotthepony.kstarbound.io.json.IStringSerializable +import ru.dbotthepony.kstarbound.io.json.builder.IStringSerializable enum class ProjectilePhysics(vararg aliases: String) : IStringSerializable { GAS, diff --git a/src/main/kotlin/ru/dbotthepony/kstarbound/defs/tile/MaterialModifier.kt b/src/main/kotlin/ru/dbotthepony/kstarbound/defs/tile/MaterialModifier.kt index 8323ac79..b7877dfd 100644 --- a/src/main/kotlin/ru/dbotthepony/kstarbound/defs/tile/MaterialModifier.kt +++ b/src/main/kotlin/ru/dbotthepony/kstarbound/defs/tile/MaterialModifier.kt @@ -1,7 +1,7 @@ package ru.dbotthepony.kstarbound.defs.tile import com.google.gson.GsonBuilder -import ru.dbotthepony.kstarbound.io.json.FactoryAdapter +import ru.dbotthepony.kstarbound.io.json.builder.FactoryAdapter data class MaterialModifier( val modId: Int, diff --git a/src/main/kotlin/ru/dbotthepony/kstarbound/defs/tile/RenderParameters.kt b/src/main/kotlin/ru/dbotthepony/kstarbound/defs/tile/RenderParameters.kt index 514c2ec6..6d1142ed 100644 --- a/src/main/kotlin/ru/dbotthepony/kstarbound/defs/tile/RenderParameters.kt +++ b/src/main/kotlin/ru/dbotthepony/kstarbound/defs/tile/RenderParameters.kt @@ -2,7 +2,7 @@ package ru.dbotthepony.kstarbound.defs.tile import com.google.gson.GsonBuilder import ru.dbotthepony.kstarbound.Starbound -import ru.dbotthepony.kstarbound.io.json.FactoryAdapter +import ru.dbotthepony.kstarbound.io.json.builder.FactoryAdapter const val TILE_COLOR_VARIANTS = 9 diff --git a/src/main/kotlin/ru/dbotthepony/kstarbound/defs/tile/RenderTemplate.kt b/src/main/kotlin/ru/dbotthepony/kstarbound/defs/tile/RenderTemplate.kt index 1d04dad9..4d3fd396 100644 --- a/src/main/kotlin/ru/dbotthepony/kstarbound/defs/tile/RenderTemplate.kt +++ b/src/main/kotlin/ru/dbotthepony/kstarbound/defs/tile/RenderTemplate.kt @@ -9,8 +9,8 @@ import com.google.gson.stream.JsonWriter import it.unimi.dsi.fastutil.objects.ObjectArraySet import org.apache.logging.log4j.LogManager import ru.dbotthepony.kstarbound.Starbound -import ru.dbotthepony.kstarbound.io.json.EnumAdapter -import ru.dbotthepony.kstarbound.io.json.FactoryAdapter +import ru.dbotthepony.kstarbound.io.json.builder.EnumAdapter +import ru.dbotthepony.kstarbound.io.json.builder.FactoryAdapter import ru.dbotthepony.kstarbound.registerTypeAdapter import ru.dbotthepony.kstarbound.util.WriteOnce import ru.dbotthepony.kstarbound.world.ITileGetter diff --git a/src/main/kotlin/ru/dbotthepony/kstarbound/defs/tile/TileDefinition.kt b/src/main/kotlin/ru/dbotthepony/kstarbound/defs/tile/TileDefinition.kt index ce0e08d1..bc1858cd 100644 --- a/src/main/kotlin/ru/dbotthepony/kstarbound/defs/tile/TileDefinition.kt +++ b/src/main/kotlin/ru/dbotthepony/kstarbound/defs/tile/TileDefinition.kt @@ -1,7 +1,7 @@ package ru.dbotthepony.kstarbound.defs.tile import com.google.gson.GsonBuilder -import ru.dbotthepony.kstarbound.io.json.FactoryAdapter +import ru.dbotthepony.kstarbound.io.json.builder.FactoryAdapter import ru.dbotthepony.kstarbound.registerTypeAdapter import ru.dbotthepony.kvector.vector.Color diff --git a/src/main/kotlin/ru/dbotthepony/kstarbound/defs/world/SkyParameters.kt b/src/main/kotlin/ru/dbotthepony/kstarbound/defs/world/SkyParameters.kt index c73e5bb0..da361450 100644 --- a/src/main/kotlin/ru/dbotthepony/kstarbound/defs/world/SkyParameters.kt +++ b/src/main/kotlin/ru/dbotthepony/kstarbound/defs/world/SkyParameters.kt @@ -6,8 +6,8 @@ import com.google.gson.stream.JsonReader import com.google.gson.stream.JsonWriter import org.apache.logging.log4j.LogManager import ru.dbotthepony.kstarbound.io.ColorTypeAdapter -import ru.dbotthepony.kstarbound.io.json.BuilderAdapter -import ru.dbotthepony.kstarbound.io.json.EnumAdapter +import ru.dbotthepony.kstarbound.io.json.builder.BuilderAdapter +import ru.dbotthepony.kstarbound.io.json.builder.EnumAdapter import ru.dbotthepony.kvector.vector.Color import ru.dbotthepony.kvector.vector.ndouble.Vector2d import kotlin.properties.ReadWriteProperty diff --git a/src/main/kotlin/ru/dbotthepony/kstarbound/defs/world/SkyType.kt b/src/main/kotlin/ru/dbotthepony/kstarbound/defs/world/SkyType.kt index 9291b752..150b4a45 100644 --- a/src/main/kotlin/ru/dbotthepony/kstarbound/defs/world/SkyType.kt +++ b/src/main/kotlin/ru/dbotthepony/kstarbound/defs/world/SkyType.kt @@ -1,7 +1,7 @@ package ru.dbotthepony.kstarbound.defs.world import com.google.gson.stream.JsonWriter -import ru.dbotthepony.kstarbound.io.json.IStringSerializable +import ru.dbotthepony.kstarbound.io.json.builder.IStringSerializable enum class SkyType(vararg aliases: String) : IStringSerializable { ATMOSPHERIC, diff --git a/src/main/kotlin/ru/dbotthepony/kstarbound/defs/world/WorldProperties.kt b/src/main/kotlin/ru/dbotthepony/kstarbound/defs/world/WorldProperties.kt index 8fe5343d..ce421351 100644 --- a/src/main/kotlin/ru/dbotthepony/kstarbound/defs/world/WorldProperties.kt +++ b/src/main/kotlin/ru/dbotthepony/kstarbound/defs/world/WorldProperties.kt @@ -1,7 +1,7 @@ package ru.dbotthepony.kstarbound.defs.world import com.google.gson.GsonBuilder -import ru.dbotthepony.kstarbound.io.json.BuilderAdapter +import ru.dbotthepony.kstarbound.io.json.builder.BuilderAdapter class WorldProperties { var nonCombat = false diff --git a/src/main/kotlin/ru/dbotthepony/kstarbound/defs/world/dungeon/BeamUpRule.kt b/src/main/kotlin/ru/dbotthepony/kstarbound/defs/world/dungeon/BeamUpRule.kt index d9462a15..d9173190 100644 --- a/src/main/kotlin/ru/dbotthepony/kstarbound/defs/world/dungeon/BeamUpRule.kt +++ b/src/main/kotlin/ru/dbotthepony/kstarbound/defs/world/dungeon/BeamUpRule.kt @@ -1,7 +1,7 @@ package ru.dbotthepony.kstarbound.defs.world.dungeon import com.google.gson.stream.JsonWriter -import ru.dbotthepony.kstarbound.io.json.IStringSerializable +import ru.dbotthepony.kstarbound.io.json.builder.IStringSerializable enum class BeamUpRule(vararg aliases: String) : IStringSerializable { NOWHERE, diff --git a/src/main/kotlin/ru/dbotthepony/kstarbound/defs/world/dungeon/Configurable.kt b/src/main/kotlin/ru/dbotthepony/kstarbound/defs/world/dungeon/Configurable.kt index 5d003eb2..868a87a1 100644 --- a/src/main/kotlin/ru/dbotthepony/kstarbound/defs/world/dungeon/Configurable.kt +++ b/src/main/kotlin/ru/dbotthepony/kstarbound/defs/world/dungeon/Configurable.kt @@ -3,8 +3,8 @@ package ru.dbotthepony.kstarbound.defs.world.dungeon import com.google.gson.GsonBuilder import ru.dbotthepony.kstarbound.defs.world.SkyParameters import ru.dbotthepony.kstarbound.defs.world.WorldProperties -import ru.dbotthepony.kstarbound.io.json.BuilderAdapter -import ru.dbotthepony.kstarbound.io.json.EnumAdapter +import ru.dbotthepony.kstarbound.io.json.builder.BuilderAdapter +import ru.dbotthepony.kstarbound.io.json.builder.EnumAdapter import ru.dbotthepony.kstarbound.registerTypeAdapter import kotlin.properties.Delegates diff --git a/src/main/kotlin/ru/dbotthepony/kstarbound/defs/world/dungeon/DungeonType.kt b/src/main/kotlin/ru/dbotthepony/kstarbound/defs/world/dungeon/DungeonType.kt index 22fb2fc6..827333aa 100644 --- a/src/main/kotlin/ru/dbotthepony/kstarbound/defs/world/dungeon/DungeonType.kt +++ b/src/main/kotlin/ru/dbotthepony/kstarbound/defs/world/dungeon/DungeonType.kt @@ -1,7 +1,7 @@ package ru.dbotthepony.kstarbound.defs.world.dungeon import com.google.gson.stream.JsonWriter -import ru.dbotthepony.kstarbound.io.json.IStringSerializable +import ru.dbotthepony.kstarbound.io.json.builder.IStringSerializable enum class DungeonType(vararg aliases: String) : IStringSerializable { FLOATING("FloatingDungeon"), diff --git a/src/main/kotlin/ru/dbotthepony/kstarbound/io/json/BuilderAdapter.kt b/src/main/kotlin/ru/dbotthepony/kstarbound/io/json/builder/BuilderAdapter.kt similarity index 98% rename from src/main/kotlin/ru/dbotthepony/kstarbound/io/json/BuilderAdapter.kt rename to src/main/kotlin/ru/dbotthepony/kstarbound/io/json/builder/BuilderAdapter.kt index 17ccde97..6218f386 100644 --- a/src/main/kotlin/ru/dbotthepony/kstarbound/io/json/BuilderAdapter.kt +++ b/src/main/kotlin/ru/dbotthepony/kstarbound/io/json/builder/BuilderAdapter.kt @@ -1,4 +1,4 @@ -package ru.dbotthepony.kstarbound.io.json +package ru.dbotthepony.kstarbound.io.json.builder import com.google.common.collect.ImmutableMap import com.google.common.collect.ImmutableSet @@ -15,6 +15,8 @@ import it.unimi.dsi.fastutil.objects.ObjectOpenHashSet import org.apache.logging.log4j.LogManager import ru.dbotthepony.kstarbound.Starbound import ru.dbotthepony.kstarbound.defs.util.flattenJsonElement +import ru.dbotthepony.kstarbound.io.json.util.LazyTypeProvider +import ru.dbotthepony.kstarbound.io.json.util.ListAdapter import ru.dbotthepony.kstarbound.util.NotNullVar import kotlin.properties.Delegates import kotlin.reflect.KClass @@ -293,11 +295,13 @@ class BuilderAdapter private constructor( fun add(property: KMutableProperty1, adapter: TypeAdapter, configurator: PropertyConfigurator.() -> Unit = {}): Builder { val config = _add(property, adapter, configurator) - properties.add(WrappedProperty( + properties.add( + WrappedProperty( property, adapter, mustBePresent = config.mustBePresent - )) + ) + ) return this } @@ -327,11 +331,13 @@ class BuilderAdapter private constructor( check(!extraPropertiesAreFatal) { "Can't have both flattened properties and extraPropertiesAreFatal" } - flatProperties.add(WrappedProperty( + flatProperties.add( + WrappedProperty( property, adapter, mustBePresent = config.mustBePresent - )) + ) + ) return this } diff --git a/src/main/kotlin/ru/dbotthepony/kstarbound/io/json/EnumAdapter.kt b/src/main/kotlin/ru/dbotthepony/kstarbound/io/json/builder/EnumAdapter.kt similarity index 98% rename from src/main/kotlin/ru/dbotthepony/kstarbound/io/json/EnumAdapter.kt rename to src/main/kotlin/ru/dbotthepony/kstarbound/io/json/builder/EnumAdapter.kt index 70f479d8..8d8c93c3 100644 --- a/src/main/kotlin/ru/dbotthepony/kstarbound/io/json/EnumAdapter.kt +++ b/src/main/kotlin/ru/dbotthepony/kstarbound/io/json/builder/EnumAdapter.kt @@ -1,4 +1,4 @@ -package ru.dbotthepony.kstarbound.io.json +package ru.dbotthepony.kstarbound.io.json.builder import com.google.common.collect.ImmutableList import com.google.common.collect.ImmutableMap @@ -9,7 +9,6 @@ import com.google.gson.stream.JsonReader import com.google.gson.stream.JsonToken import com.google.gson.stream.JsonWriter import it.unimi.dsi.fastutil.objects.Object2ObjectArrayMap -import ru.dbotthepony.kstarbound.set import java.util.Arrays import java.util.stream.Stream import kotlin.reflect.KClass diff --git a/src/main/kotlin/ru/dbotthepony/kstarbound/io/json/FactoryAdapter.kt b/src/main/kotlin/ru/dbotthepony/kstarbound/io/json/builder/FactoryAdapter.kt similarity index 98% rename from src/main/kotlin/ru/dbotthepony/kstarbound/io/json/FactoryAdapter.kt rename to src/main/kotlin/ru/dbotthepony/kstarbound/io/json/builder/FactoryAdapter.kt index 7ca8f9a9..6c8af1a3 100644 --- a/src/main/kotlin/ru/dbotthepony/kstarbound/io/json/FactoryAdapter.kt +++ b/src/main/kotlin/ru/dbotthepony/kstarbound/io/json/builder/FactoryAdapter.kt @@ -1,4 +1,4 @@ -package ru.dbotthepony.kstarbound.io.json +package ru.dbotthepony.kstarbound.io.json.builder import com.google.common.collect.ImmutableList import com.google.common.collect.ImmutableMap @@ -20,6 +20,10 @@ import ru.dbotthepony.kstarbound.defs.util.enrollList import ru.dbotthepony.kstarbound.defs.util.enrollMap import ru.dbotthepony.kstarbound.defs.util.flattenJsonElement import ru.dbotthepony.kstarbound.getValue +import ru.dbotthepony.kstarbound.io.json.util.LazyTypeProvider +import ru.dbotthepony.kstarbound.io.json.util.ListAdapter +import ru.dbotthepony.kstarbound.io.json.util.MapAdapter +import ru.dbotthepony.kstarbound.io.json.util.String2ObjectAdapter import ru.dbotthepony.kstarbound.setValue import java.lang.reflect.Constructor import kotlin.jvm.internal.DefaultConstructorMarker diff --git a/src/main/kotlin/ru/dbotthepony/kstarbound/io/json/LazyTypeProvider.kt b/src/main/kotlin/ru/dbotthepony/kstarbound/io/json/util/LazyTypeProvider.kt similarity index 90% rename from src/main/kotlin/ru/dbotthepony/kstarbound/io/json/LazyTypeProvider.kt rename to src/main/kotlin/ru/dbotthepony/kstarbound/io/json/util/LazyTypeProvider.kt index d7074117..53aab928 100644 --- a/src/main/kotlin/ru/dbotthepony/kstarbound/io/json/LazyTypeProvider.kt +++ b/src/main/kotlin/ru/dbotthepony/kstarbound/io/json/util/LazyTypeProvider.kt @@ -1,4 +1,4 @@ -package ru.dbotthepony.kstarbound.io.json +package ru.dbotthepony.kstarbound.io.json.util import com.google.gson.TypeAdapter import com.google.gson.stream.JsonReader diff --git a/src/main/kotlin/ru/dbotthepony/kstarbound/io/json/ListAdapter.kt b/src/main/kotlin/ru/dbotthepony/kstarbound/io/json/util/ListAdapter.kt similarity index 94% rename from src/main/kotlin/ru/dbotthepony/kstarbound/io/json/ListAdapter.kt rename to src/main/kotlin/ru/dbotthepony/kstarbound/io/json/util/ListAdapter.kt index cb607551..248aa581 100644 --- a/src/main/kotlin/ru/dbotthepony/kstarbound/io/json/ListAdapter.kt +++ b/src/main/kotlin/ru/dbotthepony/kstarbound/io/json/util/ListAdapter.kt @@ -1,4 +1,4 @@ -package ru.dbotthepony.kstarbound.io.json +package ru.dbotthepony.kstarbound.io.json.util import com.google.common.collect.ImmutableList import com.google.gson.JsonSyntaxException @@ -6,7 +6,6 @@ import com.google.gson.TypeAdapter import com.google.gson.stream.JsonReader import com.google.gson.stream.JsonToken import com.google.gson.stream.JsonWriter -import ru.dbotthepony.kstarbound.Starbound fun TypeAdapter.asList(valueTransformer: (T) -> T = { it }): TypeAdapter> { return ListAdapter(this, valueTransformer = valueTransformer) diff --git a/src/main/kotlin/ru/dbotthepony/kstarbound/io/json/MapAdapter.kt b/src/main/kotlin/ru/dbotthepony/kstarbound/io/json/util/MapAdapter.kt similarity index 92% rename from src/main/kotlin/ru/dbotthepony/kstarbound/io/json/MapAdapter.kt rename to src/main/kotlin/ru/dbotthepony/kstarbound/io/json/util/MapAdapter.kt index 0e7ca6bd..c6871fd8 100644 --- a/src/main/kotlin/ru/dbotthepony/kstarbound/io/json/MapAdapter.kt +++ b/src/main/kotlin/ru/dbotthepony/kstarbound/io/json/util/MapAdapter.kt @@ -1,11 +1,10 @@ -package ru.dbotthepony.kstarbound.io.json +package ru.dbotthepony.kstarbound.io.json.util import com.google.common.collect.ImmutableMap import com.google.gson.TypeAdapter import com.google.gson.stream.JsonReader import com.google.gson.stream.JsonToken import com.google.gson.stream.JsonWriter -import ru.dbotthepony.kstarbound.Starbound class MapAdapter(val keyAdapter: TypeAdapter, val valueAdapter: TypeAdapter) : TypeAdapter>() { constructor(keyType: Class, valueType: Class) : this(LazyTypeProvider(keyType), LazyTypeProvider(valueType)) diff --git a/src/main/kotlin/ru/dbotthepony/kstarbound/io/json/String2ObjectAdapter.kt b/src/main/kotlin/ru/dbotthepony/kstarbound/io/json/util/String2ObjectAdapter.kt similarity index 96% rename from src/main/kotlin/ru/dbotthepony/kstarbound/io/json/String2ObjectAdapter.kt rename to src/main/kotlin/ru/dbotthepony/kstarbound/io/json/util/String2ObjectAdapter.kt index f662349e..54914adc 100644 --- a/src/main/kotlin/ru/dbotthepony/kstarbound/io/json/String2ObjectAdapter.kt +++ b/src/main/kotlin/ru/dbotthepony/kstarbound/io/json/util/String2ObjectAdapter.kt @@ -1,4 +1,4 @@ -package ru.dbotthepony.kstarbound.io.json +package ru.dbotthepony.kstarbound.io.json.util import com.google.common.collect.ImmutableMap import com.google.gson.TypeAdapter