diff options
author | Linnea Gräf <nea@nea.moe> | 2024-11-17 17:29:15 +0100 |
---|---|---|
committer | Linnea Gräf <nea@nea.moe> | 2024-11-17 17:29:15 +0100 |
commit | 970dfddaf9e80d6b206f411139227397f4d9e847 (patch) | |
tree | 999f15cf28127c2053058dd877f6354540c22553 /src/main/kotlin/util | |
parent | 915ab96b2444fa2e93d99a9747861b619d77f8f8 (diff) | |
download | Firmament-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.kt | 1 | ||||
-rw-r--r-- | src/main/kotlin/util/mc/FirmamentDataComponentTypes.kt | 36 | ||||
-rw-r--r-- | src/main/kotlin/util/skyblock/SBItemUtil.kt | 21 |
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 + } +} |