diff --git a/src/main/java/de/bixilon/minosoft/data/text/BaseComponent.kt b/src/main/java/de/bixilon/minosoft/data/text/BaseComponent.kt index 1c981c59a..f91741f0f 100644 --- a/src/main/java/de/bixilon/minosoft/data/text/BaseComponent.kt +++ b/src/main/java/de/bixilon/minosoft/data/text/BaseComponent.kt @@ -24,6 +24,7 @@ import de.bixilon.minosoft.util.KUtil.nullCast import de.bixilon.minosoft.util.KUtil.toBoolean import de.bixilon.minosoft.util.KUtil.toResourceLocation import de.bixilon.minosoft.util.nbt.tag.NBTUtil.compoundCast +import de.bixilon.minosoft.util.nbt.tag.NBTUtil.get import javafx.collections.ObservableList import javafx.scene.Node import java.text.CharacterIterator @@ -124,7 +125,7 @@ class BaseComponent : ChatComponent { val color = json["color"]?.nullCast()?.toColor() ?: parent?.color - val outlineColor = json["outlineColor"]?.nullCast()?.toColor() ?: parent?.outlineColor + val outlineColor = json["outlineColor", "outline_color"]?.nullCast()?.toColor() ?: parent?.outlineColor val formatting = parent?.formatting?.toMutableSet() ?: mutableSetOf() @@ -135,8 +136,8 @@ class BaseComponent : ChatComponent { formatting.addOrRemove(PreChatFormattingCodes.OBFUSCATED, json["obfuscated"]?.toBoolean()) formatting.addOrRemove(PreChatFormattingCodes.SHADOWED, json["shadowed"]?.toBoolean()) - val clickEvent = json["clickEvent"]?.compoundCast()?.let { click -> ClickEvent(click, restrictedMode) } - val hoverEvent = json["hoverEvent"]?.compoundCast()?.let { hover -> HoverEvent(hover) } + val clickEvent = json["clickEvent", "click_event"]?.compoundCast()?.let { click -> ClickEvent(click, restrictedMode) } + val hoverEvent = json["hoverEvent", "hover_event"]?.compoundCast()?.let { hover -> HoverEvent(hover) } val textComponent = TextComponent( message = currentText, diff --git a/src/main/java/de/bixilon/minosoft/util/nbt/tag/NBTUtil.kt b/src/main/java/de/bixilon/minosoft/util/nbt/tag/NBTUtil.kt index 29200b53e..40a11cd9d 100644 --- a/src/main/java/de/bixilon/minosoft/util/nbt/tag/NBTUtil.kt +++ b/src/main/java/de/bixilon/minosoft/util/nbt/tag/NBTUtil.kt @@ -53,9 +53,7 @@ object NBTUtil { } - operator fun Map.get(key1: String, key2: String, vararg keys: String): Any? { - this[key1]?.let { return it } - this[key2]?.let { return it } + operator fun Map.get(vararg keys: String): Any? { for (key in keys) { this[key]?.let { return it } }