
Null Attribute Remover
A plugin to remove null attributes from player NBTs on join. Made to prevent specific crashes!
Автор: Yeetoxic2720обновлён 5 авг. 2025 г.
Механики игрыОптимизацияУтилиты
Описание
NullAttributeRemover
A lightweight Bukkit/Spigot plugin that scans and removes broken or invalid attribute modifiers from players to prevent crashes and instability.
Originally created to fix java.lang.NullPointerException in corrupted player data.
🔍 What It Does
This plugin scans player attributes for:
- ❌
nullor duplicate UUIDs (even across attributes) - ❌
NaNorInfinityvalues - ❌ Invalid or missing operations
- ❌
null, blank, or UUID-looking modifier names - ❌ Fully broken modifiers (null entries)
If any are found, they’re removed automatically.
The scan can be triggered manually or on events like teleport, respawn, world change, etc.
⚙️ How It Works
- Checks every attribute on a player (
GENERIC_MAX_HEALTH, etc.) - Inspects each modifier’s:
- UUID validity and uniqueness
- Name validity (including if it looks like a UUID)
- Value sanity (no
NaN,Infinity, or zero junk) - Operation type
- If any part is broken or suspicious, it’s removed
- If a modifier’s UUID is reused in multiple places, all duplicates are removed
- Optional logs and messages are configurable
🔧 Configuration
# config.yml
silent: false # Suppresses player chat messages
kickOnFailure: true # Kick player if bad modifiers can’t be removed
log-to-console: true # Show scan results in console
log-to-file: true # Save scan logs to plugins/NullAttributeRemover/nar.log
logUUIDLikeNames: true # Warn if modifier name looks like a UUID
log-invalid-uuid-names: true # If false, suppress logs like "Skipped bad UUID: armor.boots"
debugLogs: true # Enable detailed internal debug logs
📦 Commands
| Command | Description |
|---|---|
/nar scan [player] | Scan a specific player or all online players |
/nar debug <player> | Injects broken modifiers for testing purposes |
/nar reset <player> | Clears all attributes and resets them to vanilla |
The plugin uses tab completion for all commands.
🧪 Compatibility
- Requires Java 17 or newer
- Works with Minecraft 1.17+
- Designed for Paper, may also work on Spigot and forks
Галерея
Последние версии
Все версии →release
Null Attribute Remover v1.5
v1.55 авг. 2025 г.138Minecraft: 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.10, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9paper, spigot
Что нового
## Version 1.5 – UUID Validation Fixes & Smarter Filtering
### Highlights:
- Improved detection logic for attribute modifier UUIDs
- Prevents false positives from vanilla attribute names
- Adds new configuration option to control global UUID deduplication
### Fixes & Improvements:
- Fixed: Vanilla attribute names like minecraft:armor.boots or base_attack_damage were incorrectly flagged as invalid UUIDs.
- The plugin now skips UUID parsing unless the modifier name looks like a real UUID (36 characters, 4 dashes).
- Improved: Safer handling of non-UUID-like names. These are no longer treated as errors and won’t be removed unless truly broken.
- Cleaned up logging for skipped UUID parsing — now clearly says when something was intentionally ignored due to being a vanilla name.
### New Config Option:
`ignoreDuplicateUUIDsAcrossAttributes`:Allows modifiers to share UUIDs across different attributes, preventing false-positive removal of legit modifiers (e.g., damage and toughness sharing a UUID).
```
ignoreDuplicateUUIDsAcrossAttributes: true
```
release
Null Attribute Remover v1.4.1
v1.4.14 авг. 2025 г.21Minecraft: 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8paper, spigot
Что нового
## v1.4.1 - Logging Tweaks & Sanity Preservation
- Added log-invalid-uuid-names config optionYou can now suppress log spam from UUID-like modifier names (e.g. "armor.boots") that previously cluttered the console with lines like:Skipped bad UUID: armor.helmet.
- These logs are still detected and cleaned — they just no longer scream about it unless you want them to.
- Minor config cleanup and prep for quieter deployment environments.
release
Null Attribute Remover v1.4
v1.44 авг. 2025 г.23Minecraft: 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8paper, spigot
Что нового
## **NullAttributeRemover v1.4**
### Removed
* **Entire UUID-fixing mechanism** — no more `attemptFixInvalidUUIDs` setting or code paths.
* Config option: `attemptFixInvalidUUIDs`
* Any logic invoking `UUID.nameUUIDFromBytes(...)` or generating replacement modifiers.
* Deferred fix queues, replacement-runner code blocks.
* All references to replacing invalid UUID entries with newly generated ones.
### Changed
* Simplified `cleanAttributes()` method:
* Now strictly **removes** invalid modifiers (blank name, null UUID, invalid amounts, duplicate UUIDs).
* Removed attempts to patch or "fix" invalid UUID values.
* Validation logic now:
* Issues warnings for UUID-like names when `logUUIDLikeNames` is enabled, but **does not treat them as removal criteria**.
* Removes modifiers whose *name equals their UUID* (likely injected debug values).
* Removed all code paths using `deferredFixes`, `fixQueue`, or replacement fallback logic.
### Log Behavior Updates
* Core clean-up logs:
* Only logs removal events (e.g. “Removed X invalid modifiers”).
* Warnings for invalid UUID strings are still configurable via `debugLogs`.
* No more log entries indicating “Fixed X modifiers” — only removal summaries.
release
Null Attribute Remover v1.3
v1.34 авг. 2025 г.24Minecraft: 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8paper, spigot
Что нового
Fixed Multiple bugs
release
Null Attribute Remover v1.2
v1.24 авг. 2025 г.28Minecraft: 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8paper, spigot
Что нового
### 🔧 v1.2 Changelog (since v1.1)
* Added `/nar scan [player]` and `/nar debug <player>` commands
* Replaced timer with event-based scanning (world change, teleport, etc.)
* Added `config.yml` for logging and silent mode options
* Improved console log formatting with colors
* Fixed duplicate UUID detection across multiple attributes
* Fixed blank name checks (now catches whitespace-only names too)
* Added detection for NaN, Infinity, null UUIDs, invalid operations, UUID-like names, and zero-amount junk modifiers
release
Null Attribute Remover v1.1
v1.14 авг. 2025 г.38Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8paper
Что нового
Initial Upload.

