mirror of
https://gitlab.bixilon.de/bixilon/minosoft.git
synced 2025-09-13 09:26:11 -04:00
fix integrated block tests and don't replace block states
This commit is contained in:
parent
adf16fe156
commit
42d135b98a
@ -154,7 +154,7 @@ object VerifyIntegratedBlockRegistry {
|
||||
continue
|
||||
}
|
||||
val parsed = PixLyzerBlock.deserialize(registries, identifier, value).unsafeCast<PixLyzerBlock>()
|
||||
registries.block.flattened(parsed, value, registries)
|
||||
registries.block.flattened(parsed, value, registries, false)
|
||||
parsed.postInit(registries)
|
||||
parsed.inject(registries)
|
||||
|
||||
|
@ -20,7 +20,7 @@ import de.bixilon.minosoft.data.registries.blocks.MinecraftBlocks
|
||||
import de.bixilon.minosoft.data.registries.identified.Namespaces.minecraft
|
||||
import de.bixilon.minosoft.data.registries.item.MinecraftItems
|
||||
import de.bixilon.minosoft.data.registries.registries.Registries
|
||||
import de.bixilon.minosoft.protocol.protocol.ProtocolVersions.V_1_19_3
|
||||
import de.bixilon.minosoft.protocol.protocol.ProtocolVersions.V_1_17
|
||||
import de.bixilon.minosoft.protocol.versions.Version
|
||||
import de.bixilon.minosoft.protocol.versions.Versions
|
||||
import org.testng.Assert.assertEquals
|
||||
@ -57,7 +57,7 @@ abstract class RegistryLoadingTest(val versionName: String) {
|
||||
}
|
||||
|
||||
fun biome() {
|
||||
if (version > V_1_19_3) return // biomes are datapack only in those versions -> empty registry
|
||||
if (version >= V_1_17) throw SkipException("Biomes are datapack only")
|
||||
|
||||
assertNotNull(registries.biome[minecraft("plains")]?.identifier)
|
||||
}
|
||||
|
@ -68,7 +68,7 @@ class InitializeS2CPTest {
|
||||
fun vanilla_1_7_10() {
|
||||
val packet = PacketReadingTestUtil.read("initialize/vanilla_1_7_10", "1.7.10", constructor = ::InitializeS2CP)
|
||||
assertEquals(packet.gamemode, Gamemodes.CREATIVE)
|
||||
assertEquals(packet.dimension?.effects, OverworldEffects.identifier)
|
||||
assertEquals(packet.dimension?.effects, OverworldEffects)
|
||||
assertNull(packet.registries)
|
||||
}
|
||||
}
|
||||
|
@ -83,7 +83,7 @@ class BlockRegistry(
|
||||
block.updateStates(states, default, properties.mapValues { it.value.toTypedArray() })
|
||||
}
|
||||
|
||||
fun flattened(block: Block, data: JsonObject, registries: Registries) {
|
||||
fun flattened(block: Block, data: JsonObject, registries: Registries, addBlockStates: Boolean) {
|
||||
val properties: MutableMap<BlockProperty<*>, MutableSet<Any>> = mutableMapOf()
|
||||
|
||||
val states: MutableSet<BlockState> = ObjectOpenHashSet()
|
||||
@ -92,7 +92,9 @@ class BlockRegistry(
|
||||
val state = if (block is BlockStateBuilder) block.buildState(settings) else AdvancedBlockState(block, settings)
|
||||
|
||||
states += state
|
||||
registries.blockState[stateId.toInt()] = state
|
||||
if (addBlockStates) {
|
||||
registries.blockState[stateId.toInt()] = state
|
||||
}
|
||||
|
||||
if (state !is PropertyBlockState) continue
|
||||
|
||||
@ -120,7 +122,7 @@ class BlockRegistry(
|
||||
}
|
||||
|
||||
if (flattened) {
|
||||
flattened(block, data, registries)
|
||||
flattened(block, data, registries, true)
|
||||
} else {
|
||||
legacy(block, data, registries)
|
||||
}
|
||||
|
@ -16,12 +16,16 @@ package de.bixilon.minosoft.data.registries.blocks.types.dirt
|
||||
import de.bixilon.minosoft.data.registries.blocks.factory.BlockFactory
|
||||
import de.bixilon.minosoft.data.registries.blocks.settings.BlockSettings
|
||||
import de.bixilon.minosoft.data.registries.blocks.types.legacy.FlatteningRenamedModel
|
||||
import de.bixilon.minosoft.data.registries.blocks.types.properties.item.BlockWithItem
|
||||
import de.bixilon.minosoft.data.registries.blocks.types.properties.shape.special.FullOpaqueBlock
|
||||
import de.bixilon.minosoft.data.registries.identified.Namespaces.minecraft
|
||||
import de.bixilon.minosoft.data.registries.identified.ResourceLocation
|
||||
import de.bixilon.minosoft.data.registries.item.items.Item
|
||||
import de.bixilon.minosoft.data.registries.item.items.tool.shovel.ShovelRequirement
|
||||
import de.bixilon.minosoft.data.registries.registries.Registries
|
||||
|
||||
open class GrassBlock(identifier: ResourceLocation = Companion.identifier, settings: BlockSettings) : SnowyBlock(identifier, settings), FullOpaqueBlock, FlatteningRenamedModel {
|
||||
open class GrassBlock(identifier: ResourceLocation = Companion.identifier, settings: BlockSettings) : SnowyBlock(identifier, settings), FullOpaqueBlock, FlatteningRenamedModel, ShovelRequirement, BlockWithItem<Item> {
|
||||
override val item: Item = this::item.inject(identifier)
|
||||
override val hardness get() = 0.6f
|
||||
override val legacyModelName get() = minecraft("grass")
|
||||
|
||||
|
@ -58,7 +58,7 @@ class BlockStateRegistry(var flattened: Boolean) : AbstractRegistry<BlockState?>
|
||||
internal operator fun set(id: Int, state: BlockState) {
|
||||
val previous = idMap.put(id, state)
|
||||
if (previous != null) {
|
||||
Log.log(LogMessageType.LOADING, LogLevels.WARN) { "Block $state just replaced $previous (id=$id)" }
|
||||
Log.log(LogMessageType.LOADING, LogLevels.WARN) { "Block state $state just replaced $previous (id=$id)" }
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user