VanillaProtect
PluginMIT

VanillaProtect

VanillaProtect a lightweight protection plugin that prevents new players from breaking blocks or opening containers placed by others. Newcomer period, storage type, and languages (EN/RU/UK/DE) are fully configurable. Supports Paper, Purpur, Spigot, Bukkit

27
Downloads
0
Followers
3 months ago
Updated
📦
2
Versions

📖About VanillaProtect

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