▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄ bFreeze Version 5.0 - The Definitive Edition For Minecraft 1.16.5 - 1.21+ ▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀
Are you looking for a freeze plugin that feels professional, modern, and gives you
absolute control? Tired of clunky, outdated tools with client-side glitches and potential server lag?
bFreeze is the ultimate solution. After extensive development and community feedback, this version has been meticulously engineered to provide a seamless, powerful, and deeply customizable experience for server administrators who demand excellence and stability.
From its lag-free asynchronous architecture to its fully translatable messages, bFreeze transforms a routine administrative task into a polished, professional interaction.
•─✦─• ═══Why Choose bFreeze?═══ ⚖️ Flexible Dual Storage You are in control of your data. Choose between a powerful MySQL database for perfect data synchronization across your entire server network, or opt for simple, zero-setup local YAML files for single-server setups. • • • ⚡ The "Smart Timer" System Say goodbye to client-side bugs. The entire timing system has been rewritten. Timers intelligently pause when a player logs out and resume exactly where they left off upon rejoining. This eliminates all bugs related to being unfrozen while offline. • • • ⚙️ Total Customization Every message, GUI element, sound, and effect is configurable. Create a unique experience with separate, dynamic GUIs for permanent and temporary freezes to provide maximum clarity to your players. • • • ✅ Advanced Admin Toolkit Your staff's toolkit is now complete with commands for temporary freezing, adding reasons to all actions, and a full player history log (`/freezehistory`) for ultimate accountability. •─✦─• ═══Feature Showcase═══
▌ Dynamic & Informative Dual GUIs
Provide ultimate clarity to your players. bFreeze now supports two distinct, fully customizable GUI menus—one for permanent freezes and one for temporary freezes. Both feature a
real-time countdown timer and display the
reason for the freeze, ensuring there is no confusion and reducing staff workload.
▌ A Complete Administrative Command Suite
Manage any situation with precision:
/freeze <player> [reason] - For critical situations requiring staff intervention.
/tempfreeze <player> <duration> [reason] - Perfect for minor infractions or holding a player (e.g., `/tempfreeze Notch 10m`).
/unfreeze <player> [reason] - Unfreeze any player, online or offline, with the reason logged for accountability.
/freezehistory <player> - Instantly view a player's full freeze/unfreeze history.
▌ Performance and Reliability First
bFreeze is built for professional servers. All database and file operations are handled
asynchronously to guarantee zero server lag. We use the industry-leading HikariCP connection pool for the fastest, most stable database connections possible.
Place the jar file into your server's `/plugins` directory.
Restart your server once to generate the default `config.yml`.
Stop the server and edit the `config.yml` to your liking.
Start the server again. All set!
Code (Text):
(yaml)
# ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
# ┃ ┃
# ┃ bFreeze v5.0 - The Definitive Freeze Management System ┃
# ┃ Supports Dual GUIs, Smart Timers, and File/DB Storage. ┃
# ┃ ┃
# ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
#==============================================================================
# DATA STORAGE SETTINGS
#==============================================================================
# --- Database / File Storage Switch ---
# Set 'enabled' to true to use MySQL. This enables full /freezehistory functionality.
# Set to false to use simple, local YAML files (history command will be disabled).
database:
enabled: false
host: "localhost"
port: 3306
database: "minecraft"
username: "root"
password: "password"
table_prefix: "bfreeze_"
#==============================================================================
# CORE FREEZE MECHANICS
#==============================================================================
freeze:
# If true, players will remain frozen even after they log out and back in.
permanent: true
# If true, the GUI menu will be forced open on the player's screen.
force_gui: true
# If true, the player will be completely immobilized.
prevent_movement: true
# If true, a frozen player will be automatically unfrozen when they are kicked from the server.
unfreeze-on-kick: false
#==============================================================================
# GUI MENUS (Permanent vs. Temporary)
#==============================================================================
# --- GUI for permanent /freeze ---
permanent_freeze_gui:
title: "&4&l⛔ You are Permanently Frozen! ⛔"
size: 27 # Must be a multiple of 9.
prevent_close: true
prevent_item_take: true
# Placeholders: %reason%, %time_left%
slots:
10:
item:
type: "ICE"
display_name: "&bYou are Frozen!"
lore:
- "&7Please wait for a staff member."
- "&7Do not log out."
13:
item:
type: "NAME_TAG"
display_name: "&6Reason:"
lore:
- "&e%reason%"
16:
item:
type: "CLOCK"
display_name: "&eAuto-unfreeze in &f%time_left%"
lore:
- "&7(Server-wide safety net)"
# --- GUI for temporary /tempfreeze ---
temporary_freeze_gui:
title: "&c&l⛔ Temporarily Frozen ⛔"
size: 27
prevent_close: true
prevent_item_take: true
# Placeholders: %reason%, %time_left%
slots:
10:
item:
type: "BLUE_ICE"
display_name: "&3You are Temporarily Frozen"
lore:
- "&7Please wait until the timer expires."
13:
item:
type: "NAME_TAG"
display_name: "&6Reason:"
lore:
- "&e%reason%"
16:
item:
type: "CLOCK"
display_name: "&cTime remaining: &f%time_left%"
lore:
- "&7You will be unfrozen automatically."
#==============================================================================
# OTHER SETTINGS & RESTRICTIONS
#==============================================================================
effects:
apply_blindness: true
enable_particles: true
particle_type: "SNOWFLAKE"
sounds:
freeze: ENTITY_ILLUSIONER_CAST_SPELL
unfreeze: ENTITY_PLAYER_LEVELUP
restrictions:
prevent_interactions: true
prevent_commands: true
allowed_commands: ["msg", "tell", "w", "r"]
prevent_damage: true
auto_unfreeze_time: 300
prevent_death_while_frozen: true
logs:
enable_logging: true
log_file: "frozen.log"
fixes:
force-teleport-on-cleanup: false
papi:
isfrozen_true: "Yes"
isfrozen_false: "No"
reason_not_frozen: "N/A"
reason_no_reason: "No reason specified"
#==============================================================================
# MESSAGES & LOCALIZATION
#==============================================================================
# Placeholders: %player%, %staff%, %reason%, %duration%, %time_left%
messages:
frozen_join: "&cYou are still frozen! Please wait for a staff member."
unfrozen_player: "&aYou have been unfrozen."
auto_unfrozen_player: "&eYou have been automatically unfrozen."
command_prevented: "&cYou cannot use commands while frozen."
death_prevented: "&eYour death was prevented because you are frozen."
frozen_chat_prefix: "&c[FROZEN] "
staff_on_frozen_join: "&c[FREEZE] %player% logged in and is still frozen!"
freeze_success_staff: "&aYou have successfully frozen %player%."
unfreeze_success_staff: "&aYou have unfrozen %player%. Reason: &7%reason%"
temp_freeze_success_staff: "&aYou have temporarily frozen %player% for %duration%."
command_usage: "&cUsage: /%command% <player>"
player_not_found: "&cPlayer %player% is not online."
already_frozen: "&ePlayer %player% is already frozen."
not_frozen: "&ePlayer %player% is not frozen."
invalid_time_format: "&cInvalid time format! Use: 10s, 5m, 1h, 2d."
history_header: "&6--- Freeze History for %player% ---"
history_entry: "&e[%timestamp%] &f%action% by &f%staff%. Reason: &7%reason%"
history_footer: "&6--- End of History ---"
history_no_records: "&cNo freeze records found for %player%."
history_unavailable: "&cThe history command is only available when the database is enabled."
config_reloaded: "&aThe bFreeze configuration has been successfully reloaded."
no_permission: "&cYou do not have permission to use this command."