Skip to content

Commit 7cfb8c1

Browse files
committed
Legacy hex support (Don't recommended.)
1 parent 93d97c2 commit 7cfb8c1

File tree

3 files changed

+23
-6
lines changed

3 files changed

+23
-6
lines changed

dist/src/main/kotlin/kr/toxicity/hud/manager/ConfigManagerImpl.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ object ConfigManagerImpl : BetterHudManager, ConfigManager {
8686
)
8787
private set
8888

89-
var useLegacyFormat = true
89+
var useLegacyFormat = false
9090
var legacySerializer = LEGACY_AMPERSAND
9191
private set
9292
private var removeDefaultHotbar = false
@@ -189,7 +189,7 @@ object ConfigManagerImpl : BetterHudManager, ConfigManager {
189189
includedMinecraftTextures = yaml["included-minecraft-list"]?.asArray()?.map {
190190
it.asString()
191191
} ?: emptyList()
192-
useLegacyFormat = yaml.getAsBoolean("use-legacy-format", true)
192+
useLegacyFormat = yaml.getAsBoolean("use-legacy-format", false)
193193
yaml["legacy-serializer"]?.asString()?.let {
194194
runWithExceptionHandling(CONSOLE, "Unable to find legacy serializer.") {
195195
legacySerializer = it.toLegacySerializer()

dist/src/main/kotlin/kr/toxicity/hud/util/Serializers.kt

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,23 @@ import net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer
55

66
fun interface ComponentDeserializer : (String) -> Component
77

8-
val LEGACY_SECTION: ComponentDeserializer = ComponentDeserializer { p1 -> LegacyComponentSerializer.legacySection().deserialize(p1) }
9-
val LEGACY_AMPERSAND: ComponentDeserializer = ComponentDeserializer { p1 -> LegacyComponentSerializer.legacyAmpersand().deserialize(p1) }
10-
val LEGACY_BOTH: ComponentDeserializer = ComponentDeserializer { p1 -> LegacyComponentSerializer.legacySection().deserialize(p1.replace('&', '§')) }
8+
private val I_DO_NOT_THINK_THAT by lazy {
9+
LegacyComponentSerializer.builder()
10+
.useUnusualXRepeatedCharacterHexFormat()
11+
.character('§')
12+
.extractUrls()
13+
.hexColors()
14+
.build()
15+
}
16+
private val IT_IS_A_GOOD_IDEA by lazy {
17+
LegacyComponentSerializer.builder()
18+
.useUnusualXRepeatedCharacterHexFormat()
19+
.character('&')
20+
.extractUrls()
21+
.hexColors()
22+
.build()
23+
}
24+
25+
val LEGACY_SECTION: ComponentDeserializer = ComponentDeserializer { p1 -> I_DO_NOT_THINK_THAT.deserialize(p1) }
26+
val LEGACY_AMPERSAND: ComponentDeserializer = ComponentDeserializer { p1 -> IT_IS_A_GOOD_IDEA.deserialize(p1) }
27+
val LEGACY_BOTH: ComponentDeserializer = ComponentDeserializer { p1 -> I_DO_NOT_THINK_THAT.deserialize(p1.replace('&', '§')) }

dist/src/main/resources/config.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ included-minecraft-list:
2929
- item
3030
resourcepack-obfuscation: false
3131
clear-build-folder: true #If you use Oraxen, set this to false.
32-
use-legacy-format: true
32+
use-legacy-format: false #Please don't enable it unless it is necessary.
3333
legacy-serializer: ampersand #section, ampersand, both
3434
minecraft-jar-version: bukkit #1.21, 1.20.4, etc.
3535
remove-default-hotbar: false

0 commit comments

Comments
 (0)