From 970dfddaf9e80d6b206f411139227397f4d9e847 Mon Sep 17 00:00:00 2001 From: Linnea Gräf Date: Sun, 17 Nov 2024 17:29:15 +0100 Subject: feat: Add bazaar/ah search hotkey --- src/main/kotlin/util/MC.kt | 1 + .../kotlin/util/mc/FirmamentDataComponentTypes.kt | 36 ++++++++++++++++++++++ src/main/kotlin/util/skyblock/SBItemUtil.kt | 21 +++++++++++++ 3 files changed, 58 insertions(+) create mode 100644 src/main/kotlin/util/mc/FirmamentDataComponentTypes.kt create mode 100644 src/main/kotlin/util/skyblock/SBItemUtil.kt (limited to 'src/main/kotlin/util') diff --git a/src/main/kotlin/util/MC.kt b/src/main/kotlin/util/MC.kt index 3f5d633..f7c81da 100644 --- a/src/main/kotlin/util/MC.kt +++ b/src/main/kotlin/util/MC.kt @@ -49,6 +49,7 @@ object MC { messageQueue.add(text) } + @Deprecated("Use checked method instead", replaceWith = ReplaceWith("sendCommand(command)")) fun sendServerCommand(command: String) { val nh = player?.networkHandler ?: return nh.sendPacket( diff --git a/src/main/kotlin/util/mc/FirmamentDataComponentTypes.kt b/src/main/kotlin/util/mc/FirmamentDataComponentTypes.kt new file mode 100644 index 0000000..012f52e --- /dev/null +++ b/src/main/kotlin/util/mc/FirmamentDataComponentTypes.kt @@ -0,0 +1,36 @@ +package moe.nea.firmament.util.mc + +import com.mojang.serialization.Codec +import net.minecraft.component.ComponentType +import net.minecraft.registry.Registries +import net.minecraft.registry.Registry +import moe.nea.firmament.Firmament +import moe.nea.firmament.annotations.Subscribe +import moe.nea.firmament.events.ClientInitEvent + +object FirmamentDataComponentTypes { + + @Subscribe + fun init(event: ClientInitEvent) { + } + + private fun register( + id: String, + builderOperator: (ComponentType.Builder) -> Unit + ): ComponentType { + return Registry.register( + Registries.DATA_COMPONENT_TYPE, + Firmament.identifier(id), + ComponentType.builder().also(builderOperator) + .build() + ) + } + + val IS_BROKEN = register( + "is_broken" + ) { + it.codec(Codec.BOOL.fieldOf("is_broken").codec()) + } + + +} diff --git a/src/main/kotlin/util/skyblock/SBItemUtil.kt b/src/main/kotlin/util/skyblock/SBItemUtil.kt new file mode 100644 index 0000000..3901b60 --- /dev/null +++ b/src/main/kotlin/util/skyblock/SBItemUtil.kt @@ -0,0 +1,21 @@ +package moe.nea.firmament.util.skyblock + +import net.minecraft.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 + if (name.contains("Enchanted Book")) { + val enchant = loreAccordingToNbt.firstOrNull()?.unformattedString + if (enchant != null) return enchant + } + if (name.startsWith("[Lvl")) { + val closing = name.indexOf(']') + if (closing > 0) + return name.substring(closing) + } + return name + } +} -- cgit