Skip to content

History / v5 KamiPlugin

Revisions

  • Correct the topic pages against the source A verification pass traced every claim on the seven topic pages back to code. Twenty-eight corrections, grouped by what went wrong. Four notes labelled "Migrating from v4" described changes that were actually v3 to v4, so a v4 reader was told to fix code that already compiles: perform() gaining its CommandContext parameter, the addParameter overloads collapsing into the builder, the registration helpers becoming plural, and the menu package moving out of gui. All four were already in place at tag 4.0.0. I wrote them from the v3 pages without checking which version introduced them. Two claims were inverted. defaultCommentsOverwrite reads the other way round: true lets the server-side comment win, not the bundled one. And sequences do not throw on write; a read of a sequence whose entries are mappings throws, which also means building a config with defaults over such a file throws from the constructor. Three were stale, already fixed by earlier releases: data being ignored for multi-material icons, an nbt block being skipped without warning, and a bad material in a list vanishing silently. The rest are ordinary errors of fact. SimpleMenu's extra constructor takes three arguments rather than four and exists only in the MenuSize flavour. OneClickMenu's used-click flag is reset by open() alone, not by reopenMenu. Nothing closes a OneClickMenu automatically. The materials and types list keys are read by MenuIconLoader only, so a plain ItemBuilder.load of a section defining materials throws. An invalid inventory type is ignored silently rather than warned about. getLabel drives the help title but not the page-flip arrows, which build from aliases. CachedConfig is abstract. getFile and save moved on AbstractConfig and MemorySectionMethods, not on the handler. amount is coerced from a quoted string after all, and hideAttributes' flag rename is a no-op because XSeries maps both names to one flag. Two pages now say what actually happens when a subsystem cannot resolve its config: the failure is caught and logged by the subsystem manager, so the plugin enables and the subsystem simply never runs. Co-Authored-By: Claude Code <noreply@anthropic.com>

    @Jake-Moore Jake-Moore committed Aug 30, 2026
  • Document v5: entry pages, topic pages, and the changes since alpha.20 The v5 section had no topic pages at all. Its only feature documentation was the nine v3 pages, which teach APIs that v4 and v5 both replaced, so anyone following the only documentation that existed wrote code that did not compile. Getting Started was a placeholder reading "API documentation and getting started content will be added here". Fifteen new pages. Three cover setup: how to depend on the library, which of the six modules to pick, what shading obliges you to do, and the Java 8 floor with its one Java 11 exception. Seven replace the v3 topic pages for KamiPlugin, KamiCommand, menus, menu configuration, ItemBuilder, configuration and subsystems. Five cover ground the wiki has never had in any version: the VersionedComponent text API, which Adventure a server actually uses and where the 1.18.2 boundary falls, NmsAPI, Redis and Database. The migration guide had three entries that were actively wrong rather than missing. It told readers to update imports to three integration classes that a later section of the same page said were removed. It presented MaterialData to XMaterialData as a rename when five things differ, one of them silently because XMaterialData has no equals or hashCode. And it named the EventManager removal without saying that no replacement exists, so the seven lines of removed logic are now published for reimplementation. Four omitted changes were added, of which AbstractBlockUtil.setBlock is a hard compile break. Everything after alpha.20 was documented nowhere. Readers coming from 4.0.0 are routed to the topic pages, since for them it is new capability rather than renames. Readers who tracked the pre-releases get a dedicated alpha.20 to 5.0.0 guide covering the whole window. Written as though 5.0.0 is live, so no dated stamps outside the historical alpha.17 page, version placeholders rather than hardcoded numbers, and the Home status no longer says active development. A review against the source caught nineteen defects before this landed, most of them examples that would not compile: the shading bootstrap was wrong on three pages, registerModule was documented taking a class when it takes an instance, and ConfigObserver's package was wrong everywhere it appeared. All are corrected here. Every internal link and cross-page anchor is verified, including three v3 links that were missing their v3 prefix. Co-Authored-By: Claude Code <noreply@anthropic.com>

    @Jake-Moore Jake-Moore committed Aug 30, 2026