All versions
🔍 5. Queried Target Display in
1.0.13
Release
wapeB 1.0.133 weeks ago 32
Uploaded by
Compatibility
Minecraft: Java Edition
26.3
26.2
26.1.x
1.21.x
1.20.x
1.19.x
1.18.x
Platforms
Bukkit
Paper
Purpur
Spigot
Changes
Compatible with wapeb-velocity 1.0.1 (or newer).
https://github.com/lftkraft/wapeb-velocity
🚀 What's New in v1.0.13
👻 1. ShadowMute & IP-ShadowMute System
- Stealth Muting: Added full support for
SHADOWMUTE,TEMPSHADOWMUTE,IPSHADOWMUTE, andTEMPIPSHADOWMUTE. Punished players see their own messages as if sent normally, while the rest of the server is shielded from them. - Commands & Aliases: Added
/shadowmute(alias:/smute),/tempshadowmute(alias:/tempsmute),/ipshadowmute, and/tempipshadowmute. - Staff Eavesdropping Alerts: Staff with permission (
wapeb.shadowmute.notifyorwapeb.notify.punishment) receive real-time notifications with the actual message content when a shadowmuted player speaks. - Unified Unmuting: Standard
/unmuteand/unipmuteautomatically detect and remove active shadowmutes without needing separate commands. - Developer API: Added full API methods for shadowmutes (
shadowMutePlayer,unshadowMutePlayer,getActiveShadowMute).
👥 2. Interactive Alt-Account Join Alerts
- Join Detection: Staff can now be alerted when players join with linked alt accounts (
alts.alert-on-join.enabled). - Rich MiniMessage UI: Fully customizable join notification featuring click-to-run (
/alts %player%) and interactive hover tooltips displaying each alt's current status ([BANNED],[MUTED],[ONLINE],[CLEAN]). - Dynamic Placeholders: Added
%total_alts_count%,%banned_alts_count%,%muted_alts_count%,%alts%, and%alts_hover%.
🛡️ 3. Smart IP Punishment Isolation
- Strict Non-IP Punishment Isolation: Fixed database lookups so standard non-IP mutes/bans only match by player UUID. Other accounts on the same IP network are never accidentally penalized.
- Dedicated IP Match Handler: Only punishments explicitly created as IP-based (
IPBAN,IPMUTE,IPSHADOWMUTE, etc.) apply IP matching across shared network addresses.
🔔 4. Accurate Attempt Notifications for IP Punishments
- Real Attempting Player Display: When an alt account on a punished IP attempts to log in (
ban-attempt) or chat (mute-attempt/shadowmute-attempt), notifications now display the actual attempting player's name (%player%) instead of the originally punished record. - Independent Cooldowns: Alert cooldown timers now track by the connecting player's unique UUID.
🔍 5. Queried Target Display in /checkmute & /checkban
- Accurate Lookup Headers: Headers and details for
/checkmute <player>and/checkban <player>now properly display the searched player's name in%player%and%target%. - Alt Detection Notice: Added
%alt_notice%and%punished_player%placeholders to clearly indicate when a punishment originates from an alt/IP link.
⚡ 6. Hot-Reload Safe Dynamic Commands
- Command Handler Fix: Dynamically registered commands and aliases (such as
/smute) now cleanly re-bind to the active plugin instance without throwing disabled-pluginCommandExceptionerrors after reloads.
🔄 7. Multi-API Key Pool & Round-Robin Rotation (Sentinel AI)
- Multiple Key Support: Added
groq-api-keyslist support inconfig.yml. Chat analysis requests are now automatically distributed across multiple Groq API keys in a round-robin rotation to scale requests per minute (RPM). - Instant 429 Failover: If a key hits a rate limit (
429 Too Many Requests), the system automatically switches to the next available API key in the pool with zero delay.
⚡ 8. Intelligent Local Heuristic Pre-Filtering (Sentinel AI)
- Quota-Saving Pre-Filter: Added
sentinel.ai.pre-filterto skip trivial, harmless chatter locally with 0 ms overhead (saving 50–70% of API quotas). - Automatic Pattern Filtering: Automatically ignores short chatter (< 3 characters like
k,xd,?), coordinates/numbers (100 64 -200,500k), punctuation/emojis (???,:),:D,^^), and common harmless gaming terms (gg,wp,ez,szia,oks,ty, etc.).
🛡️ 9. Prompt Injection & Jailbreak Protection (Sentinel AI)
- Hardened System Prompt: Injected security rules ensure the AI treats player-crafted bypass instructions (e.g. "ignore previous instructions", "do not mute", custom JSON overrides) strictly as plain text, preventing LLM manipulation.
🧠 10. Context-Aware Chat History Analysis (Sentinel AI)
- Chat Context Integration: Added
sentinel.ai.context-lines(default: 5) to supply recent conversation history fromChatSnapshotManager. The AI can now evaluate multi-line arguments and contextual toxicity accurately. - Optimized Default Model: Switched default to
llama-3.1-8b-instantfor ultra-low latency and generous free-tier daily rate limits (14,400 RPD).
📦 11. Extensible Importer System & In-Game Command
- One-Click Automated Importers: Seamlessly migrate existing punishment data into wapeB from popular plugins with full history and active punishment state preservation:
- LiteBans: Imports bans, mutes, warnings, and kicks from SQLite (
litebans.sqlite) or external MySQL/MariaDB databases. - AdvancedBan: Imports punishments and calculation records from SQLite (
AdvancedBan.db/saved.db) or MySQL. - Vanilla Minecraft JSON: Automatically converts native
banned-players.jsonandbanned-ips.jsonwith duration and expiry calculation.
- LiteBans: Imports bans, mutes, warnings, and kicks from SQLite (
- Smart Database Auto-Detection: Running
/wapeb import litebansor/wapeb import advancedbanautomatically inspects source configuration files and connects directly to MySQL/MariaDB with zero manual connection strings required. - In-Game Command & API: Added
/wapeb import <source>with live progress reporting, extensible Java API (WapeBAPI#registerImporter), and REST API endpoints (/api/import/sources,/api/import/execute).
👥 12. AltExempt Extended Audit System & REST API
- Full Audit Tracking: Alt exemption records now persist audit metadata, tracking who granted the exemption (
exemptBy) and the exact timestamp (exemptDate). - Java API Integration: Added
WapeBAPI#getAllAltExempts(),WapeBAPI#getAltExemptDetails(UUID/player), andWapeBAPI#setAltExempt(...)returning completeAltExemptInfoaudit objects. - Remote REST API Management:
GET /api/altexempt/list– Query all currently alt-exempted accounts with timestamps and issuers.GET /api/altexempt/check?player=<name>– Instant check if a target is alt-exempt.POST /api/altexempt/set– Add or revoke alt exemptions programmatically from external web dashboards and Discord bots.
⚡ 13. Quick-Punish Templates & Shortcut System
- Command Shortcuts: Staff can now punish players using fast numeric and custom shortcut codes (e.g.
/ban Player #1,/mute Player #spam,/warn Player #toxicity). - Silent Flag Inheritance: Templates configured with
silent: trueintemplates.ymlautomatically execute in silent mode without requiring staff to manually append-s. - Runtime Template Management API: Programmatically manage templates via
WapeBAPI#saveTemplate(...),WapeBAPI#deleteTemplate(...), andWapeBAPI#findTemplate(...). - REST API Endpoints: Added
GET /api/templates/list,GET /api/templates/get,POST /api/templates/save, andPOST /api/templates/delete.
📸 14. Automatic Chat Snapshot System
- In-Memory Rolling Buffer: Automatically tracks the last 300 chat messages globally with nanosecond precision and player context.
- Incident Snapshot Creation: Automatically captures and persists relevant chat history upon punishment execution into formatted, human-readable JSON files (
plugins/wapeB/snapshots/<id>.json). - Human-Readable Formatting: Snapshots now include formatted dates (
created_date), per-message timestamps (time,date), and a directchat_logstring array for effortless staff inspection. - Flexible Retention Policy: Added hour and day retention cleanup (
retention: "1h","12h","7d","30d"), running asynchronously every 15 minutes with zero server tick impact. - Offline Delivery Queue: Backend servers safely queue snapshots in
pending_snapshots/and automatically flush them to Velocity upon player join.
🔗 15. Comprehensive Proof (Evidence) System
- New
/proofCommand: Added/proof <set|remove|reset|check> <id> [url]with full tab-completion. - Punishment Command Flag: All punishment commands accept
-proof:<url>directly (e.g.,/mute Player 1h Toxicity -proof:https://imgur.com/...). - Clean Clickable Links: Proof URLs in chat (
/checkban,/checkmute,/proof check) are cleanly clickable with browser opening support. - Full Ecosystem Integration: Proof links seamlessly display across GUI menus, Discord Webhooks, Java API, and the REST Web API (
/api/punish/proof).
🔄 16. Automatic Config & Language File Synchronization (Auto-Sync)
- Seamless Upgrades: Updating the plugin jar now automatically scans and merges all newly introduced configuration sections and message keys into existing files on disk.
- Preserves Custom Settings: Existing customized messages, prefixes, and database credentials remain 100% untouched.
- Missing Key Fallback: Safe fallback to default language strings prevents any missing message errors.
- Complete Localization Refresh: Updated all 11 built-in language files (
hu,en,de,fr,es,pt,ru,ro,da,sv,custom) with clean UTF-8 encoding.
🌐 17. Multi-Server Scoping & Velocity Proxy Support
- Multi-Server Scoping (
activeservervsserver):activeserver: Target scope where the punishment takes effect (global,survival, orserver1,server2).server: Origin server where the punishment command was executed.- Automatic MySQL & SQLite schema migration.
- Official Velocity Companion Plugin (
wapeb-velocity): Instant cross-server packet synchronization with zero database polling delay and proxy-level disconnects. - Broadcast Scoping: Added
broadcast.show-remote-punishmentsconfiguration. - Developer Java & REST API Overhaul: Full support for
activeServerandserveracross API methods and/api/punish/execute.
📜 18. Thread Safety & History Enhancements
- Async Event & Threading Safety:
PlayerPunishEvent,PlayerUnpunishEvent,PlayerFreezeEvent,PlayerUnfreezeEvent, andLockdownToggleEventdynamically detect calling thread context, resolvingIllegalStateExceptionon Paper/Purpur. - Smart History Sorting & Pagination: Guaranteed newest-first order (#17, #16 on Page 1) with dynamic page tracking (
(%page%/%max_page%)) and%total%placeholders.
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:NrSjC9qg:YdRE0iM6"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:NrSjC9qg:YdRE0iM6"
}

