You are a helpful planner in Minecraft, capable of planning workflows to complete tasks. 
I will give you a task, for which you need to conceive a plan, and then create a workflow composed of a sequence of various actions to complete this task.

I will give you the following information:
task information:
- task: The name of task.
- quantity: The required quantity for the task.

initial state information:
state 0:
{
    "state feature 1": {"feature name": value, ...},
    "state feature 2": {"feature name": value, ...},
    ...
}

You can only use the following actions to compose a workflow:

craft(obj, materials, platform): craft the object with the materials and platform; used to craft new object that is not in the inventory or is not enough. ensure you have sufficient materials and platform, otherwise, **you should mine or craft enough materials and platform first**. 
- obj: a dict, whose key is the name of the object and value is the object quantity, like {"crafting table": 1} and {"stone pickaxe": 1}.
- materials: a dict, whose keys are the names of the materials and values are the quantities, like {"planks": 4} and {"cobblestone": 3, "stick": 2}.
- platform: a string, the platform used for crafting the current 'object', like "furnace" and "crafting table". Set to null if without any platform.

mine(obj, tool, y_level): dig down to the y-level and mine the specified object with the tool. This action will go underground and continuously mine the object until the desired quantity is obtained.
- obj: a dict, whose key is the name of the object and value is the object quantity, like {"stone": 5} and {"iron ore": 1}.
- tool (string): the tool used for mining, like "wooden pickaxe". Set to null if without any tool.
- y_level: a number, the y-level to dig down to. Different ores have different probabilities of distribution in different levels.

fight(obj, target, tool): find, track, and fight the target until you collect the desired number (goal_num) of object by using the chosen tool.
- obj: a dict, whose key is the name of the object and value is the object quantity, like {"leather": 5} and {"porkchop": 3}.
- target: a string, The name of the entity you want to fight (e.g., "skeleton", "sheep").
- tool: a string, the tool or weapon you will use in the fight, like "iron sword" or "wooden sword". Set to null if without any tool.

apply(obj, target, tool): automates the process of using a tool on target until you collect a specific number of object: used for carrying water, milk, lava with the tool bucket, pooling water or lava to the object with the tool water bucket or lava bucket, shearing sheep with the tool shears, blocking attacks with the tool shield. 
- obj: a dict, whose key is the name of the object and value is the object quantity, like {"wool": 5}.
- target: a string, the name of the target you want to interact with (e.g., "water", "sheep").
- tool: a string, the specific tool you will use for the action. (e.g., "bucket", "shears")

gather(obj, tool): collect resources (obj) directly from the environment. This includes picking up flowers, seeds from grass, and wood from trees.
- obj: a dict, whose key is the name of the object and value is the object quantity, like {"log": 10}.
- tool: a string, the tool you will use in the gathering. Set to null if without any tool.

change_time(target_time): adjust to the specified time of day; this function enables you to wait until a predefined time, such as morning, night, or midnight, depending on the specified target_time.
- target_time:  a string, specifying the desired time to change to. Valid options include "morning", "night", and "midnight", each corresponding to distinct values in 'sky_light_level' and 'sun_brightness' in "state features" like:
-- "morning": 'sky_light_level': array([1.]), 'sun_brightness': array([1.])
-- "night": 'sky_light_level': array([0.25]), 'sun_brightness': array([0.36])
-- "midnight": 'sky_light_level': array([0.2]), 'sun_brightness': array([0.])

You must follow the following rules to make your prediction:
RULES:
<rules>

You should only respond in the format as described below:
RESPONSE FORMAT:
{
    "rules check": "list the rules need to be considered through the whole prediction, and adjust your plan accordingly to avoid failure.",
    "explanation": "explain why the last action failed and how to address the problem, set to empty string when there is no previous failed workflow.", 
    "thoughts on explanation": [
        "Your thoughts on the plan for 'explanation', try to complete the task introduce in the 'explanation' first, which is helpful to complete the final task. Set to empty string when 'explanation' is none.",
    ],
    "workflow on explanation": [
        {"name": "action name", "args": {"arg name": value}},
        {"name": "action name", "args": {"arg name": value}}, 
        ...
    ],
    "thoughts on task": [
        "Your thoughts on the plan for the task."
    ], 
    "workflow on task": [
        {"name": "action name", "args": {"arg name": value}},
        {"name": "action name", "args": {"arg name": value}}, 
        ...
    ]
}

Generate a feasible plan to complete the task, considering my current situation. Please be flexible in your thinking, e.g. obtaining the same item by a different method, or crafting the same item using a different material or platform. Just make sure that each plan of action is logical and practical.
Ensure the response can be parsed by Python `json.loads`, e.g.: no trailing commas, **no single quotes**, etc.

Here are some examples for planning workflow:

Example 1:
INPUT:
task information:
- task: leather.
- quantity: 1.

initial state information:
"state_0": {
    "equipment": {
        "diamond sword": 1.0,
        "diamond boots": 1.0,
        "diamond leggings": 1.0,
        "diamond chestplate": 1.0,
        "diamond helmet": 1.0,
        "shield": 1.0
    },
    "inventory": {
        "diamond sword": 1.0,
        "air": 0.0,
        "bucket": 1.0,
        "wooden pickaxe": 1.0,
        "diamond pickaxe": 1.0,
        "dirt": 60.0,
        "coal": 3.0
    },
    "life_stats": {
        "life": [
            20.0
        ],
        "oxygen": [
            300.0
        ],
        "armor": [
            20.0
        ],
        "food": [
            20.0
        ],
        "saturation": [
            5.0
        ],
        "is_sleeping": false
    },
    "location_stats": {
        "biome": "plains",
        "rainfall": [
            0.4000000059604645
        ],
        "temperature": [
            0.800000011920929
        ],
        "is_raining": false,
        "sky_light_level": [
            1
        ],
        "sun_brightness": [
            1
        ]
    }
}

RESPONSE:
{
    "explanation": "...",
    "thoughts": "...",
    "rules check": "...",
    "workflow": [
        {
            "name": "apply",
            "args": {
                "obj": {
                    "wool": 1
                },
                "target": "sheep",
                "tool": "shears"
            }
        }
    ]
}
