BitRift Staff Suite
ModrinthStaff Suite GUI Based | Permissions & Activity Loggin
📖 Table of Contents
- ✨ Features
- 📦 Dependencies
- ⚙️ Requirements
- 🚀 Installation
- 🔧 Configuration
- 💬 Commands & Permissions
- 📊 PlaceholderAPI
- 🌐 Discord Integration
- 💾 Database Setup
- 🔄 Redis (Network)
- 🖥️ GUI Overview
- 🔒 Security Features
- 🆘 Support
✨ Features
🎯 Core Moderation
- GUI-Driven Moderation – Intuitive click-based interfaces for all actions
- Override Vanilla Commands – Seamless integration with
/ban,/kick,/mute, etc. - Punishment Ladder – Automated escalating punishments (Hacking, Griefing, Scamming)
- Silent Integration – Works alongside LiteBans & AdvancedBan
- Historical Tracking – Complete audit logs for every action
- Cross-Network Sync – Redis-powered real-time data across all servers
🎨 Staff Utilities
- Staff Mode – Toggle with inventory/gamemode/position save
- Spectator / Adventure / Creative modes
- Auto-vanish option
- Customizable tools: Compass, Punishment Book, Player Selector, Freeze Ice, Breadcrumb, Menu Chest
- Vanish System – Complete invisibility with visible levels
- Freeze System – Immobilize suspicious players with private chat
- Target Selection – Click, look, or GUI select with particle glow
- Internal Notes – Categories: WARNING, INFO, FOLLOWUP, PRAISE
📊 Advanced Analytics
💰 Transaction History
- Track all economy events (deposits, withdrawals, purchases, sales, transfers)
- Source tracking (Vault, ShopGUI+, commands)
- Balance snapshots and net flow calculations
- 24-hour volume summaries
📝 Command History
- Complete log of every command executed
- Configurable exclusions (staff commands filterable)
- Result tracking: SUCCESS, DENIED, ERROR, CANCELLED
- Top commands analytics
⛏️ Mining Statistics
- Block break tracking with tool type and damage
- Enchantment capture (Fortune, Silk Touch, Efficiency)
- World/environment classification
- Daily aggregates and material breakdowns
- Real-time diamond/emerald/ancient debris counts
- Top miners leaderboard
📈 Activity Metrics
- Block breaks & entity kills
- Chat messages & command executions
- Deaths & teleports
- Item pickup & drop events
- Crafting & fishing
- Level changes & respawns
- PvP kills & deaths
- Heatmap-style timeline view
🔒 Security Addon
- X-Ray Detection – Configurable ore thresholds, click-to-teleport alerts
- CPS Detection – Auto-clicker detection (18 CPS limit)
- AFK Watchdog – 5-minute idle detection
- Economy Monitoring – Suspicious balance spikes (250k threshold, 4x multiplier)
- ShopGUI+ Hook – Transaction validation for shops
- Dispatch Scan – One-click sweep for illegal items
- Quickcraft Safeguard – Prevents shift‑click crafting duplication exploits on Java & Bedrock. Fully toggleable.
📋 Reporting System
- Player Reports –
/report <player> <reason>creates ticket - Staff GUI – Claim/resolve with chat session
- Real-time Notifications – In-game + Discord webhook
- Status Tracking – OPEN, CLAIMED, RESOLVED
🌍 Network Features
- Staff Chat Bridge –
/staffchatacross all servers (BungeeCord/Velocity) - Cross-Server Find –
/staff connect <player>locates and teleports - Network Staff List – See all online staff globally
- MySQL/Redis Sync – Shared data via proxy bridge
🗣️ Discord Integration
Multiple webhook routes (individually toggleable):
default– Main logstaff-chat– Staff messagespunishments– Ban/mute/kick eventsteleports– Staff teleportsalerts– Security notificationssecurity– XRay/CPS/AFK alertsreports– New ticketsanalytics– Session datastaff-mode– Enter/exit events
Avatar URL templating: https://mc-heads.net/avatar/{uuid}
🔧 Configuration
All features granularly configurable:
- Database type (SQLite/MySQL)
- Redis connection settings
- Vanish mode (internal/Essentials)
- Staff mode items & slots
- Freeze timeout & chat prefix
- Punishment thresholds & auto-punishment
- Security detector parameters
- Webhook routing
- Session analytics caps
- GUI titles & lore
- Language system (lang.yml)
- Geyser/Floodgate compatibility
- ItemsAdder support
- Quickcraft Safeguard options (enabled, bypass permission)
📦 Dependencies
Required (Shaded)
| Library | Version | Purpose |
|---------|---------|---------|
| HikariCP | 5.1.0 | Database connection pooling |
| Jedis | 5.1.3 | Redis client |
| Kyori Adventure | 4.17.0+ | Modern text components |
| Adventure Platform Bukkit | 4.3.3 | Bukkit integration |
Optional (Provided)
| Plugin | Purpose | Integration |
|--------|---------|-------------|
| PlaceholderAPI | Placeholders for scoreboards/tab lists | 16+ expansions |
| DiscordSRV | Discord chat bridge | Staff chat forwarding |
| Vault | Economy abstraction | Transaction tracking |
| ShopGUI+ | Shop economy integration | Balance monitoring |
| LiteBans | Ban synchronisation | Silent sync mode |
| AdvancedBan | Alternative ban system | Silent sync mode |
| EssentialsX | Vanish fallback | Internal/Essentials modes |
⚙️ Requirements
| Component | Version |
|------------|---------|
| Minecraft Server | Paper 1.21.11 (or fork) |
| Java Runtime | Java 21 (OpenJDK/Corretto) |
| Database | SQLite (built-in) or MySQL 8.0+ / MariaDB 10.5+ |
| Redis (Network) | Redis 7.0+ (optional) |
| Folia | Supported (async task handling) |
🚀 Installation
- Download the latest
StaffSuite-3.6.0.jar - Place it in your server's
plugins/folder - Start your server
- Configure
plugins/StaffSuite/config.ymlas needed - Reload with
/staffsuite reloador restart - Assign permissions to your staff groups
That's it. No additional setup required.
🔧 Configuration
Main Config (config.yml)
# ============================================
# DATABASE
# ============================================
database:
type: "sqlite" # "sqlite" or "mysql"
mysql:
host: "localhost"
port: 3306
database: "staffsuite"
username: "root"
password: ""
# ============================================
# REDIS (Cross-server sync)
# ============================================
redis:
enabled: false
host: "localhost"
port: 6379
password: ""
# ============================================
# VANISH SETTINGS
# ============================================
vanish:
mode: "internal" # "internal" or "essentials"
levels:
enabled: false
default_level: 1
# ============================================
# STAFF MODE
# ============================================
staffmode:
save_inventory: true
save_flight: true
auto_vanish_on_staffmode: true
mode_style: "creative" # "spectator", "adventure", "creative"
items:
random_teleport_compass:
enabled: true
slot: 0
punishment_book:
enabled: true
slot: 1
player_selector:
enabled: true
slot: 2
staff_menu:
enabled: true
slot: 4
freeze_ice:
enabled: true
slot: 5
breadcrumb_tool:
enabled: true
slot: 7
exit_barrier:
enabled: true
slot: 8
# ============================================
# FREEZE SYSTEM
# ============================================
freeze:
prevent_commands: true
prevent_movement: true
freeze_chat_prefix: "<dark_red><bold>FROZEN</bold> <gray>»</gray>"
auto_unfreeze_seconds: 300
# ============================================
# PUNISHMENTS
# ============================================
punishments:
warn_threshold: 3
warn_auto_punishment: "mute 1h"
broadcast_punishments: true
ladders:
enabled: true
"Hacking/Cheating":
- "30d"
- "90d"
- "perm"
"Griefing/Theft":
- "7d"
- "30d"
- "perm"
"Scamming/Phishing":
- "14d"
- "90d"
- "perm"
integration:
litebans:
enabled: false
silent: true
advancedban:
enabled: false
silent: true
# ============================================
# REPORTS
# ============================================
reports:
discord_webhook_url: ""
notify_staff_ingame: true
# ============================================
# SNAPSHOTS
# ============================================
snapshots:
auto_snapshot_interval_minutes: 30
max_entries: 12
shulker_export: false
shulker_blacklisted_materials:
- "BARRIER"
- "COMMAND_BLOCK"
death_logs:
enabled: true
max_entries: 10
# ============================================
# SECURITY DETECTION
# ============================================
security:
xray:
enabled: true
ore_threshold: 15
time_window_seconds: 60
tracked_ores:
- DIAMOND_ORE
- DEEPSLATE_DIAMOND_ORE
- EMERALD_ORE
- DEEPSLATE_EMERALD_ORE
- ANCIENT_DEBRIS
cps:
enabled: true
window_seconds: 5
max_cps: 18
min_clicks: 25
afk:
enabled: true
idle_threshold_seconds: 300
economy:
enabled: true
absolute_threshold: 250000
multiplier: 4.0
check_interval_seconds: 45
shopgui_plus:
enabled: false
threshold: 150000
# ============================================
# WEBHOOKS
# ============================================
webhooks:
default: ""
staff-chat: ""
punishments: ""
teleports: ""
alerts: ""
security: ""
reports: ""
analytics: ""
staff-mode: ""
avatar_url: "https://mc-heads.net/avatar/{uuid}"
# ============================================
# SESSION ANALYTICS
# ============================================
session_analytics:
enabled: true
history_cap: 40
risk_profile: true
# ============================================
# GUI CUSTOMIZATION
# ============================================
gui:
enabled: true
titles:
staff_control: "<gradient:#5e9eff:#1e3a8a>Staff Control</gradient> <dark_gray>»</dark_gray> <white>Panel"
player_selector: "<green>Online Players"
reports: "<yellow>Reports"
history: "<aqua>History"
notes: "<aqua>Notes"
items:
lore_enabled: true
# ============================================
# TRACKING (New Features)
# ============================================
tracking:
transactions:
enabled: true
track_vault: true
track_shopgui_plus: true
track_commands: true
retention_days: 90
command_history:
enabled: true
track_all_commands: true
track_staff_commands: true
retention_days: 30
excluded_commands:
- "/staff"
- "/staffmode"
- "/vanish"
- "/mute"
- "/ban"
- "/kick"
- "/warn"
- "/freeze"
- "/unfreeze"
mining_stats:
enabled: true
track_block_breaks: true
track_tool_info: true
track_enchantments: false
retention_days: 90
auto_save_interval_minutes: 10
ores_only: false
activity_metrics:
enabled: true
track_block_breaks: true
track_entity_kills: true
track_chat: true
track_command_executions: true
track_deaths: true
track_teleports: true
track_item_pickup_drop: true
retention_days: 7
# ============================================
# COMPATIBILITY
# ============================================
compatibility:
geyser:
enabled: false
bedrock_prefix_stripping: true
itemsadder:
enabled: false
custom_items: false
💬 Commands & Permissions
Command Reference
| Command | Permission | Description | Aliases |
|---------|------------|-------------|---------|
| /staff | staffsuite.mod | Open main staff GUI | – |
| /staffmode [mode] | staffsuite.staffmode | Toggle staff mode | sm |
| /vanish | staffsuite.vanish | Toggle vanish | v |
| /ban <player> [time] [reason] | staffsuite.ban | Ban a player | – |
| /ipban <player> [reason] | staffsuite.ban | IP ban a player | – |
| /kick <player> [reason] | staffsuite.kick | Kick a player | – |
| /mute <player> [time] [reason] | staffsuite.mute | Mute a player | – |
| /warn <player> [reason] | staffsuite.warn | Warn a player | – |
| /freeze <player> | staffsuite.freeze | Freeze/unfreeze a player | – |
| /unfreeze <player> | staffsuite.freeze | Unfreeze a player | – |
| /history <player> | staffsuite.history | View full player history | – |
| /transactions <player> | staffsuite.transactions | View transaction history | – |
| /cmdhistory <player> | staffsuite.cmdhistory | View command history | – |
| /miningstats <player> | staffsuite.miningstats | View mining statistics | – |
| /activity <player> | staffsuite.activity | View activity metrics | – |
| /report <player> <reason> | staffsuite.reports | Submit a report | reports |
| /reports | staffsuite.reports | Open reports GUI | – |
| /report claim <id> | staffsuite.reports | Claim a report | – |
| /report resolve <id> | staffsuite.reports | Resolve a report | – |
| /notes add <player> <note> | staffsuite.mod | Add note to player | – |
| /notes remove <id> | staffsuite.mod | Remove a note | – |
| /notes list <player> | staffsuite.mod | List player notes | – |
| /stafflogs [player] | staffsuite.logs | View raw staff action log | – |
| /audit <staff> | staffsuite.audit | View staff member's actions | – |
| /staffchat [message] | staffsuite.mod | Toggle staff chat channel | sc |
| /freezechat | staffsuite.mod | Toggle frozen chat access | – |
| /alerts | staffsuite.alerts | Toggle personal alerts | – |
| /breadcrumb | staffsuite.staffmode | Teleport to saved location | – |
| /sweep | staffsuite.admin | Scan & remove blacklisted items | – |
| /economyaudit <player> | staffsuite.admin | Check player balance | – |
| /shulkerexport <player> | staffsuite.history | Export snapshots to chest | – |
| /close | staffsuite.mod | Close report chat session | – |
| /staffsuite reload | staffsuite.reload | Reload configuration | – |
| /staffsuite license <key> | op | Activate license key | – |
Permission Nodes
staffsuite.*:
description: "All StaffSuite permissions"
children:
staffsuite.mod: true
staffsuite.ban: true
staffsuite.mute: true
staffsuite.kick: true
staffsuite.warn: true
staffsuite.freeze: true
staffsuite.reports: true
staffsuite.reports.notify: true
staffsuite.history: true
staffsuite.transactions: true
staffsuite.cmdhistory: true
staffsuite.miningstats: true
staffsuite.activity: true
staffsuite.staffmode: true
staffsuite.staffmode.builder: false
staffsuite.vanish: true
staffsuite.audit: true
staffsuite.logs: true
staffsuite.reload: true
staffsuite.notify: true
staffsuite.alerts: true
staffsuite.admin: false
staffsuite.bypass.xray: false
staffsuite.bypass.cps: false
staffsuite.bypass.afk: false
staffsuite.bypass.economy: false
📊 PlaceholderAPI
StaffSuite provides 20+ placeholders for scoreboards, tab lists, and plugins.
| Placeholder | Returns | Example |
|------------|---------|---------|
| %staffsuite_staffmode_enabled% | true / false | true |
| %staffsuite_staffmode_mode% | spectator / adventure / creative | spectator |
| %staffsuite_vanished% | true / false | false |
| %staffsuite_frozen% | true / false | false |
| %staffsuite_punishments_total% | Total active punishments | 5 |
| %staffsuite_punishments_bans% | Active bans | 2 |
| %staffsuite_punishments_mutes% | Active mutes | 1 |
| %staffsuite_punishments_warns% | Active warns | 1 |
| %staffsuite_punishments_kicks% | Total kicks | 3 |
| %staffsuite_staff_online% | Local staff count | 4 |
| %staffsuite_reports_open% | Open report tickets | 2 |
| %staffsuite_frozen_count% | Currently frozen players | 0 |
| %staffsuite_total_playtime% | Total minutes played | 12543 |
| %staffsuite_risk_score% | Risk profile score | 12 |
| %staffsuite_staffmode_count% | Players in staff mode | 3 |
| %staffsuite_server_name% | Server name from config | lobby |
| %staffsuite_warns_<player>% | Specific player's warns | 0 |
| %staffsuite_transactions_last24h% | Transactions (24h) | 5 |
| %staffsuite_transactions_volume% | Net transaction volume | 1,250.50 |
| %staffsuite_commands_last24h% | Commands executed (24h) | 142 |
| %staffsuite_mining_diamonds_last24h% | Diamonds mined (24h) | 3 |
| %staffsuite_mining_total_last24h% | Total blocks mined (24h) | 478 |
| %staffsuite_activity_score_last24h% | Activity points (24h) | 86 |
Dynamic Player-Specific Placeholders:
%staffsuite_warns_Steve%
%staffsuite_transactions_last24h_Steve%
%staffsuite_mining_diamonds_last24h_Steve%
🌐 Discord Integration
Webhook Setup
- Create webhooks in your Discord server settings
- Paste URLs into
config.ymlunderwebhooks:section - Enable
log-<feature>toggles as needed
webhooks:
punishments: "https://discord.com/api/webhooks/..."
reports: "https://discord.com/api/webhooks/..."
security: "https://discord.com/api/webhooks/..."
staff-chat: "https://discord.com/api/webhooks/..."
DiscordSRV Bridge
If DiscordSRV is installed, staff chat messages sent via /staffchat are automatically forwarded to a configured Discord channel.
💾 Database Setup
SQLite (Default)
No configuration needed. Database file: plugins/StaffSuite/database.db
Pros: Simple, zero configuration, good for single-server setups.
Cons: Not recommended for multi-server networks.
MySQL / MariaDB
database:
type: "mysql"
mysql:
host: "localhost"
port: 3306
database: "staffsuite"
username: "staffsuite_user"
password: "secure_password"
Create Database:
CREATE DATABASE staffsuite CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
GRANT ALL PRIVILEGES ON staffsuite.* TO 'staffsuite_user'@'localhost' IDENTIFIED BY 'secure_password';
FLUSH PRIVILEGES;
Connection Pool (HikariCP):
- Max Pool Size: 10
- Min Idle: 2
- Connection Timeout: 5s
- Idle Timeout: 5 min
- Max Lifetime: 10 min
🔄 Redis (Network)
Required for multi-server setups (BungeeCord / Velocity proxy).
Configuration
redis:
enabled: true
host: "localhost"
port: 6379
password: "" # if set
Channels
staffsuite:bridge– Primary channel for staff chat, bans, vanishes- Additional pub/sub used for real-time sync
Proxy Setup
- Install StaffSuite on all servers (lobby, survival, kitpvp, etc.)
- Enable Redis on each server with same host/port
- Set
server-namein config.yml to differentiate each server - Restart all servers
Note: Data is stored in MySQL (or SQLite per-server if not using network DB). For true network-wide data, configure MySQL host accessible by all servers.
🖥️ GUI Overview
Main Menu (/staff)
┌─────────────────────────────────────┐
│ 🛡️ Staff Control Panel │
├─────────────────────────────────────┤
│ 👥 Online Players │
│ ⚖️ Active Punishments │
│ 📝 Reports │
│ 📜 History │
│ 👁️ Staff Mode Toggle │
│ ❄️ Freeze Manager │
│ 🔍 Security Center │
│ 📊 Analytics │
│ 📋 Notes │
│ 💬 Staff Chat │
│ ⚙️ Settings │
└─────────────────────────────────────┘
Player Action GUI
Click a player → Action menu with buttons:
| Slot | Button | Action |
|------|--------|--------|
| 10 | 🔴 Ban | Open ban reason dialog |
| 11 | ⚫ IP-Ban | IP-ban with reason |
| 12 | 👢 Kick | Kick with reason |
| 13 | 🔇 Mute | Mute duration selector |
| 14 | ⚠️ Warn | Send warning |
| 15 | ❄️ Freeze / Unfreeze | Toggle freeze |
| 16 | 🔍 Inspect | View inventory & stats |
| 20 | 💰 Transactions | View economy history |
| 21 | 📖 Notes | Manage notes |
| 22 | 📜 History | Full history view |
| 24 | ⌨️ Cmd History | Command log |
| 30 | ⛏️ Mining Stats | Block mining data |
| 31 | 📈 Activity | Activity metrics |
| 23 | 🚫 Close | Exit GUI |
History GUI
Combined timeline view with filter buttons:
- ALL – Show all entries
- PUNISHMENT – Bans, mutes, warns
- REPORT – Report tickets
- NOTE – Staff notes
- ACTION – Audit log
Entries sorted by timestamp, paginated (36 per page).
Reports GUI
List of open tickets with color coding:
- 🟢 Open – White paper icon
- 🟡 Claimed – Yellow paper icon
- 🔴 Resolved – Red barrier icon
Click to claim/resolve and open private chat with reporter.
🔒 Security Features
X-Ray Detection
security:
xray:
enabled: true
ore_threshold: 15 # Ores in 60 seconds triggers
time_window_seconds: 60
tracked_ores:
- DIAMOND_ORE
- DEEPSLATE_DIAMOND_ORE
- EMERALD_ORE
- DEEPSLATE_EMERALD_ORE
- ANCIENT_DEBRIS
Alert format:
[XRAY ALERT] Player found 15 DIAMOND_ORE in 58s [Click to TP]
Click the message in console or in-game (if using modern clients) to teleport to suspect.
CPS Detection
cps:
enabled: true
window_seconds: 5
max_cps: 18
min_clicks: 25
Triggers when a player clicks >18 CPS with at least 25 clicks in a 5-second window.
AFK Watchdog
afk:
enabled: true
idle_threshold_seconds: 300 # 5 minutes
Players not moving for 5 minutes are flagged. Toggle alerts with /alerts.
Economy Monitor
economy:
enabled: true
absolute_threshold: 250000 # $250k in short time
multiplier: 4.0 # 4x normal gain
check_interval_seconds: 45
shopgui_plus:
enabled: false
threshold: 150000
Detects suspicious balance spikes via Vault or ShopGUI+.
🎯 Feature Deep Dive
Transaction History
What it tracks:
- Every deposit/withdrawal via Vault
- Shop purchases/sales (ShopGUI+)
/paycommand (EssentialsX)- Balance snapshots from
/economyaudit
Database Table: transactions
| Column | Type | Description |
|--------|------|-------------|
| id | INT | Auto-increment PK |
| player_uuid | VARCHAR(36) | Player UUID |
| player_name | VARCHAR(36) | Player name at time |
| amount | DOUBLE | +/- amount |
| balance_after | DOUBLE | Balance after transaction |
| type | VARCHAR(16) | DEPOSIT, WITHDRAWAL, PURCHASE, SALE, TRANSFER, OTHER |
| source | VARCHAR(64) | VAULT, SHOPGUI_PLUS, /pay, BALANCE_AUDIT |
| target_uuid | VARCHAR(36) | For transfers |
| timestamp | BIGINT | Epoch millis |
GUI Features:
- Paginated list (36 per page)
- Color-coded by type (green = credit, red = debit)
- Shows running balance
- Date range filtering via config retention
Command History
What it tracks:
- Every command executed by players (with configurable exclusions)
- Command name, raw args, timestamp
- Result status (captured via Bukkit's command handling)
Database Table: command_logs
| Column | Type | Description |
|--------|------|-------------|
| id | INT | PK |
| player_uuid | VARCHAR(36) | |
| player_name | VARCHAR(36) | |
| command | VARCHAR(256) | Command without slash |
| args | TEXT | Space-separated arguments |
| result | VARCHAR(32) | SUCCESS, DENIED_PERMISSION, ERROR, CANCELLED, SYNTAX_ERROR |
| timestamp | BIGINT | |
GUI Features:
- List all commands with colored results
- Filter by player
- Command count analytics
Mining Statistics
What it tracks:
- Every block break (configurable)
- Tool used (diamond_pickaxe, netherite_pickaxe, etc.)
- Tool damage value (if available)
- Enchantments (Fortune, Silk Touch, Efficiency – optional JSON)
- World type (NORMAL, NETHER, END)
- Daily aggregation
Database Table: mining_stats
| Column | Type | Description |
|--------|------|-------------|
| id | INT | PK |
| player_uuid | VARCHAR(36) | |
| material | VARCHAR(64) | Block material name |
| count | INT | Quantity mined |
| tool_type | VARCHAR(32) | Tool used |
| tool_damage | INT | Current durability loss |
| enchantments | TEXT | JSON object (optional) |
| world_type | VARCHAR(32) | NORMAL/NETHER/END |
| date | DATE | YYYY-MM-DD |
| last_updated | BIGINT | Timestamp of last increment |
Example Query:
SELECT material, SUM(count) as total
FROM mining_stats
WHERE player_uuid = '...' AND last_updated > ?
GROUP BY material ORDER BY total DESC;
GUI Features:
- Shows material with icon
- Total count for each block type
- Last 24h summary
- Top miners leaderboard for specific ores
Activity Metrics
Tracked Activities:
| Type | Trigger | Details JSON |
|------|---------|--------------|
| BLOCK_BREAK | BlockBreakEvent | {"block":"DIAMOND_ORE"} |
| ENTITY_KILL | EntityDeathEvent (non-PvP) | {"entity":"ZOMBIE"} |
| CHAT | AsyncPlayerChatEvent | – |
| COMMAND | PlayerCommandPreprocessEvent | – |
| DEATH | PlayerDeathEvent | – |
| TELEPORT | PlayerTeleportEvent | {"cause":"NETHER_PORTAL"} |
| PVP_KILL | EntityDeathEvent (player vs player) | {"target":"Steve"} |
| PV_DEATH | PvP death | {"killer":"Alex"} |
| ITEM_PICKUP | PlayerItemPickupEvent | {"item":"DIAMOND","amount":3} |
| ITEM_DROP | PlayerDropItemEvent | {"item":"DIRT","amount":1} |
| CRAFT | InventoryClickEvent (CRAFT action) | {"item":"STONE_PICKAXE"} |
| FISH | PlayerFishEvent (CAUGHT_FISH) | {"caught":"COD"} |
| INTERACT | PlayerInteractEvent (throttled 2s) | – |
| RESPAWN | PlayerRespawnEvent | – |
| LEVEL_CHANGE | PlayerLevelChangeEvent | {"old":5,"new":6} |
Database Table: activity_metrics
| Column | Type | Description |
|--------|------|-------------|
| id | INT | PK |
| player_uuid | VARCHAR(36) | |
| session_id | VARCHAR(36) | UUID of play session |
| activity_type | VARCHAR(32) | ActivityType enum |
| details | TEXT | Optional JSON payload |
| count | INT | Usually 1 per record |
| timestamp | BIGINT | |
GUI Features:
- Timeline view (most recent first)
- Color-coded by activity type
- Expandable details (JSON in lore)
- 24-hour summary with totals per type
🆘 Support
For assistance, bug reports, or feature requests, please join our Discord server.
Discord: https://discord.gg/fxgnEQNAhJ
Our support team will help you with any issues.
🙏 Credits
BitRift.de Staff team – Development & Maintenance
Versions
No version history available. Use the Download button to get the latest from the source.

Comments 0
No comments yet. Be the first to share your thoughts.