
Shape Shifter‘s Compass
A client mod that brings an LLM into Minecraft as a dedicated in-game AI assistant for the Shape Shifter's Curse — reading your inventory, equipment, querying a built-in knowledge base, and executing commands when cheats are enabled.
Links
Tags
Creators
Details
1.1.4
Compatibility
Changes
Shape Shifter's Compass 1.1.4 Changelog
This changelog covers the updates from 1.0.1 through 1.1.4 and describes the final functionality in 1.1.4. Supports SSC 1.9.2, SSC 1.10.0, and their corresponding SSCA branches.
Compatibility with Both SSC Versions
- Fixed player form detection in SSC 1.9.2. The same Compass JAR can read form data from both SSC 1.9.2 and 1.10.0.
- Improved compatibility when reading components and powers. Actual state is read again after a form change, with explicit messages when synchronization is not ready or a read fails.
- Added SSC's native mana, maximum mana, and mana type information. Form mana, Apoli resources, skill cooldowns, and spellbook mana are now distinguished, and resource unit displays have been corrected.
Knowledge Base Expansion and Corrections
- Cross-checked information against SSC/SSCA code and resources, the detailed SSC Wiki, and MCMod.cn. The knowledge base now contains 2,252 version-specific entries covering forms, powers, items, evolution, recipes, spells, and commands.
- Knowledge is selected according to the SSC/SSCA versions actually installed, preventing newer mechanics and values from being applied to older environments. Entries include version and source information.
- Improved searches using Chinese phrases and adjacent character pairs, reducing irrelevant results caused by single-character matches.
- Corrected explanations of transformation commands across versions, whitelist access, spellbook experience and cooldowns, form resources, and spellbook mana.
- Corrected the distinction between ordinary scrolls and modified scrolls with outer-ring enhancements. Rune knowledge covers general effects, costs, and combinations without providing complete rune solutions for specific spells.
- The knowledge base uses fixed snapshots with source records and SHA-256 hashes. Standard builds use the data included in the repository.
Assistant Query Capabilities
- Spellbook diagnostics: Inspect the equipped book's level, experience, mana, scroll slots, scroll levels, casting levels, effective cooldowns, actual mana costs, and known obstacles to casting.
- Target questions: Read the inventory item under the cursor, the block under the crosshair, or the targeted entity captured when Compass opens, including its exact ID and snapshot time.
- Material and crafting planning: Calculate missing materials from the current inventory and offhand, expanding crafting routes up to 4 levels and 40 steps. Improved allocation of shared materials prevents counting the same materials more than once and preserves item data such as potion and scroll properties.
- SSCA special processing queries: Read special crafting, brewing, and processing examples when the corresponding API is available, with dynamic examples and additional requirements clearly marked. Crafting planning does not automatically move materials or craft items.
- Evolution requirements assistant: Explain requirements using synchronized routes, unlocked nodes, levels, points, and inventory items, with a separate notice when synchronization is incomplete.
- Answer evidence: Expand an answer to inspect the tool query results and sources from that request, saved locally with the conversation.
- Equipment queries now include the main hand, offhand, and currently selected hotbar slot.
Spellbook Experience Operations
- Added a dedicated experience operation for equipped and held Moon Dust Spellbooks. Explicit Chinese requests, such as “给我身上的书加1000点经验” (“Add 1,000 experience to the book I have on me”), can be handled directly by a local action without an AI request.
- General references to the book on the player select the currently equipped book first, then a held book. Explicit requests for an equipped or held book do not fall back to the other target. When both hands hold books, the server command's main-hand priority applies; the operation is refused if the specified offhand book cannot be targeted reliably.
- Operations still require Compass cheat mode and operator permission level 2 (OP2). The current target and server command support are checked before execution, and the server modifies the book's data.
- Improved handling of “The model did not return a valid response” and lost operation results: if a tool has executed but the model returns no text or a subsequent request fails, the actual results already received are displayed.
- Identical modification operations within the same turn share their results to prevent duplicate grants. If no valid server feedback is received, the result is marked as unconfirmed rather than assumed successful.
- Fixed unrelated chat messages being mistaken for command execution feedback.
Model Responses and Output Limits
- Fixed parsing of text-based tool calls such as DSML, preserving numeric and JSON parameter types. Truncated calls, malformed calls, and code examples are not executed.
- DeepSeek's thinking setting is now sent explicitly, fixing cases where thinking could remain active after being disabled.
- The default output limit for new configurations has increased from 1,024 to 8,192. Existing configurations are not forcibly overwritten; the limit can be adjusted within the selected model's supported range.
- When a direct DeepSeek API request exhausts its output budget during thinking and returns no answer text, at most one recovery request is made with thinking disabled. Recovery is also available after read-only queries. Once a game-state modification has been attempted, actual results are preserved without asking the model to repeat the operation.
- Thinking requests with higher output limits now allow up to 180 seconds, and cancellation can abort the current HTTP request.
Optional dependencies
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:1jv67QgB:zuwVzevz"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:1jv67QgB:zuwVzevz"
}
