ZonelySpellChecker
Fast and full Turkish spell checking for Minecraft chat
Version 1.0.0 • Minecraft 1.8.8+ • Author: WhiteEffect
www.zonely.gen.tr
Source code and releases
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
About
ZonelySpellChecker corrects Turkish Minecraft chat messages through the Zonely spelling API before the normal Bukkit chat pipeline continues.
Checking is disabled per player by default. Players choose whether to enable it and can switch between Fast and Full modes. Preferences are saved by UUID and survive server restarts.
Features
- Per-player opt-in — no player is checked until they enable it
- Fast mode — spelling, Turkish characters, punctuation and capitalization
- Full mode — includes API-side grammar checking
- Persistent UUID preferences
- Chat-plugin friendly — only the event message is changed
- Fail-open behavior — API failures never block chat
- Configurable timeouts, quotas and per-player cooldowns
- TTL correction cache for repeated messages
- Circuit breaker for temporary API outages
- Protected-token checks for URLs, emails, IPs, placeholders and color codes
- Bounded request, response and corrected-message sizes
- Rate-limited error logging without chat contents
- No NMS, no version-specific internals and no required plugin dependency
- One universal Java 8 bytecode JAR
Commands
- /spellchecker — display your current status
- /spellchecker on — enable checking with your last selected mode
- /spellchecker on fast — enable Fast mode
- /spellchecker on full — enable Full mode
- /spellchecker off — disable checking
- /spellchecker fast — select Fast mode and enable checking
- /spellchecker full — select Full mode and enable checking
- /spellchecker mode <fast|full> — change the active mode
- /spellchecker status — display personal status
- /spellchecker help — display command help
- /spellchecker reload — reload config.yml and the API client
Aliases: /spellcheck, /imla
Permissions
- zonelyspellchecker.use — personal spell-checking commands; default: everyone
- zonelyspellchecker.reload — configuration reload; default: operators
Chat Plugin Compatibility
ZonelySpellChecker listens to AsyncPlayerChatEvent at LOWEST priority and ignores already-cancelled events. A successful correction only calls event.setMessage(...).
It does not:
- cancel or fire the chat event again
- broadcast messages manually
- change chat formatting
- change the recipient list
- reopen chat cancelled by another plugin
Formatting, channel, moderation and permission plugins using the standard Bukkit chat pipeline can therefore process the corrected message normally.
A plugin that completely replaces Bukkit chat with its own packets or proprietary event pipeline may bypass spell checking. ZonelySpellChecker safely steps aside in that case and does not interfere.
Compatibility and Requirements
- Compatibility target: Minecraft 1.8.8 and newer
- Built against Spigot API 1.8.8 for broad binary compatibility
- Uses the legacy Bukkit chat API without NMS or version-specific internals
- Spigot/Bukkit and compatible forks retaining the standard Bukkit chat event
- Java 8 bytecode; use the Java runtime required by your server version
- Internet access to the Zonely spelling service
- No PlaceholderAPI or other plugin dependency required
Modern signed-chat note: Server-side correction changes the original player text. Modern clients may therefore display a corrected message as modified or unsigned; the original signature cannot remain valid after its text changes.
Installation
- Download ZonelySpellChecker-1.0.0.jar.
- Place it in your server's plugins folder.
- Restart the server.
- Review plugins/ZonelySpellChecker/config.yml.
- Use /spellchecker on, /spellchecker fast or /spellchecker full.
Player preferences are stored in:
Code (Text):
plugins/ZonelySpellChecker/data.yml
- Fast: 12 API requests per minute
- Full: 3 API requests per minute
- Concurrent requests: 2
- Fast player cooldown: 5 seconds
- Full player cooldown: 20 seconds
- Cache: 512 entries for 5 minutes
- Circuit breaker: 60 seconds after 3 consecutive failures
Reliability limits, API timeouts and message sizes can be changed in config.yml.
Privacy and Security
When a player enables spell checking, their selected chat messages are sent as UTF-8 JSON over HTTPS to the Zonely spelling service.
- The plugin does not log chat message contents
- No API key or secret is embedded in the JAR
- Requests and responses have strict time and size limits
- URLs, emails, IPs, placeholders, color codes and formatting tags are validated
- A correction is rejected if protected content changes
- On any failure, the original message continues normally
Server owners should inform players about the external service and review its privacy policy.
Build Verification
- Version: 1.0.0
- Author: WhiteEffect
- Website: www.zonely.gen.tr
- Build target: Java 8 bytecode / Spigot API 1.8.8
- Automated tests: 11 passed, 0 failed
- SHA-256: A119E36C4D4C5736E02CA723850FF1AFEE7DA92FF1C984BC757F4DD33237F691
Support
Use the resource discussion page or visit:
When reporting a problem, include the server software/version, Java version, plugin version, sanitized configuration and relevant console error. Never include private chat messages or API credentials.
Cleaner Turkish chat, without taking control of your chat system.
Quick facts
- Edition: Minecraft Java
- File type: .jar
- Minecraft versions listed: 1.8, 1.9, 1.10
- How to install: Install the matching mod loader (Forge, Fabric or NeoForge) for your Minecraft version. → Download the .jar. → Put it in the .minecraft/mods folder and launch that loader profile.
- Where to get it: Opens on Spigot — not every file is mirrored on our own servers.
Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.
ZonelySpellChecker | Turkish Chat Correction is a free Minecraft Java mod. Compatible with Minecraft 1.8, 1.9, 1.10, 1.11 and newer. Downloaded 10 times (via Spigot). Download it and open it directly in the game.