Skip to content

KEYDALTR/kRedstoneLimiter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

kRedstoneLimiter

A high-performance, passive redstone limiter plugin for Minecraft servers. Prevents redstone-based lag machines and excessive redstone activity by enforcing configurable limits at block, chunk, and region levels.

Turkce / Turkish README

Minecraft Java Paper Spigot Folia License

kRedstoneLimiter Preview

Features

  • Three-layer limiting - Block, chunk, and region level redstone limits
  • Per-block thresholds - Different limits for observers, pistons, dispensers, hoppers, repeaters, comparators, etc.
  • World-specific overrides - Custom limits for each world (e.g. stricter nether limits)
  • Disabled worlds - Completely skip limiting in lobby or minigame worlds
  • Piston control - Max push block limit and retract limiting toggle
  • Visual & sound effects - Configurable particle effects and sounds on block
  • Admin notifications - Clickable, throttled notifications with block type, location, and nearest player info
  • Teleport to source - Click [TP] in notifications to teleport directly to the redstone source
  • Folia support - Full compatibility with Folia's regionized multithreading via reflection
  • Thread-safe - ConcurrentHashMap + AtomicInteger for safe concurrent access
  • Bypass permission - Allow specific players to bypass all limits
  • Lightweight - Minimal performance impact, runs passively

Requirements

  • Java 17+
  • Paper, Spigot, or Folia 1.17.1+

Installation

  1. Download kRedstoneLimiter.jar from Releases
  2. Place it in your server's plugins/ folder
  3. Restart the server
  4. Edit plugins/kRedstoneLimiter/config.yml and messages.yml as needed
  5. Run /krl reload to apply changes

Commands

Command Description Permission
/krl Show main overview kredstonelimiter.stats
/krl perblock Detailed per-block report kredstonelimiter.stats
/krl perchunk Detailed per-chunk report kredstonelimiter.stats
/krl perregion Detailed per-region report kredstonelimiter.stats
/krl reload Reload configuration kredstonelimiter.reload
/krl tp <world> <x> <y> <z> Teleport to coordinates kredstonelimiter.tp

Aliases: /kredstonelimiter, /kredstone, /krl

Permissions

Permission Description Default
kredstonelimiter.stats View limiter statistics op
kredstonelimiter.reload Reload configuration op
kredstonelimiter.tp Teleport to blocked locations op
kredstonelimiter.notify Receive block notifications op
kredstonelimiter.bypass Bypass all redstone limits op

Configuration

config.yml
block_period: 3000

debug: false

bypass_permission: "kredstonelimiter.bypass"

disabled_worlds:
  - "world_lobby"

blocks:
  enabled: true
  threshold:
    GLOBAL: 2
    OBSERVER: 3
    DISPENSER: 2
    DROPPER: 2
    PISTON: 1
    STICKY_PISTON: 1
    REDSTONE_LAMP: 4
    NOTE_BLOCK: 3
    HOPPER: 2
    COMPARATOR: 3
    REPEATER: 3

chunks:
  enabled: true
  threshold: 1024

regions:
  enabled: true
  size: 16
  threshold: 24

piston:
  max_push: 3
  limit_retract: true

effects:
  block:
    enabled: true
    type: "SMOKE"
    data: 4
  sound:
    enabled: false
    type: "BLOCK_NOTE_BLOCK_BASS"
    volume: 0.5
    pitch: 0.5

notifications:
  enabled: true
  permission: "kredstonelimiter.notify"
  global_cooldown_seconds: 15
  local_cooldown_seconds: 60
  nearest_player_radius: 16

world_overrides:
  world_nether:
    block_period: 2000
    blocks:
      threshold:
        GLOBAL: 1
    chunks:
      threshold: 512
    regions:
      threshold: 16

How It Works

kRedstoneLimiter monitors redstone activity at three levels:

  1. Block Level - Tracks how many times each individual block position activates within the block_period. If a specific block (e.g. an observer at X,Y,Z) exceeds its threshold, further activations are blocked.

  2. Chunk Level - Tracks total redstone activations per chunk. If a chunk exceeds the threshold, all redstone in that chunk is blocked.

  3. Region Level - Tracks redstone activations per configurable region (default 16x16x16 blocks). Provides a middle ground between block and chunk limiting.

When a limit is reached:

  • The redstone activation is cancelled
  • A particle effect is played at the block location
  • Admins with notification permission receive a clickable message with block type, location, and nearest player

Building from Source

git clone https://github.com/KEYDAL/kRedstoneLimiter.git
cd kRedstoneLimiter
./mvnw clean package

The compiled JAR will be at target/kRedstoneLimiter.jar.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Author

Developed by Egemen KEYDAL at KEYDAL

About

Passive redstone limiter plugin for Minecraft servers - Paper/Spigot/Folia 1.17.1+

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages