Перейти к содержимому
Mineforgian

RegenSystem

Efficiently regenerates defined zones using snapshots stored in a database. Say goodbye to laggy file-based regen systems. A new-generation plugin !

Загрузки
669
Подписчики
3
Обновлён
20 января 2026 г.
Лицензия
DLGPL-RegenSystem

Опубликован 7 июля 2025 г.


⚠️ 🚨 ARCHIVED PROJECT — NO LONGER MAINTAINED 🚨 ⚠️

This plugin is now archived and will NOT receive any future updates. 🧠 Development has moved to a larger, more advanced project that will include RegenSystem and more features.

👉 If you are using this plugin, you can continue to do so, but no support or updates are guaranteed.

💡 A new project will be released in the future — stay tuned.


RegenSystem

Modrinth Downloads JitPack version Monthly download statistics License : DL Group Public License

A powerful, flexible block regeneration system designed for PvP Box, survival zones, or mining zones. Define cuboid areas and let them regenerate automatically over time – all with a single command.


✅ Versions

  • 🟢 Actively developed on Paper API 1.20.6+
  • ⚡ Compatible with Paper / Spigot / Folia from 1.20.x → 1.21.x
  • ⏳ Support for older Minecraft versions may arrive in the future

✅ Server Compatibility

  • Paper — Fully supported and recommended
  • Folia — Fully supported (region-safe scheduler, async-safe operations)
  • Spigot — Supported (automatic fallbacks for missing APIs)

ℹ️ The plugin automatically adapts its behavior depending on the server platform
(Paper / Folia / Spigot) to ensure maximum compatibility and stability.


📚 Documentation


✅ Commands

Command Description
/regen pos1 Set the first corner of the zone at your current location.
/regen pos2 Set the second corner of the zone at your current location.
/regen save <name> [delay] [f:flag=value]... Save a new zone with an optional regen delay (seconds) and optional flags.
/regen reload [zone] Reload all zones, or a specific one if a name is provided.
/regen delete <name> Delete a zone and its stored data.
/regen snapshot <name> Update the stored state of a zone with the current blocks.
/regen wand Receive a diamond axe to select pos1/pos2 with left/right click.
/regen enable <all\name> Enable regen globally or for a specific zone.
/regen disable <all\name> Disable regen globally or for a specific zone.
/regen menu Opens the menu to modify options.
/regen help [page] Show the help menu (3 pages available).
/regen flag Show all available flags and their descriptions.
/regen flag <zone> List all flags of a specific zone with their status.
/regen flag <zone> <flag> <on\off> Enable or disable a specific flag for a zone.
/regen lang <language> Set the plugin language.

✅ Permissions

Permission Description Default
regensystem.* Grants all permissions above OP
regensystem.command Use the base /regen command OP
regensystem.pos Set pos1 and pos2 using /regen pos1/pos2 OP
regensystem.save Save zones via /regen save OP
regensystem.reload Reload zones via /regen reload OP
regensystem.delete Delete zones via /regen delete OP
regensystem.snapshot Update zone data with /regen snapshot OP
regensystem.wand Give yourself the selection axe via /regen wand OP
regensystem.toggle Enable/disable regen with /regen enable/disable OP
regensystem.menu Open menu via /regen menu OP
regensystem.update Receive an update message on connection OP
regensystem.flag Allows you to manage flags with /regen flag OP
regensystem.lang Allows you to set the language of the plugin with /regen lang OP

💡 Use regensystem.* to quickly give full access to the plugin.


🔁 Dependencies

  • ✅ PlaceholderAPI (soft-depend, optional)

To enable placeholders, simply install PlaceholderAPI – the plugin will auto-detect it.


✅ Placeholders (via PlaceholderAPI)

If PlaceholderAPI is installed, you can use the following placeholders :

Placeholder Description
%regen_zone_count% Total number of zones defined
%regen_regen_enabled% Global regen status (enabled or disabled)
%regen_enabled_<zone>% If regen is enabled for a specific zone
%regen_delay_<zone>% Regen delay (in seconds) for a specific zone
%regen_exists_<zone>% Returns "true" if the zone exists
%regen_block_count_<zone>% Number of original blocks in zone
%regen_corner1_<zone>% Coordinates of the first corner of the zone
%regen_corner2_<zone>% Coordinates of the second corner of the zone
%regen_timer_<zone>% Time remaining before next regeneration (mm:ss)
%regen_name_<zone>% Official zone name

⚠️ Placeholders are auto-registered if PlaceholderAPI is present. No extra config needed.


✅ bStats

RegenSystem uses bStats to collect basic stats like server count and version. This helps the developer improve the plugin over time.


✅ File Structure

plugins/
└── RegenSystem/
    ├── config.yml     # Plugin messages & prefix (do NOT edit version !)
    ├── zone.yml       # Zones definition : positions, delays, enabled flags
    ├── version.cache  # Don't touch this file
    └── zone.db        # 🔥 Block data storage (SQLite, auto-managed)

✅ zone.yml

This file contains the definitions for your zones : their position, delay, and status.

global:
  regen-enabled: true      # Enable or disable regeneration globally

zones:
  zone1:                   # Replace with your own zone names
    pos1: world,100,64,100 # First corner of the cuboid (x, y, z)
    pos2: world,110,70,110 # Second corner of the cuboid (x, y, z)
    regenDelay: 60         # Delay in seconds
    enabled: true          # If false, the zone won't regenerate
    flags:                 # Zone-specific flags
      BLOCK_BREAK: true
      ITEM_DROP: true
      MOB_SPAWN: true
      PVP: true
      BLOCK_PLACE: true
      MOB_DAMAGE: true
      EXPLOSION: true
      ITEM_PICKUP: true

✅ config.yml

⚠️ Do not edit the version field – it’s used internally for updates.

version: 3                    # ⚠️ Do not modify!
debug: false                  # For more information in the logs
prefix: "&6[RegenSystem] &r"  # Prefix used in plugin messages
updates:
  check-interval: 12          # In hours
  notify-admins: true         # To notify the admins

✅ zone.db (SQLite)

Stores block snapshots for each zone – fast, optimized, and safe. Do not edit manually – managed automatically by the plugin.


📌 Installation

  1. Drop RegenSystem-VERSION.jar into your plugins/ folder.

  2. (Optional) Install PlaceholderAPI for placeholder support.

  3. Start your server.

  4. Use /regen wand to define zones and /regen save <name> to activate.


Ченджлог

2.0.3Релиз1.21.8, 1.21.10, 1.21.11 · 20 января 2026 г.

[v2.0.3] – 2026-01-20

🚀 Highlights

This release introduces a brand new public API architecture and establishes a stable foundation for external addons.

⚠️ This release contains breaking changes for addon developers,
but remains fully backward-compatible for server owners and players.

This is the recommended base version for future addon development.


🧩 API (Public & Stable)

✅ New

  • Introduced a fully separated API module (regensystem-api)
  • Added official API entry point:
    • RegenSystemAPI
  • Added explicit API versioning:
    • API_VERSION
    • API_MAJOR, API_MINOR, API_PATCH
  • Introduced new core API contracts:
    • ZoneManager
    • Zone
    • ZoneFlag
    • RegenResult

🎯 Events API

All zone lifecycle events are now officially exposed and documented:

  • ZoneCreateEvent (cancellable)
  • ZoneDeleteEvent (cancellable)
  • ZoneReloadEvent (cancellable)
  • ZonePreRegenEvent (cancellable)
  • ZonePostRegenEvent (non-cancellable)
  • ZoneFlagChangeEvent (cancellable)

🛡️ API Stability & Safety

Added

  • Clear separation between public API and internal implementation
  • @ApiStatus.Internal on non-public methods
  • @ApiStatus.NonExtendable on API events
  • Strict API boundaries (no core access)

Guarantees

  • API stability within the same major version
  • No reflection or unsafe hooks required
  • Safe event-driven extension model

❗ Breaking Changes (Addon Developers)

⚠️ Yes – Breaking API Changes

  • Complete API redesign
  • Old API contracts are not compatible
  • Addons targeting versions < 2.0.3 must be updated

Migration required for all external plugins.


✅ No Breaking Changes (Server Owners)

  • Existing zones are preserved
  • Configuration files unchanged
  • Commands and permissions unchanged
  • Database format unchanged

No action required for server administrators.


🔄 Compatibility

  • Minecraft: 1.20.x → 1.21.x
  • Platforms:
    • Paper ✅
    • Folia ✅
    • Spigot ✅
  • Java: 21+

🧪 Experimental API

  • No experimental APIs exposed in this release
  • Future experimental APIs will live under: fr.darklash.regensystem.api.experimental

📦 Dependency (JitPack)

compileOnly("com.github.DarkLashDev:RegenSystem:v2.0.3")
2.0.2Релиз1.21.8, 1.21.10, 1.21.11 · 17 января 2026 г.

🚀 Major Improvements

⚡ Full Folia Support

  • Added native Folia compatibility using region-safe and async-safe schedulers
  • Implemented a platform-aware scheduler abstraction (Paper / Folia / Spigot)
  • Fixed all threading violations (chunk access, block updates, region execution)
  • Zone regeneration now runs safely inside region threads on Folia

🧠 Smart Platform Detection

  • Automatic runtime detection of:

    • Folia
    • Paper
    • Spigot
  • The plugin adapts its behavior dynamically depending on the server platform

  • No configuration changes required — everything is automatic


🔧 Compatibility & Stability

✅ Spigot Support Restored

  • Added safe fallbacks for missing Paper / Adventure APIs
  • Automatic legacy text conversion when Adventure components are unavailable
  • Teleport handling now adapts to platform capabilities

🧱 Regeneration System Improvements

  • Fixed async chunk access errors on Folia

  • Block regeneration is now:

    • Region-safe
    • Thread-safe
    • Platform-safe
  • Players inside regenerating zones are now handled safely on all platforms


📊 Metrics & Monitoring

📈 bStats Enhancements

  • Added new custom chart:

    • zones_total — total number of registered regen zones
  • Improved internal metrics reliability on Folia servers


🔄 Internal Refactors

  • Introduced RegenScheduler abstraction layer

  • Separated platform-specific logic:

    • PaperRegenScheduler
    • FoliaRegenScheduler
  • Cleaner architecture and easier future maintenance

  • Improved logging and debug safety


🐛 Fixes

  • Fixed server crashes caused by:

    • Async chunk loading
    • Unsafe player teleportation on Folia
  • Fixed compatibility issues with:

    • Paper 1.21+
    • Folia region threading
  • Improved update checker stability


🧭 Notes

  • No breaking changes for existing configurations
  • Existing zones, databases, and configs are fully compatible
  • This version lays the groundwork for future performance optimizations
2.0.1Релиз1.21.6, 1.21.7, 1.21.8 · 1 октября 2025 г.
  • Adding language support
  • In-game control optimizations
2.0.0Релиз1.21.6, 1.21.7, 1.21.8 · 15 сентября 2025 г.
  • Updated Database and Gradle settings
  • Optimization plugin
0.1.8Релиз1.21.6, 1.21.7, 1.21.8 · 29 августа 2025 г.
  • Update JitPack and API
0.1.6Релиз1.21.6, 1.21.7, 1.21.8 · 28 августа 2025 г.
  • Update RegenSystem API
  • Optimization plugin
0.1.5Релиз1.21.6, 1.21.7, 1.21.8 · 11 августа 2025 г.
  • Added detection of Spigot servers, and does not allow the plugin to be launched on them.
0.1.4Релиз1.20.4, 1.20.5, 1.20.6 · 2 августа 2025 г.
  • Release RegenSystem API, fixed all bugs

Комментарии

Загружаем…