diff options
| author | Cal <cwolfson58@gmail.com> | 2024-10-30 12:00:32 +1100 |
|---|---|---|
| committer | Cal <cwolfson58@gmail.com> | 2024-10-30 12:00:32 +1100 |
| commit | b5097746727dd499ddfc3c897a971cd71cd74d23 (patch) | |
| tree | a3fe37b909b42c31ce6d5278e2904fecff69a943 | |
| parent | 09494f6e0a48e619c486b073189e24288400d689 (diff) | |
| download | SkyHanni-b5097746727dd499ddfc3c897a971cd71cd74d23.tar.gz SkyHanni-b5097746727dd499ddfc3c897a971cd71cd74d23.tar.bz2 SkyHanni-b5097746727dd499ddfc3c897a971cd71cd74d23.zip | |
move to seperate file
| -rw-r--r-- | src/main/java/at/hannibal2/skyhanni/utils/compat/TextCompat.kt | 53 | ||||
| -rw-r--r-- | src/main/java/at/hannibal2/skyhanni/utils/compat/World.kt | 54 | ||||
| -rw-r--r-- | versions/1.21/buildpaths-test.txt | 2 | ||||
| -rw-r--r-- | versions/1.21/buildpaths.txt | 2 |
4 files changed, 55 insertions, 56 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/utils/compat/TextCompat.kt b/src/main/java/at/hannibal2/skyhanni/utils/compat/TextCompat.kt new file mode 100644 index 000000000..7273160f8 --- /dev/null +++ b/src/main/java/at/hannibal2/skyhanni/utils/compat/TextCompat.kt @@ -0,0 +1,53 @@ +package at.hannibal2.skyhanni.utils.compat + +import net.minecraft.util.IChatComponent +//#if MC > 1.16 +//$$ import net.minecraft.ChatFormatting +//$$ import net.minecraft.network.chat.TextColor +//#endif +//#if MC > 1.20 +//$$ import net.minecraft.text.MutableText +//$$ import net.minecraft.text.PlainTextContent +//#endif + +fun IChatComponent.getDirectlyContainedText() = +//#if MC < 1.16 + this.unformattedTextForChat +//#elseif MC < 1.20 +//$$ this.contents +//#else +//$$ (this.content as? PlainTextContent)?.string() ?: "" +//#endif + +fun IChatComponent.getFormattedTextCompat() = +//#if MC < 1.16 + this.formattedText +//#else +//$$run { +//$$ val sb = StringBuilder() +//$$ for (component in iterator()) { +//$$ sb.append(component.style.color?.toChatFormatting()?.toString() ?: "§r") +//$$ sb.append(component.getDirectlyContainedText()) +//$$ sb.append("§r") +//$$ } +//$$ sb.toString() +//$$} +//$$ +//$$private val textColorLUT = ChatFormatting.entries +//$$ .mapNotNull { formatting -> formatting.color?.let { it to formatting } } +//$$ .toMap() +//$$ +//$$fun TextColor.toChatFormatting(): ChatFormatting? { +//$$ return textColorLUT[this.value] +//$$} +//$$ +//$$fun Component.iterator(): Sequence<Component> { +//$$ return sequenceOf(this) + siblings.asSequence().flatMap { it.iterator() } // TODO: in theory we want to properly inherit styles here +//$$} +//#endif + +//#if MC > 1.20 +//$$fun MutableText.withColor(formatting: Formatting): Text { +//$$ return this.styled { it.withColor(formatting) } +//$$} +//#endif diff --git a/src/main/java/at/hannibal2/skyhanni/utils/compat/World.kt b/src/main/java/at/hannibal2/skyhanni/utils/compat/World.kt index 48b99b311..f4aa1e0df 100644 --- a/src/main/java/at/hannibal2/skyhanni/utils/compat/World.kt +++ b/src/main/java/at/hannibal2/skyhanni/utils/compat/World.kt @@ -6,18 +6,6 @@ import net.minecraft.entity.Entity import net.minecraft.entity.item.EntityArmorStand import net.minecraft.entity.player.EntityPlayer import net.minecraft.potion.Potion -import net.minecraft.util.IChatComponent -//#if MC > 1.12 -//$$ import net.minecraft.init.PotionTypes -//#endif -//#if MC > 1.16 -//$$ import net.minecraft.ChatFormatting -//$$ import net.minecraft.network.chat.TextColor -//#endif -//#if MC > 1.20 -//$$ import net.minecraft.text.MutableText -//$$ import net.minecraft.text.PlainTextContent -//#endif fun WorldClient.getLoadedPlayers(): List<EntityPlayer> = //#if MC < 1.14 @@ -46,48 +34,6 @@ fun Minecraft.isOnMainThread() = //$$ this.isSameThread //#endif -fun IChatComponent.getDirectlyContainedText() = -//#if MC < 1.16 - this.unformattedTextForChat -//#elseif MC < 1.20 -//$$ this.contents -//#else -//$$ (this.content as? PlainTextContent)?.string() ?: "" -//#endif - -fun IChatComponent.getFormattedTextCompat() = -//#if MC < 1.16 - this.formattedText -//#else -//$$run { -//$$ val sb = StringBuilder() -//$$ for (component in iterator()) { -//$$ sb.append(component.style.color?.toChatFormatting()?.toString() ?: "§r") -//$$ sb.append(component.getDirectlyContainedText()) -//$$ sb.append("§r") -//$$ } -//$$ sb.toString() -//$$} -//$$ -//$$private val textColorLUT = ChatFormatting.entries -//$$ .mapNotNull { formatting -> formatting.color?.let { it to formatting } } -//$$ .toMap() -//$$ -//$$fun TextColor.toChatFormatting(): ChatFormatting? { -//$$ return textColorLUT[this.value] -//$$} -//$$ -//$$fun Component.iterator(): Sequence<Component> { -//$$ return sequenceOf(this) + siblings.asSequence().flatMap { it.iterator() } // TODO: in theory we want to properly inherit styles here -//$$} -//#endif - -//#if MC > 1.20 -//$$fun MutableText.withColor(formatting: Formatting): Text { -//$$ return this.styled { it.withColor(formatting) } -//$$} -//#endif - object Effects { val invisibility = //#if MC <1.12 diff --git a/versions/1.21/buildpaths-test.txt b/versions/1.21/buildpaths-test.txt index 44c9fb263..6a660321a 100644 --- a/versions/1.21/buildpaths-test.txt +++ b/versions/1.21/buildpaths-test.txt @@ -1,2 +1,2 @@ -at/hannibal2/skyhanni/utils/compat/World.kt +at/hannibal2/skyhanni/utils/compat/TextCompat.kt TestLegacyColorFormat.kt diff --git a/versions/1.21/buildpaths.txt b/versions/1.21/buildpaths.txt index 2b9d32c89..867bab8c0 100644 --- a/versions/1.21/buildpaths.txt +++ b/versions/1.21/buildpaths.txt @@ -1 +1 @@ -at/hannibal2/skyhanni/utils/compat/World.kt +at/hannibal2/skyhanni/utils/compat/TextCompat.kt |
