Typewriter Effect – Character-by-character text animation for text elements
Configurable display speed (interval between characters)
Configurable start delay (ticks before animation begins)
Configurable cursor character (blinking cursor at text end)
Supports hot-reload via /cmenu reload
Hover Sound Effect – Sound playback when hovering over text elements
Configurable sound name (supports all Minecraft sounds)
Configurable volume and pitch
Configurable cooldown time (prevents excessive sound playback)
Built-in fallback mechanism for invalid sound configurations
Bug Fixes
Fixed join-run command placeholder replacement issue in config.yml
Built-in placeholders now correctly replace regardless of PlaceholderAPI installation
Supported: %player% , %player_name% , %player_uuid% , %player_displayname% , %player_x% , %player_y% , %player_z% , %player_world% , %player_health% , etc.
⚡ Optimizations
Thread safety: Replaced HashMap with ConcurrentHashMap in HoverEnlargeManager
Memory: Optimized CursorMenuPlugin.getPlayerTextDisplays() using Collections.emptyList()
Stability: Fixed duplicate cleanup in TypewriterEffect with completed flag
Code (Text):
# Hover enlarge effect
# ========== Typewriter Effect (New) ==========
typewriter:
enabled: true # Enable typewriter effect
speed: 2 # Display one character every 2 ticks (lower value = faster)
start-delay: 10 # Delay 10 ticks before starting display (~0.5 seconds)
cursor-char: "|" # Cursor character, can also use "_" or "▌"
# ========== Hover Sound (New) ==========
hover-sound:
name: "minecraft:block.lever.click" # Sound name (required)
volume: 0.8 # Volume 0.0-1.0 (optional, default 1.0)
pitch: 1.2 # Pitch 0.5-2.0 (optional, default 1.0)
cooldown: 20 # Cooldown time in ticks (optional, default 20)