aboutsummaryrefslogtreecommitdiff
path: root/src/main/kotlin/moe/nea/notenoughupdates
diff options
context:
space:
mode:
authornea <nea@nea.moe>2023-05-04 15:34:02 +0200
committernea <nea@nea.moe>2023-05-04 15:34:02 +0200
commitbcd86e28228d2ee35a2009d4f7e2fea55ea3c02f (patch)
tree0a6e2e8551900b5f5b3f0e178e58873a8c68a146 /src/main/kotlin/moe/nea/notenoughupdates
parent857427b0766fe68590589c22e86dbcf1196b4ed5 (diff)
downloadFirmament-bcd86e28228d2ee35a2009d4f7e2fea55ea3c02f.tar.gz
Firmament-bcd86e28228d2ee35a2009d4f7e2fea55ea3c02f.tar.bz2
Firmament-bcd86e28228d2ee35a2009d4f7e2fea55ea3c02f.zip
Display broken favourites
Diffstat (limited to 'src/main/kotlin/moe/nea/notenoughupdates')
-rw-r--r--src/main/kotlin/moe/nea/notenoughupdates/rei/NEUItemEntrySerializer.kt6
-rw-r--r--src/main/kotlin/moe/nea/notenoughupdates/rei/NEUReiPlugin.kt3
-rw-r--r--src/main/kotlin/moe/nea/notenoughupdates/repo/ItemCache.kt9
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()