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

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.direction
    • nerfstick.manipulation.openable
    • nerfstick.manipulation.power
    • nerfstick.manipulation.water
    • nerfstick.manipulation.shape
    • nerfstick.manipulation.level
    • nerfstick.manipulation.multi_face
    • nerfstick.manipulation.misc
    • nerfstick.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.nerfstick package.

Fixed

  • Fixed release builds by making papermakeFinalizeBuild depend on reobfJar.
  • Updated plugin.yml permissions 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.use and nerfstick.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, and rotation were 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.
  • Fixed missing invocation of allowBlockState() in Permission.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.
  • Fixed crash in allowBlockState() for blocks without explicit namespace

    • Added safe parsing to prevent ArrayIndexOutOfBoundsException.

Changed

  • Refactored block state cycling system using BlockStateUtil

    • Replaced manual property handling with reflection-based detection of Bukkit/Paper state interfaces:

      • Directional
      • Orientable
      • Bisected
      • Ageable
      • Levelled
      • Powerable
      • MultipleFacing
    • 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#setFace instead of generic enum cycling.
  • Changed block update behavior

    • Replaced block.setBlockData(data, false) with block.setBlockData(data, true)
    • Ensures correct physics and neighbor updates (doors, rails, redstone components).

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)
    • Runs asynchronously

    • Does not perform automatic updates

    • Configurable via check-for-updates in config.yml

    • Admin-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

Комментарии

Загружаем…