
NxCodex
Codex is a Minecraft plugin offering an interactive menu of areas to discover, with timed teleportations based on the player's rank. 🔗 Dependency: HeadDatabase ⭐ Recommended: LuckPerms 🧩 Compatibility: Minecraft 1.16.5 → 1.21.x
Оцените первым
79
4
Список изменений
Version 1.5.0 - Latest Release
🎉 New Features
🎨 Custom Player Head Support
- Base64 Texture Support: Use custom player head textures without any plugin dependency
- HeadDatabase Integration: Optional HeadDatabase support with automatic fallback
- Priority System: HeadDatabase > Head Texture > Material for maximum flexibility
- Native API: Uses Bukkit's PlayerProfile API for better compatibility
Configuration:
zone:
spawn:
material: "GRASS_BLOCK" # Fallback material
# hdb: "12345" # HeadDatabase ID (priority 1, requires HeadDatabase plugin)
# head-texture: "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYmFkYzA0OGE3Y2U3OGY3ZGFkNzJhMDdkYTI3ZDg1YzA5MTY4ODFlNTUyMmVlZWQxZTNkYWYyMTdhMzhjMWEifX19" # Base64 texture (priority 2, no plugin required)
Priority Order:
- HeadDatabase (
hdb: "id") - If HeadDatabase plugin is installed - Head Texture (
head-texture: "base64") - Custom texture without plugin - Material (
material: "STONE") - Standard Minecraft material
🧭 Safe Teleportation System
- Smart Position Detection: Automatically finds safe teleport locations
- Block Collision Prevention: Ensures players don't spawn inside blocks
- Ground Validation: Verifies solid ground beneath player
- Danger Avoidance: Prevents spawning in lava, magma blocks, or unsafe areas
- Auto-Adjustment: Searches up to 3 blocks up/down for safe position
- Block Centering: Centers players on blocks (x.5, z.5) for better positioning
Safety Checks:
- ✅ Feet and head blocks are passable (air or non-solid)
- ✅ Ground block is solid and safe
- ✅ Avoids lava, magma, and water
- ✅ Automatic fallback to nearest safe location
🔄 Player Rotation Support (Yaw/Pitch)
- Full Rotation Control: Save and restore player facing direction
- Automatic Capture: Editor saves current yaw and pitch when setting location
- Precise Orientation: Players face the exact direction configured
- Visual Feedback: Editor displays current rotation values
Configuration:
cordinates:
x: 0.5 # X coordinate (centered on block)
y: 64.0 # Y coordinate
z: 0.5 # Z coordinate (centered on block)
world: "world"
yaw: 0.0 # Horizontal rotation (0-360°)
pitch: 0.0 # Vertical rotation (-90° to 90°)
Rotation Guide:
- Yaw: 0° = South, 90° = West, 180° = North, 270° = East
- Pitch: -90° = Looking up, 0° = Horizon, 90° = Looking down
⚙️ Simplified Configuration
- Hardcoded Modrinth ID: No need to configure update checker ID
- Cleaner Config: Removed
modrinth-idfrom config.yml - Automatic Updates: Update checker works out of the box
🔄 Automatic Config Migration
- Smart Config Updater: Automatically adds missing configuration options
- Zero Downtime: Updates happen on plugin startup
- Backward Compatible: Works with old configuration files
- Safe Updates: Never overwrites existing values
What Gets Updated Automatically:
- Missing
discoverysection in config.yml - Missing
yawandpitchin zone coordinates - Missing
chat-promptsandcooldownsections in guis.yml - Missing
update-notifiermessage in lang.yml - Decimal conversion for coordinates (0 → 0.5 for centering)
- All new configuration options from version 1.5.0
Example:
[ConfigUpdater] Added missing 'discovery' section to config.yml
[ConfigUpdater] codex.yml updated with missing yaw/pitch values
[ConfigUpdater] Added yaw/pitch to guis.yml teleport lore
[ConfigUpdater] config.yml updated successfully
🐛 Bug Fixes
Editor Display Updates
- Fixed: Yaw and pitch values now update correctly in the zone editor
- Fixed: Multiple config reloads when setting teleport location (now single reload)
- Improved: Editor refreshes with updated rotation values immediately
- Optimized: Batch coordinate updates for better performance
Update Checker
- Fixed: Update notification now only shows when remote version is actually newer
- Fixed: Version comparison using semantic versioning (1.5.0 > 1.3.6)
- Fixed: No more false update notifications when running dev/newer versions
- Improved: Smart version parsing with support for suffixes (-SNAPSHOT, -beta)
Gradient System
- Fixed: Gradient colors now render correctly with formatting tags
- Fixed:
<bold>,<italic>,<underline>,<strikethrough>tags properly handled - Fixed: Character counting excludes formatting tags for accurate color distribution
- Improved: Support for short tags (
<b>,<i>,<u>,<st>) - Improved: Better color interpolation across gradient text
Teleportation Issues
- Fixed: Players no longer spawn inside blocks
- Fixed: Teleportation to unsafe locations (lava, void, etc.)
- Fixed: Incorrect player positioning on blocks
- Improved: Teleportation reliability and safety
Head/Skull Support
- Fixed: HeadDatabase dependency is now optional (softdepend)
- Fixed: Plugin works without HeadDatabase installed
- Fixed: Proper fallback when HeadDatabase is not available
- Improved: Better error handling for custom textures
Configuration
- Fixed: Coordinates now support decimal values for precise positioning
- Fixed: Rotation values properly saved and loaded
- Improved: Default values for new zones (centered on blocks)
🔧 Technical Changes
New Classes
-
SkullUtil: Utility class for managing custom player heads
- HeadDatabase API integration
- Base64 texture support
- Automatic plugin detection
-
TeleportUtil: Safe teleportation utility
- Position validation
- Safety checks
- Automatic position adjustment
-
ConfigUpdater: Automatic configuration migration
- Adds missing config options
- Updates old formats to new ones
- Runs on plugin startup
- Safe and non-destructive
Enhanced Classes
- CodexZone: Added
headTexturefield for custom textures - CodexManager:
- Enhanced coordinate loading with yaw/pitch support
- Added
editZoneMultiple()for batch field updates - Optimized reload system for better performance
- CodexMenu: Improved item building with head priority system
- MenuListener:
- Safe teleportation and rotation saving
- Batch coordinate updates (x, y, z, world, yaw, pitch)
- Improved editor refresh logic
- ZoneEditorMenu: Display yaw/pitch in editor GUI with live updates
- UpdateChecker:
- Hardcoded Modrinth ID for simplicity
- Semantic version comparison (major.minor.patch)
- Smart version parsing with suffix support
- ColorUtil:
- Fixed gradient rendering with formatting tags
- Support for
<bold>,<italic>,<underline>,<strikethrough> - Improved color interpolation algorithm
Dependencies
- HeadDatabase: Changed from
dependtosoftdepend - HeadDatabase API: Added as provided dependency
- Bukkit PlayerProfile API: Used for custom head textures
📝 Configuration Changes
codex.yml Updates
Before:
cordinates:
x: 0
y: 64
z: 0
world: "world"
After:
cordinates:
x: 0.5 # Centered on block
y: 64.0
z: 0.5 # Centered on block
world: "world"
yaw: 0.0 # New: Horizontal rotation
pitch: 0.0 # New: Vertical rotation
New Head Options:
# Option 1: HeadDatabase (requires plugin)
hdb: "12345"
# Option 2: Base64 Texture (no plugin required)
head-texture: "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYmFkYzA0OGE3Y2U3OGY3ZGFkNzJhMDdkYTI3ZDg1YzA5MTY4ODFlNTUyMmVlZWQxZTNkYWYyMTdhMzhjMWEifX19"
# Option 3: Standard Material (fallback)
material: "GRASS_BLOCK"
config.yml Updates
Removed:
update-notifier:
modrinth-id: "RuKNgtS0" # No longer needed
Current:
update-notifier:
enabled: true
on-join: true
guis.yml Updates
New Placeholders:
teleport:
lore:
- "&7World: &f%world%"
- "&7X: &f%x%"
- "&7Y: &f%y%"
- "&7Z: &f%z%"
- "&7Yaw: &f%yaw%°" # New
- "&7Pitch: &f%pitch%°" # New
Файлы
NxCodex-1.5.0.jar(7.17 MiB)
ОсновнойМетаданные
Канал релиза
Release
Номер версии
1.5.0
Загрузчики
PaperPurpurSpigot
Версии игры
1.16.5–26.1.2
Загрузок
24
Дата публикации
24.05.2026
