
1.4K
4
AntiRedstoneLag 2.0.1
release11 апреля 2026 г.Bug Fixes Implemented:
Resolved Redstone Duplication: Added a "state check" to the removal logic. The plugin now verifies if a block is already AIR before attempting to drop it again, which prevents fast redstone clocks from spawning multiple items in a single tick. Fixed Ineffective Actions (REMOVE/DISABLE): Previously, the plugin was removing blocks without physics updates, which created "ghost blocks" and didn't stop neighboring redstone components. Now updated the logic to use applyPhysics = true. This ensures the Paper/Spigot physics engine is properly notified, immediately breaking the redstone chain and ensuring the client-side view stays in sync.
AntiRedstoneLag 2.0.0
release12 декабря 2025 г.Version 2.0.0
Bug Fixes
- Fixed version mismatch - Synchronized
pom.xmlversion withplugin.yml(both now 2.0.0) - Fixed unused variable - Removed unused
materialNamevariable inRedstoneListener - Fixed stats command -
/arl statsnow shows real statistics fromCounterManagerinstead of hardcoded zeros - Fixed unused imports - Removed unused imports from
CommandHandlerandRedstoneListener - Fixed potential NPE - Added null check for
location.getWorld()inCounterManager.sendAlert()to prevent crashes with unloaded chunks - Fixed event priority - Changed from
MONITORtoLOWpriority since we modify block state - Fixed log download -
/arl logs downloadnow shows log file info (name, size, path, modified date)
Optimizations
- Thread-safe counters - Replaced
HashMapwithConcurrentHashMapandAtomicIntegerfor thread safety - Memory-efficient keys - Using String keys instead of
Chunk/Locationobjects to prevent memory leaks - Extracted time constants - Magic numbers replaced with named constants (
TICKS_PER_HOUR,TICKS_PER_DAY,DAY_MS,ALERT_COOLDOWN_MS,BATCH_SIZE,FLUSH_INTERVAL_MS) - Cached config values -
RedstoneListenernow caches redstone materials, enabled worlds, and removal action for better performance - Refresh cache on reload - Cached values are automatically refreshed when config is reloaded
- Reduced object allocation - Avoid creating
Locationobjects in hot path; only create when actually needed for logging - Batched log writes - Log entries are buffered and flushed every 50 entries or 500ms instead of on every write
- Improved log rotation - Log file size is now checked on every flush, not just during cleanup task
- Primitive collections (fastutil) - Replaced
ConcurrentHashMap<String, AtomicInteger>withObject2IntOpenHashMapto eliminate boxing overhead and reduce memory allocations
New Features
- Bypass permission - Players with
antiredstonelag.bypasspermission can place redstone without limits - Block owner tracking - Tracks who placed redstone blocks for bypass permission checks
- Configurable reset interval - New
reset-interval-ticksconfig option (default: 20 ticks = 1 second) - Debug mode - New
debugconfig option for verbose logging during troubleshooting - Config validation - Threshold values are now validated (must be positive)
- Alert cooldown - 1 second cooldown between alerts to prevent spam when multiple blocks are removed
- Persistent statistics - Statistics (
totalRemovals,removalsToday) are saved tostats.ymland survive server restarts - Configurable removal action - New
removal-actionconfig option with three modes:REMOVE- Set block to air (default)DISABLE- Cancel redstone signal without removing blockDROP- Break block and drop item
- Warning system - Warns players when their redstone activity approaches the threshold
- Configurable warning threshold (default: 80% of limit)
- Per-player cooldown to prevent spam
- Only warns block owners who are online
- Update checker - Automatically checks for new versions on SpigotMC
- Notifies admins with
antiredstonelag.adminpermission on join - Non-blocking async check on startup
- Notifies admins with
- Whitelist mode - Only monitor specific chunks instead of all chunks
- Configure chunks as
world:chunkX:chunkZformat - Useful for monitoring only known problem areas
- Configure chunks as
Improvements
- Real-time statistics - Stats command now displays actual monitored chunks, blocks, total removals, and daily removals
- Better code structure -
CommandHandlernow receivesCounterManagervia dependency injection - Improved config comments - Better documentation in
config.yml - Stats saved on shutdown - Statistics are automatically saved when the plugin is disabled
- Null safety - Added null checks to
CounterManagermethods to prevent potential NPEs - JavaDoc comments - Added documentation to key methods
New Permissions
antiredstonelag.bypass- Bypass redstone limits (default: false)
AntiRedstoneLag 1.2
release5 ноября 2025 г.New and Improved Features
Read the description
AntiRedstoneLag 1.1
release7 сентября 2025 г.Added Support for 1.21.8
AntiRedstoneLag 1.0
release8 июня 2025 г.First Release
Создатели
Детали
Лицензия:MIT
Опубликован:10 месяцев назад
Обновлён:3 дня назад
