
Nerfstick Remastered
A maintained fork of Nerfstick updated for modern Minecraft versions with Paper 1.21+ support and improved compatibility.
- Загрузки
- 20
- Подписчики
- 0
- Обновлён
- 22 июня 2026 г.
- Лицензия
- GPL-3.0-only
Опубликован 19 июня 2026 г.
Nerfstick
Nerfstick is a modern Paper plugin that gives server owners fine-grained control over the vanilla Debug Stick.
It allows debug sticks to be safely used in survival environments while preventing abuse in protected regions such as WorldGuard regions or GriefPrevention claims.
Unlike vanilla behavior, Nerfstick lets you define exactly which block properties can be modified, and under what conditions, making it ideal for survival servers, admin tools, and controlled building environments.
✨ Key Features
- 🧪 Safe Debug Stick usage in Survival mode
- 🔐 Permission-based control over block state editing
- 🧱 Fine-grained whitelist for block properties
- 🌍 Protection-aware (WorldGuard / claim systems compatible via hooks)
- ⚙️ Fully configurable per-block and per-property rules
- 🚀 Updated for modern Paper (1.21+)
🧠 How it works
Nerfstick intercepts Debug Stick interactions and applies server-defined rules at runtime.
It evaluates every interaction before any block state mutation occurs.
This includes:
- Preventing usage in protected regions
- Restricting which blocks can be modified
- Restricting which block properties (e.g. facing, powered, waterlogged) can be changed
- Allowing safe, controlled cycling of block states in survival mode
🔐 Permissions system (LuckPerms recommended)
Nerfstick supports hierarchical and regex-based permission nodes for advanced control.
To allow Debug Stick usage outside of creative mode, grant:
minecraft.debugstick.always
Core structure
nerfstick.use.minecraft.*
nerfstick.use.minecraft.lever.*
nerfstick.use.minecraft.furnace.facing
🧱 Recommended whitelist (blocks)
nerfstick.use.minecraft.barrel.*
nerfstick.use.minecraft.bell.*
nerfstick.use.minecraft.furnace.*
nerfstick.use.minecraft.ladder.*
nerfstick.use.minecraft.lectern.*
nerfstick.use.minecraft.lever.*
nerfstick.use.minecraft.lightning_rod.*
nerfstick.use.minecraft.note_block.*
nerfstick.use.minecraft.observer.*
nerfstick.use.minecraft.rail.*
nerfstick.use.minecraft.redstone_comparator.*
nerfstick.use.minecraft.tripwire_hook.*
nerfstick.use.minecraft.redstone_lamp.*
nerfstick.use.minecraft.ender_chest.*
nerfstick.use.minecraft.dispenser.facing
nerfstick.use.minecraft.dropper.facing
nerfstick.use.minecraft.dried_ghast.facing
nerfstick.use.minecraft.leaf_litter.facing
nerfstick.use.minecraft.wildflowers.facing
🌿 Block families (regex-based permissions)
r=nerfstick.use.minecraft.*_chest.*
r=nerfstick.use.minecraft.*_fence.*
r=nerfstick.use.minecraft.*_gate.*
r=nerfstick.use.minecraft.*_glazed_terracotta.*
r=nerfstick.use.minecraft.*_lantern.*
r=nerfstick.use.minecraft.*_leaves.*
r=nerfstick.use.minecraft.*_log.*
r=nerfstick.use.minecraft.*_rail.*
r=nerfstick.use.minecraft.*_repeater.*
r=nerfstick.use.minecraft.*_sign.*
r=nerfstick.use.minecraft.*_stairs.*
r=nerfstick.use.minecraft.*_slab.*
r=nerfstick.use.minecraft.*_trapdoor.*
r=nerfstick.use.minecraft.*_wall.*
r=nerfstick.use.minecraft.*_door.hinge
🔄 Fork information
This project is a maintained fork of the original Nerfstick plugin, updated for modern Minecraft versions.
Key improvements:
- Paper 1.21+ compatibility
- Removal of deprecated NMS usage
- Improved permission resolution system
- Safer and more predictable block state validation logic
- Enhanced integration hooks for protection plugins
🙏 Credits
Nerfstick was originally created by akdukaan and Reimnop.
This fork continues development with modern updates and compatibility improvements for Paper 1.21+.
Ченджлог
1.0.6Релиз1.21.9, 1.21.10, 1.21.11 · 22 июня 2026 г.
Changed
- Reworked the Debug Stick permission model.
- Replaced per-block/per-property permissions with manipulation-category permissions.
- Debug Stick access is now controlled by
nerfstick.use. - Block-state editing is now controlled by category permissions:
nerfstick.manipulation.directionnerfstick.manipulation.openablenerfstick.manipulation.powernerfstick.manipulation.waternerfstick.manipulation.shapenerfstick.manipulation.levelnerfstick.manipulation.multi_facenerfstick.manipulation.miscnerfstick.manipulation.*
Improved
- Made the Debug Stick behave closer to vanilla:
- left click selects the editable property;
- right click cycles the selected value;
- sneaking reverses cycling direction.
- Unauthorized properties are hidden from the selection cycle instead of being selectable but unusable.
- Refactored the plugin into cleaner components:
- event listener;
- debug-stick service;
- block-state service;
- permission service;
- protection service;
- manipulation registry.
- Moved runtime code fully under the
com.arekkuzzera.nerfstickpackage.
Fixed
- Fixed release builds by making
papermakeFinalizeBuilddepend onreobfJar. - Updated
plugin.ymlpermissions to match the new permission model. - Updated documentation for the new category-based permissions.
Notes
- The old
nerfstick.use.minecraft.<block>.<state>permission scheme is no longer used. - Servers should update permission groups to use the new
nerfstick.useandnerfstick.manipulation.*permissions.
Full Changelog: https://github.com/AREKKUZZERA/nerfstick/compare/1.0.5...1.0.6
1.0.5Релиз1.21.9, 1.21.10, 1.21.11 · 19 июня 2026 г.
Fixed
Fixed enum-based block property cycling in
cycleValue()- Previously, enum properties such as
facing,axis,half,shape,hinge,instrument,attachment,orientation, androtationwere not processed correctly and returned unchanged values. - This caused most block interactions (doors, stairs, rails, logs, furnaces, etc.) to not respond to right-click state changes.
- Previously, enum properties such as
Fixed missing invocation of
allowBlockState()inPermission.java- Permission checks for
nerfstick.use.minecraft.<block>.<property>were not enforced at runtime. - As a result, players could modify any block property regardless of permissions.
- Permission checks for
Fixed crash in
allowBlockState()for blocks without explicit namespace- Added safe parsing to prevent
ArrayIndexOutOfBoundsException.
- Added safe parsing to prevent
Changed
Refactored block state cycling system using
BlockStateUtilReplaced manual property handling with reflection-based detection of Bukkit/Paper state interfaces:
DirectionalOrientableBisectedAgeableLevelledPowerableMultipleFacing
Automatically resolves valid enum values via
getEnumConstants().
Improved handling of multi-face block states
- Proper support for blocks such as fences, glass panes, and similar structures using
MultipleFacing#setFaceinstead of generic enum cycling.
- Proper support for blocks such as fences, glass panes, and similar structures using
Changed block update behavior
- Replaced
block.setBlockData(data, false)withblock.setBlockData(data, true) - Ensures correct physics and neighbor updates (doors, rails, redstone components).
- Replaced
Added
Added soft dependency support in
plugin.yml:- WorldGuard
- GriefPrevention
- Ensures correct load order for region protection integration.
Added update checker (optional)
Sources:
- Modrinth (
nerfstick-remastered) - GitHub Releases (
AREKKUZZERA/nerfstick)
- Modrinth (
Runs asynchronously
Does not perform automatic updates
Configurable via
check-for-updatesinconfig.ymlAdmin-only notification on player join
1.0.4Релиз1.21.9, 1.21.10, 1.21.11 · 19 июня 2026 г.
This project is a fork of the original Nerfstick.
Changes:
- Updated to Paper 1.21+
- Removed deprecated NMS usage
- Improved stability and build system
Комментарии
Загружаем…