Перевод реестра прототипов на fastutil

This commit is contained in:
DBotThePony 2022-12-30 12:39:31 +07:00
parent 819d188e2a
commit fef29b3f37
Signed by: DBot
GPG Key ID: DCC23B5715498507

View File

@ -2,6 +2,8 @@ package ru.dbotthepony.kstarbound
import com.google.gson.* import com.google.gson.*
import it.unimi.dsi.fastutil.ints.Int2ObjectAVLTreeMap import it.unimi.dsi.fastutil.ints.Int2ObjectAVLTreeMap
import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap
import it.unimi.dsi.fastutil.objects.Object2ObjectOpenHashMap
import org.apache.logging.log4j.LogManager import org.apache.logging.log4j.LogManager
import ru.dbotthepony.kstarbound.api.IStarboundFile import ru.dbotthepony.kstarbound.api.IStarboundFile
import ru.dbotthepony.kstarbound.api.NonExistingFile import ru.dbotthepony.kstarbound.api.NonExistingFile
@ -30,7 +32,6 @@ import java.io.*
import java.text.DateFormat import java.text.DateFormat
import java.util.* import java.util.*
import kotlin.collections.ArrayList import kotlin.collections.ArrayList
import kotlin.collections.HashMap
const val METRES_IN_STARBOUND_UNIT = 0.5 const val METRES_IN_STARBOUND_UNIT = 0.5
const val METRES_IN_STARBOUND_UNITf = 0.5f const val METRES_IN_STARBOUND_UNITf = 0.5f
@ -64,20 +65,20 @@ object Starbound {
return null return null
} }
private val tiles = HashMap<String, TileDefinition>() private val tiles = Object2ObjectOpenHashMap<String, TileDefinition>()
private val tilesByMaterialID = Int2ObjectAVLTreeMap<TileDefinition>() private val tilesByMaterialID = Int2ObjectOpenHashMap<TileDefinition>()
private val tileModifiers = HashMap<String, MaterialModifier>() private val tileModifiers = Object2ObjectOpenHashMap<String, MaterialModifier>()
private val tileModifiersByID = Int2ObjectAVLTreeMap<MaterialModifier>() private val tileModifiersByID = Int2ObjectOpenHashMap<MaterialModifier>()
private val liquid = HashMap<String, LiquidDefinition>() private val liquid = Object2ObjectOpenHashMap<String, LiquidDefinition>()
private val liquidByID = Int2ObjectAVLTreeMap<LiquidDefinition>() private val liquidByID = Int2ObjectOpenHashMap<LiquidDefinition>()
private val projectiles = HashMap<String, ConfiguredProjectile>() private val projectiles = Object2ObjectOpenHashMap<String, ConfiguredProjectile>()
private val parallax = HashMap<String, ParallaxPrototype>() private val parallax = Object2ObjectOpenHashMap<String, ParallaxPrototype>()
private val functions = HashMap<String, JsonFunction>() private val functions = Object2ObjectOpenHashMap<String, JsonFunction>()
private val items = HashMap<String, ItemDefinition>() private val items = Object2ObjectOpenHashMap<String, ItemDefinition>()
val liquidAccess: Map<String, LiquidDefinition> = Collections.unmodifiableMap(liquid) val liquidAccess: Map<String, LiquidDefinition> = Collections.unmodifiableMap(liquid)
val liquidByIDAccess: Map<Int, LiquidDefinition> = Collections.unmodifiableMap(liquidByID) val liquidByIDAccess: Map<Int, LiquidDefinition> = Collections.unmodifiableMap(liquidByID)