Farmer's Delight Refabricated

Farmer's Delight Refabricated

12M Downloads

Modded wood logs produce warnings at startup (axes hate this one weird trick) feat: ponies

Closed this issue ยท 8 comments

commented

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
commented

I'm not sure if that attached properly. Game log with errors here.
full-log-2025-04-27_08.21.40-client.txt

commented

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"
  }
}
commented

Ty! Relayed this info.

commented

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"
}
}

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.

commented

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"
}
}

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.

commented

Hold on, I'll get a working example up here.

commented

You can either try with a regular tag or try (1.21.1)

"tool": {
    "fabric:type": "farmersdelight:item_ability",
    "action": "axe_strip"
}
commented

You can either try with a regular tag or try (1.21.1)

"tool": {
"fabric:type": "farmersdelight:item_ability",
"action": "axe_strip"
}

Ah okay. Coolio.

I'll make that change, thanks! Will only be able to tell if it worked until after I release but I hope that's all I needed.