{"id":94814,"date":"2026-06-05T13:17:37","date_gmt":"2026-06-05T10:17:37","guid":{"rendered":"https:\/\/vpesports.com\/minecraft\/mods\/llmnotifications\/"},"modified":"2026-06-05T13:17:37","modified_gmt":"2026-06-05T10:17:37","slug":"llmnotifications","status":"publish","type":"mod","link":"https:\/\/vpesports.com\/minecraft\/mods\/llmnotifications\/","title":{"rendered":"LLMNotifications"},"content":{"rendered":"<p>![header](https:\/\/cdn.modrinth.com\/data\/cached_images\/110cffd00abeea54b5294f8d4cd24cf599e77ec8.png)<br \/>\n# Plugin to Create AI Customized Join &#038; Quit Messages<\/p>\n<p>LLMNotifications generates funny, customised join and quit messages for players using AI.<\/p>\n<p>It can use:<\/p>\n<p>* a **local AI** running on your server (Ollama), or<br \/>\n* **cloud AI** such as OpenAI or Anthropic.<\/p>\n<p>Messages can include player and server information such as name, world, playtime and more.<\/p>\n<p>Example prompt:<\/p>\n<p>> Write a funny 4-line rhyme to welcome @player to the server. Mention their world (@world).<\/p>\n<p>You can also store extra information about players using the **player memory** feature, such as hobbies or favourite music, allowing the AI to personalise messages even more.<\/p>\n<p>&#8212;<\/p>\n<p># Quick Start<\/p>\n<p>1. Put the plugin jar in your server `plugins` folder.<br \/>\n2. Start the server once.<br \/>\n3. Open `plugins\/MinecraftLLMNotifications\/config.yml`.<br \/>\n4. Choose an AI provider and model.<br \/>\n5. Edit the prompts.<br \/>\n6. Run `\/llmnotifyreload`.<\/p>\n<p>&#8212;<\/p>\n<p># Features<\/p>\n<p>* AI generated messages for:<\/p>\n<p>  * first join<br \/>\n  * returning join<br \/>\n  * player quit<br \/>\n* Multiple prompts per event (chosen randomly)<br \/>\n* Works with **local AI or cloud AI**<br \/>\n* Placeholder support for player and server information<br \/>\n* Safe fallback messages if the AI fails<br \/>\n* Optional player memory system for personalised messages<\/p>\n<p>&#8212;<\/p>\n<p># Configuration<\/p>\n<p>When the plugin first runs it creates:<\/p>\n<p>&#8220;`<br \/>\nplugins\/MinecraftLLMNotifications\/config.yml<br \/>\n&#8220;`<\/p>\n<p>In this file you can:<\/p>\n<p>* choose your AI provider<br \/>\n* select the model<br \/>\n* customise prompts<br \/>\n* configure fallback messages<br \/>\n* enable or disable player memory<\/p>\n<p>Look through the file for comments explaining each option.<\/p>\n<p>&#8212;<\/p>\n<p># Example Prompts<\/p>\n<p>First Join<\/p>\n<p>* Welcome @player to the server with a short funny rhyme.<\/p>\n<p>Join<\/p>\n<p>* Write a sarcastic welcome back message for @player.<\/p>\n<p>Quit<\/p>\n<p>* Write a dramatic goodbye message for @player leaving @world.<\/p>\n<p>Keeping messages short usually works best for chat.<\/p>\n<p>&#8212;<\/p>\n<p># Player Memory<\/p>\n<p>You can store extra information about players that the AI can use when generating messages.<\/p>\n<p>Examples:<\/p>\n<p>* favourite music<br \/>\n* hobbies<br \/>\n* running jokes on the server<\/p>\n<p>Example:<\/p>\n<p>&#8220;`<br \/>\n\/llmnotifymemory add Steve loves cheese<br \/>\n&#8220;`<\/p>\n<p>The AI will automatically see this information when generating messages.<\/p>\n<p>&#8212;<\/p>\n<p># Supported Prompt Placeholders<\/p>\n<p>You can use these in prompts and fallback messages:<\/p>\n<p>* `@player`<br \/>\n* `@display_name`<br \/>\n* `@uuid`<br \/>\n* `@world`<br \/>\n* `@x`, `@y`, `@z`<br \/>\n* `@health`<br \/>\n* `@food`<br \/>\n* `@level`<br \/>\n* `@gamemode`<br \/>\n* `@online_count`<br \/>\n* `@is_op`<br \/>\n* `@first_join`<br \/>\n* `@last_played`<br \/>\n* `@playtime_hours`<br \/>\n* `@player_memory`<\/p>\n<p>&#8212;<\/p>\n<p># Tips for Better Prompts<\/p>\n<p>* Keep output short so it fits in chat.<br \/>\n* Ask for a specific number of lines if needed.<br \/>\n* Describe the tone you want (funny, sarcastic, dramatic, etc).<\/p>\n<p>Example:<\/p>\n<p>&#8220;`<br \/>\nWrite a short medieval themed welcome message for @player in 3 lines.<br \/>\n&#8220;`<\/p>\n<p>&#8212;<\/p>\n<p># Commands<\/p>\n<p>| Command                                   | Description                     |<br \/>\n| &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; | &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- |<br \/>\n| `\/llmnotifyreload`                        | Reload the plugin configuration |<br \/>\n| `\/llmnotifymemory list <player>`          | Show stored memory for a player |<br \/>\n| `\/llmnotifymemory add <player> <item>`    | Add information about a player  |<br \/>\n| `\/llmnotifymemory remove <player> <item>` | Remove a memory item            |<br \/>\n| `\/llmnotifymemory clear <player>`         | Clear a player&#8217;s memory         |<br \/>\n| `\/llmnotifymemory clearall`               | Clear memory for all players    |<\/p>\n<p>&#8212;<\/p>\n<p># Ollama Help<\/p>\n<p>If you choose to use your own locally hosted ollama server (you will need to know how to set this up). There are some Ollama specific settings in the config file that is created when the plugin first loads:<\/p>\n<p>&#8220;`<br \/>\n  ollama:<br \/>\n    base-url: &#8220;http:\/\/127.0.0.1:11434&#8221;<br \/>\n    # there are some great small models designed for humour and sarcasm<br \/>\n    model: &#8220;MeaTLoTioN\/LisaBot&#8221;<br \/>\n    # Optional: how long Ollama should keep the model loaded (examples: &#8220;5m&#8221;, &#8220;30m&#8221;, &#8220;1h&#8221;, &#8220;0&#8221;)<br \/>\n    keep-alive: &#8220;1h&#8221;<br \/>\n    # Optional: periodically ping Ollama with a tiny generation request to keep model warm<br \/>\n    keepalive-ping-enabled: true<br \/>\n    # Frequency for keepalive ping task when enabled<br \/>\n    keepalive-ping-interval-seconds: 300<br \/>\n&#8220;`<\/p>\n<p>The keep alives stop your Ollama model from unloading as the initial load time for some models may be slow enough that the plugin times out. You can also increase the `request-timeout-seconds` setting in the config file.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Plugin that generates player customized join\/quit messages using AI.<\/p>\n","protected":false},"featured_media":94815,"template":"","meta":{"_minecraft_slug":"llmnotifications","_minecraft_project_id":"uhNi3QN6","_minecraft_author":"gingemonster","_minecraft_license":"Apache-2.0","_minecraft_downloads":7,"_minecraft_follows":0,"_minecraft_client_side":"unsupported","_minecraft_server_side":"required","_minecraft_storage_type":"zip","_minecraft_archive_name":"llmnotifications.zip","_minecraft_size_bytes":299043,"_minecraft_version_count":1,"_minecraft_updated_at":"2026-05-16T12:39:43.275478Z","_minecraft_date_created":"2026-03-04T20:27:56.969604Z","_minecraft_date_modified":"2026-02-26T11:25:04.197446Z","_minecraft_project_url":"https:\/\/modrinth.com\/mod\/llmnotifications","_minecraft_icon_attachment_id":94815,"_minecraft_imported_at":"2026-06-05T10:17:38+00:00","_minecraft_import_hash":"e6b6509176206f31c9324b5664c25f18","_minecraft_versions":"","_minecraft_links":"","_minecraft_gallery":"","_minecraft_api_metadata":""},"mod_category":[124,127,128,129,92],"mod_loader":[130,132,133,134],"minecraft_version":[37,83,167,163],"class_list":["post-94814","mod","type-mod","status-publish","has-post-thumbnail","hentry","mod_category-bukkit","mod_category-paper","mod_category-purpur","mod_category-spigot","mod_category-utility","mod_loader-bukkit","mod_loader-paper","mod_loader-purpur","mod_loader-spigot","minecraft_version-1-21-1","minecraft_version-26-1","minecraft_version-26-1-1","minecraft_version-26-1-2"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>LLMNotifications - Minecraft<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/vpesports.com\/minecraft\/mods\/llmnotifications\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"LLMNotifications - Minecraft\" \/>\n<meta property=\"og:description\" content=\"Plugin that generates player customized join\/quit messages using AI.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/vpesports.com\/minecraft\/mods\/llmnotifications\/\" \/>\n<meta property=\"og:site_name\" content=\"Minecraft\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/llmnotifications\\\/\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/llmnotifications\\\/\",\"name\":\"LLMNotifications - Minecraft\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/llmnotifications\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/llmnotifications\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/llmnotifications-icon-31203d098c53c9e6695a6ae8f08b2dec750c4fa6_96.webp\",\"datePublished\":\"2026-06-05T10:17:37+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/llmnotifications\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/llmnotifications\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/llmnotifications\\\/#primaryimage\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/llmnotifications-icon-31203d098c53c9e6695a6ae8f08b2dec750c4fa6_96.webp\",\"contentUrl\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/llmnotifications-icon-31203d098c53c9e6695a6ae8f08b2dec750c4fa6_96.webp\",\"width\":96,\"height\":96},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/llmnotifications\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Mods\",\"item\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"LLMNotifications\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/#website\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/\",\"name\":\"Minecraft\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"LLMNotifications - Minecraft","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/vpesports.com\/minecraft\/mods\/llmnotifications\/","og_locale":"en_US","og_type":"article","og_title":"LLMNotifications - Minecraft","og_description":"Plugin that generates player customized join\/quit messages using AI.","og_url":"https:\/\/vpesports.com\/minecraft\/mods\/llmnotifications\/","og_site_name":"Minecraft","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/vpesports.com\/minecraft\/mods\/llmnotifications\/","url":"https:\/\/vpesports.com\/minecraft\/mods\/llmnotifications\/","name":"LLMNotifications - Minecraft","isPartOf":{"@id":"https:\/\/vpesports.com\/minecraft\/#website"},"primaryImageOfPage":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/llmnotifications\/#primaryimage"},"image":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/llmnotifications\/#primaryimage"},"thumbnailUrl":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/llmnotifications-icon-31203d098c53c9e6695a6ae8f08b2dec750c4fa6_96.webp","datePublished":"2026-06-05T10:17:37+00:00","breadcrumb":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/llmnotifications\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vpesports.com\/minecraft\/mods\/llmnotifications\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/vpesports.com\/minecraft\/mods\/llmnotifications\/#primaryimage","url":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/llmnotifications-icon-31203d098c53c9e6695a6ae8f08b2dec750c4fa6_96.webp","contentUrl":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/llmnotifications-icon-31203d098c53c9e6695a6ae8f08b2dec750c4fa6_96.webp","width":96,"height":96},{"@type":"BreadcrumbList","@id":"https:\/\/vpesports.com\/minecraft\/mods\/llmnotifications\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/vpesports.com\/minecraft\/"},{"@type":"ListItem","position":2,"name":"Mods","item":"https:\/\/vpesports.com\/minecraft\/mods\/"},{"@type":"ListItem","position":3,"name":"LLMNotifications"}]},{"@type":"WebSite","@id":"https:\/\/vpesports.com\/minecraft\/#website","url":"https:\/\/vpesports.com\/minecraft\/","name":"Minecraft","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/vpesports.com\/minecraft\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}},"_links":{"self":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod\/94814","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod"}],"about":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/types\/mod"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/media\/94815"}],"wp:attachment":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/media?parent=94814"}],"wp:term":[{"taxonomy":"mod_category","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod_category?post=94814"},{"taxonomy":"mod_loader","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod_loader?post=94814"},{"taxonomy":"minecraft_version","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/minecraft_version?post=94814"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}