Shared roleplay features and server systems for TF-Minecraft.
TFMC Core brings together small gameplay features and server rules. It supports personalized items and activity records, alongside custom drops and crafting-station interactions.
These features give other TF-Minecraft plugins common building blocks while also adding everyday interactions players can use directly.
- Personalized items — lorestones add descriptive text (or
clearit all) and namestones rename an item through an in-game prompt. A plain name is followed by a clickable colour palette; names typed with&codes skip it. - Animal whistles — highlight nearby supported animals to help players locate them.
- Shared gameplay rules — custom drop handling and station interactions connect everyday world actions to server content.
- Player utilities — shared player commands and resource-pack delivery support everyday server use.
- Resource-pack texture guard — warns the console and staff when the ItemsAdder pack holds a texture over 16384 px, which stops the whole pack loading on most Intel graphics.
- Book appearance — optionally hides the default glint on signed books through ProtocolLib.
- Cross-plugin statistics — records supported vehicle, character, crafting, skill, and faction events for staff queries.
TFMC Core works alongside the server's specialist plugins, connecting their systems with the smaller details that make the roleplay world feel consistent.
Technical documentation is maintained in TF-Minecraft/Docs.
With Java 21 and the pinned plugin dependencies installed (see the build workflow), run:
mvn -B --no-transfer-progress clean verifyJUnit 5 and Mockito tests cover drops, statistics storage, stone and whistle
configuration, player commands, signed-book appearance, the Xaero fair-play listener
and resource-pack compaction and delivery, with server and plugin APIs mocked.
Surefire writes test results to target/surefire-reports/. CI runs verification
on pushes and pull requests to main and uploads those reports;
JaCoCo writes HTML/XML to target/site/jacoco/ and enforces 100% production
line coverage in verify, with no class or package exclusions. CI also uploads
coverage reports. The gate does not require 100% branch coverage. The suite does not start a live Paper server.
Copyright (c) 2026 TF-Minecraft contributors.
TF-Minecraft-authored material in this repository is licensed under the Artistic License 2.0. Third-party dependencies and bundled material retain their own licenses.