I try to set up an attribute function using the config UI in-game and it complains about using valid Minecraft attributes. I've posted the exception stacktrace below.
[01:20:10] [Render thread/WARN] [owo/]: Could not initialize owo screen
java.lang.IllegalArgumentException: TranslatableContents' arguments must be either a Component, Number, Boolean, or a String. Was given minecraft:generic.max_health for text.config.data_attributes.data_entry.function_child
at TRANSFORMER/minecraft@1.21.1/net.minecraft.network.chat.contents.TranslatableContents.<init>(TranslatableContents.java:90) ~[neoforge-21.1.159-merged.jar%23183!/:?] {re:classloading}
at TRANSFORMER/minecraft@1.21.1/net.minecraft.network.chat.Component.translatable(Component.java:160) ~[neoforge-21.1.159-merged.jar%23183!/:?] {re:computing_frames,re:classloading,re:mixin}
at TRANSFORMER/data_attributes@2.0.4+1.21.1/com.bms.data_attributes.ui.components.config.function.AttributeFunctionComponent.<init>(AttributeFunctionComponent.java:66) ~[data-attributes-directors-cut-955929-6135391.jar%23187!/:?] {re:classloading}
at TRANSFORMER/data_attributes@2.0.4+1.21.1/com.bms.data_attributes.ui.components.config.function.AttributeFunctionHeaderComponent.createEntry(AttributeFunctionHeaderComponent.java:35) ~[data-attributes-directors-cut-955929-6135391.jar%23187!/:?] {re:classloading}
at TRANSFORMER/data_attributes@2.0.4+1.21.1/com.bms.data_attributes.ui.components.config.function.AttributeFunctionHeaderComponent.addFunctions(AttributeFunctionHeaderComponent.java:61) ~[data-attributes-directors-cut-955929-6135391.jar%23187!/:?] {re:classloading}
at TRANSFORMER/data_attributes@2.0.4+1.21.1/com.bms.data_attributes.ui.components.config.function.AttributeFunctionHeaderComponent.<init>(AttributeFunctionHeaderComponent.java:125) ~[data-attributes-directors-cut-955929-6135391.jar%23187!/:?] {re:classloading}
at TRANSFORMER/data_attributes@2.0.4+1.21.1/com.bms.data_attributes.ui.config.providers.AttributeFunctionProvider.<init>(AttributeFunctionProvider.java:33) ~[data-attributes-directors-cut-955929-6135391.jar%23187!/:?] {re:classloading}
at TRANSFORMER/data_attributes@2.0.4+1.21.1/com.bms.data_attributes.config.DataAttributesConfigProviders.ATTRIBUTE_FUNCTIONS_FACTORY$lambda$4(DataAttributesConfigProviders.java:42) ~[data-attributes-directors-cut-955929-6135391.jar%23187!/:?] {re:classloading}
at TRANSFORMER/data_attributes@2.0.4+1.21.1/com.bms.data_attributes.ui.DataAttributesConfigScreen.build$optFunc(DataAttributesConfigScreen.java:81) ~[data-attributes-directors-cut-955929-6135391.jar%23187!/:?] {re:classloading}
at TRANSFORMER/owo@0.12.15.1-beta.3+1.21/io.wispforest.owo.config.ConfigWrapper.forEachOption(ConfigWrapper.java:250) ~[owo-lib-532610-6416633.jar%23189!/:?] {re:classloading}
at TRANSFORMER/data_attributes@2.0.4+1.21.1/com.bms.data_attributes.ui.DataAttributesConfigScreen.build(DataAttributesConfigScreen.java:133) ~[data-attributes-directors-cut-955929-6135391.jar%23187!/:?] {re:classloading}
at TRANSFORMER/data_attributes@2.0.4+1.21.1/com.bms.data_attributes.ui.DataAttributesConfigScreen.build(DataAttributesConfigScreen.java:37) ~[data-attributes-directors-cut-955929-6135391.jar%23187!/:?] {re:classloading}
at TRANSFORMER/owo@0.12.15.1-beta.3+1.21/io.wispforest.owo.ui.base.BaseOwoScreen.init(BaseOwoScreen.java:91) ~[owo-lib-532610-6416633.jar%23189!/:?] {re:classloading}
at TRANSFORMER/minecraft@1.21.1/net.minecraft.client.gui.screens.Screen.init(Screen.java:337) ~[neoforge-21.1.159-merged.jar%23183!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:computing_frames,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:fabric-screen-api-v1.mixins.json:ScreenMixin from mod fabric_screen_api_v1,pl:mixin:APP:owo.mixins.json:ScreenAccessor from mod owo,pl:mixin:APP:owo.mixins.json:ui.ScreenMixin from mod owo,pl:mixin:APP:fabric-screen-api-v1.mixins.json:ScreenAccessor from mod fabric_screen_api_v1,pl:mixin:APP:dragonsurvival.mixins.json:client.ScreenAccessor from mod dragonsurvival,pl:mixin:APP:owo.mixins.json:ui.layers.ScreenMixin from mod owo,pl:mixin:A,pl:runtimedistcleaner:A}
at TRANSFORMER/minecraft@1.21.1/net.minecraft.client.Minecraft.setScreen(Minecraft.java:1063) ~[neoforge-21.1.159-merged.jar%23183!/:?] {re:mixin,pl:runtimedistcleaner:A,re:classloading,pl:mixin:APP:owo.mixins.json:MinecraftClientMixin from mod owo,pl:mixin:APP:irons_spellbooks.mixins.json:MinecraftMixin from mod irons_spellbooks,pl:mixin:APP:owo.mixins.json:ui.MinecraftClientMixin from mod owo,pl:mixin:APP:fabric-screen-api-v1.mixins.json:MinecraftClientMixin from mod fabric_screen_api_v1,pl:mixin:APP:fabric-networking-api-v1.client.mixins.json:accessor.MinecraftClientAccessor from mod fabric_networking_api_v1,pl:mixin:APP:dragonsurvival.mixins.json:client.MinecraftMixin from mod dragonsurvival,pl:mixin:A,pl:runtimedistcleaner:A}
at TRANSFORMER/neoforge@21.1.159/net.neoforged.neoforge.client.gui.ModListScreen.lambda$displayModConfig$7(ModListScreen.java:299) ~[neoforge-21.1.159-merged.jar%23184!/:?] {re:classloading}
at java.base/java.util.Optional.ifPresent(Optional.java:178) ~[?:?] {re:computing_frames,re:mixin}
at TRANSFORMER/neoforge@21.1.159/net.neoforged.neoforge.client.gui.ModListScreen.displayModConfig(ModListScreen.java:299) ~[neoforge-21.1.159-merged.jar%23184!/:?] {re:classloading}
at TRANSFORMER/neoforge@21.1.159/net.neoforged.neoforge.client.gui.ModListScreen.lambda$init$2(ModListScreen.java:266) ~[neoforge-21.1.159-merged.jar%23184!/:?] {re:classloading}
at TRANSFORMER/minecraft@1.21.1/net.minecraft.client.gui.components.Button.onPress(Button.java:41) ~[neoforge-21.1.159-merged.jar%23183!/:?] {re:mixin,pl:runtimedistcleaner:A,re:classloading,pl:mixin:APP:owo.mixins.json:ui.access.ButtonWidgetAccessor from mod owo,pl:mixin:A,pl:runtimedistcleaner:A}
at TRANSFORMER/minecraft@1.21.1/net.minecraft.client.gui.components.AbstractButton.onClick(AbstractButton.java:47) ~[neoforge-21.1.159-merged.jar%23183!/:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A}
at TRANSFORMER/neoforge@21.1.159/net.neoforged.neoforge.client.extensions.IAbstractWidgetExtension.onClick(IAbstractWidgetExtension.java:36) ~[neoforge-21.1.159-merged.jar%23184!/:?] {re:mixin,re:classloading}
at TRANSFORMER/minecraft@1.21.1/net.minecraft.client.gui.components.AbstractWidget.mouseClicked(AbstractWidget.java:163) ~[neoforge-21.1.159-merged.jar%23183!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:owo.mixins.json:ui.ClickableWidgetMixin from mod owo,pl:mixin:APP:owo.mixins.json:ui.access.ClickableWidgetAccessor from mod owo,pl:mixin:A,pl:runtimedistcleaner:A}
at TRANSFORMER/minecraft@1.21.1/net.minecraft.client.gui.components.events.ContainerEventHandler.mouseClicked(ContainerEventHandler.java:52) ~[neoforge-21.1.159-merged.jar%23183!/:?] {re:computing_frames,pl:runtimedistcleaner:A,re:mixin,pl:runtimedistcleaner:A,re:classloading,pl:runtimedistcleaner:A}
at TRANSFORMER/minecraft@1.21.1/net.minecraft.client.MouseHandler.lambda$onPress$0(MouseHandler.java:103) ~[neoforge-21.1.159-merged.jar%23183!/:?] {re:mixin,pl:runtimedistcleaner:A,re:classloading,pl:mixin:APP:owo.mixins.json:ui.layers.MouseMixin from mod owo,pl:mixin:A,pl:runtimedistcleaner:A}
at TRANSFORMER/minecraft@1.21.1/net.minecraft.client.gui.screens.Screen.wrapScreenError(Screen.java:471) ~[neoforge-21.1.159-merged.jar%23183!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:computing_frames,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:fabric-screen-api-v1.mixins.json:ScreenMixin from mod fabric_screen_api_v1,pl:mixin:APP:owo.mixins.json:ScreenAccessor from mod owo,pl:mixin:APP:owo.mixins.json:ui.ScreenMixin from mod owo,pl:mixin:APP:fabric-screen-api-v1.mixins.json:ScreenAccessor from mod fabric_screen_api_v1,pl:mixin:APP:dragonsurvival.mixins.json:client.ScreenAccessor from mod dragonsurvival,pl:mixin:APP:owo.mixins.json:ui.layers.ScreenMixin from mod owo,pl:mixin:A,pl:runtimedistcleaner:A}
at TRANSFORMER/minecraft@1.21.1/net.minecraft.client.MouseHandler.onPress(MouseHandler.java:100) ~[neoforge-21.1.159-merged.jar%23183!/:?] {re:mixin,pl:runtimedistcleaner:A,re:classloading,pl:mixin:APP:owo.mixins.json:ui.layers.MouseMixin from mod owo,pl:mixin:A,pl:runtimedistcleaner:A}
at TRANSFORMER/minecraft@1.21.1/net.minecraft.client.MouseHandler.lambda$setup$4(MouseHandler.java:212) ~[neoforge-21.1.159-merged.jar%23183!/:?] {re:mixin,pl:runtimedistcleaner:A,re:classloading,pl:mixin:APP:owo.mixins.json:ui.layers.MouseMixin from mod owo,pl:mixin:A,pl:runtimedistcleaner:A}
at TRANSFORMER/minecraft@1.21.1/net.minecraft.util.thread.BlockableEventLoop.execute(BlockableEventLoop.java:98) ~[neoforge-21.1.159-merged.jar%23183!/:?] {re:mixin,pl:accesstransformer:B,re:computing_frames,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B}
at TRANSFORMER/minecraft@1.21.1/net.minecraft.client.MouseHandler.lambda$setup$5(MouseHandler.java:212) ~[neoforge-21.1.159-merged.jar%23183!/:?] {re:mixin,pl:runtimedistcleaner:A,re:classloading,pl:mixin:APP:owo.mixins.json:ui.layers.MouseMixin from mod owo,pl:mixin:A,pl:runtimedistcleaner:A}
at MC-BOOTSTRAP/org.lwjgl.glfw@3.3.3+5/org.lwjgl.glfw.GLFWMouseButtonCallbackI.callback(GLFWMouseButtonCallbackI.java:43) ~[lwjgl-glfw-3.3.3.jar%23166!/:build 5] {}
at MC-BOOTSTRAP/org.lwjgl@3.3.3+5/org.lwjgl.system.JNI.invokeV(Native Method) ~[lwjgl-3.3.3.jar%23177!/:build 5] {}
at MC-BOOTSTRAP/org.lwjgl.glfw@3.3.3+5/org.lwjgl.glfw.GLFW.glfwWaitEventsTimeout(GLFW.java:3509) ~[lwjgl-glfw-3.3.3.jar%23166!/:build 5] {}
at TRANSFORMER/minecraft@1.21.1/com.mojang.blaze3d.systems.RenderSystem.limitDisplayFPS(RenderSystem.java:162) ~[neoforge-21.1.159-merged.jar%23183!/:?] {re:mixin,pl:runtimedistcleaner:A,re:classloading,pl:mixin:APP:owo.mixins.json:ui.RenderSystemMixin from mod owo,pl:mixin:A,pl:runtimedistcleaner:A}
at TRANSFORMER/minecraft@1.21.1/net.minecraft.client.Minecraft.runTick(Minecraft.java:1226) ~[neoforge-21.1.159-merged.jar%23183!/:?] {re:mixin,pl:runtimedistcleaner:A,re:classloading,pl:mixin:APP:owo.mixins.json:MinecraftClientMixin from mod owo,pl:mixin:APP:irons_spellbooks.mixins.json:MinecraftMixin from mod irons_spellbooks,pl:mixin:APP:owo.mixins.json:ui.MinecraftClientMixin from mod owo,pl:mixin:APP:fabric-screen-api-v1.mixins.json:MinecraftClientMixin from mod fabric_screen_api_v1,pl:mixin:APP:fabric-networking-api-v1.client.mixins.json:accessor.MinecraftClientAccessor from mod fabric_networking_api_v1,pl:mixin:APP:dragonsurvival.mixins.json:client.MinecraftMixin from mod dragonsurvival,pl:mixin:A,pl:runtimedistcleaner:A}
at TRANSFORMER/minecraft@1.21.1/net.minecraft.client.Minecraft.run(Minecraft.java:813) ~[neoforge-21.1.159-merged.jar%23183!/:?] {re:mixin,pl:runtimedistcleaner:A,re:classloading,pl:mixin:APP:owo.mixins.json:MinecraftClientMixin from mod owo,pl:mixin:APP:irons_spellbooks.mixins.json:MinecraftMixin from mod irons_spellbooks,pl:mixin:APP:owo.mixins.json:ui.MinecraftClientMixin from mod owo,pl:mixin:APP:fabric-screen-api-v1.mixins.json:MinecraftClientMixin from mod fabric_screen_api_v1,pl:mixin:APP:fabric-networking-api-v1.client.mixins.json:accessor.MinecraftClientAccessor from mod fabric_networking_api_v1,pl:mixin:APP:dragonsurvival.mixins.json:client.MinecraftMixin from mod dragonsurvival,pl:mixin:A,pl:runtimedistcleaner:A}
at TRANSFORMER/minecraft@1.21.1/net.minecraft.client.main.Main.main(Main.java:230) ~[neoforge-21.1.159-merged.jar%23183!/:?] {re:classloading,pl:runtimedistcleaner:A}
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[?:?] {}
at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[?:?] {}
at MC-BOOTSTRAP/fml_loader@4.0.38/net.neoforged.fml.loading.targets.CommonLaunchHandler.runTarget(CommonLaunchHandler.java:136) ~[loader-4.0.38.jar%23139!/:4.0] {}
at MC-BOOTSTRAP/fml_loader@4.0.38/net.neoforged.fml.loading.targets.CommonLaunchHandler.clientService(CommonLaunchHandler.java:124) ~[loader-4.0.38.jar%23139!/:4.0] {}
at MC-BOOTSTRAP/fml_loader@4.0.38/net.neoforged.fml.loading.targets.NeoForgeClientUserdevLaunchHandler.runService(NeoForgeClientUserdevLaunchHandler.java:23) ~[loader-4.0.38.jar%23139!/:4.0] {}
at MC-BOOTSTRAP/fml_loader@4.0.38/net.neoforged.fml.loading.targets.CommonLaunchHandler.lambda$launchService$4(CommonLaunchHandler.java:118) ~[loader-4.0.38.jar%23139!/:4.0] {}
at MC-BOOTSTRAP/cpw.mods.modlauncher@11.0.4/cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:30) [modlauncher-11.0.4.jar%23121!/:?] {}
at MC-BOOTSTRAP/cpw.mods.modlauncher@11.0.4/cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:53) [modlauncher-11.0.4.jar%23121!/:?] {}
at MC-BOOTSTRAP/cpw.mods.modlauncher@11.0.4/cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:71) [modlauncher-11.0.4.jar%23121!/:?] {}
at MC-BOOTSTRAP/cpw.mods.modlauncher@11.0.4/cpw.mods.modlauncher.Launcher.run(Launcher.java:103) [modlauncher-11.0.4.jar%23121!/:?] {}
at MC-BOOTSTRAP/cpw.mods.modlauncher@11.0.4/cpw.mods.modlauncher.Launcher.main(Launcher.java:74) [modlauncher-11.0.4.jar%23121!/:?] {}
at MC-BOOTSTRAP/cpw.mods.modlauncher@11.0.4/cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:26) [modlauncher-11.0.4.jar%23121!/:?] {}
at MC-BOOTSTRAP/cpw.mods.modlauncher@11.0.4/cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:23) [modlauncher-11.0.4.jar%23121!/:?] {}
at cpw.mods.bootstraplauncher@2.0.2/cpw.mods.bootstraplauncher.BootstrapLauncher.run(BootstrapLauncher.java:210) [bootstraplauncher-2.0.2.jar:?] {}
at cpw.mods.bootstraplauncher@2.0.2/cpw.mods.bootstraplauncher.BootstrapLauncher.main(BootstrapLauncher.java:69) [bootstraplauncher-2.0.2.jar:?] {}
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[?:?] {}
at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[?:?] {}
at net.neoforged.devlaunch.Main.main(Main.java:55) [DevLaunch-1.0.1.jar:?] {}
I've taken a look at the source and I'm not certain what the line is really doing. I'm new to Minecraft modding but I don't see any Component.translatable signature that takes those numbers or types of parameters. Maybe that line was supposed to be a formatted string?
What happened? Describe in detail down below and include the mod version as well.
I try to set up an attribute function using the config UI in-game and it complains about using valid Minecraft attributes. I've posted the exception stacktrace below.
What mod loaders is this problem occuring on?
Neoforge
What do you think this bug is related to?
Relevant logs
Anything else?
I've taken a look at the source and I'm not certain what the line is really doing. I'm new to Minecraft modding but I don't see any
Component.translatablesignature that takes those numbers or types of parameters. Maybe that line was supposed to be a formatted string?https://github.com/BareMinimumStudios/data-attributes/blob/1.21.1/main/common/src/main/kotlin/com/bms/data_attributes/ui/components/config/function/AttributeFunctionComponent.kt
By submitting this issue, I have confirmed I have followed all instructions and all my mods are up-to-date.