Skip to content

Add shadow jar support, custom OpenAI base URL, and Chinese docs#52

Open
beancookie wants to merge 17 commits into
YuvDwi:mainfrom
beancookie:main
Open

Add shadow jar support, custom OpenAI base URL, and Chinese docs#52
beancookie wants to merge 17 commits into
YuvDwi:mainfrom
beancookie:main

Conversation

@beancookie
Copy link
Copy Markdown

Summary

  • Add shadowJar plugin to bundle required dependencies (Caffeine, Resilience4j)
  • Add configurable OpenAI base URL for proxy/alternate endpoint support
  • Update AsyncOpenAIClient to support custom base URL via SteveConfig
  • Add Chinese README (README_zh.md)
  • Add multi-file documentation in docs/ directory

Test plan

  • Verify shadowJar builds successfully
  • Test custom base URL configuration
  • Review Chinese documentation

🤖 Generated with Claude Code

luzhong and others added 17 commits April 30, 2026 17:18
…mpatibility

- Add Tencent Gradle mirror for faster downloads in China
- Configure HTTP/HTTPS proxy for corporate/network setups
- Remove foojay-resolver-convention plugin that conflicts with ForgeGradle
- Add Minecraft/Forge/AliYun repositories for dependency resolution

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
- Add shadowJar plugin to bundle required dependencies (Caffeine, Resilience4j)
- Add configurable OpenAI base URL for proxy/alternate endpoint support
- Update AsyncOpenAIClient to support custom base URL via SteveConfig
- Add Chinese README (README_zh.md)
- Add multi-file documentation in docs/ directory

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Remove terrain modeling system (TerrainScanner, TerrainModel, SiteAnalyzer)
as Arnis handles terrain generation. Add Arnis CLI usage, key parameters,
and validation workflow. Renumber sections and update system architecture
diagram to reflect Arnis data sources (OSM, SRTM, ESA WorldCover).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
- Add 36-slot SimpleContainer inventory to SteveEntity with NBT persistence
- Mining collects blocks into inventory instead of dropping on ground
- Building consumes materials from inventory (skipped in creative mode)
- Add creativeMode config option (default: true) for unlimited materials
- Fix build plan fallback: procedural generation was commented out
- Fix collaborative build: Steve now reassigns to other quadrants when done
- Update LLM prompt to reflect creative/survival mode rules
- Update PromptBuilder to show inventory or [unlimited] based on mode
- Add block drop mapping (stone -> cobblestone, etc.)
- Add material mining aliases (cobblestone, oak_planks, glass, etc.)

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
- Add SteveGUI implementation guide (09-steve-gui.md)
- Add WorldKnowledge system documentation (10-world-knowledge.md)
- Move construction-related docs to hackathon/ subdirectory
- Update README.md with new documentation structure
- Remove obsolete road implementation doc (12-road-implementation.md)

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Add comprehensive technical documentation covering:
- System architecture and data flow
- LLM integration with retry logic
- Multi-agent coordination system
- Procedural structure generation
- World knowledge and environment scanning
- Action execution system
- Resume-ready technical highlights

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Reorganize documentation into logical sections:
- 基础层: overview, architecture, config
- AI 核心: world knowledge, prompt builder, LLM, resilience
- 执行层: actions, multi-agent, code execution
- 架构模式: plugins, events, entity management
- 数据层: memory, structures
- 界面层: GUI

Add new documentation:
- PromptBuilder: LLM prompt engineering system
- PluginSystem: SPI-based action registration framework
- EventSystem: Observer pattern for decoupled communication
- Resilience: Circuit breaker, retry, rate limiter, bulkhead
- EntityManagement: Steve lifecycle management

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Previously, Steves were discarded and respawned on every player login
using a static boolean flag, losing all state on world reload. Now the
server event handler checks both the manager and the world for existing
Steve entities before spawning, and registers entities loaded from save
data instead of destroying them. The static stevesSpawned flag is removed
in favor of runtime checks against the manager's active count.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
- StructureTemplateLoader now loads/saves structures from config/steve/structures/
- PromptBuilder dynamically generates NBT template list for LLM prompts
- TaskPlanner adds debug logging for system and user prompts

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Add configurable material warehouses that provide building materials
automatically. When Steve runs out of materials during construction,
it navigates to the nearest warehouse chest to withdraw more.

- WarehouseConfig: parse warehouses.json with spawn modes (fixed/near_player)
- WarehouseSavedData: persist warehouse positions across server restarts
- WarehouseManager: chest interaction API with auto-restock every 5 seconds
- WarehouseRefillHandler: state machine for build-time material refilling
- BuildStructureAction: integrate refill handler when materials run out
- SteveEntity: add warehousePos field and auto-restock tick trigger
- PromptBuilder: add warehouse awareness to LLM prompt

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
…ld delay

- Remove StructureGenerators and its test (procedural generation deprecated)
- Add BUILD_TICK_DELAY config for controlling block placement speed (default 20 ticks/block)
- Add restock cooldown to WarehouseManager to prevent rapid auto-restock
- Increase SteveEntity RESTOCK_INTERVAL from 100 to 1200 ticks
- Add duckyausautoroute schematic to config
- Ignore Amulet editor files

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
- Merge WarehouseManager + WarehouseSavedData into a single class
- Move WarehouseConfig from memory to config package
- Move StructureRegistry from memory to structure package
- Add Map-based name index for O(1) warehouse lookup
- Add persisted restock cooldown to SavedData
- Encapsulate WarehouseEntry fields with getters
- Remove dead code (findNearestPlayerPos, depositItem)

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
- Add MCP SDK (modelcontextprotocol.sdk:mcp:2.0.0-M3) dependency
- Add SteveConfig MCP configuration (enabled, servers, timeout)
- Add MCP client wrapper with HTTP transport support
- Add MCPToolRegistry for managing MCP server connections
- Add MCPToolConverter for formatting tools to prompts
- Add MCP integration tests
- Simplify PromptBuilder: remove procedural structures, use text blocks
- Remove ternary operators in favor of if-else helpers
- Simplify build action validation (structure only, no blocks/dimensions)
- Optimize buildUserPrompt with text block formatting

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant