Разделение одного пакета item на api и impl для удобства

This commit is contained in:
DBotThePony 2023-03-29 12:24:12 +07:00
parent 59fd54499b
commit 4f4baef997
Signed by: DBot
GPG Key ID: DCC23B5715498507
26 changed files with 55 additions and 49 deletions

View File

@ -2,7 +2,6 @@ package ru.dbotthepony.kstarbound
import com.github.benmanes.caffeine.cache.Cache
import com.github.benmanes.caffeine.cache.Caffeine
import com.google.common.cache.CacheBuilder
import com.google.common.collect.Interner
import com.google.common.collect.Interners
import com.google.gson.*
@ -19,19 +18,19 @@ import ru.dbotthepony.kstarbound.api.explore
import ru.dbotthepony.kstarbound.defs.*
import ru.dbotthepony.kstarbound.defs.image.AtlasConfiguration
import ru.dbotthepony.kstarbound.defs.image.ImageReference
import ru.dbotthepony.kstarbound.defs.item.BackArmorItemPrototype
import ru.dbotthepony.kstarbound.defs.item.ChestArmorItemPrototype
import ru.dbotthepony.kstarbound.defs.item.CurrencyItemPrototype
import ru.dbotthepony.kstarbound.defs.item.FlashlightPrototype
import ru.dbotthepony.kstarbound.defs.item.HarvestingToolPrototype
import ru.dbotthepony.kstarbound.defs.item.HeadArmorItemPrototype
import ru.dbotthepony.kstarbound.defs.item.IArmorItemDefinition
import ru.dbotthepony.kstarbound.defs.item.IItemDefinition
import ru.dbotthepony.kstarbound.defs.item.impl.BackArmorItemPrototype
import ru.dbotthepony.kstarbound.defs.item.impl.ChestArmorItemPrototype
import ru.dbotthepony.kstarbound.defs.item.impl.CurrencyItemPrototype
import ru.dbotthepony.kstarbound.defs.item.impl.FlashlightPrototype
import ru.dbotthepony.kstarbound.defs.item.impl.HarvestingToolPrototype
import ru.dbotthepony.kstarbound.defs.item.impl.HeadArmorItemPrototype
import ru.dbotthepony.kstarbound.defs.item.api.IArmorItemDefinition
import ru.dbotthepony.kstarbound.defs.item.api.IItemDefinition
import ru.dbotthepony.kstarbound.defs.item.InventoryIcon
import ru.dbotthepony.kstarbound.defs.item.ItemPrototype
import ru.dbotthepony.kstarbound.defs.item.LegsArmorItemPrototype
import ru.dbotthepony.kstarbound.defs.item.LiquidItemPrototype
import ru.dbotthepony.kstarbound.defs.item.MaterialItemPrototype
import ru.dbotthepony.kstarbound.defs.item.impl.ItemPrototype
import ru.dbotthepony.kstarbound.defs.item.impl.LegsArmorItemPrototype
import ru.dbotthepony.kstarbound.defs.item.impl.LiquidItemPrototype
import ru.dbotthepony.kstarbound.defs.item.impl.MaterialItemPrototype
import ru.dbotthepony.kstarbound.defs.npc.NpcTypeDefinition
import ru.dbotthepony.kstarbound.defs.tile.LiquidDefinition
import ru.dbotthepony.kstarbound.defs.particle.ParticleDefinition

View File

@ -9,7 +9,7 @@ import com.google.gson.reflect.TypeToken
import com.google.gson.stream.JsonReader
import com.google.gson.stream.JsonToken
import com.google.gson.stream.JsonWriter
import ru.dbotthepony.kstarbound.defs.item.IItemDefinition
import ru.dbotthepony.kstarbound.defs.item.api.IItemDefinition
import ru.dbotthepony.kstarbound.io.json.builder.FactoryAdapter
import ru.dbotthepony.kstarbound.io.json.builder.JsonFactory
import ru.dbotthepony.kstarbound.io.json.consumeNull

View File

@ -3,7 +3,7 @@ package ru.dbotthepony.kstarbound.defs
import com.google.common.collect.ImmutableList
import com.google.common.collect.ImmutableSet
import ru.dbotthepony.kstarbound.defs.image.ImageReference
import ru.dbotthepony.kstarbound.defs.item.IItemDefinition
import ru.dbotthepony.kstarbound.defs.item.api.IItemDefinition
import ru.dbotthepony.kstarbound.defs.player.BlueprintLearnList
import ru.dbotthepony.kstarbound.io.json.builder.JsonFactory

View File

@ -3,6 +3,7 @@ package ru.dbotthepony.kstarbound.defs.item
import com.google.gson.JsonObject
import ru.dbotthepony.kstarbound.RegistryObject
import ru.dbotthepony.kstarbound.defs.DynamicDefinition
import ru.dbotthepony.kstarbound.defs.item.api.IItemDefinition
class DynamicItemDefinition(def: RegistryObject<IItemDefinition>) : DynamicDefinition<IItemDefinition>(def) {
override fun sanitize(saveInput: JsonObject) {

View File

@ -1,4 +1,4 @@
package ru.dbotthepony.kstarbound.defs.item
package ru.dbotthepony.kstarbound.defs.item.api
import com.google.gson.Gson
import com.google.gson.TypeAdapter
@ -7,11 +7,9 @@ import com.google.gson.reflect.TypeToken
import com.google.gson.stream.JsonReader
import com.google.gson.stream.JsonToken
import com.google.gson.stream.JsonWriter
import ru.dbotthepony.kstarbound.defs.image.AtlasConfiguration
import ru.dbotthepony.kstarbound.defs.image.ImageReference
import ru.dbotthepony.kstarbound.io.json.builder.FactoryAdapter
import ru.dbotthepony.kstarbound.io.json.builder.JsonImplementation
import ru.dbotthepony.kstarbound.util.PathStack
interface IArmorItemDefinition : ILeveledItemDefinition, IScriptableItemDefinition {
/**

View File

@ -1,4 +1,4 @@
package ru.dbotthepony.kstarbound.defs.item
package ru.dbotthepony.kstarbound.defs.item.api
interface ICurrencyItemDefinition : IItemDefinition {
/**

View File

@ -1,4 +1,4 @@
package ru.dbotthepony.kstarbound.defs.item
package ru.dbotthepony.kstarbound.defs.item.api
import ru.dbotthepony.kvector.vector.Color
import ru.dbotthepony.kvector.vector.ndouble.Vector2d

View File

@ -1,4 +1,4 @@
package ru.dbotthepony.kstarbound.defs.item
package ru.dbotthepony.kstarbound.defs.item.api
import ru.dbotthepony.kstarbound.defs.animation.IAnimated

View File

@ -1,7 +1,9 @@
package ru.dbotthepony.kstarbound.defs.item
package ru.dbotthepony.kstarbound.defs.item.api
import ru.dbotthepony.kstarbound.defs.IThingWithDescription
import ru.dbotthepony.kstarbound.defs.RegistryReference
import ru.dbotthepony.kstarbound.defs.item.IInventoryIcon
import ru.dbotthepony.kstarbound.defs.item.ItemRarity
interface IItemDefinition : IThingWithDescription {
/**

View File

@ -1,5 +1,6 @@
package ru.dbotthepony.kstarbound.defs.item
package ru.dbotthepony.kstarbound.defs.item.api
import ru.dbotthepony.kstarbound.defs.item.api.IItemDefinition
import ru.dbotthepony.kvector.vector.ndouble.Vector2d
interface IItemInHandDefinition : IItemDefinition {

View File

@ -1,4 +1,6 @@
package ru.dbotthepony.kstarbound.defs.item
package ru.dbotthepony.kstarbound.defs.item.api
import ru.dbotthepony.kstarbound.defs.item.ILeveledStatusEffect
interface ILeveledItemDefinition : IItemDefinition {
/**

View File

@ -1,5 +1,6 @@
package ru.dbotthepony.kstarbound.defs.item
package ru.dbotthepony.kstarbound.defs.item.api
import ru.dbotthepony.kstarbound.defs.item.api.IItemDefinition
import ru.dbotthepony.kstarbound.util.Either
interface ILiquidItem : IItemDefinition {

View File

@ -1,5 +1,6 @@
package ru.dbotthepony.kstarbound.defs.item
package ru.dbotthepony.kstarbound.defs.item.api
import ru.dbotthepony.kstarbound.defs.item.api.IItemDefinition
import ru.dbotthepony.kstarbound.util.Either
interface IMaterialItem : IItemDefinition {

View File

@ -1,5 +1,6 @@
package ru.dbotthepony.kstarbound.defs.item
package ru.dbotthepony.kstarbound.defs.item.api
import ru.dbotthepony.kstarbound.defs.IScriptable
import ru.dbotthepony.kstarbound.defs.item.api.IItemDefinition
interface IScriptableItemDefinition : IItemDefinition, IScriptable

View File

@ -1,9 +1,10 @@
package ru.dbotthepony.kstarbound.defs.item
package ru.dbotthepony.kstarbound.defs.item.impl
import com.google.common.collect.ImmutableList
import ru.dbotthepony.kstarbound.defs.DirectAssetReference
import ru.dbotthepony.kstarbound.defs.item.api.IArmorItemDefinition
import ru.dbotthepony.kstarbound.defs.item.LeveledStatusEffect
import ru.dbotthepony.kstarbound.io.json.builder.JsonBuilder
import ru.dbotthepony.kstarbound.io.json.builder.JsonIgnoreProperty
@JsonBuilder
abstract class ArmorItemPrototype : ItemPrototype(), IArmorItemDefinition {

View File

@ -1,10 +1,7 @@
package ru.dbotthepony.kstarbound.defs.item
package ru.dbotthepony.kstarbound.defs.item.impl
import com.google.common.collect.ImmutableList
import ru.dbotthepony.kstarbound.defs.util.enrollMap
import ru.dbotthepony.kstarbound.io.json.builder.BuilderAdapter
import ru.dbotthepony.kstarbound.defs.item.api.ICurrencyItemDefinition
import ru.dbotthepony.kstarbound.io.json.builder.JsonBuilder
import ru.dbotthepony.kstarbound.util.NotNullVar
@JsonBuilder
class CurrencyItemPrototype : ItemPrototype(), ICurrencyItemDefinition {

View File

@ -1,8 +1,7 @@
package ru.dbotthepony.kstarbound.defs.item
package ru.dbotthepony.kstarbound.defs.item.impl
import ru.dbotthepony.kstarbound.defs.util.enrollMap
import ru.dbotthepony.kstarbound.defs.item.api.IFlashlightDefinition
import ru.dbotthepony.kstarbound.io.json.builder.JsonBuilder
import ru.dbotthepony.kstarbound.util.NotNullVar
import ru.dbotthepony.kvector.vector.Color
import ru.dbotthepony.kvector.vector.ndouble.Vector2d

View File

@ -1,9 +1,8 @@
package ru.dbotthepony.kstarbound.defs.item
package ru.dbotthepony.kstarbound.defs.item.impl
import com.google.common.collect.ImmutableList
import ru.dbotthepony.kstarbound.defs.util.enrollMap
import ru.dbotthepony.kstarbound.defs.item.api.IHarvestingToolDefinition
import ru.dbotthepony.kstarbound.io.json.builder.JsonBuilder
import ru.dbotthepony.kstarbound.util.NotNullVar
import ru.dbotthepony.kvector.vector.ndouble.Vector2d
@JsonBuilder

View File

@ -1,13 +1,15 @@
package ru.dbotthepony.kstarbound.defs.item
package ru.dbotthepony.kstarbound.defs.item.impl
import com.google.common.collect.ImmutableList
import ru.dbotthepony.kstarbound.defs.FreezableDefintionBuilder
import ru.dbotthepony.kstarbound.defs.RegistryReference
import ru.dbotthepony.kstarbound.defs.ThingDescription
import ru.dbotthepony.kstarbound.defs.item.api.IItemDefinition
import ru.dbotthepony.kstarbound.defs.item.InventoryIcon
import ru.dbotthepony.kstarbound.defs.item.ItemRarity
import ru.dbotthepony.kstarbound.io.json.builder.JsonBuilder
import ru.dbotthepony.kstarbound.io.json.builder.JsonPropertyConfig
import ru.dbotthepony.kstarbound.io.json.builder.JsonIgnoreProperty
import ru.dbotthepony.kstarbound.util.NotNullVar
@JsonBuilder
open class ItemPrototype : FreezableDefintionBuilder(), IItemDefinition {

View File

@ -1,5 +1,6 @@
package ru.dbotthepony.kstarbound.defs.item
package ru.dbotthepony.kstarbound.defs.item.impl
import ru.dbotthepony.kstarbound.defs.item.api.ILiquidItem
import ru.dbotthepony.kstarbound.io.json.builder.JsonBuilder
import ru.dbotthepony.kstarbound.util.Either

View File

@ -1,5 +1,6 @@
package ru.dbotthepony.kstarbound.defs.item
package ru.dbotthepony.kstarbound.defs.item.impl
import ru.dbotthepony.kstarbound.defs.item.api.IMaterialItem
import ru.dbotthepony.kstarbound.io.json.builder.JsonBuilder
import ru.dbotthepony.kstarbound.util.Either

View File

@ -11,7 +11,7 @@ import com.google.gson.stream.JsonToken
import com.google.gson.stream.JsonWriter
import it.unimi.dsi.fastutil.ints.Int2ObjectArrayMap
import ru.dbotthepony.kstarbound.defs.RegistryReference
import ru.dbotthepony.kstarbound.defs.item.IItemDefinition
import ru.dbotthepony.kstarbound.defs.item.api.IItemDefinition
import ru.dbotthepony.kstarbound.io.json.builder.JsonFactory
class BlueprintLearnList private constructor(private val tiers: Int2ObjectArrayMap<ImmutableList<Entry>>) {

View File

@ -5,7 +5,7 @@ import com.google.common.collect.ImmutableMap
import ru.dbotthepony.kstarbound.defs.DirectAssetReference
import ru.dbotthepony.kstarbound.defs.IScriptable
import ru.dbotthepony.kstarbound.defs.RegistryReference
import ru.dbotthepony.kstarbound.defs.item.IItemDefinition
import ru.dbotthepony.kstarbound.defs.item.api.IItemDefinition
import ru.dbotthepony.kstarbound.io.json.builder.JsonFactory
@JsonFactory

View File

@ -9,7 +9,7 @@ import ru.dbotthepony.kstarbound.defs.RegistryReference
import ru.dbotthepony.kstarbound.defs.Species
import ru.dbotthepony.kstarbound.util.SBPattern
import ru.dbotthepony.kstarbound.defs.animation.AnimationDefinition
import ru.dbotthepony.kstarbound.defs.item.IItemDefinition
import ru.dbotthepony.kstarbound.defs.item.api.IItemDefinition
import ru.dbotthepony.kstarbound.io.json.builder.JsonFactory
import ru.dbotthepony.kvector.util2d.AABB
import ru.dbotthepony.kvector.vector.Color

View File

@ -9,7 +9,7 @@ import com.google.gson.stream.JsonToken
import com.google.gson.stream.JsonWriter
import ru.dbotthepony.kstarbound.RegistryObject
import ru.dbotthepony.kstarbound.Starbound
import ru.dbotthepony.kstarbound.defs.item.IItemDefinition
import ru.dbotthepony.kstarbound.defs.item.api.IItemDefinition
class ItemStack private constructor(item: RegistryObject<IItemDefinition>?, count: Long, val parameters: JsonObject, marker: Unit) {
constructor(item: RegistryObject<IItemDefinition>, count: Long = 1L, parameters: JsonObject = JsonObject()) : this(item, count, parameters, Unit)

View File

@ -5,7 +5,7 @@ import ru.dbotthepony.kbox2d.api.FixtureDef
import ru.dbotthepony.kbox2d.api.Manifold
import ru.dbotthepony.kbox2d.collision.shapes.PolygonShape
import ru.dbotthepony.kbox2d.dynamics.contact.AbstractContact
import ru.dbotthepony.kstarbound.defs.item.IItemDefinition
import ru.dbotthepony.kstarbound.defs.item.api.IItemDefinition
import ru.dbotthepony.kstarbound.world.World
class ItemEntity(world: World<*, *>, val def: IItemDefinition) : Entity(world) {