Tags
Creators
Details
1.5.0
Compatibility
Changes
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
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:RuKNgtS0:sxgAbXan"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:RuKNgtS0:sxgAbXan"
}

