mirror of
https://gitlab.bixilon.de/bixilon/minosoft.git
synced 2025-09-13 09:26:11 -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.json.JsonObject
|
||||||
import de.bixilon.kutil.primitive.IntUtil.toInt
|
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.registries.Registries
|
||||||
import de.bixilon.minosoft.data.registries.sound.SoundGroup
|
import de.bixilon.minosoft.data.registries.sound.SoundGroup
|
||||||
import de.bixilon.minosoft.protocol.versions.Version
|
import de.bixilon.minosoft.protocol.versions.Version
|
||||||
|
import de.bixilon.minosoft.util.KUtil.toResourceLocation
|
||||||
|
|
||||||
class BlockSettings(
|
class BlockSettings(
|
||||||
val version: Version,
|
val version: Version,
|
||||||
val soundGroup: SoundGroup? = null,
|
val soundGroup: SoundGroup? = null,
|
||||||
|
val translationKey: ResourceLocation? = null,
|
||||||
) {
|
) {
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
|
|
||||||
fun of(version: Version, registries: Registries, data: JsonObject): BlockSettings {
|
fun of(version: Version, registries: Registries, data: JsonObject): BlockSettings {
|
||||||
val soundGroup = data["sound_group"]?.toInt()?.let { registries.soundGroup[it] }
|
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
|
var model: BlockRender? = null
|
||||||
|
|
||||||
override val translationKey: ResourceLocation = identifier.translation("block")
|
override val translationKey: ResourceLocation = settings.translationKey ?: identifier.translation("block")
|
||||||
|
|
||||||
@Deprecated("Interface")
|
@Deprecated("Interface")
|
||||||
var tintProvider: TintProvider? = null
|
var tintProvider: TintProvider? = null
|
||||||
|
@ -29,6 +29,7 @@ import kotlin.reflect.jvm.javaField
|
|||||||
abstract class BlockItem<T : Block>(identifier: ResourceLocation) : Item(identifier), StackableItem, PlaceableItem {
|
abstract class BlockItem<T : Block>(identifier: ResourceLocation) : Item(identifier), StackableItem, PlaceableItem {
|
||||||
val block: T = unsafeNull()
|
val block: T = unsafeNull()
|
||||||
protected abstract val _block: Identified
|
protected abstract val _block: Identified
|
||||||
|
override val translationKey: ResourceLocation get() = block.translationKey
|
||||||
override var model: ItemRender?
|
override var model: ItemRender?
|
||||||
get() = super.model ?: block.model ?: block.states.default.model
|
get() = super.model ?: block.model ?: block.states.default.model
|
||||||
set(value) {
|
set(value) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user