SpigotMC Core Requirements
SpigotMC development within MCEngine focuses on high compatibility and legacy support for our pure Java sub-modules.
1. Legacy API & Translation
- Message Handling: Must ALWAYS use
Component.translatable()for player-facing messages to support localization. - Fallback Strategy: Always provide a fallback English string within the translatable component.
- Console Logs: System logs and console outputs must remain in pure English for standardized debugging across environments.
2. Threading & Performance
- Main Thread Safety: Never perform blocking operations (I/O, Database, Web) on the Server Main Thread.
- Async Handling: Use
CompletableFuturefor all data retrieval tasks, ensuring thecommonmodule remains non-blocking. - Task Scheduling: Utilize the Spigot Scheduler for any logic that requires interaction with the Minecraft World API (e.g., Teleportation, Entity spawning).
3. Project Structure Constraints
As per global Rule standards:
- The
apisub-module must consist solely of Interfaces to ensure modularity. - The
commonsub-module must only handle Data Access (Set/Get) from databases.