diff --git a/src/main/java/de/bixilon/minosoft/data/registries/blocks/settings/BlockSettings.kt b/src/main/java/de/bixilon/minosoft/data/registries/blocks/settings/BlockSettings.kt index 8d4bb0809..770267f0d 100644 --- a/src/main/java/de/bixilon/minosoft/data/registries/blocks/settings/BlockSettings.kt +++ b/src/main/java/de/bixilon/minosoft/data/registries/blocks/settings/BlockSettings.kt @@ -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) } } } diff --git a/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/Block.kt b/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/Block.kt index ab21ff8a8..00bef0bb2 100644 --- a/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/Block.kt +++ b/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/Block.kt @@ -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 diff --git a/src/main/java/de/bixilon/minosoft/data/registries/item/items/block/BlockItem.kt b/src/main/java/de/bixilon/minosoft/data/registries/item/items/block/BlockItem.kt index 6241fd0c2..5a297a5ce 100644 --- a/src/main/java/de/bixilon/minosoft/data/registries/item/items/block/BlockItem.kt +++ b/src/main/java/de/bixilon/minosoft/data/registries/item/items/block/BlockItem.kt @@ -29,6 +29,7 @@ import kotlin.reflect.jvm.javaField abstract class BlockItem(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) {