PlaceholderAPI is a Bukkit/Spigot/Paper plugin that provides a unified placeholder system for Minecraft servers. It allows server owners and plugin developers to display dynamic information (e.g., player name, coordinates, plugin stats) using a simple %identifier_params% syntax. The plugin acts as a central registry for placeholder expansions, which can be loaded from a local 'expansions' folder or downloaded from the eCloud (a remote expansion repository). The architecture is a standard Bukkit plugin with a command router, expansion managers (local and cloud), a high-performance character-based replacer, and an abstract scheduler layer that supports Bukkit, Paper, and Folia. Key entry points include the PlaceholderAPI static API class, the PlaceholderAPIPlugin main class, and the /papi command. External dependencies include bStats for metrics, Adventure for modern chat components, and the Spigot/Paper API. The codebase is well-structured, with clear separation of concerns, extensive use of interfaces and dependency injection, and includes unit tests and JMH benchmarks for the replacer.
squaremap is a Minecraft server plugin/mod that renders live top-down world maps to a web interface, similar to Dynmap but with a minimalist design. It supports multiple server platforms (Paper, Fabric, NeoForge, Sponge) through a shared core module with platform-specific adapters, built using Gradle multi-module and a custom build-logic. The backend captures chunk snapshots via mixins/access transformers, renders them into PNG tiles using biome and block color data, and serves them via an embedded Undertow HTTP server. Tiles are generated asynchronously with a FIFO caching system, and the system provides commands for full/radius renders, pause/resume, and visibility controls. The web frontend is a Leaflet-based TypeScript app with player tracking, world selection, layer controls, and coordinate display. The project also exposes a public API for other plugins to add markers, layers, icons, and player managers. The architecture is cleanly separated into API, common, and platform-specific modules, with dependency injection (Guice) and standard libraries (Cloud command framework, Configurate, Adventure). It is actively maintained, with recent commits and support for bleeding-edge Minecraft versions, but the heavy reliance on internal Minecraft code and multiple platform-specific mixins introduces maintenance complexity and drift risk.
BetterModel is a high-performance, server-side Minecraft plugin and mod (Bukkit/Paper/Fabric) that renders custom 3D models from BlockBench (.bbmodel) files using Minecraft's display entities. It automatically generates resource packs, supports keyframe and Molang-driven animations, per-player model visibility, hitboxes, mounting, player skin integration, and third-party compatibility (MythicMobs, Citizens, SkinsRestorer). The architecture is modular with a clean API/implementation split, platform abstraction, and version-specific NMS modules for multiple Minecraft versions (1.21.4 through 26.3). The codebase demonstrates strong engineering practices in packet bundling, animation interpolation, concurrency utilities, and event-driven design. However, it suffers from significant code duplication across NMS versions, minimal test coverage, and heavy reliance on Minecraft internals via reflection, which introduces maintenance fragility. It is actively maintained with frequent updates and a responsive issue tracker.
ChestShop is a mature Bukkit/Spigot/Paper plugin that enables players to create and operate shops using chests and signs. It provides a full economy-driven trading system: players place a sign on a chest to define a shop, set prices, and buy/sell items. The plugin handles shop creation, transaction validation, inventory management, and economic transfers, with extensive integration hooks for popular protection and economy plugins (Vault, Reserve, WorldGuard, GriefPrevention, PlotSquared, Lockette, etc.). The architecture is event-driven and modular, with a core plugin module and version-specific adapter modules to support Minecraft versions from 1.13 to 1.20.5. It uses a custom configuration system with annotations, a lightweight database layer (SQLite via ORMLite), and a comprehensive localization system supporting 40+ languages. The codebase is well-structured with clear separation of concerns, but carries technical debt from deprecated Bukkit APIs, manual database migrations, and tight coupling to many external plugin APIs.