A smarter, cleaner, fully configurable experience for protecting your signs.
_________________________________________________
Overview
This update is a full internal rewrite — cleaner code, a modular config, and far more customization than before.
Anti Sign Edit now goes beyond simply blocking sign edits: it gives admins and staff **live alerts, Discord integration, per-world control, and polished player feedback** — all from one lightweight plugin.
✨ What's New
- Staff Alerts — Receive centered messages when a player tries to edit a sign.
• Includes clickable TP to the sign and Return to previous location.
• Optional temporary invisibility after teleport.
- Fully Customizable Discord Webhook —
• Build your own embed with title, description, color, images, footer, and fields.
• Replace placeholders (%player%, %world%, %x%, %y%, %z%) dynamically.
• Define avatar, username, and multiple embeds per webhook.
- Per-World Controls —
• Switch between WHITELIST or BLACKLIST mode to decide where edits are blocked.
• Players with mh.edit.sign bypass protection globally.
- Silent Mode —
• mh.antisign.silent now allows staff or test users to trigger no sounds or messages when blocked.
- Config Overhaul —
• Clear separation between permissions, worlds, notify, logging, and staff-alert.
• Every feature toggleable; clean defaults right out of the box.
- UX Polish —
• Optional no-permission chat message, sound, and potion effect.
• Console log levels (console-info / console-warn) to avoid spam.
⚙️ Technical Improvements
- New YAML structure for painless configuration.
- Improved reload command: /cweditsign reload.
- Safer handling for invalid sounds/effects with graceful fallbacks.
- Cleaner internal handling for teleport and back commands.
- Webhook logic optimized and supports rich embeds.
- Logs now respect toggles — no more unwanted console noise.
Example Webhook Embed
Code (YAML):
webhook-embed:
enabled
: true
username
: 'MineHorizon Alerts'
avatar_url
: '
[https://img.minehorizon.net/logo.png
]
(https://img.minehorizon.net/logo.png
)'
content
: ''
embeds:
- title
: 'Sign Edit Attempt'
description
:
"**Player:** %player%\n**World:** %world% (%x%, %y%, %z%)"
color
: '
#ff4757'
thumbnail
:
{ url
: '
[https://visage.surgeplay.com/head/
%player%.png](https://visage.surgeplay.com/head/%player%.png)' }
image
:
{ url
: '
[https://visage.surgeplay.com/bust/
%player%.png](https://visage.surgeplay.com/bust/%player%.png)' }
footer
:
{ text
: 'MineHorizon • AntiSignEdit', icon_url
: '
[https://img.minehorizon.net/icons/mh-16.png
]
(https://img.minehorizon.net/icons/mh-16.png
)', timestamp
: true
}
Commands & Permissions
- /cweditsign reload — reload configuration (mh.antisign.admin)
- /cweditsign__tp_internal, /cweditsign__back_internal — used by staff alert buttons (mh.staff)
✅ Compatibility
Fully tested on Paper, Spigot, and Purpur for
1.19.x – 1.20.x.
Lightweight, async-safe, and ready for production networks.
_________________________________________________
Developed and maintained by CodeHorizon118 — SysAdmin of MineHorizon Network.