Added
-
FlightCommand: Added the ability to toggle flight mode for other players.
- New command syntax:
/fly [player]
- If a player name is specified, the flight mode for that player will be toggled.
- If no player is specified, the command will toggle the sender's flight mode.
- Proper feedback messages are sent to both the sender and the target player when toggling flight status.
- New command syntax:
-
RankCommand: Expanded the rank management functionality to allow players to assign ranks to other players.
- New command syntax for
/rank join
and/rank leave
:/rank join <rank> [player]
: Adds the rank to the specified player or to the sender if no player is specified./rank leave <rank> [player]
: Removes the rank from the specified player or from the sender if no player is specified.
- Updated the tab completion to suggest player names and ranks.
- New command syntax for
Fixed
-
FlightCommand: Fixed an issue where flight status would not update correctly when used by players with limited permissions.
-
RankCommand: Fixed issues related to rank display colors and team assignment in the scoreboard. Players now correctly reflect their rank colors in the tab list and display name.
- Improved display name handling to apply rank colors properly.
- Ensured that team updates are processed correctly when players join or leave ranks.
Changed
- RankCommand: Refactored rank color handling to improve maintainability. Colors for ranks are now handled consistently throughout the command and associated teams.
- Updated messages for rank-related commands to be more informative and user-friendly.
Fixes
/broadcast
/craft
/heal
/invsee
/mute
/repair
/top
/treecapitator
/xray
Fixes:
-
Vanish Command:
- Fixed an issue where vanished players were not correctly hidden from others.
- Correctly re-applies vanish effects on player re-login to ensure they remain invisible.
- Addressed a bug where vanished players could still be targeted by commands or NPCs.
-
Killall Command:
- Resolved an issue where the
killall
command would occasionally not affect certain entity types. - Added improved filtering for entity categories (
items
,monsters
,players
,itemframes
,animals
,entities
). - Ensured entities targeted by the
killall
command are properly removed across all dimensions.
- Resolved an issue where the
Additions:
-
Tpa Command:
- Added the
/tpa <player>
command to request teleportation to another player. - Introduced a timeout system for teleport requests with configurable duration (default: 60 seconds).
- Implemented permission checks for
proton.tpa
to control command access.
- Added the
-
Tpahere Command:
- Added the
/tpahere <player>
command to request another player to teleport to your location. - Integrated permission checks under
proton.tpahere
for fine-grained control over who can use the command. - Both
tpa
andtpahere
commands now support configurable messages for request and response handling.
- Added the
-
Tpaccept and Tpdeny Commands:
- Introduced the
/tpaccept
command to allow players to accept incoming teleport requests. - Added the
/tpdeny
command to reject teleport requests. - Both commands support aliases (
/accept
,/deny
) for ease of use. - Players will receive notifications upon request acceptance or denial.
- Introduced the
Added
- Teleportation Requests (TPA):
- Added
/tpa
command for requesting teleportation to another player. - Added
/tpahere
command for requesting another player to teleport to you. - Added
/tpaccept
command to accept incoming teleportation requests. - Added
/tpdeny
command to deny incoming teleportation requests. - Configurable request sound and teleport sound.
- Added
Changes
- Home Command Enhancements:
- Added support for setting multiple homes with names.
- Improved home management with configurable max number of homes based on player ranks.
- Configurable home settings such as teleport delay and sounds.
Fixed
- Teleportation Issues:
- Fixed issues where teleportation commands (
/tpa
,/tpahere
,/tpaccept
,/tpdeny
) were not working correctly. Ensure commands are functional and provide proper feedback to players.
- Fixed issues where teleportation commands (
Known Issues
-
TPA Commands:
- Some players reported issues with TPA commands not responding as expected. This has been addressed in the fix section but ensure to verify all functionalities in your environment.
-
Skull Command:
- Not working
Miscellaneous
- Configuration Changes:
- Updated configuration paths and default values for home settings and teleportation features.
- Ensure to review and update your configuration files to match the new format and options.
Notes
-
Configuration Reload:
- After updating to this version, please reload or restart your server to apply all configuration changes.
-
Permissions:
- Ensure players have appropriate permissions for the new commands and features. Adjust permissions based on the new rank-based home limits and TPA functionalities.
Key Fixes and Improvements:
-
Rank Display Fixes:
- Resolved an issue where player ranks were only updating in chat, but not reflected in the tab list or display name. The rank system has been updated to ensure consistent rank display across all areas:
- Tab List: Player's rank color and prefix are now properly shown in the tab list.
- Display Name: The player's name (above the head and in chat) is now updated with the correct rank color and prefix.
- Resolved an issue where player ranks were only updating in chat, but not reflected in the tab list or display name. The rank system has been updated to ensure consistent rank display across all areas:
-
Team Integration for Ranks:
- Implemented proper team assignment for ranks using the Minecraft scoreboard system. Players are now added to teams according to their rank, ensuring color consistency across the tab list and player display.
- Dynamic Rank Assignment: Players joining or leaving ranks will have their team updated dynamically, ensuring their display reflects the most current rank.
-
Event-Based Rank Updates:
- Added event listeners to handle rank updates automatically when a player joins the server. The player's display name and tab list name are now updated to reflect their rank immediately upon joining.
- Join Event: On player join, their rank is now fetched and applied to their display name and tab list.
- Quit Event: On player quit, the system ensures any vanish state is cleared properly.
-
Command Fixes:
- Fixed an issue with the
/rank
command where ranks weren't correctly applied in certain scenarios. Players can now join and leave ranks seamlessly, and changes are reflected immediately in both chat and the tab list.
- Fixed an issue with the
Known Issues:
- None reported at this time.
New Features
- Home Command Enhancements:
- Added configurable countdown timer with sound effects for teleportation.
- Players must remain still for 5 seconds before being teleported.
- Countdown action bar message now displays in gray for "seconds" and gold for the number.
- Configurable pitch for countdown and last-second sounds.
- Default sounds for countdown and last second can be changed via
config.yml
. - Added option to cancel teleportation if the player moves during the countdown.
Updates
- Rank Creation Function:
- Updated rank creation functionality to allow for custom color settings in
config.yml
. - Now supports dynamic color changes for ranks including
mod
,admin
,manager
, anddefault
. - Colors for rank names are configurable in
config.yml
, enabling better customization of rank display.
- Updated rank creation functionality to allow for custom color settings in
Fixes
- Home Command Improvements:
- Ensured home names cannot be set to "bed" to avoid conflicts with other functionality.
- Implemented a proper check for the existence of homes before attempting teleportation.
- Fixed issues with empty tab completion results for home names.
- Added default values and error handling for sound configuration in
config.yml
.
Configuration Changes
- Updated
config.yml
Example:home: enabled: true teleport-delay: 5 # Seconds before the player can teleport home teleport-cancel-move: true # Whether movement cancels the teleport max-homes: mod: 3 admin: 5 manager: 10 default: 2 sound: countdown: "BLOCK_NOTE_BLOCK_PLING" # Default sound played every second during countdown last-second: "ENTITY_ENDERMAN_TELEPORT" # Sound played on the last second of countdown pitch: countdown: 1.0 # Default pitch for countdown sound last-second: 1.0 # Default pitch for last-second sound ranks: mod: color: GREEN max-homes: 3 admin: color: DARK_RED max-homes: 5 manager: color: DARK_PURPLE max-homes: 10 default: color: WHITE # Example of configurable color for default rank max-homes: 2
Added
- Rank-based Chat Colors: Implemented rank-based chat color customization. Ranks now have unique colors in the mod chat system.
- Chat Color Conversion: Added a conversion method from
ChatColor
toNamedTextColor
to ensure compatibility with the new chat formatting. - Mute/Unmute Commands: Introduced
/mute
and/unmute
commands for better moderation control. Admins and mods can now mute players, preventing them from sending messages in mod chat. - Visibility for Vanished Players: Enhanced mod chat functionality to allow mods, admins, and managers to see players who are vanished. This ensures that important messages are not missed, even if a player is in vanish mode.
Fixed
- Null Reference Handling: Addressed issues where the
pluginrank
reference could be null, leading to errors when accessing rank information. - Color Compatibility: Fixed issues with color display in mod chat by ensuring proper conversion between
ChatColor
andNamedTextColor
. - Mute Command Functionality: Corrected bugs related to the mute command, ensuring it effectively prevents muted players from sending messages.
- Vanished Player Visibility: Resolved issues with visibility permissions, ensuring that vanished players are correctly displayed to mods, admins, and managers.
Notes
- Setup Required: Ensure that
RankCommand
is correctly assigned toModChatCommand
to utilize all features, including rank-based colors and mute/unmute functionality. - Permissions Update: Review and adjust permissions to take full advantage of the new mute/unmute commands and visibility features for vanished players.
Added
- /mute command to mute players for a specified duration. Duration formats include:
1s
for 1 second1m
for 1 minute1h
for 1 hour1d
for 1 day1w
for 1 week1mon
for 1 month1y
for 1 year
- /unmute command to remove the mute status from a player without requiring a duration.
Changed
MuteCommand
now handles both/mute
and/unmute
commands.- /mute command requires a duration parameter.
- /unmute command no longer requires a duration and unmutes the player immediately.
MuteCommand
class now initializes blacklisted commands fromconfig.yml
and checks for blacklisted commands in chat.
Configuration
- Added
mute.blacklisted-commands
list toconfig.yml
to specify which commands should be blocked while a player is muted.
Fixed
- Fixed issue where
MuteCommand
contained duplicate case label for time units. - Fixed handling of blacklisted commands to ensure proper blocking.
Other
- Enhanced tab completion for
/mute
command to include duration formats. - Improved error handling and user feedback for mute/unmute operations.
-
Rank Management:
- Added functionality to dynamically update player ranks and display names.
- Introduced methods to set and modify rank colors, affecting in-game team displays.
-
Mod Chat:
- Enabled mod chat functionality, allowing messages to be visible only to specific ranks.
- Customizable message formatting with player ranks and colors.
-
Vanish Command:
- Implemented visibility toggling for players using the vanish command.
- Enhanced player visibility management, ensuring correct visibility states for vanished players.
-
Player Events:
- Improved handling of player join and quit events, including updates to player display names and visibility.
Bug Fixes
- Method Compatibility:
- Fixed issues related to method compatibility and data type handling.
- Resolved errors related to collection operations and method calls.
Miscellaneous
- Code Improvements:
- Refactored and cleaned up code for better readability and maintainability.
- Updated imports and dependencies to ensure proper functionality.
Added
- /enchant Command Enhancements:
- Abbreviation Support: Added support for enchantment abbreviations (e.g., "sharp" for "sharpness", "eff" for "efficiency").
- Remove Enchantments: Added functionality to remove enchantments by specifying a level of
0
. - Tab Completion: Tab completion now includes both full enchantment names and their abbreviations.
Changed
- Command Argument Handling:
- Updated argument handling in the
/enchant
command to properly interpret both full names and abbreviations for enchantments. - Improved tab completion to provide users with both full and abbreviated names of enchantments.
- Updated argument handling in the
Fixed
- Command Parsing:
- Fixed issues with parsing enchantment names and levels in the
/enchant
command to ensure accurate enchantment application and removal.
- Fixed issues with parsing enchantment names and levels in the
Changes Since Last Changelog
Features Added:
-
Deep-Slate Ore Support:
- Added support for detecting deep-slate variants of ores (e.g.,
DEEPSLATE_DIAMOND_ORE
). - Updated the
isDetectedOre
method to handle both standard ores and deep-slate variants.
- Added support for detecting deep-slate variants of ores (e.g.,
-
New Methods:
- Introduced
isOreVariant
to identify if a given material is a variant of a detected ore.
- Introduced
-
Enhanced Ore Naming:
- Improved
formatOreName
to handle names for both standard and deep-slate ores, ensuring consistent messaging.
- Improved
-
Improved Vein Detection:
- Modified vein detection logic to include all 26 neighboring blocks, including diagonal directions.
-
Message Sending Optimization:
- Added a
processedBlocks
set to track processed blocks within a vein to avoid duplicate messages. - Implemented checks to ensure messages are sent only once per group of connected ores.
- Added a
Bug Fixes:
-
Message Duplication:
- Fixed an issue where multiple messages were sent for subsequent mining actions within the same vein.
-
Ore Detection Consistency:
- Resolved issues with ore detection for blocks replaced in an already found vein.
Other Improvements:
- Performance Enhancements:
- Optimized vein detection and message sending logic for better performance.
Additional Updates
-
Enhanced
/killall
Command:- Added tab completion support and integrated better argument suggestions.
- Ensured the
KillAllCommand
class implementsCommandExecutor
andTabCompleter
properly.
-
Deprecated Method Replacements:
- Updated deprecated methods related to player list names and scoreboard team prefixes.
-
Command Registration:
- Fixed command registration issues and ensured proper integration of commands with updated API methods.
-
Configuration Updates:
- Added detailed command descriptions and usage information in the plugin configuration.
Summary of All Updates Since Last Changelog
-
New Features:
- Deep-slate ore support.
- New methods for ore variant detection.
- Enhanced ore naming consistency.
- Improved vein detection logic.
- Optimized message sending.
-
Bug Fixes:
- Fixed issues with duplicate messages and ore detection in veins.
-
Other Improvements:
- Performance optimization and deprecated method updates.
- Enhanced command handling and configuration updates.
Changes:
-
Added support for detecting deep-slate variants of ores. Now, ores like
DEEPSLATE_DIAMOND_ORE
are recognized as part of the same group as their standard counterparts (DIAMOND_ORE
). -
Updated the
isDetectedOre
method to handle both standard ores and their deep-slate variants, ensuring that all relevant ores are correctly identified. -
Introduced the
isOreVariant
method to determine if a given material is a variant of a detected ore. This method accounts for different ore types such as deep-slate variants. -
Enhanced the
formatOreName
method to include names for both standard and deep-slate ores. This ensures that messages display consistent ore names regardless of the variant mined. -
Modified the vein detection logic to handle all 26 neighboring blocks, including diagonals, ensuring that ores connected in any direction are recognized as part of the same vein.
-
Implemented checks to ensure that messages are only sent once per group of connected ores, preventing multiple messages for a single vein of ores.
-
Added a
processedBlocks
set to track all processed blocks within a vein to avoid sending duplicate messages when mining multiple blocks within the same vein. -
Ensured that if a block is replaced in a previously processed vein, it will be detected correctly and not trigger duplicate messages.
Bug Fixes:
-
Fixed an issue where messages were incorrectly sent for subsequent mining actions in the same vein, ensuring that only one message is sent per vein.
-
Resolved the issue of ore detection not working for blocks replaced in an already found vein, ensuring consistent behavior.
Other Improvements:
- Enhanced performance by optimizing vein detection and message sending logic.
New Features:
-
X-Ray Command: Added the /xray [on|off] command.
-
/xray on: Enables X-Ray visibility for the player, allowing them to see when others mine diamonds or ancient debris.
-
/xray off: Disables X-Ray visibility for the player.
Updates:
-
Permissions: Enhanced permission checks for various commands to ensure proper access control.
-
Player Display Names: Improved player display names and rank handling, including updated methods for managing ranks and prefixes.
Fixes:
-
Bug Fixes: Addressed various minor bugs and improved stability.
-
Command Registration: Fixed issues with command registration and execution for better reliability.
Added
- /npc [under development]
- fixed error with mod chat
- fixed error with rank colors and rank display in chat
- fixed error with npc command spawning villager
first test verision