Compatibility
Minecraft: Java Edition
Platforms
Creators
Details
VanillaProtect
VanillaProtect is a lightweight yet powerful protection plugin for Minecraft servers running Paper, Purpur, Spigot, Bukkit or Folia 1.21+. It automatically tracks block ownership and prevents new players from breaking blocks or opening containers placed by other players. No commands needed from players, everything works out of the box.
๐ก๏ธ How it works
When any player places a block, VanillaProtect silently records that block's location and the player's UUID in a database. If a newcomer (a player whose first join was less than N hours ago) tries to break or open something that belongs to another player, the action is cancelled and the newcomer gets a friendly message explaining how much time they have left.
Once the newcomer period expires, all restrictions are lifted automatically.
โจ Features
- Block break protection - newcomers cannot break blocks placed by other players
- Container protection - chests, barrels, shulker boxes, furnaces, dispensers, hoppers, brewing stands, anvils, crafters and more are all protected
- Optional door/button/lever protection - toggle in config
- Natural blocks are freely breakable - stone, dirt, trees etc. are not restricted by default (configurable)
- Per-block ownership tracking - only the exact blocks placed by others are protected, not entire regions
- Configurable newcomer period - set anywhere from 6 to 24+ hours
- Two storage backends - SQLite (recommended) or YAML flat file
- Auto-save - data is saved periodically and on shutdown
- Folia support - fully compatible with threaded region servers
- No dependencies - single JAR, drop and go
๐ Multi-language support
VanillaProtect ships with 4 built-in languages:
| Code | Language |
|---|---|
en |
English |
ru |
ะ ัััะบะธะน |
uk |
ะฃะบัะฐัะฝััะบะฐ |
de |
Deutsch |
You can also create your own language file by placing a plugins/VanillaProtect/lang/<code>.yml file in the plugin folder. All messages support color codes.
โ๏ธ Configuration overview
# How long a player is considered a newcomer (in hours)
newcomer-hours: 12
# Toggle individual protections
protection:
block-break: true
chest-open: true
block-place: false
block-interact: false
# Storage backend: sqlite or yaml
storage:
type: sqlite
auto-save: 5
# Disable protection in specific worlds
disabled-worlds:
- world_nether
- world_the_end
๐ฌ Commands
| Command | Description |
|---|---|
/vp reload |
Reload config and language files without restarting |
/vp status |
Show current plugin status and settings |
/vp info <player> |
View a player's join date, playtime and newcomer status |
/vp bypass <player> |
Toggle bypass for a player (removes all restrictions) |
Aliases: /vanillaprotect, /vp, /vprotect
๐ Permissions
| Permission | Description | Default |
|---|---|---|
vanillaprotect.admin |
Access to all admin commands | OP |
vanillaprotect.bypass |
Bypass newcomer restrictions | OP |
vanillaprotect.bypass.others |
Grant/revoke bypass for others | OP |
๐ฆ Compatibility
| Platform | Supported |
|---|---|
| Paper 1.21+ | โ |
| Purpur 1.21+ | โ |
| Spigot 1.21+ | โ |
| Bukkit 1.21+ | โ |
| Folia 1.21+ | โ |
๐ Plugin folder structure
plugins/VanillaProtect/
โโโ config.yml
โโโ blocks.db
โโโ lang/
โโโ en.yml
โโโ ru.yml
โโโ uk.yml
โโโ de.yml
Made by 1mN1kO


