Compatibility
Minecraft: Java Edition
Platforms
Links
Tags
Creators
Details
🛡️ SMP Fixes
The essential companion plugin for Paper & Purpur SMP servers.
Fixes broken vanilla mechanics so your players get the experience they deserve.
❓ The Problem
If you run a Paper or Purpur server and you've enabled skip-vanilla-damage-tick-when-shield-blocked: true to enable the Stun mechanic — you've probably noticed something is broken:
🔇 The shield block sound is completely gone.
Players block an attack with their shield, but hear... nothing. No satisfying clang, no feedback. It feels wrong and breaks immersion.
SMP Fixes restores the missing shield block & shield break sounds, Disables the chat reports, Enables the Attribute Swap so you Lunge forever and more...
✨ Features
🔊 Shield Sound Restoration
- Automatically detects your
paper-global.yml/paper.yml/purpur.ymlsettings - Restores
ITEM_SHIELD_BLOCKsound when blocking attacks - Seamless axe shield disable handling — prevents duplicate break sounds while preserving vanilla audio
- Accurate 180° angle calculation — sounds only play when the shield actually blocks the hit
- Supports all blockable damage types: melee, sweep, projectile, explosions, and thorns
🦪 Better Ender Pearls
- When an Ender Pearl hits or passes through any target player (except the shooter) or any mob, it guarantees collision.
- Teleports the shooter directly inside the target entity.
⚡ Player Ping Compensation (/settings)
- Players can individually toggle ping compensation via
/settings(or/settings <pearl|windcharge|potion> [on|off]). - Supported items:
- Ender Pearls
- Wind Charges
- Potions (Splash & Lingering)
- Player settings are stored and persist across restarts.
⚙️ In-Game Config Management
No more digging through config files! SMP Fixes lets you toggle critical server settings directly from in-game commands:
| Command | What it does |
|---|---|
/settings |
Opens the simple personal ping compensation settings GUI |
/smpfixes reload |
Reloads the plugin config + runs purpur reload & paper reload |
/smpfixes attribute-swap <true|false> |
Toggles update-equipment-on-player-actions in Paper config (inverse logic) |
/smpfixes shield-stuns <true|false> |
Toggles skip-vanilla-damage-tick-when-shield-blocked in Paper config |
/smpfixes no-chat-report <true|false> |
Toggles enforce-secure-profile in server.properties (inverse logic) |
/smpfixes projectile-offset-zero <true|false> |
Sets all projectile offsets in purpur.yml to 0.0 (ender-pearl, wind-charge, bow, etc.) |
/smpfixes offline-mode <true|false> |
Toggles online-mode in server.properties (inverse logic) |
🧠 Smart Auto-Detection
- Automatically scans
config/paper-global.yml,paper.yml, andpurpur.yml - Activates the shield sound fix only when needed
- No manual setup required — just drop and go!
📦 Installation
- Download the latest
.jarfrom the releases - Drop it into your server's
plugins/folder - Restart your server
- Done! The plugin auto-detects your settings and activates if needed
🔧 Configuration
The plugin generates a config.yml with fully customizable options:
# Auto-detect Paper/Purpur settings (recommended)
auto-detect-paper-setting: true
# Force enable even if paper setting isn't detected
force-enable: false
# Enable debug logging
debug: false
# Feature Toggles
no-chat-report: true
attribute-swap: true
shield-stuns: true
zero-projectile-offset: true
# Shield block sound settings
sound:
enabled: true
type: "ITEM_SHIELD_BLOCK"
category: "PLAYERS"
volume: 1.0
pitch-min: 0.8
pitch-max: 1.2
# Axe shield break sound settings
shield-break-sound:
enabled: false
type: "ITEM_SHIELD_BREAK"
category: "PLAYERS"
volume: 1.0
pitch-min: 0.8
pitch-max: 1.2
🔑 Permissions
| Permission | Description | Default |
|---|---|---|
smpfixes.admin |
Access to all SMP Fixes admin commands | OP |
smpfixes.settings |
Allows players to manage personal ping compensation preferences | Everyone |
📋 Requirements
- Server: Paper, Purpur, or any Paper-based fork
- Minecraft: 1.21+
- Java: 21+
💬 Support & Community
Have a question, found a bug, or want to suggest a feature?
Join our Discord server for support, updates, and for more info
Made by TheRealDarkKing


