CraftGuardСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачать
ВЕРСИИ (18)
release
[2.2.0] - 2026-04-03
2.2.03 апр. 2026 г.71Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11paper, purpur
Что нового
### Added
- **Item Blockability**: New feature allowing server owners to disable specific items from being crafted, smelted, blasted, smoked, stonecut, smithed, or brewed.
- Configured via new `item-blockability` section in `config.yml`
- Supports: CRAFTING, FURNACE, BLAST_FURNACE, SMOKER, SMITHING, STONECUTTER, BREWING, CAMPFIRE
- Individual item blocking while keeping workstation enabled
- Automatic handling of invalid/missing materials with warnings
- **DataSerializer Utility**: New unified serialization system for YAML/JSON conversion
- Automatic format detection
- Shared schema handling across formats
- GZIP compression support for exports
- **Plugin Enable Toggle**: Master `settings.enabled` option to disable all features without removing the plugin
- Preserves all configuration and stored data
- No restart required - use `/cg reload` to apply changes
- **Extended Translation System**:
- Added 6 new languages: French, Portuguese, Italian, Russian, Japanese, Korean
- English variants: `en-us` (default) and `en-uk`
- Support for custom locale files in `locales/` folder
- Automatic fallback to English for missing translation keys
- Reload support for runtime language changes
- **New Event Listeners**:
- `FurnaceListener`: Handles furnace, blast furnace, smoker, and campfire smelting
- `SmithingListener`: Handles smithing table recipes
- `BrewingListener`: Handles brewing stand operations
- **GitHub Actions CI/CD**: Automated build, test, and release workflows
### Changed
- Project version updated to 2.2.0
- Config version bumped to 6
- Default language changed from `en` to `en-us`
- PostgreSQL driver updated to 42.7.10 (security fix)
- Jackson libraries added with proper shading relocations
- README completely rewritten with modern styling
- License updated with attribution requirements (Custom license with attribution required for derivative works)
### Fixed
- MiniMessage tag closing order in locale files
- Duplicate instance assignment in CraftGuard constructor
- Duplicate MessageUtil initialization comment
- Hardcoded FastStats token moved to config (`advanced.metrics-token`)
- Removed duplicate language in LanguageManager defaults
- Fixed test for reload command to mock static CraftGuard instance
release
[2.1.0] - 2026-03-21
2.1.021 мар. 2026 г.23Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11paper, purpur
Что нового
### Added
- **Modernized Text Engine**: Transitioned all plugin text and color codes to the **MiniMessage** format.
- Replaced legacy `§` and `&` codes with rich tags (e.g., `<red>`, `<bold>`, `<gradient>`).
- Added a MiniMessage converter link to `config.yml` for user convenience.
- **Component-Based GUI Architecture**: Completely refactored the GUI system using a new `BaseMenu` abstract class.
- Standardized GUI creation, opening, and click handling (via `MenuListener`).
- Improved reusability and reduced boilerplate for all menu implementations.
- **Multi-Language Expansion**: Added out-of-the-box support for 3 new languages:
- 🇨🇳 **Chinese (Simplified)** (`zh.yml`)
- 🇳🇱 **Dutch** (`nl.yml`)
- 🇪🇸 **Spanish** (`es.yml`)
- **Interactive Help System**: Added a dedicated **Help Button** to the main GUI that opens a detailed help menu.
- **Enhanced Container Support**: Added **Shulker Box** support to the storage containers menu with a centered 5-item layout.
- **Advanced PlaceholderAPI placeholders**: New detailed placeholders for restriction states and counters.
- **Numeric states**: `%craftguard_world_state_numeric%` and `%craftguard_world_state_numeric_<type>%` returns 1/0
- **Raw boolean states**: `%craftguard_world_state_raw%` and `%craftguard_world_state_raw_<type>%` returns true/false
- **Lockdown placeholders**: `%craftguard_lockdown%`, `%craftguard_lockdown_numeric%`, `%craftguard_lockdown_raw%`
- **Global stats**: `%craftguard_stats_global_total%` returns total blocked interactions
- **Type stats**: `%craftguard_stats_type_<type>_total%` returns blocks per type
- **World stats**: `%craftguard_stats_world_<worldname>_total%` returns blocks per world
- **Type-World stats**: `%craftguard_stats_type_<type>_world_<worldname>_count%` returns blocks per type and world
- **Player stats**: `%craftguard_stats_player_<type>_count%` returns blocks per player for a type
- **Player-World stats**: `%craftguard_stats_player_world_<type>_count%` returns blocks in player's current world for a type
- **Feature counts**: `%craftguard_enabled_features_count%` and `%craftguard_disabled_features_count%` for current world
### Changed
- **Environment Cleanup**: Removed `dotenv-java` dependency and hardcoded the **FastStats** token to eliminate the need for `.env` files.
- **Menu Layouts**: Updated the Chests menu to center items for better visual balance across all resolutions.
### Fixed
- **Registry Stability**: Resolved compilation errors in `RedisDAO.java` and fixed various small-caps styling inconsistencies.
release
[2.0.0] - 2026-03-09
2.0.011 мар. 2026 г.23Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11paper, purpur
Что нового
### Added
- **Registry-based API v2.0**: Completely redesigned API architecture for better extensibility.
- Introduced `CraftGuardAPI` singleton for central access.
- Implemented `GuardProvider` system for modular protection logic.
- Added dynamic block protection registration via `ProtectionLogic`.
- **Granular Container Protection**: New module to individually manage protection for different container types.
- Specific toggles for: Chests, Trapped Chests, Ender Chests, and Copper Chests.
- Added `ContainerProvider` and `ContainerListener` for efficient interaction handling.
- **Enhanced Management GUI**: Expanded the interactive interface to support new features.
- New **Chests** category and sub-menu for granular control.
- Premium small-caps styling and status indicators extended to all new elements.
### Changed
- **Internal Architecture**: Migrated all hardcoded workstation and portal logic to the new `Provider` system.
- **Localization**: Updated default English and German locales with specific strings for all new container types.
- **Improved Performance**: Unified interaction checking through the API, reducing redundant logic in listeners.
release
[1.9.1] - 2026-03-08
1.9.19 мар. 2026 г.19Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11paper, purpur
Что нового
### Added
- **FastStats Integration**: Added support for [FastStats](https://faststats.dev/) for anonymous plugin usage tracking.
- Configurable via `settings.faststats` in `config.yml`.
- Requires a valid token in the `.env` file in the server root directory.
### Changed
- **Plugin Shutdown**: Added proper shutdown logic for FastStats to prevent `IllegalStateException` on reload.
release
[1.9.0] - 2026-03-06
1.9.08 мар. 2026 г.11Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11paper, purpur
Что нового
### Added
- **Multi-language Support**: Fully translatable messages and GUI strings.
- Introduced `LanguageManager` for handling internal and external locale files.
- Added `locales/` directory for secondary translation files.
- Shipped with default English (`en.yml`) and German (`de.yml`) translations.
- Configurable language via `settings.language` in `config.yml`.
- **Refined Configuration**: All user-facing text moved from `config.yml` to locale files for better organization.
release
[1.8.0] - 2026-03-04
1.8.06 мар. 2026 г.12Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11paper, purpur
Что нового
### Added
- **Emergency Lockdown**: High-priority world protection system.
- Blocks block break/place, PvP/PvE, and all command usage.
- Broadcasts activation/deactivation messages to all players in the world.
- Supports `craftguard.admin.lockdown` and `craftguard.lockdown.bypass` permissions.
release
[1.7.0] - 2026-03-02
1.7.04 мар. 2026 г.19Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11paper, purpur
Что нового
### Added
- **Recipe blacklist system**: Block specific recipes instead of disabling crafting entirely.
- **Custom Deny Effects**: Massive new system for visual and auditory feedback.
- **Sounds**: Play vanilla sounds when a feature is blocked.
- **Titles**: Show big on-screen titles and subtitles.
- **Action Bar**: Display discrete messages above the hotbar.
- **Particles**: Spawn particles at the player's location.
- All effects support MiniMessage, legacy colors, and PlaceholderAPI.
### Changed
- Internal optimization: Replaced manual notification logic with `EffectUtil`.
- Upgraded configuration synchronization to version 5.
release
[1.6.0] - 2026-03-02
1.6.02 мар. 2026 г.18Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11paper, purpur
Что нового
## [1.6.0] - 2026-03-02
### Added
- **Flexible Database Abstraction Layer**: Support for multiple storage backends using the DAO pattern.
- **H2** (Local SQL file), **MySQL**, **MariaDB**, **PostgreSQL**, and **MongoDB**.
- Configurable via the new `storage` section in `config.yml`.
- Automatic fallback to YAML if database connection fails.
- **Improved Update Checker**: Detects and notifies when running a development or snapshot version.
- **Database Export System**: `/cg export` command to dump current data into a compressed `.json.gz` format.
- **Database Import System**: `/cg import <file>` command to restore data from a compressed format.
- **Automatic Config Synchronization**: Existing `config.yml` files are now automatically updated with new keys on plugin startup.
release
[1.5.0] - 2026-02-21
1.5.121 февр. 2026 г.14Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11paper, purpur
Что нового
### Added
- All GUI display names, text, status indicators, labels, and category lores are now completely configurable in `config.yml` under the `gui` section.
- Added `config-version: 3` representing the GUI rewrite.
### Changed
- All player-facing messages in `config.yml` now default to small caps styled text for a more premium aesthetic.
- Restricted `/cg help` and `/cg` base command entirely to admins (required: `craftguard.admin` permission).
release
[1.5.0] - 2026-02-21
1.5.021 февр. 2026 г.13Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11paper, purpur
Что нового
### Added
- **Modrinth Update Notifier**: Automatic version checking with admin join notifications.
- Configurable via `updates.check-for-updates` and `updates.auto-download` in `config.yml`.
- Auto-downloads new JAR to `plugins/update/` when 2+ minor versions behind.
- Clickable download link in chat for manual updates.
- **Premium GUI redesign**: Two-row layout with workstation icons and status indicators (Lime/Red Concrete).
- MiniMessage small-caps styling for all GUI text.
- Slot-based click detection; clicking icon or indicator toggles the feature.
- Dark theme using `BLACK_STAINED_GLASS_PANE` background.
- Added `config-version` field to `config.yml` for future migration support.
- Added `/cg` (no args) entry and Features section to `/cg help`.
### Fixed
- Fixed `NullPointerException` in all listeners when WorldGuard is not installed.
### Changed
- Refactored package from `me.devflare` to `de.devflare`.
- WorldGuard is now an optional soft dependency in `plugin.yml`.
- Updated README with new features and corrected documentation.
- Upgraded project version to 1.5.0.
release
[1.4.0] - 2026-02-13
1.4.021 февр. 2026 г.14Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11paper, purpur
Что нового
### Added
- **Interactive GUI system**: New chest-based interface for managing features.
- Accessible via `/cg` (without arguments).
- Categorized into **Workstations** (Crafting, Anvil, Furnace, etc.) and **Portals** (Nether, End).
- Visual indicators: Green Wool for enabled, Red Wool for disabled.
- Automatic pagination and centered item layouts.
- Added a "Back to Main Menu" navigation option in all sub-GUIs.
### Changed
- Command `/cg` now opens the GUI for players; `/cg help` remains chat-based.
- Upgraded project version to 1.4.0.
- Refactored `CraftGuardCommand` to integrate with the new `GUIManager`.
release
[1.3.0] - 2026-02-10
1.3.011 февр. 2026 г.17Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11paper, purpur
Что нового
### Added
- **Container Control**: New module to restrict access to chests, shulker boxes, and other containers.
- **WorldGuard Integration**: Support for region-based bypasses using the custom flag `cg-interaction-bypass`.
- **Async Audit Logging**: High-performance logging system to track blocked interactions in `audit_log.txt`.
- Added `craftguard.bypass.containers` permission.
### Changed
- Upgraded project version to 1.3.0.
- Refactored internal listener logic for better extensibility.
release
[1.2.2] - 2026-02-09
1.2.29 февр. 2026 г.15Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11paper, purpur
Что нового
### Added
- **Smarter Placeholder Parsing**: Improved world name detection in PAPI placeholders to correctly handle world names containing underscores (e.g., `world_nether`, `my_custom_world`).
- **Standardized Defaults**: Updated `worlds.yml` template to ensure features like `anvil` default to `true`, preventing accidental global blocks after installation.
### Changed
- **Thread-Safe Architecture**: Refactored `ConfigManager` to use `ConcurrentHashMap` for all internal world states, ensuring reliable performance in multi-threaded environments.
- **Tab-Completion Logic**: Refined tab completion to prevent irrelevant feature suggestions when using subcommands like `help` or `reload`.
- **Feature Consistency**: Standardized `crafting-table` and `crafting` under a unified `crafting` feature key across filters, listeners, and config.
### Fixed
- **Dead Code Cleanup**: Removed unused fields and redundant special-case checks in command validation to improve maintainability.
- **Improved Disposal**: Enhanced resource cleanup during plugin disable to eliminate potential memory leaks from stale references.
release
[1.2.1] - 2026-02-09
1.2.19 февр. 2026 г.19Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11paper, purpur
Что нового
### Added
- **Enhanced Placeholder Support**: Now supports both `{placeholder}` and `<placeholder>` formats in custom messages for greater flexibility.
- **Maintenance**: Removed unused `skills` folder from the repository for cleaner organization.
### Changed
- **Help Command Accessibility**: `/cg` and `/cg help` can now be used by all players, regardless of their permissions.
- **Unified Feature Naming**: Consolidated `crafting-table` and `crafting` under the single `crafting` feature key for consistency.
### Fixed
- **Message Placeholder Bug**: Resolved an issue where `{world}` and `{type}` placeholders were not being replaced correctly in "feature-blocked" messages.
- **Resource Optimization**: Ensured explicit cache clearing and resource disposal occur during plugin disable or reload to prevent potential memory leaks.
release
[1.2.0] - 2026-02-09
1.2.09 февр. 2026 г.11Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11paper, purpur
Что нового
### Added
- **Granular Feature Control**: Every workstation and portal now has its own toggle.
- Supported types: `crafting`, `nether-portal`, `end-portal`, `anvil`, `furnace`, `blast-furnace`, `smoker`, `enchanting`, `brewing`, `smithing`, `loom`, `cartography`, `grindstone`, `stonecutter`.
- **New Command Syntax**: Updated `/cg <world> <type> <on|off|toggle>` for better clarity and control.
- **Split Portal Control**: Nether and End portals can now be toggled independently.
- **New Listeners**: Implemented `PortalListener` and `WorkstationListener` for broad feature blocking.
- **Granular Bypass Permissions**: Fixed permissions to `craftguard.bypass.<type>` or `craftguard.bypass.*`.
- **Granular Placeholders**: Added new PAPI placeholders for all feature types.
- `%craftguard_world_state_<type>%`
- `%craftguard_world_<worldname>_<type>%`
### Changed
- **Hardcoded Permissions**: Permissions are now hardcoded and removed from `config.yml` for consistency.
- **Redesigned Help Menu**: cleaner layout and better readability.
- **World State Migration**: automatically migrates existing `worlds.yml` to the new granular format.
### Fixed
- Improved command validation and error messaging.
release
[1.1.1] - 2026-02-07
1.1.17 февр. 2026 г.15Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11paper, purpur
Что нового
## [1.1.1] - 2026-02-07
### Fixed
- **Crafting Bypass Bug**: Changed default `craftguard.bypass` permission from `op` to `false`.
- Fixes issue where server operators could not test crafting restrictions.
- Operators now need to explicitly grant themselves the bypass permission.
---
## [1.1.0] - 2026-02-07
### Added
- **Reload Command**: Added `/cg reload` to reload configuration without restarting the server.
- Requires `craftguard.admin` permission.
- Reloads `config.yml` and `worlds.yml` instantly.
**Full Changelog**: https://github.com/itzzjustmateo/CraftGuard/compare/BETA-1.0.1...RELEASE-1.1.1
beta
[1.0.2] - 2026-02-01
1.0.2-SNAPSHOT1 февр. 2026 г.28Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11paper, purpur
Что нового
### Fixed
- **Critical Lifecycle Issues**: Fixed memory leaks and stale references during plugin reloads
- Static instance now properly nullified on disable
- Explicit event listener unregistration to prevent duplicate events
- Added null-safe checks in `onDisable` to prevent crashes
- **State Persistence Improvements**:
- Changed `worldStatesCache` to `ConcurrentHashMap` for thread safety
- Fixed PlaceholderAPI stale references by changing `persist()` to `false`
- Re-checks PAPI availability on every reload/enable
- **Code Quality**:
- Removed unused imports and fields
- Updated versioning for consistency
beta
[1.0.1] - 2026-02-01
1.0.1-SNAPSHOT1 февр. 2026 г.24Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11paper, purpur
Что нового
### Added
- **Help Command System**: Added `/cg` and `/cg help` commands that display plugin information
- Shows plugin version dynamically
- Lists all available commands
- Displays configured permission nodes
- Fully customizable help messages in config.yml as a list format
- Includes "help" in tab completion suggestions
### Changed
- **Help Messages Format**: Restructured help section in config.yml from individual keys to a cleaner list format
- Before: `help-header`, `help-description`, etc.
- After: Single `help:` list with all lines
- Easier to customize and maintain
- Supports empty lines with `""`
- **Message Prefix Configuration**: Changed error message reference from `paper-plugin.yml` to `plugin.yml`
- Updated version from `1.0.0-SNAPSHOT` to `1.0.1-SNAPSHOT`
### Fixed
- Improved consistency in configuration file documentation