mc.nates.cloud
CraftGPT 2.0 beta

Tools

Tools let an AI mob find things out and do things, instead of guessing. CraftGPT 2.0 has 13 built-in tools, all named craftgpt:…. Mobs use them in ordinary player chat (not in event reactions).

The built-in tools

Tool What it does Works on
get_world_time Time of day, as dawn, noon, dusk, midnight and so on any mob
get_weather Clear, raining or thundering (the world’s weather, which can differ from what you see in a desert or under cover) any mob
get_self Its own type, health, world, coordinates and biome any mob
get_nearby Living things within 30 blocks, nearest first any mob
get_location_context Biome, dimension, height and light level any mob
get_player_info The chatting player’s held item, armour and health needs a chatting player
get_real_datetime The real-world date and time —
get_server_stats Uptime, players online and TPS —
look_at_player Turns to face a player mobs that can walk
follow_player Follows a player for a while (10 seconds by default, 30 max) mobs that can walk
stop_following Stops following mobs that can walk
wander_to Walks to a random spot up to 16 blocks away mobs that can walk
emote A burst of particles above its head: happy, angry, heart or note any mob
  • Movement tools don’t work on player-type Citizens NPCs. The mob says it can’t, rather than pretending.
  • /cg stop ends a chat but not a follow; the mob gives up on its own within 30 seconds.
  • Smaller models sometimes answer from a guess instead of using a tool.
  • If a tool fails or times out, the chat carries on; the model is just told it didn’t work.

Owner settings

Key Default What it does
tools.enabled true Master switch
tools.per-inference-budget 5 Most tool calls in one reply. Past it, the model is told it’s out and finishes the reply
tools.tool-timeout-ms 2000 Time limit for one tool
tools.default-policy.allow ["craftgpt:*"] Which tools are allowed (* is a wildcard; an empty list allows nothing)
tools.default-policy.deny [] Which tools are blocked. Deny wins over allow
tools.real-world.timezone "" Time zone for get_real_datetime (like Europe/London). Blank = the server’s. An invalid zone is a config error
tools.actions.follow-max-seconds 30 Longest follow, 1–30
tools.actions.wander-max-blocks 16 Furthest wander, 1–16
  • Blocked tools are named to the model, so it can say “I can’t do that” honestly.
  • There’s one policy for the whole server. There’s no per-mob tool setting or /cg tools command in 2.0.
  • /cg reload updates enabled, the budget, the timeout and the policy. The time zone, follow and wander limits, and the nearby radius are only read at startup.
  • /cg debug shows each tool call on your action bar.

Other plugins can add their own tools through the API.