diff options
author | nea <nea@nea.moe> | 2023-05-04 15:34:02 +0200 |
---|---|---|
committer | nea <nea@nea.moe> | 2023-05-04 15:34:02 +0200 |
commit | bcd86e28228d2ee35a2009d4f7e2fea55ea3c02f (patch) | |
tree | 0a6e2e8551900b5f5b3f0e178e58873a8c68a146 /src/main/kotlin | |
parent | 857427b0766fe68590589c22e86dbcf1196b4ed5 (diff) | |
download | firmament-bcd86e28228d2ee35a2009d4f7e2fea55ea3c02f.tar.gz firmament-bcd86e28228d2ee35a2009d4f7e2fea55ea3c02f.tar.bz2 firmament-bcd86e28228d2ee35a2009d4f7e2fea55ea3c02f.zip |
Display broken favourites
Diffstat (limited to 'src/main/kotlin')
3 files changed, 11 insertions, 7 deletions
diff --git a/src/main/kotlin/moe/nea/notenoughupdates/rei/NEUItemEntrySerializer.kt b/src/main/kotlin/moe/nea/notenoughupdates/rei/NEUItemEntrySerializer.kt index 97082e2..b6c81a7 100644 --- a/src/main/kotlin/moe/nea/notenoughupdates/rei/NEUItemEntrySerializer.kt +++ b/src/main/kotlin/moe/nea/notenoughupdates/rei/NEUItemEntrySerializer.kt @@ -8,16 +8,18 @@ import moe.nea.notenoughupdates.repo.RepoManager import moe.nea.notenoughupdates.util.SkyblockId object NEUItemEntrySerializer : EntrySerializer<NEUItem?> { + const val SKYBLOCK_ID_ENTRY = "SKYBLOCK_ID" + override fun supportSaving(): Boolean = true override fun supportReading(): Boolean = true override fun read(tag: NbtCompound): NEUItem? { - return RepoManager.getNEUItem(SkyblockId(tag.getString("SKYBLOCK_ID"))) + return RepoManager.getNEUItem(SkyblockId(tag.getString(SKYBLOCK_ID_ENTRY))) } override fun save(entry: EntryStack<NEUItem?>, value: NEUItem?): NbtCompound { return NbtCompound().apply { - putString("SKYBLOCK_ID", value?.skyblockItemId ?: "null") + putString(SKYBLOCK_ID_ENTRY, value?.skyblockItemId ?: "null") } } } diff --git a/src/main/kotlin/moe/nea/notenoughupdates/rei/NEUReiPlugin.kt b/src/main/kotlin/moe/nea/notenoughupdates/rei/NEUReiPlugin.kt index e89b007..88f7abc 100644 --- a/src/main/kotlin/moe/nea/notenoughupdates/rei/NEUReiPlugin.kt +++ b/src/main/kotlin/moe/nea/notenoughupdates/rei/NEUReiPlugin.kt @@ -9,6 +9,7 @@ import me.shedaniel.rei.api.common.entry.type.EntryTypeRegistry import me.shedaniel.rei.api.common.entry.type.VanillaEntryTypes import net.minecraft.item.ItemStack import net.minecraft.util.Identifier +import moe.nea.notenoughupdates.repo.ItemCache import moe.nea.notenoughupdates.repo.ItemCache.asItemStack import moe.nea.notenoughupdates.repo.RepoManager @@ -17,7 +18,7 @@ class NEUReiPlugin : REIClientPlugin { companion object { fun EntryStack<NEUItem>.asItemEntry(): EntryStack<ItemStack> { - return EntryStack.of(VanillaEntryTypes.ITEM, value.asItemStack()) + return EntryStack.of(VanillaEntryTypes.ITEM, value?.asItemStack()) } val SKYBLOCK_ITEM_TYPE_ID = Identifier("notenoughupdates", "skyblockitems") diff --git a/src/main/kotlin/moe/nea/notenoughupdates/repo/ItemCache.kt b/src/main/kotlin/moe/nea/notenoughupdates/repo/ItemCache.kt index 5f9159e..cf2fc21 100644 --- a/src/main/kotlin/moe/nea/notenoughupdates/repo/ItemCache.kt +++ b/src/main/kotlin/moe/nea/notenoughupdates/repo/ItemCache.kt @@ -56,10 +56,10 @@ object ItemCache : IReloadable { null } - private fun brokenItemStack(neuItem: NEUItem): ItemStack { + fun brokenItemStack(neuItem: NEUItem?): ItemStack { return ItemStack(Items.PAINTING).apply { - setCustomName(Text.literal(neuItem.displayName)) - appendLore(listOf(Text.translatable("notenoughupdates.repo.brokenitem", neuItem.skyblockItemId))) + setCustomName(Text.literal(neuItem?.displayName ?: "null")) + appendLore(listOf(Text.translatable("notenoughupdates.repo.brokenitem", neuItem?.skyblockItemId))) } } @@ -79,7 +79,8 @@ object ItemCache : IReloadable { } } - fun NEUItem.asItemStack(): ItemStack { + fun NEUItem?.asItemStack(): ItemStack { + if (this == null) return brokenItemStack(null) var s = cache[this.skyblockItemId] if (s == null) { s = asItemStackNow() |