
CraftGuard
A lightweight, highly configurable Minecraft plugin for managing restrictions for workstations on a per-world basis.
78
1
[2.2.0] - 2026-04-03
release3 апреля 2026 г.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-blockabilitysection inconfig.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
- Configured via new
- 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.enabledoption to disable all features without removing the plugin- Preserves all configuration and stored data
- No restart required - use
/cg reloadto apply changes
- Extended Translation System:
- Added 6 new languages: French, Portuguese, Italian, Russian, Japanese, Korean
- English variants:
en-us(default) anden-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 smeltingSmithingListener: Handles smithing table recipesBrewingListener: 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
entoen-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
[2.1.0] - 2026-03-21
release21 марта 2026 г.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.ymlfor user convenience.
- Replaced legacy
- Component-Based GUI Architecture: Completely refactored the GUI system using a new
BaseMenuabstract class.- Standardized GUI creation, opening, and click handling (via
MenuListener). - Improved reusability and reduced boilerplate for all menu implementations.
- Standardized GUI creation, opening, and click handling (via
- Multi-Language Expansion: Added out-of-the-box support for 3 new languages:
- 🇨🇳 Chinese (Simplified) (
zh.yml) - 🇳🇱 Dutch (
nl.yml) - 🇪🇸 Spanish (
es.yml)
- 🇨🇳 Chinese (Simplified) (
- 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
- Numeric states:
Changed
- Environment Cleanup: Removed
dotenv-javadependency and hardcoded the FastStats token to eliminate the need for.envfiles. - Menu Layouts: Updated the Chests menu to center items for better visual balance across all resolutions.
Fixed
- Registry Stability: Resolved compilation errors in
RedisDAO.javaand fixed various small-caps styling inconsistencies.
[2.0.0] - 2026-03-09
release11 марта 2026 г.Added
- Registry-based API v2.0: Completely redesigned API architecture for better extensibility.
- Introduced
CraftGuardAPIsingleton for central access. - Implemented
GuardProvidersystem for modular protection logic. - Added dynamic block protection registration via
ProtectionLogic.
- Introduced
- 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
ContainerProviderandContainerListenerfor 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
Providersystem. - 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.
[1.9.1] - 2026-03-08
release9 марта 2026 г.Added
- FastStats Integration: Added support for FastStats for anonymous plugin usage tracking.
- Configurable via
settings.faststatsinconfig.yml. - Requires a valid token in the
.envfile in the server root directory.
- Configurable via
Changed
- Plugin Shutdown: Added proper shutdown logic for FastStats to prevent
IllegalStateExceptionon reload.
[1.9.0] - 2026-03-06
release8 марта 2026 г.Added
- Multi-language Support: Fully translatable messages and GUI strings.
- Introduced
LanguageManagerfor 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.languageinconfig.yml.
- Introduced
- Refined Configuration: All user-facing text moved from
config.ymlto locale files for better organization.
Создатели
Детали
Лицензия:LicenseRef-CraftGuard-License
Опубликован:2 месяца назад
Обновлён:1 неделю назад
