aboutsummaryrefslogtreecommitdiff
path: root/src/main/kotlin/util
diff options
context:
space:
mode:
authorLinnea Gräf <nea@nea.moe>2024-11-17 17:29:15 +0100
committerLinnea Gräf <nea@nea.moe>2024-11-17 17:29:15 +0100
commit970dfddaf9e80d6b206f411139227397f4d9e847 (patch)
tree999f15cf28127c2053058dd877f6354540c22553 /src/main/kotlin/util
parent915ab96b2444fa2e93d99a9747861b619d77f8f8 (diff)
downloadFirmament-970dfddaf9e80d6b206f411139227397f4d9e847.tar.gz
Firmament-970dfddaf9e80d6b206f411139227397f4d9e847.tar.bz2
Firmament-970dfddaf9e80d6b206f411139227397f4d9e847.zip
feat: Add bazaar/ah search hotkey
Diffstat (limited to 'src/main/kotlin/util')
-rw-r--r--src/main/kotlin/util/MC.kt1
-rw-r--r--src/main/kotlin/util/mc/FirmamentDataComponentTypes.kt36
-rw-r--r--src/main/kotlin/util/skyblock/SBItemUtil.kt21
3 files changed, 58 insertions, 0 deletions
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 <T> register(
+ id: String,
+ builderOperator: (ComponentType.Builder<T>) -> Unit
+ ): ComponentType<T> {
+ return Registry.register(
+ Registries.DATA_COMPONENT_TYPE,
+ Firmament.identifier(id),
+ ComponentType.builder<T>().also(builderOperator)
+ .build()
+ )
+ }
+
+ val IS_BROKEN = register<Boolean>(
+ "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
+ }
+}