
PokeNotify
Lightweight and fun player interaction plugin — send friendly pokes, alerts, and notifications across your Minecraft server.
- Загрузки
- 121
- Подписчики
- 4
- Обновлён
- 19 октября 2025 г.
- Лицензия
- MIT
Опубликован 15 октября 2025 г.
PokePlugin V3 - Smarter, Faster, Safer Player Interaction
🧩 Supported Platforms
PokePlugin V3 takes Minecraft’s social interaction system to the next level — combining optimized performance, advanced privacy protection, and seamless multi-platform support. This version refines the foundation of V2 by introducing thread-safe scheduling, improved startup handling, enhanced security, and smarter poke validation — all while maintaining its lightweight, fun, and community-driven essence.
Built and maintained by AlanTheDev, PokePlugin V3 ensures reliability across Bukkit, Spigot, Paper, Purpur, and Folia environments.
🚀 New in V3
- Faster Startup Initialization — Database now initializes synchronously on startup for speed and stability (under 1 second).
- Advanced Scheduler System — Fully platform-aware task handling for Bukkit, Paper, and Folia with automatic thread routing.
- Thread-Safe GUI System — All menus open and update safely across multiple server types.
- Enhanced Poke Validation — Privacy checks prevent blocked or disallowed interactions while giving clear feedback to players.
- Improved Command System — Smart tab-completion for
/poke settings,/poke block,/poke unblock, and/poke @a. - Security-Focused Database Handling — Uses prepared statements and UUID validation to prevent SQL injection.
- Better Error Feedback — Informative messages for permission issues, privacy violations, or blocked pokes.
- Optimized Multi-Language Support — Dynamic message handling with full color support and multi-line formatting.
- Cross-Platform Thread Safety — No more thread conflicts or Folia scheduler errors.
🎯 Core Features
- Player Privacy System – Modes:
ALLOW_ALL,DISABLED, andCUSTOMfor personalized control. - Admin Broadcast (
/poke @a) – Send global poke messages for events or announcements. - GUI Settings Menu (
/poke settings) – Modern, interactive interface to manage poke options and blocked players. - Block/Unblock System – Manage player-specific restrictions seamlessly.
- SQLite Database Integration – Async-safe storage for player preferences and blocked lists.
- PlaceholderAPI Support – Dynamic placeholders:
%poke_status%,%poke_privacy%. - Multi-Language System – Easily customize
messages.ymlwith placeholders and color codes. - Enhanced Logging – 50-character aligned startup banner and detailed platform info.
⚙️ Improvements in V3
- Platform-aware schedulers for perfect compatibility with Folia and traditional servers.
- Faster database I/O with async handling and caching.
- Reliable GUI rendering across all platforms.
- Smarter command tab completion for better UX.
- Robust error and permission validation to prevent misuse or thread issues.
- Cleaner startup logs with version, mode, and environment details.
🧠 Why Upgrade to V3?
- ✅ Zero Thread Conflicts — Every operation runs where it should, whether main thread or region thread.
- ✅ Instant Startup — Reduced enable-time from seconds to milliseconds.
- ✅ Smarter Commands & Feedback — Players instantly understand privacy outcomes.
- ✅ Future-Proof Design — Prepared for future Minecraft updates and Folia evolution.
- ✅ Maintained by AlanTheDev — Consistent quality and rapid updates.
🌐 Links
- Source Code & Releases: GitHub Repository
- Issue Tracker: GitHub Issues
- Wiki / Documentation: Coming soon
Ченджлог
3.0Релиз1.21.8, 1.21.9, 1.21.10 · 19 октября 2025 г.
PokePlugin v3 - The Ultimate Player Interaction & Privacy Update
🧩 Platform Support
Release Date: 20 October 2025
Maintained by: AlanTheDev
Public Brand Name: PokeNotify
🚀 Version Overview
PokePlugin v3 is a major technical refinement release focused on performance, thread safety, and reliability.
This version rebuilds the plugin core for faster initialization, platform-accurate scheduling, stronger privacy enforcement, and better cross-platform support — all while remaining lightweight and stable across Folia, Paper, Spigot, Purpur, and Bukkit servers.
🔹 Core System Changes
⚡ Database Initialization
- Converted async initialization to synchronous during plugin startup.
- Prevents server hang and ensures faster boot times (<1 second).
- Auto-disables the plugin if database creation or connection fails.
- Enhanced error reporting and recovery handling.
🧠 Scheduler System
- Implemented Platform-Aware Execution Model:
- Folia: Uses
player.getScheduler().run()(region-safe). - Others: Uses
Bukkit.getScheduler().runTask().
- Folia: Uses
- Database operations remain fully async-safe.
- GUI operations are automatically routed to the correct scheduler.
- Centralized utility ensures uniform task dispatching across all server types.
🔒 Privacy & Interaction Enhancements
✅ Poke Validation Improvements
- Verifies target’s privacy mode before sending a poke.
- Prevents poking blocked players or those who disabled pokes.
- Improved error messages for blocked/disabled targets.
- Admin command
/poke @abypasses all restrictions for announcements.
🧩 Enhanced Command System
- Added context-aware tab completion for:
/poke settings/poke allow/poke disable/poke block <player>/poke unblock <player>
- Autocompletes @a for admins.
- Sorted alphabetically for cleaner UX.
🎨 GUI & Event System
🪟 GUI Click Handling
- GUI interactions now use platform-specific thread handling.
- Fixed async inventory creation causing GUI not to open.
- Improved color code stripping for reliable item title detection.
- Separated logic paths for Folia vs Bukkit-based servers.
- Optional debug logs for developer builds.
🧭 Player GUI Experience
- Smooth transitions between settings and blocked players list.
- Dynamic sizing (auto-resizes up to 54 players).
- Fully thread-safe GUI operations.
🧱 Technical Stability Fixes
🛠 Server Hang on Startup
- Eliminated blocking
.join()calls. - Database operations no longer freeze the main thread.
- Startup initialization time: under 1 second on Folia.
⚙️ Cross-Platform Compatibility
- Fixed Folia scheduler conflicts and Paper async issues.
- Corrected Bukkit main-thread violations.
- Fully tested on 1.20.x – 1.21.4 versions.
💾 Database Thread Safety
- All SQLite calls are fully asynchronous.
- Prevents concurrent modification and threading issues.
- Uses PreparedStatements for SQL injection protection.
- UUID validation and malformed data filtering added.
✨ Message & Localization Updates
- Fixed placeholder replacements (
%poke_status%,%poke_privacy%) across all message contexts. - Corrected color formatting (now supports
&and§codes). - Added multi-line message support for cleaner formatting.
- Hot-reload compatible with
/poke reload.
🔐 Security & Permissions
- Players can now block unwanted pokes with full privacy enforcement.
- Blocked players cannot detect their status (hidden protection).
- Permission validation for all commands:
pokeplugin.settings– Access to player settings GUI (default: true)pokeplugin.admin– Use/poke @a(default: op)
- Database hardened with safe query execution and data filtering.
📊 Performance & Metrics
- Fully integrated bStats (Plugin ID: 27606).
- Tracks installations, Minecraft versions, and platforms.
- Automatically relocates metrics package to
com.alan.pokePlugin.metrics. - Lightweight — adds <5KB overhead to plugin size.
🧩 Configuration Overview
privacy:
default-mode: ALLOW_ALL # Default privacy for new players
database:
type: sqlite
file: data/pokedata.db
placeholders:
enabled: true
gui:
enabled: true
title: "&aPoke Settings"
size: 27
metrics:
enabled: true
debug: false # Enable detailed debug logging
2.0Релиз1.21.8, 1.21.9, 1.21.10 · 16 октября 2025 г.
🧩 Platform Support
PokePlugin v2 Changelog
Release Date: 16 October 2025
Upgrade Highlights: This update focuses on player privacy, admin broadcast features, cross-platform threading improvements, GUI settings, and better analytics integration.
🔹 New Features (V2)
- Player Privacy System: Players can now choose to disable being poked by everyone or specific players.
- Admin Broadcast
/poke @a: Admins can poke all players at once, bypassing individual privacy settings, ideal for announcements. - GUI Settings Menu: Players can manage their poke preferences with a clean in-game interface (
/poke settings). - Block/Unblock System: Allow or block individual players from poking you.
- SQLite Database Integration: Persistent storage for privacy settings, poke logs, and block lists.
- PlaceholderAPI Support: Dynamic placeholders
%poke_status%and%poke_privacy%for messages. - Multi-Language Support: Easily localize messages using
messages.yml. - bStats Integration: Collect usage metrics (Plugin ID: 27606) for analytics.
- Enhanced Startup Logging: Fully aligned 50-character console banner for all platforms (Bukkit, Spigot, Paper, Purpur, Folia).
🔹 Improvements & Optimizations
- Platform-Aware Scheduler: Automatic detection and optimized threading for Folia, Paper, Spigot, Purpur, and Bukkit.
- Async Database Operations: All SQLite reads/writes handled asynchronously for performance.
- GUI Thread Safety: Ensures all GUI interactions run on the correct scheduler depending on platform.
- Improved Event Handling: Strips color codes, adds null checks, and fixes click detection issues.
- Logging Enhancements:
[Folia]or[Bukkit]prefixes for clear debugging.
🔹 Bug Fixes
- Fixed GUI creation issues on Folia and Bukkit.
- Fixed potential crashes due to null player references.
- Fixed color code handling in poke notifications.
- Fixed async callback issues when saving or loading player settings.
PokePlugin V2 — maintained by AlanTheDev, compatible with all major Minecraft server platforms (Bukkit, Spigot, Paper, Purpur, Folia).
1.0.0Релиз1.21.8, 1.21.9, 1.21.10 · 15 октября 2025 г.
🧩 Platform Support
📜 Changelog
PokeNotify — Version 1.0.0
Codename: “The Friendly Jab”
Release Date: 16 October 2025
🚀 Version 1.0.0
Initial Release Highlights
- Added
/poke <player>command for sending poke notifications. - Introduced 3-hour cooldown system to prevent spam.
- Integrated Vault for economy transactions (soft-dependency).
- Added configurable poke cost (default: $50 per poke).
- Implemented chat, sound, and title notifications for poke events.
- Designed config.yml with editable messages and options.
- Added permissions system:
poke.use→ allows poking other players.poke.bypass.cooldown→ ignores cooldown.poke.bypass.cost→ ignores poke cost.
- Cross-platform compatibility:
- Paper, Spigot, Purpur, Bukkit, and Folia (region-thread safe).
- Optimized for lightweight performance (<100KB) and async operations.
🧠 Developer Notes
- Built with Java 17 and Paper 1.21.4 API.
- Uses Vault API (v1.7) for economy hooks.
- Fully compatible with Folia’s concurrency model.
- No external dependencies beyond Vault.
Комментарии
Загружаем…