Fix missing ids for runes and enchantment books
This commit is contained in:
@@ -1,5 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* SPDX-FileCopyrightText: 2023 Linnea Gräf <nea@nea.moe>
|
* SPDX-FileCopyrightText: 2023 Linnea Gräf <nea@nea.moe>
|
||||||
|
* SPDX-FileCopyrightText: 2024 Linnea Gräf <nea@nea.moe>
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: GPL-3.0-or-later
|
* SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
*/
|
*/
|
||||||
@@ -44,7 +45,6 @@ object CustomSkyBlockTextures : FirmamentFeature {
|
|||||||
it.overrideModel = ModelIdentifier("firmskyblock", id.identifier.path, "inventory")
|
it.overrideModel = ModelIdentifier("firmskyblock", id.identifier.path, "inventory")
|
||||||
}
|
}
|
||||||
TickEvent.subscribe {
|
TickEvent.subscribe {
|
||||||
throw RuntimeException()
|
|
||||||
if (TConfig.cacheDuration < 1 || it.tickCount % TConfig.cacheDuration == 0) {
|
if (TConfig.cacheDuration < 1 || it.tickCount % TConfig.cacheDuration == 0) {
|
||||||
CustomItemModelEvent.clearCache()
|
CustomItemModelEvent.clearCache()
|
||||||
skullTextureCache.clear()
|
skullTextureCache.clear()
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* SPDX-FileCopyrightText: 2023 Linnea Gräf <nea@nea.moe>
|
* SPDX-FileCopyrightText: 2023 Linnea Gräf <nea@nea.moe>
|
||||||
|
* SPDX-FileCopyrightText: 2024 Linnea Gräf <nea@nea.moe>
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: GPL-3.0-or-later
|
* SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
*/
|
*/
|
||||||
@@ -94,12 +95,36 @@ val ItemStack.petData: HypixelPetInfo?
|
|||||||
val ItemStack.skyBlockId: SkyblockId?
|
val ItemStack.skyBlockId: SkyblockId?
|
||||||
get() {
|
get() {
|
||||||
return when (val id = extraAttributes.getString("id")) {
|
return when (val id = extraAttributes.getString("id")) {
|
||||||
|
"" -> {
|
||||||
|
null
|
||||||
|
}
|
||||||
|
|
||||||
"PET" -> {
|
"PET" -> {
|
||||||
petData?.skyblockId ?: SkyblockId.PET_NULL
|
petData?.skyblockId ?: SkyblockId.PET_NULL
|
||||||
}
|
}
|
||||||
// TODO: RUNE, ENCHANTED_BOOK, PARTY_HAT_CRAB{,_ANIMATED}, ABICASE
|
|
||||||
|
"RUNE", "UNIQUE_RUNE" -> {
|
||||||
|
val runeData = extraAttributes.getCompound("runes")
|
||||||
|
val runeKind = runeData.keys.singleOrNull()
|
||||||
|
if (runeKind == null) SkyblockId("RUNE")
|
||||||
|
else SkyblockId("${runeKind.uppercase()}_RUNE;${runeData.getInt(runeKind)}")
|
||||||
|
}
|
||||||
|
|
||||||
|
"ABICASE" -> {
|
||||||
|
SkyblockId("ABICASE_${extraAttributes.getString("model").uppercase()}")
|
||||||
|
}
|
||||||
|
|
||||||
|
"ENCHANTED_BOOK" -> {
|
||||||
|
val enchantmentData = extraAttributes.getCompound("enchantments")
|
||||||
|
val enchantName = enchantmentData.keys.singleOrNull()
|
||||||
|
if (enchantName == null) SkyblockId("ENCHANTED_BOOK")
|
||||||
|
else SkyblockId("${enchantName.uppercase()};${enchantmentData.getInt(enchantName)}")
|
||||||
|
}
|
||||||
|
|
||||||
|
// TODO: PARTY_HAT_CRAB{,_ANIMATED,_SLOTH}
|
||||||
else -> {
|
else -> {
|
||||||
SkyblockId(id)
|
SkyblockId(id)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user