mirror of
https://gitlab.bixilon.de/bixilon/minosoft.git
synced 2025-09-12 17:07:55 -04:00
block: option to provide translation key
This commit is contained in:
parent
dcfe89d739
commit
17fb146850
@ -15,22 +15,26 @@ package de.bixilon.minosoft.data.registries.blocks.settings
|
||||
|
||||
import de.bixilon.kutil.json.JsonObject
|
||||
import de.bixilon.kutil.primitive.IntUtil.toInt
|
||||
import de.bixilon.minosoft.data.registries.identified.ResourceLocation
|
||||
import de.bixilon.minosoft.data.registries.registries.Registries
|
||||
import de.bixilon.minosoft.data.registries.sound.SoundGroup
|
||||
import de.bixilon.minosoft.protocol.versions.Version
|
||||
import de.bixilon.minosoft.util.KUtil.toResourceLocation
|
||||
|
||||
class BlockSettings(
|
||||
val version: Version,
|
||||
val soundGroup: SoundGroup? = null,
|
||||
val translationKey: ResourceLocation? = null,
|
||||
) {
|
||||
|
||||
companion object {
|
||||
|
||||
fun of(version: Version, registries: Registries, data: JsonObject): BlockSettings {
|
||||
val soundGroup = data["sound_group"]?.toInt()?.let { registries.soundGroup[it] }
|
||||
val translationKey = data["translation_key"]?.toResourceLocation()
|
||||
|
||||
|
||||
return BlockSettings(version, soundGroup = soundGroup)
|
||||
return BlockSettings(version, soundGroup = soundGroup, translationKey = translationKey)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -42,7 +42,7 @@ abstract class Block(
|
||||
|
||||
var model: BlockRender? = null
|
||||
|
||||
override val translationKey: ResourceLocation = identifier.translation("block")
|
||||
override val translationKey: ResourceLocation = settings.translationKey ?: identifier.translation("block")
|
||||
|
||||
@Deprecated("Interface")
|
||||
var tintProvider: TintProvider? = null
|
||||
|
@ -29,6 +29,7 @@ import kotlin.reflect.jvm.javaField
|
||||
abstract class BlockItem<T : Block>(identifier: ResourceLocation) : Item(identifier), StackableItem, PlaceableItem {
|
||||
val block: T = unsafeNull()
|
||||
protected abstract val _block: Identified
|
||||
override val translationKey: ResourceLocation get() = block.translationKey
|
||||
override var model: ItemRender?
|
||||
get() = super.model ?: block.model ?: block.states.default.model
|
||||
set(value) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user