Welcome to the Hangar Open Beta. Please report any issue you encounter on GitHub!
Avatar for filasik

A Minecraft plugin that enhances player interactions with an AI chatbot using OpenAI's API.

Report AIFriend-Personal_Assistant?

R

2.2.0

World awareness and personality. Nothing changes until you switch it on: every new feature is off by default. config-version is now 4; the five new sections (server-context, mood, relationships, boredom, supervision) are added to your config.yml automatically with comments (backup config.yml.bak-v3). Database schema v2 adds one table (aifriend_relationships); the migration runs the next time the database is opened, which only happens while long-term memory or relationships are enabled. Existing notes are untouched.

  • New: server context (server-context.*): every request carries a short picture of the server as untrusted data lines: how many players are online and, for the players who just wrote, their world, biome, the hostile mobs around them ("2 zombie, 1 creeper") and the time and weather that player sees: read per player, so other worlds (Multiverse) and per-player time or weather (Residence, /ptime, /pweather) are respected, and worlds without a day cycle (Nether, End) give none; the general time and weather are sent only when every player sees the same. No coordinates, inventories or anything about players who did not write. Collected on the right threads (one entity task per player, Folia safe) every refresh-seconds, every detail has its own switch
  • New: mood (mood.*): a mood from -100 to 100 that advancements, boss kills and first joins raise and deaths (more when several players die within five minutes) and repeated big explosions (looks like griefing) lower; it fades back to calm with a half-life. It is a hint in the system prompt, shows in /aifriend status and in %aifriend_mood%, and works without the events reactions
  • New: relationships (relationships.*): the bot counts the answered exchanges a player took part in and treats strangers, acquaintances, regulars and friends differently; players can pick a nickname with /aifriend nickname <text> (letters, digits, space and _ - . ', up to 24 characters, checked against the reply filter, clear removes it). Stored in the database from storage (UUID, last name, counter, first and last time, nickname); /aifriend forget, forget <player>, forget-all and muting the bot delete it. Without a database it stays in memory
  • New: boredom (boredom.*): when nobody has written for quiet-minutes, the bot may start a conversation (topic, quiz question, challenge, joke or fact, ideas). Only while at least min-players (default 1) are online, never on an empty server (the quiet time starts when the first player arrives), never when asleep, rate limited or waiting after an error, with a cooldown-minutes that doubles (up to 8 times) while nobody reacts and a max-per-day
  • New: chat supervision (supervision.*): a friendly private note to a player who writes in caps lock, spams (the same line three times or six lines in ten seconds) or uses a word from bad-words (accents, look-alike characters and stretched letters are ignored). Nothing else happens: no kick, mute or ban, nobody else sees it, nothing is stored (only hashes of the last lines, for ten seconds, in memory); players with aifriend.bypass-supervision and players who muted the bot are skipped
  • New: /aifriend nickname [text|clear]; permissions aifriend.nickname (everyone) and aifriend.bypass-supervision (op); /aifriend status shows the awareness features; the startup banner lists them
  • New: PlaceholderAPI %aifriend_relationship% (stranger, acquaintance, regular, friend) and %aifriend_nickname%; %aifriend_mood% is the real mood (thrilled, cheerful, calm, uneasy, upset) when mood.enabled
  • New: English and Czech messages for all of the above
  • Change: the database is opened when long-term memory or relationships are enabled; /aifriend forget works with either
  • Change: the prompt builder takes the extra data lines ({"context":...}, {"player_context":...}, {"relationship":...}) in the same escaped-JSON data block as chat lines; the mood and the conversation starter are in the trusted system part (computed by the plugin, never from player text)
  • Not included: several bots at once (planned, see ROADMAP.md)

Information

Published
October 28, 2026
Author
0Downloads

Platforms

Paper
Paper
26.3