Modded wood logs produce warnings at startup (axes hate this one weird trick) feat: ponies
Closed this issue ยท 8 comments
Minecraft version
1.21.1
Farmer's Delight version
3.0.1
Fabric Loader version
0.16.10 and 0.16.14
Fabric API version
0.115.6+ (and at least one previous)
Description
Compatibility complaints from the game startup log around FDR axes and the two types of wood logs added by Mine Little Pony/Unicopia.
Note1: these are warning errors in the game log, not crash log. Game loads and gameplay doesn't seem to be affected.
Note2: Unicopia dev is informed of this too.
Excerpt here for example; full game log attached. Errors don't seem to be in crash log, but I produced one just in case.
[08:20:20] [Render thread/ERROR]: Parsing error loading recipe unicopia:cutting/palm_trapdoor
com.google.gson.JsonParseException: Not a JSON object: "minecraft:item.axe.strip"; Not a JSON object: "unicopia:palm_planks"; Failed to parse either. First: Input does not contain a key [fabric:type]: MapLike[{"type":"farmersdelight:tool","tag":"#minecraft:axes"}]; Second: Failed to parse either. First: Not a json array: {"type":"farmersdelight:tool","tag":"#minecraft:axes"}; Second: Not a valid resource location: #minecraft:axes Non [a-z0-9_.-] character in namespace of location: #minecraft:axes; No key item in MapLike[{"type":"farmersdelight:tool","tag":"#minecraft:axes"}]
at knot/com.mojang.serialization.DataResult$Error.getOrThrow(DataResult.java:287) ~[datafixerupper-8.0.16.jar:?]
Steps to reproduce
Started game, forced crash, viewed server log.
Background: I originally noticed this while investigating an unrelated crash caused by the Vulpine mod (confirmed their issue) and it persists after removing that.
Mod list
modlist-crash-2025-04-27_08.21.40-client.txt
Logs
crash-2025-04-27_08.21.40-client.txt
Minimal instance
- I have tested this on a minimal instance
Performance and shader mods
- I am using performance or shader mods
I'm not sure if that attached properly. Game log with errors here.
full-log-2025-04-27_08.21.40-client.txt
Issue with the datapack you are using. They seem to be using the sound field as the tool field.
Here's a valid JSON as an example.
{
"type": "farmersdelight:cutting",
"ingredients": [
{
"item": "minecraft:cherry_wood"
}
],
"result": [
{
"item": "minecraft:stripped_cherry_wood"
},
{
"item": "farmersdelight:tree_bark"
}
],
"sound": "minecraft:item.axe.strip",
"tool": {
"fabric:type": "farmersdelight:tool_action",
"action": "axe_strip"
}
}Issue with the datapack you are using. They seem to be using the
soundfield as thetoolfield.Here's a valid JSON as an example.
{
"type": "farmersdelight:cutting",
"ingredients": [
{
"item": "minecraft:cherry_wood"
}
],
"result": [
{
"item": "minecraft:stripped_cherry_wood"
},
{
"item": "farmersdelight:tree_bark"
}
],
"sound": "minecraft:item.axe.strip",
"tool": {
"fabric:type": "farmersdelight:tool_action",
"action": "axe_strip"
}
}
Hey so this is the json recipe my datagen is producing. This is based on the format specified on the format documented on the forge version so I expect it to work on ports as well.
{
"fabric:load_conditions": [
{
"condition": "fabric:all_mods_loaded",
"values": [
"farmersdelight"
]
}
],
"type": "farmersdelight:cutting",
"ingredients": [
{
"item": "unicopia:palm_slab"
}
],
"result": [
{
"item": "unicopia:palm_planks"
}
],
"sound": "minecraft:item.axe.strip",
"tool": {
"type": "farmersdelight:tool",
"tag": "minecraft:axes"
}
}Also based on the error, I believe the one your provided also wouldn't work as "sound" is expected to be a json object.
Issue with the datapack you are using. They seem to be using the
soundfield as thetoolfield.
Here's a valid JSON as an example.
{
"type": "farmersdelight:cutting",
"ingredients": [
{
"item": "minecraft:cherry_wood"
}
],
"result": [
{
"item": "minecraft:stripped_cherry_wood"
},
{
"item": "farmersdelight:tree_bark"
}
],
"sound": "minecraft:item.axe.strip",
"tool": {
"fabric:type": "farmersdelight:tool_action",
"action": "axe_strip"
}
}Hey so this is the json recipe my datagen is producing. This is based on the format specified on the format documented on the forge version so I expect it to work on ports as well.
{
"fabric:load_conditions": [
{
"condition": "fabric:all_mods_loaded",
"values": [
"farmersdelight"
]
}
],
"type": "farmersdelight:cutting",
"ingredients": [
{
"item": "unicopia:palm_slab"
}
],
"result": [
{
"item": "unicopia:palm_planks"
}
],
"sound": "minecraft:item.axe.strip",
"tool": {
"type": "farmersdelight:tool",
"tag": "minecraft:axes"
}
}Also based on the error, I believe the one your provided also wouldn't work as "sound" is expected to be a json object.
Ah huh! I think you need to specify fabric:type instead of type in the tool.
You can either try with a regular tag or try (1.21.1)
"tool": {
"fabric:type": "farmersdelight:item_ability",
"action": "axe_strip"
}