Changelog
All notable changes to this project will be documented in this file.
[2.1.2] - 2025-07-05
🚀 Features
- Register client/server prodTest gradle task
🐛 Bug Fixes
- Fix workflow_run has no referenced wf
- Fix built-jars missing in runTime test job
- Fix gradle wrapper not found
💼 Other
- Add missing httpcomponents dep
🚜 Refactor
- Refactor runTimeTest workflow
📚 Documentation
- Adjust heights of headings
🧪 Testing
- Add prod runTime test
- Add gradle setup to runTime test
- Comment out the prod runtime test
⚙️ Miscellaneous Tasks
- Up fabric loom
- Up gradle wrapper
- Put all deps in the jar
- Run runTimeTest after every completed build
- Make gradlew executable
- Add java setup
- Add right apache lib
- Bump version
Download the new release on Modrinth.
Changelog
All notable changes to this project will be documented in this file.
[2.1.1] - 2025-05-30
🐛 Bug Fixes
- Optimize responsiveness
- Only provide top six relevant functions
- Adjust dropItem function description and player2 systemprompt
💼 Other
-
Optimize responsiveness -> main
-
Optimize systemprompt -> main
📚 Documentation
- Update changelog for version 2.1.0
⚙️ Miscellaneous Tasks
- Bump version
Download the new release on Modrinth.
Changelog
All notable changes to this project will be documented in this file.
[2.1.0] - 2025-05-28
🚀 Features
- Implement Player2APIClient for communicating with player2 service
- Add verbose config option
- Impl functionCalling in player2Client
- Add player2 character synchronizing at server start
- Add player2ActionCommand to make manual char sync possible
- Add tts and stt
- Add healthchecker
- Add llmType specific icon in config gui for every npc
- Add checkbox for tts to gui
- Put history into top of user prompt
- Add feedback on press of sttkey
- Add init prompt of player2 npcs
- Feat: optimize conversationhistory
- add user prompt and responses to conversation history in own message object
- adjust response types that prompting works with new player2 api changes
- adjust system prompt for player2
🐛 Bug Fixes
-
Remove unused imports
-
Add more meaningful error message
-
Deleting instead of removing npcs at sync
-
Move health checking into npcSynchronizer
-
Prevent null pointer
-
Only add header if not empty
-
Npc cant get respawned
-
Add missing fields in pojo that are not documented but still in the response
-
Wrong json structure of functions
-
Use uuid of entity instead of the one of the config
-
Put uuid in deletePacket instead of name
-
Make textures get shown right
-
Dont listen to own chat messages
-
Messages doesnt got added to chatRequest
-
Skinurl after respawn null
-
Encoding issue caused by null strings
-
Prevent llmExceptions while performing stt actions
-
Add npcName to stt error log
-
Prevent executor isTerminated status
-
Use correct endpoint on stt stop
-
Add better error handling for stt requests
-
Fix: smaller ui issues
-
add scrollable container to npc screen so that multiple ones can get shown
-
adjust timeout label in baseConfigScreen
-
Timeout from baseConfig now also gets used from player2 client
-
Make config editable of player2 also if npc is active
-
Prevent some concurrent modification exceptions
-
Remove some unnecessary logs + fix translations
-
Use heartbeat api to check if service is reachable
💼 Other
- Integration player2 -> main
🚜 Refactor
- Refactor publish and build workflow
- Use consistent package structure
- Use uuid as id for every config instead of npcName
- CheckServiceIsAvail, remove url arg
- Llmtype specific icons in npc label (gui)
- IsReachable method in player2Client
- Error handling and logging
- Cleanup npc spawning
- Use string template to add more context to messages in conversationHistory
- Mr review adjustments
📚 Documentation
- Update README.md
- Add some java docs
- Update readme to player2 integration
🎨 Styling
- Remove spotless
⚙️ Miscellaneous Tasks
- Remove spotless from pipe
- Bump version
Download the new release on Modrinth.
Changelog
All notable changes to this project will be documented in this file.
[2.0.3] - 2025-05-02
🐛 Bug Fixes
- Runtime issues of automatone in singleplayer
📚 Documentation
- Add footer git cliff config
- Update readme
⚙️ Miscellaneous Tasks
- Add publish workflow
- Bump dawidd6/action-download-artifact from 2 to 6 in /.github/workflows
Download the new release on Modrinth.
Changelog
All notable changes to this project will be documented in this file.
[2.0.2] - 2025-04-24
🚀 Features
- Add commitlinting
🐛 Bug Fixes
- Fix runtime issues in prod Environment
⚙️ Miscellaneous Tasks
- Clean up build.gradle and mod.json
- Add gitcliff config for generating changelogs from commits
Changelog
All notable changes to this project will be documented in this file.
[2.0.1] - 2025-04-06
🚀 Features
- Add conversation history
- Add all npc capabilities as function tool
- Add getConversation function tool
- Add actions to queue on function call
- Implement openai function calling
- Feat: impl efficient resource saving to db on server stop
- Feat: add function calling support for ollama
- created constants of descriptions and names
- Add functionRepository
- Add vectorizing functions on init of functionManager
- Add getting relevant llmFunctions based on the prompt
- Get all events working on server
- Feat: remove functions that are already called
- set temperature of llm to 0.3 (so llm uses more tool calls)
- Add modeController + default self-reliance mode
- Feat: big improvements in controller and npc creation
- moved npc creation logic into spawner class
- add npc functions that the llm can easier understand
- add chunkManager that handles contextBuilding of current loadedChunks (caching)
- make factory compatible with new config system
- add goalThread that executes new goals in the queue
- impl basic config screen
- Add packets for updating base and single npc config
- Add receivers for new update packets on server
- Add full packet functionality to screens
- Impl all config screens
- Add layout for screens
🐛 Bug Fixes
- Fix some stupid runtime errors caused wrong usage of automatone
- Refactor contextGen to util class; adjust logger prefix to SecondBrain
- Inner class not usable for function calling; close open threads on server stop
- Fix player not found on spawn command
- Remove adding latest convos to system prompt
- fix npc message doesnt have a name in it
- fix recursive function calling
- Add instruction to send firstly chat message
- Adjust project structure, do some renaming
- Registering default functions ollama
- Add always needed function for llm requests
- Try to fix some eventListeners, so there're working on server
- Add better error handling
- Register one event listener for all npcs
- Remove param to set llmmodel in command + smaller tweaks
- Fix missing ollama jar
- Deactivate event listening of block interaction
💼 Other
- Add autorespawn on npc death
- Add model suggestion depending on user input
- Try to optimize function calling, by giving llm only most relevant functions
- Optimize tool calling
- Renaming of packages to secondbrain
- Removed chat tool_function
- adjust promptFormatter
- add promptTemplate and default sys prompt
- Add isActive to npc config
🚜 Refactor
- Refactor NPCFactory, add start ticking of controller in constructor
- Refactor config logic
- Refactor Context generating
- Move despawn logic into spawner class
Changes
- Added attack action to NPC capabilities
- Integrated attack and damage events for NPCs. so NPCs can perform skills based on combat interactions.
- Added cloth configuration and custom lan mod directly to the JAR, so its no longer needed to manually add them to the NPC client.
- Defined a response JSON schema for communication with Ollama and OpenAI servers to ensure that actions are structured and more actions are actually executed compared to previous versions.
- NPCs can now access recipes, previously made skills, conversations and blocks (names/IDs).
- Added an SQLite client that creates a local database. On NPC initialization, all recipes, block data, and sample skills are indexed.
- Embeddings are generated for specific fields to use similarity search (RAG) for querying relevant data from the database based on player requests.
- Renamed isOffline parameter to isOnline in the NPC command to avoid confusion.
Security Enhancements:
- API key can no longer be set via setconfig to prevent plaintext transmission over TCP.
- NPC client can now be verified on online dedicated servers using username and password in the config file.
- (For local servers, the device code login method is still used for authentication.)
First reasonably stable beta version!
-
fix noClassDef exception for responses from ollama
-
add better error feedback
-
move whole client launching logik to the serverside
-
Full Changelog: https://github.com/sailex428/AI-NPC-Launcher/compare/v1.0.4...v1.0.5
- add mod icon
- prevent some resource leaks of unused clients that ran in background
- fix client stuck at ms login
Full Changelog: https://github.com/sailex428/AI-NPC-Launcher/compare/v1.0.3...v1.0.4