aboutsummaryrefslogtreecommitdiff
path: root/src/main/kotlin/util/skyblock
diff options
context:
space:
mode:
authorLinnea Gräf <nea@nea.moe>2025-11-17 19:55:02 +0100
committerLinnea Gräf <nea@nea.moe>2025-11-17 19:55:02 +0100
commitc93a04a001b0f66b2724d46b04b6d1ed49a08d07 (patch)
tree5869ca70acc482ef0362f27785c3d3f1cbb9ffae /src/main/kotlin/util/skyblock
parentaf9893b59407c69d31ebd2ed513f0396ab4d2dc9 (diff)
downloadFirmament-c93a04a001b0f66b2724d46b04b6d1ed49a08d07.tar.gz
Firmament-c93a04a001b0f66b2724d46b04b6d1ed49a08d07.tar.bz2
Firmament-c93a04a001b0f66b2724d46b04b6d1ed49a08d07.zip
refactor: port to mojmaps
Diffstat (limited to 'src/main/kotlin/util/skyblock')
-rw-r--r--src/main/kotlin/util/skyblock/AbilityUtils.kt12
-rw-r--r--src/main/kotlin/util/skyblock/ItemType.kt2
-rw-r--r--src/main/kotlin/util/skyblock/PartyUtil.kt6
-rw-r--r--src/main/kotlin/util/skyblock/Rarity.kt34
-rw-r--r--src/main/kotlin/util/skyblock/SBItemUtil.kt4
-rw-r--r--src/main/kotlin/util/skyblock/SackUtil.kt18
-rw-r--r--src/main/kotlin/util/skyblock/ScreenIdentification.kt14
-rw-r--r--src/main/kotlin/util/skyblock/TabListAPI.kt6
8 files changed, 48 insertions, 48 deletions
diff --git a/src/main/kotlin/util/skyblock/AbilityUtils.kt b/src/main/kotlin/util/skyblock/AbilityUtils.kt
index 0d7d2b7..9ba182d 100644
--- a/src/main/kotlin/util/skyblock/AbilityUtils.kt
+++ b/src/main/kotlin/util/skyblock/AbilityUtils.kt
@@ -1,8 +1,8 @@
package moe.nea.firmament.util.skyblock
import kotlin.time.Duration
-import net.minecraft.item.ItemStack
-import net.minecraft.text.Text
+import net.minecraft.world.item.ItemStack
+import net.minecraft.network.chat.Component
import moe.nea.firmament.util.ErrorUtil
import moe.nea.firmament.util.directLiteralStringContent
import moe.nea.firmament.util.mc.loreAccordingToNbt
@@ -17,7 +17,7 @@ object AbilityUtils {
val hasPowerScroll: Boolean,
val activation: AbilityActivation,
val manaCost: Int?,
- val descriptionLines: List<Text>,
+ val descriptionLines: List<Component>,
val cooldown: Duration?,
)
@@ -40,7 +40,7 @@ object AbilityUtils {
}
private val abilityNameRegex = "Ability: (?<name>.*?) *".toPattern()
- private fun findAbility(iterator: ListIterator<Text>): ItemAbility? {
+ private fun findAbility(iterator: ListIterator<Component>): ItemAbility? {
if (!iterator.hasNext()) {
return null
}
@@ -72,7 +72,7 @@ object AbilityUtils {
return null
}
if (abilityName == null) return null
- val descriptionLines = mutableListOf<Text>()
+ val descriptionLines = mutableListOf<Component>()
var manaCost: Int? = null
var cooldown: Duration? = null
while (iterator.hasNext()) {
@@ -121,7 +121,7 @@ object AbilityUtils {
)
}
- fun getAbilities(lore: List<Text>): List<ItemAbility> {
+ fun getAbilities(lore: List<Component>): List<ItemAbility> {
val iterator = lore.listIterator()
val abilities = mutableListOf<ItemAbility>()
while (iterator.hasNext()) {
diff --git a/src/main/kotlin/util/skyblock/ItemType.kt b/src/main/kotlin/util/skyblock/ItemType.kt
index 9045646..887edef 100644
--- a/src/main/kotlin/util/skyblock/ItemType.kt
+++ b/src/main/kotlin/util/skyblock/ItemType.kt
@@ -1,6 +1,6 @@
package moe.nea.firmament.util.skyblock
-import net.minecraft.item.ItemStack
+import net.minecraft.world.item.ItemStack
import moe.nea.firmament.util.directLiteralStringContent
import moe.nea.firmament.util.mc.loreAccordingToNbt
import moe.nea.firmament.util.petData
diff --git a/src/main/kotlin/util/skyblock/PartyUtil.kt b/src/main/kotlin/util/skyblock/PartyUtil.kt
index 7d28868..46e1aa3 100644
--- a/src/main/kotlin/util/skyblock/PartyUtil.kt
+++ b/src/main/kotlin/util/skyblock/PartyUtil.kt
@@ -7,7 +7,7 @@ import net.hypixel.modapi.packet.impl.clientbound.ClientboundPartyInfoPacket.Par
import net.hypixel.modapi.packet.impl.serverbound.ServerboundPartyInfoPacket
import org.intellij.lang.annotations.Language
import kotlinx.coroutines.launch
-import net.minecraft.text.Text
+import net.minecraft.network.chat.Component
import moe.nea.firmament.Firmament
import moe.nea.firmament.annotations.Subscribe
import moe.nea.firmament.apis.Routes
@@ -53,7 +53,7 @@ object PartyUtil {
}
thenExecute {
val p = party
- val text = Text.empty()
+ val text = Component.empty()
text.append(
tr("firmament.dev.partyinfo", "Party Info: ")
.boolColour(p != null)
@@ -64,7 +64,7 @@ object PartyUtil {
text.append(tr("firmament.dev.partyinfo.count", "${p.members.size} members").grey())
p.members.forEach {
text.append("\n")
- .append(Text.literal(" - ${it.name}"))
+ .append(Component.literal(" - ${it.name}"))
.append(" (")
.append(
when (it.role) {
diff --git a/src/main/kotlin/util/skyblock/Rarity.kt b/src/main/kotlin/util/skyblock/Rarity.kt
index 2507256..95e5d87 100644
--- a/src/main/kotlin/util/skyblock/Rarity.kt
+++ b/src/main/kotlin/util/skyblock/Rarity.kt
@@ -7,10 +7,10 @@ import kotlinx.serialization.descriptors.PrimitiveSerialDescriptor
import kotlinx.serialization.descriptors.SerialDescriptor
import kotlinx.serialization.encoding.Decoder
import kotlinx.serialization.encoding.Encoder
-import net.minecraft.item.ItemStack
-import net.minecraft.text.Style
-import net.minecraft.text.Text
-import net.minecraft.util.Formatting
+import net.minecraft.world.item.ItemStack
+import net.minecraft.network.chat.Style
+import net.minecraft.network.chat.Component
+import net.minecraft.ChatFormatting
import moe.nea.firmament.util.StringUtil.words
import moe.nea.firmament.util.collections.lastNotNullOfOrNull
import moe.nea.firmament.util.mc.loreAccordingToNbt
@@ -49,23 +49,23 @@ enum class Rarity(vararg altNames: String) {
}
val names = setOf(name) + altNames
- val text: Text get() = Text.literal(name).setStyle(Style.EMPTY.withColor(colourMap[this]))
+ val text: Component get() = Component.literal(name).setStyle(Style.EMPTY.withColor(colourMap[this]))
val neuRepoRarity: RepoRarity? = RepoRarity.entries.find { it.name == name }
companion object {
// TODO: inline those formattings as fields
val colourMap = mapOf(
- Rarity.COMMON to Formatting.WHITE,
- Rarity.UNCOMMON to Formatting.GREEN,
- Rarity.RARE to Formatting.BLUE,
- Rarity.EPIC to Formatting.DARK_PURPLE,
- Rarity.LEGENDARY to Formatting.GOLD,
- Rarity.MYTHIC to Formatting.LIGHT_PURPLE,
- Rarity.DIVINE to Formatting.AQUA,
- Rarity.SPECIAL to Formatting.RED,
- Rarity.VERY_SPECIAL to Formatting.RED,
- Rarity.SUPREME to Formatting.DARK_RED,
- Rarity.ULTIMATE to Formatting.DARK_RED,
+ Rarity.COMMON to ChatFormatting.WHITE,
+ Rarity.UNCOMMON to ChatFormatting.GREEN,
+ Rarity.RARE to ChatFormatting.BLUE,
+ Rarity.EPIC to ChatFormatting.DARK_PURPLE,
+ Rarity.LEGENDARY to ChatFormatting.GOLD,
+ Rarity.MYTHIC to ChatFormatting.LIGHT_PURPLE,
+ Rarity.DIVINE to ChatFormatting.AQUA,
+ Rarity.SPECIAL to ChatFormatting.RED,
+ Rarity.VERY_SPECIAL to ChatFormatting.RED,
+ Rarity.SUPREME to ChatFormatting.DARK_RED,
+ Rarity.ULTIMATE to ChatFormatting.DARK_RED,
)
val byName = entries.flatMap { en -> en.names.map { it to en } }.toMap()
val fromNeuRepo = entries.associateBy { it.neuRepoRarity }
@@ -89,7 +89,7 @@ enum class Rarity(vararg altNames: String) {
fun fromPetItem(itemStack: ItemStack): Rarity? =
itemStack.petData?.tier?.let(::fromNeuRepo)
- fun fromLore(lore: List<Text>): Rarity? =
+ fun fromLore(lore: List<Component>): Rarity? =
lore.lastNotNullOfOrNull {
it.unformattedString.words()
.firstNotNullOfOrNull(::fromString)
diff --git a/src/main/kotlin/util/skyblock/SBItemUtil.kt b/src/main/kotlin/util/skyblock/SBItemUtil.kt
index 3901b60..619a10b 100644
--- a/src/main/kotlin/util/skyblock/SBItemUtil.kt
+++ b/src/main/kotlin/util/skyblock/SBItemUtil.kt
@@ -1,12 +1,12 @@
package moe.nea.firmament.util.skyblock
-import net.minecraft.item.ItemStack
+import net.minecraft.world.item.ItemStack
import moe.nea.firmament.util.mc.loreAccordingToNbt
import moe.nea.firmament.util.unformattedString
object SBItemUtil {
fun ItemStack.getSearchName(): String {
- val name = this.name.unformattedString
+ val name = this.hoverName.unformattedString
if (name.contains("Enchanted Book")) {
val enchant = loreAccordingToNbt.firstOrNull()?.unformattedString
if (enchant != null) return enchant
diff --git a/src/main/kotlin/util/skyblock/SackUtil.kt b/src/main/kotlin/util/skyblock/SackUtil.kt
index af03363..a69309b 100644
--- a/src/main/kotlin/util/skyblock/SackUtil.kt
+++ b/src/main/kotlin/util/skyblock/SackUtil.kt
@@ -2,9 +2,9 @@ package moe.nea.firmament.util.skyblock
import kotlinx.serialization.Serializable
import kotlinx.serialization.serializer
-import net.minecraft.client.gui.screen.ingame.GenericContainerScreen
-import net.minecraft.text.HoverEvent
-import net.minecraft.text.Text
+import net.minecraft.client.gui.screens.inventory.ContainerScreen
+import net.minecraft.network.chat.HoverEvent
+import net.minecraft.network.chat.Component
import moe.nea.firmament.annotations.Subscribe
import moe.nea.firmament.events.ChestInventoryUpdateEvent
import moe.nea.firmament.events.ProcessChatEvent
@@ -46,11 +46,11 @@ object SackUtil {
@Subscribe
fun storeDataFromInventory(event: ChestInventoryUpdateEvent) {
- val screen = event.inventory as? GenericContainerScreen ?: return
+ val screen = event.inventory as? ContainerScreen ?: return
if (!screen.title.unformattedString.endsWith(" Sack")) return
- val inv = screen.screenHandler?.inventory ?: return
- if (inv.size() < 18) return
- val backSlot = inv.getStack(inv.size() - 5)
+ val inv = screen.menu?.container ?: return
+ if (inv.containerSize < 18) return
+ val backSlot = inv.getItem(inv.containerSize - 5)
if (backSlot.displayNameAccordingToNbt.unformattedString != "Go Back") return
if (backSlot.loreAccordingToNbt.map { it.unformattedString } != listOf("To Sack of Sacks")) return
for (itemStack in inv.iterableView) {
@@ -74,7 +74,7 @@ object SackUtil {
getUpdatesFromMessage(event.text)
}
- fun getUpdatesFromMessage(text: Text): List<SackUpdate> {
+ fun getUpdatesFromMessage(text: Component): List<SackUpdate> {
val update = ChatUpdate()
text.siblings.forEach(update::updateFromHoverText)
return update.updates
@@ -102,7 +102,7 @@ object SackUtil {
}
}
- fun updateFromHoverText(text: Text) {
+ fun updateFromHoverText(text: Component) {
text.siblings.forEach(::updateFromHoverText)
val hoverText = (text.style.hoverEvent as? HoverEvent.ShowText)?.value ?: return
val cleanedText = hoverText.unformattedString
diff --git a/src/main/kotlin/util/skyblock/ScreenIdentification.kt b/src/main/kotlin/util/skyblock/ScreenIdentification.kt
index 0e7797c..ff725fa 100644
--- a/src/main/kotlin/util/skyblock/ScreenIdentification.kt
+++ b/src/main/kotlin/util/skyblock/ScreenIdentification.kt
@@ -1,7 +1,7 @@
package moe.nea.firmament.util.skyblock
-import net.minecraft.client.gui.screen.Screen
-import net.minecraft.client.gui.screen.ingame.GenericContainerScreen
+import net.minecraft.client.gui.screens.Screen
+import net.minecraft.client.gui.screens.inventory.ContainerScreen
import moe.nea.firmament.util.mc.displayNameAccordingToNbt
import moe.nea.firmament.util.mc.loreAccordingToNbt
import moe.nea.firmament.util.unformattedString
@@ -24,13 +24,13 @@ object ScreenIdentification {
enum class ScreenType(val detector: (Screen) -> Boolean) {
BAZAAR_ANY({
- it is GenericContainerScreen && (
- it.screenHandler.getSlot(it.screenHandler.rows * 9 - 4)
- .stack
+ it is ContainerScreen && (
+ it.menu.getSlot(it.menu.rowCount * 9 - 4)
+ .item
.displayNameAccordingToNbt
.unformattedString == "Manage Orders"
- || it.screenHandler.getSlot(it.screenHandler.rows * 9 - 5)
- .stack
+ || it.menu.getSlot(it.menu.rowCount * 9 - 5)
+ .item
.loreAccordingToNbt
.any {
it.unformattedString == "To Bazaar"
diff --git a/src/main/kotlin/util/skyblock/TabListAPI.kt b/src/main/kotlin/util/skyblock/TabListAPI.kt
index 6b937da..43722e0 100644
--- a/src/main/kotlin/util/skyblock/TabListAPI.kt
+++ b/src/main/kotlin/util/skyblock/TabListAPI.kt
@@ -1,7 +1,7 @@
package moe.nea.firmament.util.skyblock
import org.intellij.lang.annotations.Language
-import net.minecraft.text.Text
+import net.minecraft.network.chat.Component
import moe.nea.firmament.util.StringUtil.title
import moe.nea.firmament.util.StringUtil.unwords
import moe.nea.firmament.util.mc.MCTabListAPI
@@ -9,7 +9,7 @@ import moe.nea.firmament.util.unformattedString
object TabListAPI {
- fun getWidgetLines(widgetName: WidgetName, includeTitle: Boolean = false, from: MCTabListAPI.CurrentTabList = MCTabListAPI.currentTabList): List<Text> {
+ fun getWidgetLines(widgetName: WidgetName, includeTitle: Boolean = false, from: MCTabListAPI.CurrentTabList = MCTabListAPI.currentTabList): List<Component> {
return from.body
.dropWhile { !widgetName.matchesTitle(it) }
.takeWhile { it.string.isNotBlank() && !it.string.startsWith(" ") }
@@ -25,7 +25,7 @@ object TabListAPI {
PET
;
- fun matchesTitle(it: Text): Boolean {
+ fun matchesTitle(it: Component): Boolean {
return regex.matches(it.unformattedString)
}