Skip to content
TF-MinecraftPublic

About

Shared Java utilities and integration APIs for TFMC Minecraft plugins.

Topics

Resources

Stars

7 stars

Watchers

0 watching

Forks

Latest commit

 

History

71 Commits

Folders and files

Repository files navigation

TLibs

Shared item handling and plugin foundations for TF-Minecraft.

TLibs is a supporting library plugin used throughout the TF-Minecraft ecosystem. It gives gameplay plugins a common way to recognize and create items, work with custom blocks, and carry important item details through supported changes.

Players encounter its effects through the plugins that depend on it: custom equipment, crafting ingredients, item skins, and socketed upgrades can share the same underlying item handling.

Features

  • Common item recognition — shared handling for vanilla items and supported custom-item sources, including MMOItems and ItemsAdder.
  • Custom block support — recognizes vanilla blocks, ItemsAdder blocks, and supported furniture hitboxes.
  • Equipment appearance preservation — carries supported skin and appearance information through item rebuilding.
  • Shader-friendly custom armour — adds every ItemsAdder custom armour to the resource pack as a vanilla equipment model, so it still shows with shader packs such as Iris or OptiFine. Once every armour has its model, ItemsAdder's legacy leather atlas is dropped from the pack, so the pack still loads on GPUs limited to 16384 px textures (most Intel graphics) however many armours are added.
  • Tiered socket handling — shared rules for socket categories and the gems or runes applied to them.
  • Equipment events — exposes armour equip changes so other plugins can respond consistently.
  • Inventory scanning — shared periodic and event-driven scans; gameplay plugins register handlers for their own item updates.
  • Shared persistence and utilities — provides database support and common text, time, and location helpers for dependent plugins.

TLibs supports the gameplay plugins that provide the player-facing experiences, keeping common behavior in one place.

Documentation

Project documentation

Technical documentation is maintained in TF-Minecraft/Docs.

Tests and coverage

Run mvn clean verify with Java 21 after preparing the pinned dependencies. JUnit 5, Mockito and MockBukkit exercise item/block APIs, equipment and socket handling, inventory scanning, SQLite storage and plugin lifecycle. These tests do not start a live Paper server or verify the full dependent-plugin stack.

JaCoCo enforces 100% production line coverage with no exclusions; instruction and branch coverage are reported separately. HTML/XML reports are written to target/site/jacoco/, and Surefire results to target/surefire-reports/. Build CI uploads both.

Run python3 -m unittest discover -s tests -v for the dependency installer, artifact validation and pull request size tests. These use Python's standard-library unittest, report to the terminal and are outside the Java coverage gate. The Dependency installer workflow also checks release resolution and Maven installation.

License

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.

About

Shared Java utilities and integration APIs for TFMC Minecraft plugins.

Topics

Resources

Stars

7 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages