Changelog
All notable changes to this project will be documented in this file.
[3.0.0] - 2025-10-19
🚀 Features
- Add system prompt input in configScreen for openai
- Add model input to screen
- Add saved messages (from db) to conversationHistory
- Add deleting convos when NPC has been deleted
- Add error handling for commandErrors
🐛 Bug Fixes
- Error loading resources when internal server didnt started yet
- Chiseled gradle task doesnt exist anymore
- Fix gradle not found
- Fix gradle not found
- Typo in gradle task
- Couldnt find timestamp column sql error
- Mojmap issues when using carpet
- Role doesnt exists
- Player2api content field missing
- Cannot parse player2api response, index field missing
- To many fields unnecessary fields are in the response
- Prevent some nullpointers
- Rejoin in world crashes client
- Npcs doesnt spawn
- Can only manipulate existing players
- Model field is shown in player2 config
- Prevent classCastError
- ApiKey overwritten with default string
- ModelInput is shown twice
- Api key is overwritten when updating on client with default text
- Prevent exceptions when spawning an npc that already exists
- Api key still overwritten
- Convos not saved
- Prevent printing several times same response
- Prevent printing several times same response
- Fix-runtime-mismatch-class-file-versions (#43)
💼 Other
- Integrate to structured output -> dev (#39)
- Integrate secondbrainengine -> main
- Add publish gradle tasks
- Mc 1.21.8 support -> main
- Use java 17 for older versions
- Downgrade to java 17
- Use java17 for older mc versions -> main
- Up wispforest deps
🚜 Refactor
- Remove recipeRepo
- Remove npc modes
- Remove some more unnecessary stuff
- Remove more unuseful stuff
- Make networkHandler 1.20 compatible
- Main class, npcFactory
- ResourceProvider
- ConversationHistory
- Function calling api
- Add getItems function for testing
- Make sttHudElement 1.20.1 compatible
- Adjust system, summary and init prompt
- Tweak prompts
- Add commands to system prompt
- Set owner on controller
- Switch to using structured output
- Remove functionCallable interface
- Rename player2 types
- Remove functionCalling completely
- Add openAiClient again
- Build script
- Check llm reachable before spawn npc
- Remove print exception message into game chat
📚 Documentation
- Update readme
🧪 Testing
- Add latest mc version (1.21.8)
- Use latest git-cliff-action
⚙️ Miscellaneous Tasks
- Bump stonecutter version
- Add secondbrainengine dep
- Remove gradle properties for 1.20.4 and 1.21.3
- Up some deps
- Up fabric loader
- Add secondbrainengine 1.21.1
- Add carpet
- Switch back to engine 1.1.2
- Up fapi + engine
- Add support for mc version 1.21.8
- Bump loom, gradle wrapper
- Add publish task
- Bump version
- Remove not available avatar pic
- Update publish workflow
- Add java 17 compiled engine
- Bump engine
- Publish only 1.20.1
Download the new release on Modrinth.
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