diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/core/UnOverengineering.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/core/UnOverengineering.kt index 24ca72b46..075efdc25 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/core/UnOverengineering.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/core/UnOverengineering.kt @@ -15,9 +15,11 @@ import net.minecraft.core.registries.Registries import net.minecraft.nbt.NbtOps import net.minecraft.nbt.Tag import net.minecraft.network.FriendlyByteBuf +import net.minecraft.network.chat.Component import net.minecraft.network.chat.MutableComponent import net.minecraft.network.chat.contents.PlainTextContents import net.minecraft.network.chat.contents.TranslatableContents +import net.minecraft.network.chat.contents.TranslatableContents.isAllowedPrimitiveArgument import net.minecraft.resources.ResourceKey import net.minecraft.resources.ResourceLocation import net.minecraft.sounds.SoundEvent @@ -77,7 +79,11 @@ fun Codec.fromNetwork(buff: FriendlyByteBuf): V { } // 1.19 being 1.19 -fun TranslatableComponent(key: String, vararg values: Any): MutableComponent = MutableComponent.create(TranslatableContents(key, null, values)) +fun TranslatableComponent(key: String, vararg values: Any): MutableComponent { + // thanks NeoFrogge NeoForge NeonForges + return MutableComponent.create(TranslatableContents(key, null, values.map { if (it !is Component && !isAllowedPrimitiveArgument(it)) it.toString() else it }.toTypedArray())) +} + fun TextComponent(value: String): MutableComponent = MutableComponent.create(PlainTextContents.create(value)) fun Registry.getKeyNullable(value: T): ResourceLocation? {