From 026a2d2751622f07849976dea9e4b0585d1c0140 Mon Sep 17 00:00:00 2001 From: Bixilon Date: Fri, 2 Apr 2021 23:00:35 +0200 Subject: [PATCH] data: BlockItem --- .../data/mappings/blocks/BlockState.kt | 2 +- .../minosoft/data/mappings/items/BlockItem.kt | 27 +++++++++++++++++++ .../minosoft/data/mappings/items/Item.kt | 1 + 3 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 src/main/java/de/bixilon/minosoft/data/mappings/items/BlockItem.kt diff --git a/src/main/java/de/bixilon/minosoft/data/mappings/blocks/BlockState.kt b/src/main/java/de/bixilon/minosoft/data/mappings/blocks/BlockState.kt index 0dbc5141b..ca590f3cc 100644 --- a/src/main/java/de/bixilon/minosoft/data/mappings/blocks/BlockState.kt +++ b/src/main/java/de/bixilon/minosoft/data/mappings/blocks/BlockState.kt @@ -198,7 +198,7 @@ data class BlockState( propertyJsonValue.asInt } else -> { - propertyJsonValue.asString.toLowerCase() + propertyJsonValue.asString.toLowerCase() } } try { diff --git a/src/main/java/de/bixilon/minosoft/data/mappings/items/BlockItem.kt b/src/main/java/de/bixilon/minosoft/data/mappings/items/BlockItem.kt new file mode 100644 index 000000000..1ac4cbcc0 --- /dev/null +++ b/src/main/java/de/bixilon/minosoft/data/mappings/items/BlockItem.kt @@ -0,0 +1,27 @@ +/* + * Minosoft + * Copyright (C) 2021 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.mappings.items + +import com.google.gson.JsonObject +import de.bixilon.minosoft.data.mappings.ResourceLocation +import de.bixilon.minosoft.data.mappings.blocks.Block +import de.bixilon.minosoft.data.mappings.versions.VersionMapping + +open class BlockItem( + resourceLocation: ResourceLocation, + data: JsonObject, + versionMapping: VersionMapping, +) : Item(resourceLocation, data, versionMapping) { + val block: Block = versionMapping.blockRegistry.get(data["block"].asInt) +} diff --git a/src/main/java/de/bixilon/minosoft/data/mappings/items/Item.kt b/src/main/java/de/bixilon/minosoft/data/mappings/items/Item.kt index c4d449820..8f505171e 100644 --- a/src/main/java/de/bixilon/minosoft/data/mappings/items/Item.kt +++ b/src/main/java/de/bixilon/minosoft/data/mappings/items/Item.kt @@ -42,6 +42,7 @@ open class Item( override fun deserialize(mappings: VersionMapping?, resourceLocation: ResourceLocation, data: JsonObject): Item { check(mappings != null) { "VersionMapping is null!" } return when (data["class"].asString) { + "BlockItem" -> BlockItem(resourceLocation, data, mappings) "ArmorItem" -> ArmorItem(resourceLocation, data, mappings) // "Item" -> Item(resourceLocation, data) // else -> TODO("Can not find item class: ${data["class"].asString}")