Skip to content

feat(csharp): add inventory menus - #3

Draft
RestartFU wants to merge 1 commit into
masterfrom
agent/csharp-inventory-menus
Draft

feat(csharp): add inventory menus#3
RestartFU wants to merge 1 commit into
masterfrom
agent/csharp-inventory-menus

Conversation

@RestartFU

Copy link
Copy Markdown
Member

What

  • add a native C# Inv API for chest, double-chest, hopper, dropper, barrel, and ender-chest menus
  • bridge typed item stacks plus repeatable submit and terminal close callbacks across ABI v69
  • implement fake-container session state, packet normalization, safe replacement/rollback, disconnect, and runtime-drain cleanup
  • add the /kitchen inv example, documentation, and lifecycle/race coverage

Why

C# plugins can currently show forms, but cannot present interactive Bedrock inventory menus. This adds the inventory-menu behavior directly to the plugin runtime and host without requiring a Dragonfly fork.

Impact

  • bumps the host ABI from 68 to 69, so the runtime and host must be upgraded together
  • uses the pinned Dragonfly session layout and fails fast if its private fields change
  • preserves real-container state, temporary UI items, fake block restoration, callback ownership, and host isolation

Checks

  • make test
  • go test -race ./internal/host ./internal/native ./framework
  • dotnet build csharp/Dragonfly/Dragonfly.csproj -c Release --no-restore
  • branch autoreview; all actionable findings addressed

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