COWMODSКаталог модов

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:

  • ❌ null or duplicate UUIDs (even across attributes)
  • ❌ NaN or Infinity values
  • ❌ 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

CommandDescription
/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

Галерея

Logo_1Logo_2

Последние версии

Все версии →
release

Null Attribute Remover v1.5

v1.5
5 авг. 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.1
4 авг. 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.4
4 авг. 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.3
4 авг. 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.2
4 авг. 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.1
4 авг. 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.