Рефакторинг имён
This commit is contained in:
parent
ef9e22b51c
commit
35151c8187
@ -1,6 +1,5 @@
|
|||||||
package ru.dbotthepony.kstarbound.defs.item
|
package ru.dbotthepony.kstarbound.defs.item
|
||||||
|
|
||||||
import com.google.common.collect.ImmutableList
|
|
||||||
import com.google.gson.GsonBuilder
|
import com.google.gson.GsonBuilder
|
||||||
import ru.dbotthepony.kstarbound.Starbound
|
import ru.dbotthepony.kstarbound.Starbound
|
||||||
import ru.dbotthepony.kstarbound.io.KConcreteTypeAdapter
|
import ru.dbotthepony.kstarbound.io.KConcreteTypeAdapter
|
||||||
@ -255,78 +254,78 @@ data class ItemDefinition(
|
|||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
val ADAPTER = KConcreteTypeAdapter.Builder(ItemDefinition::class)
|
val ADAPTER = KConcreteTypeAdapter.Builder(ItemDefinition::class)
|
||||||
.plain(ItemDefinition::itemName)
|
.auto(ItemDefinition::itemName)
|
||||||
.plain(ItemDefinition::price)
|
.auto(ItemDefinition::price)
|
||||||
.plain(ItemDefinition::rarity)
|
.auto(ItemDefinition::rarity)
|
||||||
.plain(ItemDefinition::category)
|
.auto(ItemDefinition::category)
|
||||||
.plain(ItemDefinition::inventoryIcon, Starbound::readingFolderTransformerNullable)
|
.auto(ItemDefinition::inventoryIcon, Starbound::readingFolderTransformerNullable)
|
||||||
.plain(ItemDefinition::description)
|
.auto(ItemDefinition::description)
|
||||||
.plain(ItemDefinition::shortdescription)
|
.auto(ItemDefinition::shortdescription)
|
||||||
|
|
||||||
.list(ItemDefinition::itemTags)
|
.list(ItemDefinition::itemTags)
|
||||||
.list(ItemDefinition::learnBlueprintsOnPickup)
|
.list(ItemDefinition::learnBlueprintsOnPickup)
|
||||||
|
|
||||||
.plain(ItemDefinition::maxStack)
|
.auto(ItemDefinition::maxStack)
|
||||||
.plain(ItemDefinition::eventCategory)
|
.auto(ItemDefinition::eventCategory)
|
||||||
.plain(ItemDefinition::consumeOnPickup)
|
.auto(ItemDefinition::consumeOnPickup)
|
||||||
.list(ItemDefinition::pickupQuestTemplates)
|
.list(ItemDefinition::pickupQuestTemplates)
|
||||||
|
|
||||||
.plain(ItemDefinition::race)
|
.auto(ItemDefinition::race)
|
||||||
.plain(ItemDefinition::displayImage, transformer = Starbound::readingFolderTransformerNullable)
|
.auto(ItemDefinition::displayImage, transformer = Starbound::readingFolderTransformerNullable)
|
||||||
.plain(ItemDefinition::displayoffset)
|
.auto(ItemDefinition::displayoffset)
|
||||||
.plain(ItemDefinition::fossilSetName)
|
.auto(ItemDefinition::fossilSetName)
|
||||||
.plain(ItemDefinition::setIndex)
|
.auto(ItemDefinition::setIndex)
|
||||||
.plain(ItemDefinition::setCount)
|
.auto(ItemDefinition::setCount)
|
||||||
.map(ItemDefinition::setCollectables, String::class)
|
.map(ItemDefinition::setCollectables, String::class)
|
||||||
.plain(ItemDefinition::completeFossilIcon)
|
.auto(ItemDefinition::completeFossilIcon)
|
||||||
.plain(ItemDefinition::completeFossilObject)
|
.auto(ItemDefinition::completeFossilObject)
|
||||||
|
|
||||||
.plain(ItemDefinition::completeSetDescriptions)
|
.auto(ItemDefinition::completeSetDescriptions)
|
||||||
.list(ItemDefinition::radioMessagesOnPickup)
|
.list(ItemDefinition::radioMessagesOnPickup)
|
||||||
.plain(ItemDefinition::fuelAmount)
|
.auto(ItemDefinition::fuelAmount)
|
||||||
|
|
||||||
.list(ItemDefinition::pickupSoundsSmall)
|
.list(ItemDefinition::pickupSoundsSmall)
|
||||||
.list(ItemDefinition::pickupSoundsMedium)
|
.list(ItemDefinition::pickupSoundsMedium)
|
||||||
.list(ItemDefinition::pickupSoundsLarge)
|
.list(ItemDefinition::pickupSoundsLarge)
|
||||||
.plain(ItemDefinition::smallStackLimit)
|
.auto(ItemDefinition::smallStackLimit)
|
||||||
.plain(ItemDefinition::mediumStackLimit)
|
.auto(ItemDefinition::mediumStackLimit)
|
||||||
.plain(ItemDefinition::currency)
|
.auto(ItemDefinition::currency)
|
||||||
.plain(ItemDefinition::value)
|
.auto(ItemDefinition::value)
|
||||||
|
|
||||||
.list(ItemDefinition::scripts, transformer = Starbound::readingFolderListTransformer)
|
.list(ItemDefinition::scripts, transformer = Starbound::readingFolderListTransformer)
|
||||||
.list(ItemDefinition::animationScripts, transformer = Starbound::readingFolderListTransformer)
|
.list(ItemDefinition::animationScripts, transformer = Starbound::readingFolderListTransformer)
|
||||||
|
|
||||||
.plain(ItemDefinition::tooltipKind)
|
.auto(ItemDefinition::tooltipKind)
|
||||||
.plain(ItemDefinition::level)
|
.auto(ItemDefinition::level)
|
||||||
.list(ItemDefinition::leveledStatusEffects)
|
.list(ItemDefinition::leveledStatusEffects)
|
||||||
// .map(ItemDefinition::colorOptions)
|
// .map(ItemDefinition::colorOptions)
|
||||||
.plain(ItemDefinition::maleFrames)
|
.auto(ItemDefinition::maleFrames)
|
||||||
.plain(ItemDefinition::femaleFrames)
|
.auto(ItemDefinition::femaleFrames)
|
||||||
|
|
||||||
.plain(ItemDefinition::animation, transformer = Starbound::readingFolderTransformerNullable)
|
.auto(ItemDefinition::animation, transformer = Starbound::readingFolderTransformerNullable)
|
||||||
.plain(ItemDefinition::twoHanded)
|
.auto(ItemDefinition::twoHanded)
|
||||||
|
|
||||||
.storesJson()
|
.storesJson()
|
||||||
|
|
||||||
.build()
|
.build()
|
||||||
|
|
||||||
val FOSSIL_ADAPTER = KConcreteTypeAdapter.Builder(FossilSetDescription::class)
|
val FOSSIL_ADAPTER = KConcreteTypeAdapter.Builder(FossilSetDescription::class)
|
||||||
.plain(FossilSetDescription::price)
|
.auto(FossilSetDescription::price)
|
||||||
.plain(FossilSetDescription::shortdescription)
|
.auto(FossilSetDescription::shortdescription)
|
||||||
.plain(FossilSetDescription::description)
|
.auto(FossilSetDescription::description)
|
||||||
.specifyStringInterner(ADAPTER.stringInterner)
|
.specifyStringInterner(ADAPTER.stringInterner)
|
||||||
.build()
|
.build()
|
||||||
|
|
||||||
val ARMOR_FRAMES_ADAPTER = KConcreteTypeAdapter.Builder(ArmorFrames::class)
|
val ARMOR_FRAMES_ADAPTER = KConcreteTypeAdapter.Builder(ArmorFrames::class)
|
||||||
.plain(ArmorFrames::body, transformer = Starbound::readingFolderTransformer)
|
.auto(ArmorFrames::body, transformer = Starbound::readingFolderTransformer)
|
||||||
.plain(ArmorFrames::backSleeve, transformer = Starbound::readingFolderTransformer)
|
.auto(ArmorFrames::backSleeve, transformer = Starbound::readingFolderTransformer)
|
||||||
.plain(ArmorFrames::frontSleeve, transformer = Starbound::readingFolderTransformer)
|
.auto(ArmorFrames::frontSleeve, transformer = Starbound::readingFolderTransformer)
|
||||||
.build()
|
.build()
|
||||||
|
|
||||||
val STATUS_EFFECT_ADAPTER = KConcreteTypeAdapter.Builder(StatusEffect::class)
|
val STATUS_EFFECT_ADAPTER = KConcreteTypeAdapter.Builder(StatusEffect::class)
|
||||||
.plain(StatusEffect::levelFunction)
|
.auto(StatusEffect::levelFunction)
|
||||||
.plain(StatusEffect::stat)
|
.auto(StatusEffect::stat)
|
||||||
.plain(StatusEffect::baseMultiplier)
|
.auto(StatusEffect::baseMultiplier)
|
||||||
.build()
|
.build()
|
||||||
|
|
||||||
fun registerGson(gsonBuilder: GsonBuilder) {
|
fun registerGson(gsonBuilder: GsonBuilder) {
|
||||||
|
@ -26,23 +26,23 @@ data class LiquidDefinition(
|
|||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
val ADAPTER = KConcreteTypeAdapter.Builder(LiquidDefinition::class)
|
val ADAPTER = KConcreteTypeAdapter.Builder(LiquidDefinition::class)
|
||||||
.plain(LiquidDefinition::name)
|
.auto(LiquidDefinition::name)
|
||||||
.plain(LiquidDefinition::liquidId)
|
.auto(LiquidDefinition::liquidId)
|
||||||
.plain(LiquidDefinition::description)
|
.auto(LiquidDefinition::description)
|
||||||
.plain(LiquidDefinition::tickDelta)
|
.auto(LiquidDefinition::tickDelta)
|
||||||
.plain(LiquidDefinition::color)
|
.auto(LiquidDefinition::color)
|
||||||
.plain(LiquidDefinition::itemDrop)
|
.auto(LiquidDefinition::itemDrop)
|
||||||
.list(LiquidDefinition::statusEffects)
|
.list(LiquidDefinition::statusEffects)
|
||||||
.list(LiquidDefinition::interactions)
|
.list(LiquidDefinition::interactions)
|
||||||
.plain(LiquidDefinition::texture)
|
.auto(LiquidDefinition::texture)
|
||||||
.plain(LiquidDefinition::bottomLightMix)
|
.auto(LiquidDefinition::bottomLightMix)
|
||||||
.plain(LiquidDefinition::textureMovementFactor)
|
.auto(LiquidDefinition::textureMovementFactor)
|
||||||
.build()
|
.build()
|
||||||
|
|
||||||
val INTERACTION_ADAPTER = KConcreteTypeAdapter.Builder(Interaction::class)
|
val INTERACTION_ADAPTER = KConcreteTypeAdapter.Builder(Interaction::class)
|
||||||
.plain(Interaction::liquid)
|
.auto(Interaction::liquid)
|
||||||
.plain(Interaction::liquidResult)
|
.auto(Interaction::liquidResult)
|
||||||
.plain(Interaction::materialResult)
|
.auto(Interaction::materialResult)
|
||||||
.build()
|
.build()
|
||||||
|
|
||||||
fun registerGson(gsonBuilder: GsonBuilder) {
|
fun registerGson(gsonBuilder: GsonBuilder) {
|
||||||
|
@ -23,18 +23,18 @@ data class MaterialModifier(
|
|||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
val ADAPTER = KConcreteTypeAdapter.Builder(MaterialModifier::class)
|
val ADAPTER = KConcreteTypeAdapter.Builder(MaterialModifier::class)
|
||||||
.plain(MaterialModifier::modId)
|
.auto(MaterialModifier::modId)
|
||||||
.plain(MaterialModifier::modName)
|
.auto(MaterialModifier::modName)
|
||||||
.plain(MaterialModifier::itemDrop)
|
.auto(MaterialModifier::itemDrop)
|
||||||
.plain(MaterialModifier::description)
|
.auto(MaterialModifier::description)
|
||||||
.plain(MaterialModifier::health)
|
.auto(MaterialModifier::health)
|
||||||
.plain(MaterialModifier::harvestLevel)
|
.auto(MaterialModifier::harvestLevel)
|
||||||
.plain(MaterialModifier::breaksWithTile)
|
.auto(MaterialModifier::breaksWithTile)
|
||||||
.plain(MaterialModifier::grass)
|
.auto(MaterialModifier::grass)
|
||||||
.list(MaterialModifier::miningSounds)
|
.list(MaterialModifier::miningSounds)
|
||||||
.plain(MaterialModifier::miningParticle)
|
.auto(MaterialModifier::miningParticle)
|
||||||
.plain(MaterialModifier::renderTemplate, RenderTemplate.CACHE)
|
.plain(MaterialModifier::renderTemplate, RenderTemplate.CACHE)
|
||||||
.plain(MaterialModifier::renderParameters)
|
.auto(MaterialModifier::renderParameters)
|
||||||
.build()
|
.build()
|
||||||
|
|
||||||
fun registerGson(gsonBuilder: GsonBuilder) {
|
fun registerGson(gsonBuilder: GsonBuilder) {
|
||||||
|
@ -28,7 +28,7 @@ data class RenderParameters(
|
|||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
val ADAPTER = KConcreteTypeAdapter.Builder(RenderParameters::class)
|
val ADAPTER = KConcreteTypeAdapter.Builder(RenderParameters::class)
|
||||||
.plain(
|
.auto(
|
||||||
RenderParameters::texture,
|
RenderParameters::texture,
|
||||||
RenderParameters::variants,
|
RenderParameters::variants,
|
||||||
RenderParameters::multiColored,
|
RenderParameters::multiColored,
|
||||||
|
@ -27,7 +27,7 @@ data class RenderPiece(
|
|||||||
) {
|
) {
|
||||||
companion object {
|
companion object {
|
||||||
val ADAPTER = KConcreteTypeAdapter.Builder(RenderPiece::class)
|
val ADAPTER = KConcreteTypeAdapter.Builder(RenderPiece::class)
|
||||||
.plain(
|
.auto(
|
||||||
RenderPiece::texture,
|
RenderPiece::texture,
|
||||||
RenderPiece::textureSize,
|
RenderPiece::textureSize,
|
||||||
RenderPiece::texturePosition,
|
RenderPiece::texturePosition,
|
||||||
@ -83,7 +83,7 @@ data class RenderRuleList(
|
|||||||
private val LOGGED = ObjectArraySet<String>()
|
private val LOGGED = ObjectArraySet<String>()
|
||||||
|
|
||||||
val ADAPTER = KConcreteTypeAdapter.Builder(Entry::class)
|
val ADAPTER = KConcreteTypeAdapter.Builder(Entry::class)
|
||||||
.plain(
|
.auto(
|
||||||
Entry::type,
|
Entry::type,
|
||||||
Entry::matchHue,
|
Entry::matchHue,
|
||||||
Entry::inverse,
|
Entry::inverse,
|
||||||
@ -119,7 +119,7 @@ data class RenderRuleList(
|
|||||||
companion object {
|
companion object {
|
||||||
val ADAPTER = KConcreteTypeAdapter.Builder(RenderRuleList::class)
|
val ADAPTER = KConcreteTypeAdapter.Builder(RenderRuleList::class)
|
||||||
.list(RenderRuleList::entries)
|
.list(RenderRuleList::entries)
|
||||||
.plain(RenderRuleList::join)
|
.auto(RenderRuleList::join)
|
||||||
.build()
|
.build()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -211,19 +211,19 @@ data class RenderMatch(
|
|||||||
.list(RenderMatch::matchAllPoints)
|
.list(RenderMatch::matchAllPoints)
|
||||||
.list(RenderMatch::matchAnyPoints)
|
.list(RenderMatch::matchAnyPoints)
|
||||||
.list(RenderMatch::subMatches)
|
.list(RenderMatch::subMatches)
|
||||||
.plain(RenderMatch::haltOnMatch)
|
.auto(RenderMatch::haltOnMatch)
|
||||||
.plain(RenderMatch::haltOnSubMatch)
|
.auto(RenderMatch::haltOnSubMatch)
|
||||||
.build()
|
.build()
|
||||||
|
|
||||||
val PIECE_ADAPTER = KConcreteTypeAdapter.Builder(Piece::class)
|
val PIECE_ADAPTER = KConcreteTypeAdapter.Builder(Piece::class)
|
||||||
.plain(Piece::name)
|
.auto(Piece::name)
|
||||||
.plain(Piece::offset)
|
.auto(Piece::offset)
|
||||||
.inputAsList()
|
.inputAsList()
|
||||||
.build()
|
.build()
|
||||||
|
|
||||||
val MATCHER_ADAPTER = KConcreteTypeAdapter.Builder(Matcher::class)
|
val MATCHER_ADAPTER = KConcreteTypeAdapter.Builder(Matcher::class)
|
||||||
.plain(Matcher::offset)
|
.auto(Matcher::offset)
|
||||||
.plain(Matcher::ruleName)
|
.auto(Matcher::ruleName)
|
||||||
.inputAsList()
|
.inputAsList()
|
||||||
.build()
|
.build()
|
||||||
}
|
}
|
||||||
@ -241,7 +241,7 @@ data class RenderMatchList(
|
|||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
val ADAPTER = KConcreteTypeAdapter.Builder(RenderMatchList::class)
|
val ADAPTER = KConcreteTypeAdapter.Builder(RenderMatchList::class)
|
||||||
.plain(RenderMatchList::name)
|
.auto(RenderMatchList::name)
|
||||||
.list(RenderMatchList::list)
|
.list(RenderMatchList::list)
|
||||||
.inputAsList()
|
.inputAsList()
|
||||||
.build()
|
.build()
|
||||||
@ -263,7 +263,7 @@ data class RenderTemplate(
|
|||||||
companion object {
|
companion object {
|
||||||
val ADAPTER = KConcreteTypeAdapter.Builder(RenderTemplate::class)
|
val ADAPTER = KConcreteTypeAdapter.Builder(RenderTemplate::class)
|
||||||
.map(RenderTemplate::pieces, RenderPiece::class.java)
|
.map(RenderTemplate::pieces, RenderPiece::class.java)
|
||||||
.plain(RenderTemplate::representativePiece)
|
.auto(RenderTemplate::representativePiece)
|
||||||
.list(RenderTemplate::matches, RenderMatchList::class.java)
|
.list(RenderTemplate::matches, RenderMatchList::class.java)
|
||||||
.map(RenderTemplate::rules, RenderRuleList::class.java)
|
.map(RenderTemplate::rules, RenderRuleList::class.java)
|
||||||
.build()
|
.build()
|
||||||
|
@ -25,7 +25,7 @@ data class TileDefinition(
|
|||||||
) : IRenderableTile {
|
) : IRenderableTile {
|
||||||
companion object {
|
companion object {
|
||||||
val ADAPTER = KConcreteTypeAdapter.Builder(TileDefinition::class)
|
val ADAPTER = KConcreteTypeAdapter.Builder(TileDefinition::class)
|
||||||
.plain(
|
.auto(
|
||||||
TileDefinition::materialId,
|
TileDefinition::materialId,
|
||||||
TileDefinition::materialName,
|
TileDefinition::materialName,
|
||||||
TileDefinition::particleColor,
|
TileDefinition::particleColor,
|
||||||
@ -39,7 +39,7 @@ data class TileDefinition(
|
|||||||
TileDefinition::category
|
TileDefinition::category
|
||||||
)
|
)
|
||||||
.plain(TileDefinition::renderTemplate, RenderTemplate.CACHE)
|
.plain(TileDefinition::renderTemplate, RenderTemplate.CACHE)
|
||||||
.plain(
|
.auto(
|
||||||
TileDefinition::renderParameters,
|
TileDefinition::renderParameters,
|
||||||
)
|
)
|
||||||
.build()
|
.build()
|
||||||
|
@ -29,7 +29,6 @@ import kotlin.reflect.*
|
|||||||
import kotlin.reflect.full.isSubclassOf
|
import kotlin.reflect.full.isSubclassOf
|
||||||
import kotlin.reflect.full.isSuperclassOf
|
import kotlin.reflect.full.isSuperclassOf
|
||||||
import kotlin.reflect.full.isSupertypeOf
|
import kotlin.reflect.full.isSupertypeOf
|
||||||
import kotlin.reflect.full.memberProperties
|
|
||||||
|
|
||||||
@Suppress("unchecked_cast")
|
@Suppress("unchecked_cast")
|
||||||
private fun <T> resolveBound(bound: Class<T>, stringAdapter: TypeAdapter<String>): TypeAdapter<T> {
|
private fun <T> resolveBound(bound: Class<T>, stringAdapter: TypeAdapter<String>): TypeAdapter<T> {
|
||||||
@ -543,18 +542,18 @@ class KConcreteTypeAdapter<T : Any> private constructor(
|
|||||||
* Добавляет поля без generic типов и без преобразователей
|
* Добавляет поля без generic типов и без преобразователей
|
||||||
*/
|
*/
|
||||||
@Suppress("unchecked_cast")
|
@Suppress("unchecked_cast")
|
||||||
fun plain(vararg fields: KProperty1<T, *>): Builder<T> {
|
fun auto(vararg fields: KProperty1<T, *>): Builder<T> {
|
||||||
for (field in fields)
|
for (field in fields)
|
||||||
plain(field)
|
auto(field)
|
||||||
|
|
||||||
return this
|
return this
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Добавляет поле без generic типов, опционально с преобразователем
|
* Автоматически определяет тип поля и необходимый адаптор типа к нему
|
||||||
*/
|
*/
|
||||||
@Suppress("unchecked_cast")
|
@Suppress("unchecked_cast")
|
||||||
fun <In> plain(field: KProperty1<T, In>, transformer: (In) -> In = { it }): Builder<T> {
|
fun <In> auto(field: KProperty1<T, In>, transformer: (In) -> In = { it }): Builder<T> {
|
||||||
val returnType = field.returnType
|
val returnType = field.returnType
|
||||||
val classifier = returnType.classifier as? KClass<*> ?: throw ClassCastException("Unable to cast ${returnType.classifier} to KClass of property ${field.name}!")
|
val classifier = returnType.classifier as? KClass<*> ?: throw ClassCastException("Unable to cast ${returnType.classifier} to KClass of property ${field.name}!")
|
||||||
|
|
||||||
@ -577,20 +576,6 @@ class KConcreteTypeAdapter<T : Any> private constructor(
|
|||||||
return this
|
return this
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Добавляет поле(я) без generic типов.
|
|
||||||
*
|
|
||||||
* Если поле с данным именем не найдено, кидается [NoSuchElementException]
|
|
||||||
*/
|
|
||||||
fun plain(vararg fields: String): Builder<T> {
|
|
||||||
val members = clazz.memberProperties
|
|
||||||
|
|
||||||
return this.plain(*Array(fields.size) {
|
|
||||||
val field = fields[it]
|
|
||||||
return@Array members.firstOrNull { it.name == field } ?: throw NoSuchElementException("Unable to find field $field")
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Добавляет поле, которое содержит список значений V (без null).
|
* Добавляет поле, которое содержит список значений V (без null).
|
||||||
*
|
*
|
||||||
@ -601,14 +586,6 @@ class KConcreteTypeAdapter<T : Any> private constructor(
|
|||||||
return this
|
return this
|
||||||
}
|
}
|
||||||
|
|
||||||
fun <T> makeListAdapter(type: Class<T>): TypeAdapter<List<T>?> {
|
|
||||||
return ListAdapter(type, internedStringAdapter)
|
|
||||||
}
|
|
||||||
|
|
||||||
fun <T> makeObjectAdapter(type: Class<T>): TypeAdapter<Map<String, T>?> {
|
|
||||||
return StringMapAdapter(type, internedStringAdapter, stringInterner)
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Добавляет поле, которое содержит список значений V (без null).
|
* Добавляет поле, которое содержит список значений V (без null).
|
||||||
*
|
*
|
||||||
|
Loading…
Reference in New Issue
Block a user