Skip to content

feat: add persistent plugin data and item nbt to the plugin api - #16

Merged
NaySurGithub merged 1 commit into
mainfrom
feat/persistent-data
Nov 14, 2026
Merged

NaySurGithub merged 1 commit into
mainfrom
feat/persistent-data

Conversation

@NaySurGithub

Copy link
Copy Markdown
Contributor

Batch 4 of the plugin API additions.

Depends on the batch 3 PR (#15); merge that one first. The base branch is the batch 3 branch so the diff only shows this batch.

What it adds

  • Text kept per plugin on entities and players (entityData, entitySetData, entityDataCount/Key) and on items (itemData, itemSetData, itemDataCount/Key), saved with them. Keys belong to the calling plugin.
  • NBT: itemNbt/itemSetNbt read and replace an item's tag as little-endian NBT; entityNbt returns what the server would save for an entity (read only).
  • C++ (Entity, Item), Java (plugin.data(), Item.nbt(), Entity.nbt()) and Wasm bindings, README section.

All functions are appended at the end of FalconServerApi (API 1.0.6, bumped by batch 1).

Not added

  • Entity NBT write: loading a whole actor tag back into a live entity resets it and is not something the server does outside its own load path; only reading is offered.

Checks

CI of the batch 6 branch (feat/world), which contains this one: Linux, Windows (MSVC and MinGW), .NET and Java jobs green; the macOS jobs were cancelled by the runner, as on main.

@NaySurGithub
NaySurGithub merged commit 8063d36 into main Nov 14, 2026
7 of 10 checks passed
@NaySurGithub
NaySurGithub deleted the feat/persistent-data branch November 14, 2026 20:37
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