block state registry: warn if id is duplicated

This commit is contained in:
Moritz Zwerger 2023-10-02 17:23:33 +02:00
parent e3be42f686
commit ad80b24b55
No known key found for this signature in database
GPG Key ID: 5CAD791931B09AC4

View File

@ -22,6 +22,9 @@ import de.bixilon.minosoft.data.registries.identified.ResourceLocation
import de.bixilon.minosoft.data.registries.registries.Registries import de.bixilon.minosoft.data.registries.registries.Registries
import de.bixilon.minosoft.protocol.protocol.ProtocolDefinition import de.bixilon.minosoft.protocol.protocol.ProtocolDefinition
import de.bixilon.minosoft.protocol.versions.Version import de.bixilon.minosoft.protocol.versions.Version
import de.bixilon.minosoft.util.logging.Log
import de.bixilon.minosoft.util.logging.LogLevels
import de.bixilon.minosoft.util.logging.LogMessageType
import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap
class BlockStateRegistry(var flattened: Boolean) : AbstractRegistry<BlockState?> { class BlockStateRegistry(var flattened: Boolean) : AbstractRegistry<BlockState?> {
@ -53,7 +56,10 @@ class BlockStateRegistry(var flattened: Boolean) : AbstractRegistry<BlockState?>
} }
internal operator fun set(id: Int, state: BlockState) { internal operator fun set(id: Int, state: BlockState) {
idMap[id] = state val previous = idMap.put(id, state)
if (previous != null) {
Log.log(LogMessageType.LOADING, LogLevels.WARN) { "Block $state just replaced $previous (id=$id)" }
}
} }
private fun _get(id: Int): BlockState? { private fun _get(id: Int): BlockState? {