BlazeBans/Integrations
Addons
Two optional Paper plugins that extend BlazeBans. Both are separate jars, both require BlazeBans, and both are installed by dropping them into `plugins/`.
/blazebans addonsLists everything currently registered. Needs blazebans.command.addons.
Voice chat
BlazeBansVoiceChat adds voice mutes through Simple Voice Chat. A voice mute is a VOICE_MUTE record, so it appears in history, in placeholders, and in Discord like any other punishment.
Installing
- Install Simple Voice Chat.
- Drop
BlazeBansVoiceChat.jarintoplugins/. - Restart.
BlazeBans is a hard dependency and Simple Voice Chat is soft. Without the voice plugin, voice mutes can still be created and managed; the audio just is not blocked, and the addon says so in console.
Commands
/voicemute Steve 1h Shouting into the mic
/voicemute Steve permanent Slurs in voice
/voiceunmute Steve Appeal acceptedDurations use the same syntax as everything else.
Configuration
plugins/BlazeBansVoiceChat/settings.yml:
hooks:
simple-voice-chat:
enabled: true
warn-when-missing: true
enforcement:
auto-voice-mute-regular-mutes: true
voice-block-notice-cooldown-seconds: 1
cache-ttl-millis: 2000
punishments:
voice-mute-type: "VOICE_MUTE"
default-reason: "No reason provided."
default-unmute-reason: "Voice mute revoked."
scope: "server"
server-id: ""
silent: falseauto-voice-mute-regular-mutes is the important one. On by default, it extends an ordinary text mute to voice as well. Without it, a muted player can still talk in voice chat, which usually defeats the point of the mute.
voice-block-notice-cooldown-seconds throttles the reminder shown when a voice-muted player tries to speak, so a held push-to-talk key does not produce a wall of messages.
server-id blank means the addon uses BlazeBans' own server.id. Set it only when voice mutes should belong to a different server.
Permissions
Placeholders
%blazebans_is_voice_muted%
%blazebans_active_voice_mute_reason%
%blazebans_active_voice_mute_remaining%
%blazebans_voice_mute_count%
%blazebans_active_voice_mutes%Without the addon these return false and zero, since no voice mute records exist.
Ban effects
BlazeBansBanEffects plays an animation before a ban is enforced. The player is lifted, an effect runs, then they are removed.
This is presentation, not moderation. It changes nothing about the punishment.
Installing
Drop BlazeBansBanEffects.jar into plugins/ and restart. It requires BlazeBans and nothing else.
Commands
preview with no effect lists what is available.
Shipped effects
Configuration
plugins/BlazeBansBanEffects/settings.yml:
effects:
enabled: true
max-duration-ticks: 100
default-effect: "ban-hammer"
disabled-worlds:
- "disabled_world_name"
trigger-types:
- "BAN"
- "IP_BAN"
cinematic:
float-player: true
float-height: 5.0
block-commands: true
block-chat: true
block-item-use: true
block-block-place: true
block-block-break: true
prevent-damage: truemax-duration-ticks caps how long enforcement waits. 100 ticks is five seconds, which is also the hard ceiling BlazeBans applies to any requested enforcement delay.
The cinematic block restricts what the player can do while the effect runs, so the last five seconds of a banned player's session are not spent breaking blocks.
Choosing an effect by reason
rules:
- id: "cheating"
match: "contains"
reasons:
- "cheat"
- "hack"
- "xray"
effect: "ban-hammer"
- id: "toxicity"
match: "contains"
reasons:
- "toxicity"
- "chat"
effect: "blaze-swarm"Rules are checked in order and the first match wins. No match uses default-effect.
Afterwards
effects:
completion:
enabled: true
commands: []
broadcast:
enabled: false
messages:
- "{meta_prefix_long}<color:{color_accent}>{player}</color> <color:{color_text}>was banned with</color> <color:{color_positive}>{effect}</color>"
proxy-broadcast:
enabled: false
commands:
- "alert {player} was banned with {effect}"Console commands, a public broadcast, or a proxy broadcast after the effect finishes. Individual effects can override each with completion-commands, completion-broadcasts, and completion-proxy-broadcast-commands.
Custom effects
Each effect is defined by an item display, an optional block display, particles, and sounds:
effects:
definitions:
my-effect:
item-display:
material: "NETHERITE_SWORD"
count: 12
scale: 1.2
block-display:
material: "OBSIDIAN"
particles:
primary: "FLAME"
secondary: "SMOKE"
impact: "EXPLOSION"
sounds:
charge: "minecraft:block.beacon.activate"
impact:
- "minecraft:entity.generic.explode"Materials, particles, and sounds are vanilla identifiers. Preview it with /blazebaneffects preview my-effect.
Whether to use it
It costs five seconds of enforcement delay per ban. On a server where bans are rare and public, it is a moment other players notice. On a server banning bot accounts all day, it is five seconds of nothing, and trigger-types or disabled-worlds is how you narrow it.
Building your own
The BlazeBans API covers querying, creating, revoking, and reacting to punishments, and lets an addon register itself so it appears in /blazebans addons:
BlazeBansProvider.registerAddon(new BlazeBansAddon(
"MyAddon",
"My BlazeBans Addon",
getPluginMeta().getVersion(),
"Adds custom punishment effects.",
"enabled"
));The ban effects addon is built on the same public API, so anything it does is available to you.

