- cross-platform module overview (common, paper, velocity) - requirements matrix with JDK 21 - build instructions via Gradle shadowJar - configuration examples for both Paper and Velocity - feature list: player bind, economy sync, placeholders - project structure tree
3.5 KiB
3.5 KiB
Mineroo Minecraft Libraries
Cross-platform Minecraft server integration libraries for Mineroo — connecting Paper/Spigot servers and Velocity proxies to the Mineroo platform.
Modules
common
Shared components used by both Paper and Velocity modules:
- HTTP client — authenticated API communication with Mineroo backend
- User info cache — in-memory caching of player profiles
- Message manager — localized message resolution
- Network abstraction — unified interface for direct HTTP and proxy-mode communication
paper
PaperMC plugin (MinerooCore-Paper.jar):
- Player-to-MineRoo account binding
- Vault economy integration — server currencies synced to Mineroo platform
- PlaceholderAPI expansion —
%mineroo_*placeholders - Online player reporting (optional, privacy-aware)
- Player join/leave bind validation
- Proxy network support (Velocity forwarding)
velocity
Velocity proxy plugin (mineroo-velocity.jar):
- Cross-server player bind state management
- Plugin-message channel registration (
mineroo:main) - MOTD token handling for server-server communication
- Centralized bind listener for proxy-level flows
Requirements
| Module | Runtime | JDK |
|---|---|---|
paper |
Paper 1.21.10+ | 21 |
velocity |
Velocity 3.x | 21 |
Optional soft dependencies:
- Vault — economy features
- PlaceholderAPI — placeholders
Build
./gradlew shadowJar
Artifacts:
paper/build/libs/MinerooCore-Paper.jarvelocity/build/libs/velocity-*.jar(via submodule build)
Configuration
Paper
Place MinerooCore-Paper.jar in plugins/ and edit plugins/MinerooCore/config.yml:
server:
bind:
bind-token: "your-server-token-from-mineroo-panel"
test:
api-hostname: "https://api.mineroo.online"
proxy:
use-velocity: false
currencies:
enable: true
privacy:
show-online-players: true
Velocity
Place mineroo-velocity.jar in plugins/ and edit plugins/mineroo-velocity/config.yaml.
Features
Player Bind
Players link their Minecraft UUID to a Mineroo account via /mineroo bind.
Economy Sync
When Vault is present and currencies.enable: true:
- Server currencies are read from Vault
- Changes are queued to Mineroo backend
- Players earn/spend platform-wide currency
Placeholders
Available when PlaceholderAPI is installed:
%mineroo_username%%mineroo_currency_<slug>%- More via
MinerooExpansion
Project Structure
minecraft-libraries/
├── common/
│ └── src/main/java/online/mineroo/common/
│ ├── cache/ # Caching utilities
│ ├── request/ # HTTP client & DTOs
│ ├── HttpNetworkService.java
│ ├── MessageManager.java
│ └── NetworkServiceInterface.java
├── paper/
│ └── src/main/java/online/mineroo/paper/
│ ├── commands/ # /mineroo command tree
│ ├── economy/ # Vault economy bridge
│ ├── expansions/ # PlaceholderAPI expansion
│ ├── listeners/ # Bukkit event handlers
│ ├── tasks/ # Scheduled tasks
│ ├── MinerooCore.java
│ └── Config.java
├── velocity/
│ └── src/main/java/online/mineroo/velocity/
│ ├── listeners/
│ ├── MinerooVelocity.java
│ └── Config.java
└── build.gradle.kts / settings.gradle.kts