    "useExternalPermissions": true,# NeoEssentials Permission Nodes - Complete Reference
# Last Updated: January 1, 2026
# Config Version: 5
#
# This file contains ALL permission nodes used in NeoEssentials
# Format: permission.node - description (default: true/false)
#
# 🛡️ All permissions include comprehensive validation and security checks
# 🔄 Supports external permission systems (LuckPerms, FTB Ranks)
# ⚡ Thread-safe permission caching with configurable expiry
# 🎯 Granular permission control with exemption and override systems
#
# IMPORTANT NOTES:
# - Use "neoessentials.item.*" NOT "neoessentials.items.*"
# - Use "neoessentials.teleport.*" NOT "neoessentials.teleportation.*"
# - Use "neoessentials.afk" NOT "neoessentials.utils.afk"
# - Wildcard permissions: neoessentials.* grants ALL permissions

## ═══════════════════════════════════════════════════════════
## CORE PERMISSIONS
## ═══════════════════════════════════════════════════════════
neoessentials.use - Basic mod usage (default: true)
neoessentials.admin - Administrative access (default: false)
neoessentials.reload - Reload configuration (default: false)
neoessentials.info - View mod information (default: true)
neoessentials.debug - Debug mode access (default: false)

## ═══════════════════════════════════════════════════════════
## ECONOMY PERMISSIONS
## ═══════════════════════════════════════════════════════════
neoessentials.economy.balance - Check own balance (default: true)
neoessentials.economy.balance.others - Check others' balance (default: false)
neoessentials.economy.pay - Send payments (default: true)
neoessentials.economy.paytoggle - Toggle payment acceptance (default: true)
neoessentials.economy.baltop - View balance leaderboard (default: true)
neoessentials.economy.admin - Economy administration (default: false)
neoessentials.economy.admin.give - Give money to players (default: false)
neoessentials.economy.admin.take - Take money from players (default: false)
neoessentials.economy.admin.set - Set player balance (default: false)
neoessentials.economy.history - View transaction history (default: true)
neoessentials.economy.transaction - View own transactions (default: true)
neoessentials.economy.transaction.others - View others' transactions (default: false)

## ═══════════════════════════════════════════════════════════
## TELEPORTATION PERMISSIONS
## ═══════════════════════════════════════════════════════════

### Administrative Teleportation
neoessentials.teleport.admin - Administrative teleportation (default: false)
neoessentials.teleport.admin.tp - Teleport players (default: false)
neoessentials.teleport.admin.tphere - Teleport players to you (default: false)
neoessentials.teleport.admin.tpall - Teleport all players (default: false)
neoessentials.teleport.admin.tppos - Teleport to coordinates (default: false)
neoessentials.teleport.admin.tpo - Teleport other players to locations (default: false)

### Teleport Requests
neoessentials.teleport.request.tpa - Send teleport requests (default: true)
neoessentials.teleport.request.tpahere - Request players teleport to you (default: true)
neoessentials.teleport.request.accept - Accept teleport requests (default: true)
neoessentials.teleport.request.deny - Deny teleport requests (default: true)
neoessentials.teleport.request.cancel - Cancel sent teleport requests (default: true)

### Home System
neoessentials.teleport.home - Use home system (default: true)
neoessentials.teleport.home.set - Set home locations (default: true)
neoessentials.teleport.home.delete - Delete home locations (default: true)
neoessentials.teleport.home.list - List home locations (default: true)
neoessentials.teleport.home.others - Access others' homes (default: false)

### Dynamic Home Limits (Permission-based)
# Pattern: neoessentials.home.<amount>
# The player can have up to <amount> homes
# The highest matching permission wins
# Examples:
#   neoessentials.home.1  - Allows 1 home
#   neoessentials.home.5  - Allows 5 homes
#   neoessentials.home.10 - Allows 10 homes
#   neoessentials.home.50 - Allows 50 homes
# If no permission is set, the config default is used
# These are checked dynamically (1-100 range)

### Warp System
neoessentials.teleport.warp - Use warp system (default: true)
neoessentials.teleport.warp.create - Create warps (default: false)
neoessentials.teleport.warp.delete - Delete warps (default: false)
neoessentials.teleport.warp.list - List warps (default: true)

### Dynamic Player Warp Limits (Permission-based)
# Pattern: neoessentials.warp.limit.<amount>
# The player can have up to <amount> player warps
# The highest matching permission wins
# Examples:
#   neoessentials.warp.limit.1  - Allows 1 player warp
#   neoessentials.warp.limit.3  - Allows 3 player warps
#   neoessentials.warp.limit.10 - Allows 10 player warps
#   neoessentials.warp.limit.unlimited - Unlimited player warps
# If no permission is set, the config default is used
# These are checked dynamically (1-100 range)
neoessentials.warp.limit.unlimited - Unlimited player warps (default: false)

### Spawn System
neoessentials.teleport.spawn - Use spawn teleportation (default: true)
neoessentials.teleport.spawn.set - Set spawn location (default: false)
neoessentials.teleport.spawn.info - View spawn information (default: false)
neoessentials.teleport.spawn.clear - Clear spawn location (default: false)

### Miscellaneous Teleportation
neoessentials.teleport.back - Use back teleportation (default: true)
neoessentials.teleport.death - Teleport to death location (default: true)
neoessentials.teleport.top - Teleport to highest block (default: true)
neoessentials.teleport.jump - Teleport through walls (default: true)
neoessentials.teleport.jumpto - Teleport to looking at (default: true)
neoessentials.teleport.tpr - Random teleportation (default: true)
neoessentials.teleport.tpa - Alias for request.tpa (default: true)
neoessentials.teleport.tpahere - Alias for request.tpahere (default: true)
neoessentials.teleport.back.death - Use /back to death location (default: true)
neoessentials.teleport.back.teleport - Use /back to previous teleport (default: true)
neoessentials.teleport.back.tpa - Use /back to previous tpa/tpahere (default: true)
neoessentials.teleport.back.spawn - Use /back to previous spawn (default: true)
neoessentials.teleport.back.home - Use /back to previous home (default: true)
neoessentials.teleport.back.warp - Use /back to previous warp (default: true)
neoessentials.teleport.back.tpr - Use /back to previous random teleport (default: true)
neoessentials.teleport.back.tp - Use /back to previous admin teleport (default: true)
neoessentials.teleport.back.tpo - Use /back to previous tpo (default: true)
neoessentials.teleport.back.tphere - Use /back to previous tphere (default: true)
neoessentials.teleport.back.tppos - Use /back to previous tppos (default: true)
neoessentials.teleport.back.tptop - Use /back to previous tptop (default: true)
neoessentials.teleport.back.jump - Use /back to previous jump (default: true)
neoessentials.teleport.back.jumpto - Use /back to previous jumpto (default: true)
neoessentials.teleport.back.unsafe - Use /back to unsafe locations (default: false)
neoessentials.teleport.home.confirm - Confirm home overwrite/delete (default: true)
neoessentials.teleport.home.unsafe - Set home in unsafe locations (default: false)
neoessentials.teleport.warp.unsafe - Use warp to unsafe locations (default: false)
neoessentials.teleport.spawn.unsafe - Use spawn in unsafe locations (default: false)

## ═══════════════════════════════════════════════════════════
## KIT SYSTEM PERMISSIONS
## ═══════════════════════════════════════════════════════════
neoessentials.kits.use - Use kit system (default: true)
neoessentials.kits.list - List available kits (default: true)
neoessentials.kits.nocooldown - Bypass kit cooldowns (default: false)
neoessentials.kits.admin - Kit administration (default: false)
neoessentials.kits.admin.create - Create kits (default: false)
neoessentials.kits.admin.delete - Delete kits (default: false)
neoessentials.kits.admin.list - List all kits (admin) (default: false)
neoessentials.kits.preview - Preview kits (default: true)
neoessentials.kits.cooldown - View kit cooldowns (default: true)
neoessentials.kits.admin.edit - Edit kits (default: false)
neoessentials.kits.admin.give - Give kits to players (default: false)
neoessentials.kits.admin.reset - Reset kit cooldowns (default: false)

### Dynamic Kit Permissions (created per kit)
# neoessentials.kits.<kitname> - Use specific kit (e.g., neoessentials.kits.starter)
# neoessentials.kits.<kitname>.nocooldown - Bypass cooldown for specific kit

## ═══════════════════════════════════════════════════════════
## ITEM MANAGEMENT PERMISSIONS
## ═══════════════════════════════════════════════════════════
neoessentials.item.repair - Repair items (default: false)
neoessentials.item.enchant - Enchant items (default: false)
neoessentials.item.enchant.unsafe - Unsafe enchanting (default: false)
neoessentials.item.enchant.others - Enchant others' items (default: false)
neoessentials.item.powertool - Use powertools (default: false)
neoessentials.item.powertool.toggle - Toggle powertools (default: false)
neoessentials.item.dispose - Use disposal system (default: true)
neoessentials.item.clearinventory - Clear inventory (default: false)
neoessentials.item.clearinventory.others - Clear others' inventory (default: false)
neoessentials.item.rename - Rename items (default: false)
neoessentials.item.lore - Set item lore (default: false)
neoessentials.item.lore.others - Set item lore for others (default: false)
neoessentials.item.rename.others - Rename items for others (default: false)
neoessentials.item.repair.others - Repair items for others (default: false)
neoessentials.item.endersee.others - View others' ender chests (default: false)
neoessentials.item.endersee.edit.others - Edit others' ender chests (default: false)
neoessentials.item.invsee.others - View others' inventories (default: false)
neoessentials.item.invsee.edit.others - Edit others' inventories (default: false)

# Inventory Viewing/Editing
neoessentials.item.invsee - View other players' inventories (default: false)
neoessentials.item.invsee.edit - Edit other players' inventories (default: false)
neoessentials.item.endersee - View other players' ender chests (default: false)
neoessentials.item.endersee.edit - Edit other players' ender chests (default: false)

## ═══════════════════════════════════════════════════════════
## CHAT & MESSAGING PERMISSIONS
## ═══════════════════════════════════════════════════════════
neoessentials.chat.msg - Send private messages (default: true)
neoessentials.chat.reply - Reply to messages (default: true)
neoessentials.chat.ignore - Ignore players (default: true)
neoessentials.chat.unignore - Unignore players (default: true)
neoessentials.chat.msgtoggle - Toggle message acceptance (default: true)
neoessentials.chat.socialspy - Use social spy (default: false)
neoessentials.chat.mute - Mute players (default: false)
neoessentials.chat.unmute - Unmute players (default: false)
neoessentials.chat.mutelist - View mute list (default: false)
neoessentials.chat.exempt - Exempt from muting (default: false)
neoessentials.chat.channel - Use chat channels (default: true)
neoessentials.chat.channel.global - Use global chat channel (default: true)
neoessentials.chat.channel.local - Use local chat channel (default: true)
neoessentials.chat.channel.staff - Use staff chat channel (default: false)
neoessentials.chat.channel.custom - Use custom chat channels (default: false)
neoessentials.chat.channel.discord - Use Discord chat integration (default: false)
neoessentials.chat.color - Use color codes in chat (default: false)
neoessentials.chat.color.hex - Use hex color codes in chat (default: false)
neoessentials.chat.format - Use formatting codes in chat (default: false)
neoessentials.chat.mention - Mention players in chat (default: true)
neoessentials.chat.mention.notify - Receive mention notifications (default: true)
neoessentials.chat.mention.exempt - Exempt from mention notifications (default: false)
neoessentials.chat.badge - Use chat badges (default: false)
neoessentials.chat.badge.admin - Use admin badge (default: false)
neoessentials.chat.badge.staff - Use staff badge (default: false)
neoessentials.chat.badge.custom - Use custom badges (default: false)
neoessentials.chat.anti-spam - Exempt from anti-spam (default: false)
neoessentials.chat.anti-caps - Exempt from anti-caps (default: false)
neoessentials.chat.anti-link - Exempt from anti-link (default: false)
neoessentials.chat.anti-repeat - Exempt from anti-repeat (default: false)
neoessentials.chat.anti-ad - Exempt from anti-advertising (default: false)
neoessentials.chat.anti-unicode - Exempt from anti-unicode (default: false)
neoessentials.chat.anti-unicode.bypass - Bypass anti-unicode (default: false)
neoessentials.chat.anti-spam.bypass - Bypass anti-spam (default: false)
neoessentials.chat.anti-caps.bypass - Bypass anti-caps (default: false)
neoessentials.chat.anti-link.bypass - Bypass anti-link (default: false)
neoessentials.chat.anti-repeat.bypass - Bypass anti-repeat (default: false)
neoessentials.chat.anti-ad.bypass - Bypass anti-advertising (default: false)

## ═══════════════════════════════════════════════════════════
## AFK SYSTEM PERMISSIONS
## ═══════════════════════════════════════════════════════════
neoessentials.afk - Use AFK system (default: true)
neoessentials.afk.auto - Auto AFK detection (default: true)
neoessentials.afk.notify - Receive AFK notifications (default: true)
neoessentials.afk.bypass - Bypass AFK restrictions (default: false)
neoessentials.afk.exempt - Exempt from AFK kick (default: false)

## ═══════════════════════════════════════════════════════════
## PERMISSION SYSTEM PERMISSIONS
## ═══════════════════════════════════════════════════════════
neoessentials.permissions.admin - Permission system administration (default: false)
neoessentials.permissions.reload - Reload permissions (default: false)
neoessentials.permissions.list - List permissions (default: false)
neoessentials.permissions.user - User permission management (default: false)
neoessentials.permissions.group - Group permission management (default: false)
neoessentials.permissions.user.add - Add user permissions (default: false)
neoessentials.permissions.user.remove - Remove user permissions (default: false)
neoessentials.permissions.group.add - Add group permissions (default: false)
neoessentials.permissions.group.remove - Remove group permissions (default: false)
neoessentials.permissions.group.prefix - Set group prefix (default: false)
neoessentials.permissions.group.suffix - Set group suffix (default: false)
neoessentials.permissions.group.meta - Set group meta (default: false)
neoessentials.permissions.user.prefix - Set user prefix (default: false)
neoessentials.permissions.user.suffix - Set user suffix (default: false)
neoessentials.permissions.user.meta - Set user meta (default: false)
neoessentials.permissions.group.list - List groups (default: false)
neoessentials.permissions.user.list - List users (default: false)
neoessentials.permissions.group.info - View group info (default: false)
neoessentials.permissions.user.info - View user info (default: false)
neoessentials.permissions.group.inherit - Set group inheritance (default: false)
neoessentials.permissions.user.inherit - Set user inheritance (default: false)
neoessentials.permissions.group.weight - Set group weight (default: false)
neoessentials.permissions.user.weight - Set user weight (default: false)

## ═══════════════════════════════════════════════════════════
## WILDCARD PERMISSIONS (Grant Multiple Permissions)
## ═══════════════════════════════════════════════════════════
neoessentials.* - ALL NeoEssentials permissions (super admin)
neoessentials.admin.* - All administrative permissions
neoessentials.economy.* - All economy permissions
neoessentials.teleport.* - All teleportation permissions
neoessentials.kits.* - All kit permissions
neoessentials.item.* - All item management permissions
neoessentials.chat.* - All chat permissions
neoessentials.permissions.* - All permission system permissions

## ═══════════════════════════════════════════════════════════
## USAGE EXAMPLES
## ═══════════════════════════════════════════════════════════

# For LuckPerms:
# /lp group admin permission set neoessentials.* true
# /lp group moderator permission set neoessentials.teleport.* true
# /lp group default permission set neoessentials.teleport.home true
# /lp user PlayerName permission set neoessentials.kits.starter true

# For Internal Permission System (permissions.json):
# {
#   "groups": [
#     {
#       "name": "admin",
#       "permissions": ["neoessentials.*"]
#     },
#     {
#       "name": "default",
#       "permissions": [
#         "neoessentials.teleport.home",
#         "neoessentials.teleport.home.set",
#         "neoessentials.economy.balance",
#         "neoessentials.economy.pay",
#         "neoessentials.kits.use"
#       ]
#     }
#   ]
# }

## ═══════════════════════════════════════════════════════════
## COMMON PERMISSION GROUPS
## ═══════════════════════════════════════════════════════════

# DEFAULT GROUP (Basic Player):
# - neoessentials.economy.balance
# - neoessentials.economy.pay
# - neoessentials.economy.pay.toggle
# - neoessentials.economy.baltop
# - neoessentials.item.repair
# - neoessentials.item.dispose
# - neoessentials.chat.msg
# - neoessentials.chat.reply
# - neoessentials.chat.ignore
# - neoessentials.chat.unignore
# - neoessentials.chat.msgtoggle
# - neoessentials.afk
# - neoessentials.kits.use
# - neoessentials.kits.list
# - neoessentials.teleport.home
# - neoessentials.teleport.home.set
# - neoessentials.teleport.home.delete
# - neoessentials.teleport.home.list
# - neoessentials.teleport.spawn
# - neoessentials.teleport.warp
# - neoessentials.teleport.warp.list
# - neoessentials.teleport.request.tpa
# - neoessentials.teleport.request.tpahere
# - neoessentials.teleport.request.accept
# - neoessentials.teleport.request.deny
# - neoessentials.teleport.request.cancel
# - neoessentials.teleport.back
# - neoessentials.teleport.top
# - neoessentials.info

# MODERATOR GROUP (Staff):
# Inherits from default, plus:
# - neoessentials.economy.balance.others
# - neoessentials.economy.admin
# - neoessentials.item.*
# - neoessentials.chat.mute
# - neoessentials.chat.unmute
# - neoessentials.chat.mutelist
# - neoessentials.chat.socialspy
# - neoessentials.afk.exempt
# - neoessentials.permissions.reload
# - neoessentials.permissions.list
# - neoessentials.kits.admin.create
# - neoessentials.kits.admin.delete
# - neoessentials.kits.admin.list
# - neoessentials.teleport.admin.tp
# - neoessentials.teleport.admin.tphere
# - neoessentials.teleport.admin.tppos
# - neoessentials.teleport.home.others
# - neoessentials.teleport.warp.create
# - neoessentials.teleport.warp.delete
# - neoessentials.teleport.spawn.set
# - neoessentials.teleport.jump
# - neoessentials.teleport.jumpto
# - neoessentials.teleport.tpr

# ADMIN GROUP (Full Access):
# - neoessentials.*

## ═══════════════════════════════════════════════════════════
## TROUBLESHOOTING
## ═══════════════════════════════════════════════════════════

# Permission not working? Check:
# 1. Correct spelling: Use "teleport" NOT "teleportation", "item" NOT "items"
# 2. Proper inheritance: Child groups inherit from parent groups
# 3. Wildcard coverage: neoessentials.teleport.* covers all teleport.* permissions
# 4. Cache cleared: /neoessentials reload or restart server
# 5. External sync: If using LuckPerms, ensure permissions are synced

# Common Mistakes:
# ❌ neoessentials.items.repair      → ✅ neoessentials.item.repair
# ❌ neoessentials.teleportation.home → ✅ neoessentials.teleport.home
# ❌ neoessentials.utils.afk          → ✅ neoessentials.afk
# ❌ neoessentials.economy.paytoggle  → ✅ neoessentials.economy.pay.toggle

## ═══════════════════════════════════════════════════════════
## WEB DASHBOARD PERMISSIONS
## ═══════════════════════════════════════════════════════════
neoessentials.dashboard.access - Basic dashboard access (login ability) (default: false)
neoessentials.dashboard.admin - Full dashboard administration (default: false)
neoessentials.dashboard.moderator - Dashboard moderator access (default: false)
neoessentials.dashboard.view - View dashboard statistics (default: false)
neoessentials.dashboard.players - View/manage players (default: false)
neoessentials.dashboard.commands - Execute commands via dashboard (default: false)

# Dashboard Administration
neoessentials.dashboard.admin.restart - Restart server via dashboard (default: false)
neoessentials.dashboard.admin.stop - Stop server via dashboard (default: false)
neoessentials.dashboard.admin.reload - Reload configs via dashboard (default: false)
neoessentials.dashboard.admin.save - Save all worlds via dashboard (default: false)
neoessentials.dashboard.admin.users - Manage dashboard users (default: false)
neoessentials.dashboard.admin.sessions - View active sessions (default: false)
neoessentials.dashboard.admin.files - File management access (default: false)

## ═══════════════════════════════════════════════════════════
## ADDITIONAL INFORMATION
## ═══════════════════════════════════════════════════════════

# Total Registered Permissions: 100+
# Permission Categories: 10 (Core, Economy, Teleport, Kits, Items, Chat, Misc, Admin, Dashboard, Moderation)
# Supports: LuckPerms, FTB Ranks, Internal Permission System
# Validation: Automatic validation on server startup
# Caching: Configurable permission caching with expiry

# For complete documentation, see:
# - docs/wiki/PermissionSystem.md
# - PERMISSION_NODES_FIX.md
# - PERMISSION_NODES_SUMMARY.md

# Configuration Files:
# - config/neoessentials/config.json (main config)
# - config/neoessentials/permissions.json (internal permissions)
# - config/neoessentials/discord_auth.json (Discord authentication)

# Commands:
# /neoessentials reload - Reload all configurations
# /permissions list - List all registered permissions (if permissions module enabled)
# /dashboard - Manage dashboard server (requires neoessentials.admin.dashboard)

## ═══════════════════════════════════════════════════════════
## END OF PERMISSION NODES REFERENCE
## ═══════════════════════════════════════════════════════════

# NeoEssentials Utility Commands and Permissions
# Last Updated: January 18, 2026
#
# This section lists all utility commands and their required permission nodes.
# All commands are strictly locked behind their respective permission nodes.

## ═══════════════════════════════════════════════════════════
## UTILITY COMMANDS & PERMISSIONS
## ═══════════════════════════════════════════════════════════
# /motd - Message of the Day
neoessentials.motd - Use /motd
neoessentials.motd.reload - Reload MOTD
neoessentials.motd.set - Set MOTD

# /nick - Set nickname
neoessentials.nick - Use /nick

# /near - Show nearby players
neoessentials.near - Use /near

# /ping - Show ping
neoessentials.ping - Use /ping
neoessentials.ping.others - Check others' ping

# /depth - Show depth
neoessentials.depth - Use /depth
neoessentials.depth.others - Check others' depth

# /helpop - Request help
neoessentials.helpop - Use /helpop

# /rules - View rules
neoessentials.rules - Use /rules

# /suicide - Kill self
neoessentials.suicide - Use /suicide

# /seen - Last seen info
neoessentials.seen - Use /seen

# /list - List online players
neoessentials.list - Use /list

# /mail - Player mail system
neoessentials.mail - Use /mail

# /getpos - Get position
neoessentials.getpos - Use /getpos
neoessentials.getpos.others - Check others' position

# /whois - Player info
neoessentials.whois - Use /whois
neoessentials.whois.detailed - Detailed info

# /realname - Real username
neoessentials.realname - Use /realname

# /sign - Sign editing
neoessentials.sign - Use /sign

# /crafting - Open crafting table
neoessentials.crafting - Use /crafting

# /grindstone - Open grindstone
neoessentials.grindstone - Use /grindstone

# /smithing - Open smithing table
neoessentials.smithing - Use /smithing

# /stonecutting - Open stonecutter
neoessentials.stonecutting - Use /stonecutting

# /dispose - Item disposal
neoessentials.dispose - Use /dispose

# /msgtoggle - Toggle messages
neoessentials.msgtoggle - Use /msgtoggle

# /ignore - Ignore players
neoessentials.ignore - Use /ignore

# /unignore - Unignore players
neoessentials.unignore - Use /unignore

# /mutelist - View mute list
neoessentials.mutelist - Use /mutelist

# /mute - Mute players
neoessentials.mute - Use /mute

# /unmute - Unmute players
neoessentials.unmute - Use /unmute

# /socialspy - Social spy
neoessentials.socialspy - Use /socialspy

# /dashboard - Web dashboard
neoessentials.dashboard.access - Dashboard access
neoessentials.dashboard.admin - Dashboard admin
neoessentials.dashboard.moderator - Dashboard moderator
neoessentials.dashboard.view - View dashboard
neoessentials.dashboard.players - Manage players
neoessentials.dashboard.commands - Execute commands

# All utility commands are strictly permission-locked.
# Wildcard: neoessentials.utility.*
