Compare commits
2 Commits
808323f098
...
f931b4feaf
| Author | SHA1 | Date | |
|---|---|---|---|
| f931b4feaf | |||
| b7d77e61a0 |
120
README.md
120
README.md
@@ -1,2 +1,120 @@
|
|||||||
# mineroo-bind-velocity
|
# 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](https://github.com/MilkBowl/VaultAPI) — economy features
|
||||||
|
- [PlaceholderAPI](https://github.com/PlaceholderAPI/PlaceholderAPI) — placeholders
|
||||||
|
|
||||||
|
## Build
|
||||||
|
|
||||||
|
```bash
|
||||||
|
./gradlew shadowJar
|
||||||
|
```
|
||||||
|
|
||||||
|
Artifacts:
|
||||||
|
- `paper/build/libs/MinerooCore-Paper.jar`
|
||||||
|
- `velocity/build/libs/velocity-*.jar` (via submodule build)
|
||||||
|
|
||||||
|
## Configuration
|
||||||
|
|
||||||
|
### Paper
|
||||||
|
Place `MinerooCore-Paper.jar` in `plugins/` and edit `plugins/MinerooCore/config.yml`:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
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
|
||||||
|
```
|
||||||
|
|
||||||
|
## License
|
||||||
|
|
||||||
|
[Apache-2.0](LICENSE)
|
||||||
|
|||||||
Reference in New Issue
Block a user