mirror of
https://gitlab.bixilon.de/bixilon/pixlyzer.git
synced 2025-09-26 13:40:02 -04:00
fix < 1.15 build
This commit is contained in:
parent
2e96fefcaf
commit
c30b6d5fa0
@ -8,8 +8,6 @@ import de.bixilon.pixlyzer.util.Util.JSON_MAP_TYPE
|
||||
import de.bixilon.pixlyzer.util.Util.compound
|
||||
import de.bixilon.pixlyzer.util.Util.mapCast
|
||||
import de.bixilon.pixlyzer.util.Util.nullCast
|
||||
import net.minecraft.text.Decoration
|
||||
import net.minecraft.text.Decoration.Parameter
|
||||
import net.minecraft.text.Style
|
||||
import net.minecraft.util.registry.Registry
|
||||
import java.util.*
|
||||
@ -19,7 +17,7 @@ object MessageTypeGenerator : Generator(
|
||||
allowedFail = true,
|
||||
allowEmpty = true,
|
||||
) {
|
||||
private val DEFAULT_FONT = Util.MAPPER.convertValue<MutableMap<String, Any>>(Style.DEFAULT_FONT_ID, JSON_MAP_TYPE)
|
||||
private val DEFAULT_FONT = getField(Style::class.java, "DEFAULT_FONT_ID")?.get(null)?.let { Util.MAPPER.convertValue<MutableMap<String, Any>>(it, JSON_MAP_TYPE) }
|
||||
|
||||
|
||||
val registry = getField(getClass("net.minecraft.util.registry.BuiltinRegistries"), "MESSAGE_TYPE")?.get(null) as Registry<Any>?
|
||||
@ -37,28 +35,28 @@ object MessageTypeGenerator : Generator(
|
||||
|
||||
json["id"] = registry.getRawId(type)
|
||||
getField(messageTypeClass, "chat")?.get(type)?.serializeChat()?.let { json["chat"] = it }
|
||||
getField(messageTypeClass, "narration")?.get(type)?.nullCast<Decoration>()?.serialize()?.let { json["narration"] = it }
|
||||
getField(messageTypeClass, "narration")?.get(type)?.nullCast<Any>()?.serializeDecoration()?.let { json["narration"] = it }
|
||||
|
||||
this.data[identifier.toString()] = json
|
||||
}
|
||||
}
|
||||
|
||||
private fun Any.serializeChat(): Map<String, Any?>? {
|
||||
if (this is Decoration) {
|
||||
return this.serialize()
|
||||
if (this::class.java.simpleName == "Decoration") {
|
||||
return this.serializeDecoration()
|
||||
}
|
||||
return getField(this::class.java, "decoration")?.nullCast<Optional<Decoration>>()?.get()?.serialize()
|
||||
return getField(this::class.java, "decoration")?.get(this)?.nullCast<Optional<Any>>()?.get()?.serializeDecoration()
|
||||
}
|
||||
|
||||
fun Decoration.serialize(): Map<String, Any?> {
|
||||
fun Any.serializeDecoration(): Map<String, Any?> {
|
||||
return mapOf(
|
||||
"translation_key" to translationKey,
|
||||
"parameters" to parameters.serialize(),
|
||||
"style" to Util.MAPPER.convertValue<MutableMap<String, Any>>(style, JSON_MAP_TYPE).trimStyle(),
|
||||
"translation_key" to getField(this::class.java, "translationKey")?.get(this),
|
||||
"parameters" to getField(this::class.java, "parameters")?.get(this)?.nullCast<Collection<Enum<*>>>()?.serializeParameter(),
|
||||
"style" to Util.MAPPER.convertValue<MutableMap<String, Any>>(getField(this::class.java, "style")?.get(this), JSON_MAP_TYPE).trimStyle(),
|
||||
)
|
||||
}
|
||||
|
||||
fun Collection<Parameter>.serialize(): List<Any> {
|
||||
fun Collection<Enum<*>>.serializeParameter(): List<Any> {
|
||||
val output: MutableList<Any> = mutableListOf()
|
||||
|
||||
for (entry in this) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user