
AskChat
A Minecraft plugin that lets players ask questions in chat and get answers from AI
Оцените первым
242
1
Список изменений
Changelog
1.2
First public multi-provider release. Two jars are shipped:
AiChatBuddy-1.2-mc26.jar— Paper 26.x (Java 25)AiChatBuddy-1.2-mc1.21.jar— Paper 1.21.x (Java 21)
Added
- Three AI providers, runtime-switchable via
provider:inconfig.yml:- Gemini (default) — defaults to
gemma-4-31b-it, supports function calling. - Ollama — works with local Ollama (
http://localhost:11434) or Ollama Turbo cloud (https://ollama.com). - NVIDIA NIM — OpenAI-compatible, defaults to
meta/llama-3.3-70b-instruct.
- Gemini (default) — defaults to
- Agentic tool use — the model can call tools mid-conversation and the plugin loops until it produces a final answer:
web_search— Brave Search API (free tier, hidden from the model if no key is set).minecraft_wiki— MediaWiki search against the official Minecraft Wiki.
- Notch persona — default
prompt-templatecasts the bot as the ancient overseer of the world: mythical, kind, knowledgeable, never breaks character, never narrates its plan. - Per-player rolling history — last
max-historyturns (default 8) kept per UUID, plus:/aichat forget— clears your own history./aichat forget <player>— op-only, clears another player's.
/aichat reload— re-readsconfig.ymland clears in-memory history without a server restart.agent-max-steps(default 8) — caps tool-calling iterations, then forces a best-effort synthesis pass so players always get an answer instead of an error.private-questionsmode — when true,!askis whispered back to the asker instead of broadcast.- Dual-flavor build —
-Pflavor=modern|legacyproduces the matching jar with the correct Java target and paper-api version.
Changed
- Default Gemini model:
gemini-2.5-flash→gemma-4-31b-it(verified function-calling support, free tier). - Default Ollama model:
llama3.2→gpt-oss:20b(works on cloud;llama3.2is local-only). - Default
agent-max-steps: 5 → 8. - Prompt template rewritten for Notch persona with explicit anti-narration rules ("never say 'let me try again'", etc.) and balanced tool-use guidance (use tools for factual queries, skip for greetings/jokes/opinions).
- Length guidance: short by default but go longer when the question genuinely needs detail.
Fixed
- Gemini 400 INVALID_ARGUMENT ("function response turn must immediately follow function call turn"). Root cause: per-player history was storing the full tool-call trajectory, and the front-trim could leave an orphan
function_callat the head. Fix: only user turns and plain assistant-text turns are persisted; intermediate tool plumbing is dropped. - Hitting
agent-max-stepsproduced a hard error instead of an answer. Now does one final synthesis pass with tools disabled. - Bot saying "Let me try that again!" without retrying. Prompt now bans status-update narration outright — either silently call a tool or give the final answer.
- MediaWiki tool — pipe separator must be
%7C-encoded in URLs. - Brave Search tool — gzip handling fixed; parse errors now include a body preview (json-simple's
ParseException.getMessage()returns null otherwise).
Configuration migration
- Old top-level
api-key/api-urlare still read but logged as deprecated. Move them toproviders.gemini.api-key/providers.gemini.api-url.
Build
./gradlew build— modern (Paper 26.x, Java 25)../gradlew build -Pflavor=legacy— legacy (Paper 1.21.x, Java 21).- Foojay toolchain resolver added so missing JDKs auto-download.
Permissions
aichatbuddy.ask(default: everyone) — use!askin chat.aichatbuddy.reload(op) —/aichat reload.aichatbuddy.forget.self(default: everyone) —/aichat forget.aichatbuddy.forget.others(op) —/aichat forget <player>.
Файлы
AiChatBuddy-1.2-mc1.21.jar(40.61 KiB)
ОсновнойМетаданные
Канал релиза
Release
Номер версии
1.2
Загрузчики
BukkitPaperSpigot
Версии игры
1.21–1.21.11
Загрузок
12
Дата публикации
21.05.2026
