diff options
| author | Linnea Gräf <nea@nea.moe> | 2025-04-01 01:37:55 +0200 |
|---|---|---|
| committer | Linnea Gräf <nea@nea.moe> | 2025-05-05 00:17:08 +0200 |
| commit | bb02aa6ddd8f1bafee35a6bf247abfee2195d485 (patch) | |
| tree | b7c62e079705ef77882765de5d24d3faae974d67 /src/main/kotlin/features/inventory/storageoverlay | |
| parent | 9501ca2e340a6d39e8c92c6b152e7c28de43dd7a (diff) | |
| download | Firmament-bb02aa6ddd8f1bafee35a6bf247abfee2195d485.tar.gz Firmament-bb02aa6ddd8f1bafee35a6bf247abfee2195d485.tar.bz2 Firmament-bb02aa6ddd8f1bafee35a6bf247abfee2195d485.zip | |
WIP: Port some 1.21.5 things
Diffstat (limited to 'src/main/kotlin/features/inventory/storageoverlay')
| -rw-r--r-- | src/main/kotlin/features/inventory/storageoverlay/StorageOverlayScreen.kt | 2 | ||||
| -rw-r--r-- | src/main/kotlin/features/inventory/storageoverlay/VirtualInventory.kt | 7 |
2 files changed, 5 insertions, 4 deletions
diff --git a/src/main/kotlin/features/inventory/storageoverlay/StorageOverlayScreen.kt b/src/main/kotlin/features/inventory/storageoverlay/StorageOverlayScreen.kt index 63a2f54..22f4dab 100644 --- a/src/main/kotlin/features/inventory/storageoverlay/StorageOverlayScreen.kt +++ b/src/main/kotlin/features/inventory/storageoverlay/StorageOverlayScreen.kt @@ -218,7 +218,7 @@ class StorageOverlayScreen : Screen(Text.literal("")) { } fun drawPlayerInventory(context: DrawContext, mouseX: Int, mouseY: Int, delta: Float) { - val items = MC.player?.inventory?.main ?: return + val items = MC.player?.inventory?.mainStacks ?: return items.withIndex().forEach { (index, item) -> val (x, y) = getPlayerInventorySlotPosition(index) context.drawItem(item, x, y, 0) diff --git a/src/main/kotlin/features/inventory/storageoverlay/VirtualInventory.kt b/src/main/kotlin/features/inventory/storageoverlay/VirtualInventory.kt index 3b86184..d99acd7 100644 --- a/src/main/kotlin/features/inventory/storageoverlay/VirtualInventory.kt +++ b/src/main/kotlin/features/inventory/storageoverlay/VirtualInventory.kt @@ -11,6 +11,7 @@ import kotlinx.serialization.descriptors.PrimitiveSerialDescriptor import kotlinx.serialization.descriptors.SerialDescriptor import kotlinx.serialization.encoding.Decoder import kotlinx.serialization.encoding.Encoder +import kotlin.jvm.optionals.getOrNull import net.minecraft.item.ItemStack import net.minecraft.nbt.NbtCompound import net.minecraft.nbt.NbtIo @@ -42,15 +43,15 @@ data class VirtualInventory( override fun deserialize(decoder: Decoder): VirtualInventory { val s = decoder.decodeString() val n = NbtIo.readCompressed(ByteArrayInputStream(s.decodeBase64Bytes()), NbtSizeTracker.of(100_000_000)) - val items = n.getList(INVENTORY, NbtCompound.COMPOUND_TYPE.toInt()) + val items = n.getList(INVENTORY).getOrNull() val ops = getOps() - return VirtualInventory(items.map { + return VirtualInventory(items?.map { it as NbtCompound if (it.isEmpty) ItemStack.EMPTY else ErrorUtil.catch("Could not deserialize item") { ItemStack.CODEC.parse(ops, it).orThrow }.or { ItemStack.EMPTY } - }) + } ?: listOf()) } fun getOps() = TolerantRegistriesOps(NbtOps.INSTANCE, MC.currentOrDefaultRegistries) |
