diff --git a/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/legacy/CustomBlockModel.kt b/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/legacy/CustomBlockModel.kt new file mode 100644 index 000000000..4f5312ec4 --- /dev/null +++ b/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/legacy/CustomBlockModel.kt @@ -0,0 +1,22 @@ +/* + * Minosoft + * Copyright (C) 2020-2023 Moritz Zwerger + * + * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along with this program. If not, see . + * + * This software is not affiliated with Mojang AB, the original developer of Minecraft. + */ + +package de.bixilon.minosoft.data.registries.blocks.types.legacy + +import de.bixilon.minosoft.data.registries.identified.ResourceLocation +import de.bixilon.minosoft.protocol.versions.Version + +interface CustomBlockModel { + fun getModelName(version: Version) = modelName + val modelName: ResourceLocation? get() = null +} diff --git a/src/main/java/de/bixilon/minosoft/gui/rendering/models/loader/BlockLoader.kt b/src/main/java/de/bixilon/minosoft/gui/rendering/models/loader/BlockLoader.kt index 98f378b48..4b3c09a36 100644 --- a/src/main/java/de/bixilon/minosoft/gui/rendering/models/loader/BlockLoader.kt +++ b/src/main/java/de/bixilon/minosoft/gui/rendering/models/loader/BlockLoader.kt @@ -38,7 +38,7 @@ class BlockLoader(private val loader: ModelLoader) { } fun loadState(block: Block): DirectBlockModel? { - val file = (if (block is CustomBlockModel) block.getModelName(version) else block.identifier).blockState() + val file = (if (block is CustomBlockModel) block.getModelName(version) else block.identifier)?.blockState() ?: return null val data = assets[file].readJsonObject() return DirectBlockModel.deserialize(this, data)