Skip to content

chore: standardise repository for TFMC - #1

Merged
ryanbarlow97 merged 1 commit into
mainfrom
chore/standardize
Sep 23, 2026
Merged

ryanbarlow97 merged 1 commit into
mainfrom
chore/standardize

Conversation

@ryanbarlow97

@ryanbarlow97 ryanbarlow97 commented Sep 23, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Brings the new Research repository, the replacement for the archived AdvancedResearch, in line with the other TFMC plugins.

  • Build: Java 21 / paper-api:1.21.10-R0.1-SNAPSHOT with main-SNAPSHOT and the shared POM layout. The Windows systemPath jars and the antrun copy step are removed.
  • Dependencies: TLibs 2.0.1 and TFMCCore 2.0.1, the latest releases, installed by the shared installer. MMOCore moves from 1.11.3 to 1.13.1 to match the other plugins, and MythicLib 1.7 comes from ServerAssets 183a187. Both are checked by checksum. The unused compile-time MMOItems and ItemsAdder jars are dropped; the runtime depend list is unchanged.
  • Code: imports now use the lowercase net.tfminecraft.tlibs packages. Javadoc no longer mentions implementation batches.
  • Docs: removes docs/ (batch plans, redesign spec, dated migration notes). The current behaviour guide, including a short section on replacing AdvancedResearch, is now in TF-Minecraft/Docs.
  • Repository: adds the shared workflows, artifact check, .gitignore (replacing the old one), .editorconfig, licence and README.
  • Descriptor: version: '${project.version}' and api-version: '1.21.10'. The previous 0.13.0 was out of step with the POM's 1.0.0.

Validation

  • mvn clean verify passes locally on Java 21.0.12 / Maven 3.9.11 with the pinned inputs; no unit-test suite.
  • .github/scripts/plugin-artifact.py accepts the runtime JAR; the embedded plugin.yml has the Maven version and api-version: '1.21.10', and the classes are Java 21 bytecode (major 65).
  • The default build prints no compiler warnings. With -Dmaven.compiler.showDeprecation=true, the only warnings left are legacy string UI calls (setDisplayName, ChatColor and similar), which other TFMC plugins also still use.
  • GitHub Build workflow passes with the private inputs downloaded by DEPS_TOKEN.
  • No live server run. Runtime checks are listed in the Docs guide.

Most of the diff is CRLF-to-LF normalisation. Review with whitespace hidden (?w=1).

Found during review, not changed here

  • plugin.yml lists MMOCore as a soft dependency, but MmoAttributes calls it directly. Install MMOCore wherever Research runs, or make it a hard dependency.
  • Every lectern right-click is cancelled, so vanilla lecterns stop working unless station.permission is set.
  • A lectern break that another plugin cancelled still scraps the project.
  • SoundKeys turns upper-case enum names such as the default ENTITY_EXPERIENCE_ORB_PICKUP into invalid keys, so that sound never plays.

🤖 Generated with Claude Code

Build on the shared Java 21 / Paper 1.21.10 baseline with the committed
POM layout, pinned TFMC provider releases and checksum-verified private
inputs from ServerAssets. Add the shared build and release workflows,
artifact check, ignore rules, editor settings, licence and README.

Move imports to the current lowercase provider packages, let Maven supply
the plugin version, and normalise line endings to LF. Technical guides now
live in TF-Minecraft/Docs.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@ryanbarlow97
ryanbarlow97 merged commit 3e96b4a into main Sep 23, 2026
1 check passed
@ryanbarlow97
ryanbarlow97 deleted the chore/standardize branch September 23, 2026 11:26
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