mirror of
https://gitlab.bixilon.de/bixilon/minosoft.git
synced 2025-09-14 18:05:51 -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
|
continue
|
||||||
}
|
}
|
||||||
val parsed = PixLyzerBlock.deserialize(registries, identifier, value).unsafeCast<PixLyzerBlock>()
|
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.postInit(registries)
|
||||||
parsed.inject(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.identified.Namespaces.minecraft
|
||||||
import de.bixilon.minosoft.data.registries.item.MinecraftItems
|
import de.bixilon.minosoft.data.registries.item.MinecraftItems
|
||||||
import de.bixilon.minosoft.data.registries.registries.Registries
|
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.Version
|
||||||
import de.bixilon.minosoft.protocol.versions.Versions
|
import de.bixilon.minosoft.protocol.versions.Versions
|
||||||
import org.testng.Assert.assertEquals
|
import org.testng.Assert.assertEquals
|
||||||
@ -57,7 +57,7 @@ abstract class RegistryLoadingTest(val versionName: String) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fun biome() {
|
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)
|
assertNotNull(registries.biome[minecraft("plains")]?.identifier)
|
||||||
}
|
}
|
||||||
|
@ -68,7 +68,7 @@ class InitializeS2CPTest {
|
|||||||
fun vanilla_1_7_10() {
|
fun vanilla_1_7_10() {
|
||||||
val packet = PacketReadingTestUtil.read("initialize/vanilla_1_7_10", "1.7.10", constructor = ::InitializeS2CP)
|
val packet = PacketReadingTestUtil.read("initialize/vanilla_1_7_10", "1.7.10", constructor = ::InitializeS2CP)
|
||||||
assertEquals(packet.gamemode, Gamemodes.CREATIVE)
|
assertEquals(packet.gamemode, Gamemodes.CREATIVE)
|
||||||
assertEquals(packet.dimension?.effects, OverworldEffects.identifier)
|
assertEquals(packet.dimension?.effects, OverworldEffects)
|
||||||
assertNull(packet.registries)
|
assertNull(packet.registries)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -83,7 +83,7 @@ class BlockRegistry(
|
|||||||
block.updateStates(states, default, properties.mapValues { it.value.toTypedArray() })
|
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 properties: MutableMap<BlockProperty<*>, MutableSet<Any>> = mutableMapOf()
|
||||||
|
|
||||||
val states: MutableSet<BlockState> = ObjectOpenHashSet()
|
val states: MutableSet<BlockState> = ObjectOpenHashSet()
|
||||||
@ -92,7 +92,9 @@ class BlockRegistry(
|
|||||||
val state = if (block is BlockStateBuilder) block.buildState(settings) else AdvancedBlockState(block, settings)
|
val state = if (block is BlockStateBuilder) block.buildState(settings) else AdvancedBlockState(block, settings)
|
||||||
|
|
||||||
states += state
|
states += state
|
||||||
registries.blockState[stateId.toInt()] = state
|
if (addBlockStates) {
|
||||||
|
registries.blockState[stateId.toInt()] = state
|
||||||
|
}
|
||||||
|
|
||||||
if (state !is PropertyBlockState) continue
|
if (state !is PropertyBlockState) continue
|
||||||
|
|
||||||
@ -120,7 +122,7 @@ class BlockRegistry(
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (flattened) {
|
if (flattened) {
|
||||||
flattened(block, data, registries)
|
flattened(block, data, registries, true)
|
||||||
} else {
|
} else {
|
||||||
legacy(block, data, registries)
|
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.factory.BlockFactory
|
||||||
import de.bixilon.minosoft.data.registries.blocks.settings.BlockSettings
|
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.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.blocks.types.properties.shape.special.FullOpaqueBlock
|
||||||
import de.bixilon.minosoft.data.registries.identified.Namespaces.minecraft
|
import de.bixilon.minosoft.data.registries.identified.Namespaces.minecraft
|
||||||
import de.bixilon.minosoft.data.registries.identified.ResourceLocation
|
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
|
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 hardness get() = 0.6f
|
||||||
override val legacyModelName get() = minecraft("grass")
|
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) {
|
internal operator fun set(id: Int, state: BlockState) {
|
||||||
val previous = idMap.put(id, state)
|
val previous = idMap.put(id, state)
|
||||||
if (previous != null) {
|
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