|
2 | 2 |
|
3 | 3 | Changelog for versions since 2.0.0.
|
4 | 4 |
|
| 5 | +## 2.3.0 |
| 6 | + |
| 7 | +### Breaking Changes |
| 8 | +- The plugin now requires at least Java 21 |
| 9 | +- Support for Minecraft 1.18.x and 1.19.x has been dropped |
| 10 | + |
| 11 | +### New Features |
| 12 | +- Add 1.21.5 support |
| 13 | +- Add stat_info menu |
| 14 | + - This allows players to see exactly how their stat and trait levels are calculated |
| 15 | + - Accessed by clicking any of the stat items (glass panes) in the stats menu (/stats) |
| 16 | + - The menu is tab-based and shows stat modifiers by default. Trait modifiers can be viewed by clicking on the tab buttons on the right. |
| 17 | + - Each tab shows any base value, value from skill rewards, and custom modifiers |
| 18 | +- Add percentage-based stat and trait modifiers |
| 19 | + - Modifiers now have an operation value that defines how they are applied |
| 20 | + - The `add_percent` operation multiplies the stat level by 1+value/100 |
| 21 | + - For example, a modifier with value 50 multiplies the stat by 1.5 |
| 22 | + - The values for all `add_percent` modifiers for a stat are added together before multiplying the stat (additive multiplier) |
| 23 | + - The `multiply` operation directly multiplies the stat level by the value |
| 24 | + - For example, a modifier with value 2 doubles the stat level |
| 25 | + - Each `multiply` modifier is applied separately (multiplicative modifier) |
| 26 | + - All existing modifiers use the `add` operation, which is the basic addition to the stat level |
| 27 | + - All `add` modifiers are applied before any `add_percent` or `multiply` modifiers |
| 28 | + - The following existing commands have been modified to add an operation argument: |
| 29 | + - `/skills modifier add <player> <stat> <name> <value> [operation] [silent] [stack]` |
| 30 | + - `/skills trait add <player> <trait> <name> <value> [operation] [silent] [stack]` |
| 31 | + - `/skills item modifier add <player> <stat> <value> [operation] [lore]` |
| 32 | + - `/skills item trait add <player> <trait> <value> [operation] [lore]` |
| 33 | + - `/skills armor modifier add <player> <stat> <value> [operation] [lore]` |
| 34 | + - `/skills armor trait add <player> <trait> <value> [operation] [lore]` |
| 35 | + - The `operation` argument is optional and defaults to `add` |
| 36 | +- Add temporary modifiers |
| 37 | + - Temporary modifiers are automatically removed after certain amount of time |
| 38 | + - Use the following commands to add temporary stat and trait modifiers: |
| 39 | + - `/skills modifier addtemp <player> <stat> <name> <value> <duration> [pauseOffline] [operation] [silent] [stack]` |
| 40 | + - `/skills trait addtemp <player> <trait> <name> <value> <duration> [pauseOffline] [operation] [silent] [stack]` |
| 41 | + - The `duration` argument is in the format `[years]y[months]mo[days]d[hours]h[minutes]m[seconds]s` |
| 42 | + - Examples of valid durations are `5s`, `10m`, and `4d2m1s` |
| 43 | + - The `pauseOffline` argument defines whether the remaining duration should stop counting down when the player is offline (defaults to false) |
| 44 | +- Add block requirements |
| 45 | + - Block requirements are customizable restrictions on breaking, placing, or harvesting blocks |
| 46 | + - Requirements are defined in requirement.blocks.list in config.yml |
| 47 | + - Each element in the list can have the following keys: |
| 48 | + - `material` - The name of the block to add requirements for (required) |
| 49 | + - `allow_break` - Whether to ignore requirements on block break (defaults to false) |
| 50 | + - `allow_place` - Whether to ignore requirements on block place (defaults to false) |
| 51 | + - `allow_harvest` - Whether to ignore requirements on block harvest (defaults to false) |
| 52 | + - When none of the above allow options are defined, the block cannot be broken, placed, or harvested when requirements are not met |
| 53 | + - `requirements` - A map list of the requirement nodes for this block. Each element in the list can have the following keys: |
| 54 | + - `type` - The type of requirement, which can be `skill_level`, `permission`, `excluded_world`, or `stat` |
| 55 | + - `message` - The error message to send to the player when the requirement is not met. Supports MiniMessage and PlaceholderAPI (optional). |
| 56 | + - Each type has specific keys below that must be added to define type behavior. These keys are added in the same indent level as `type`. |
| 57 | + - The `skill_level` type requires the player to be at least a specific level in a skill. Keys: |
| 58 | + - `skill` - The name of the skill to add a level requirement for |
| 59 | + - `level` - The minimum skill level the player must be |
| 60 | + - The `permission` type requires the player to have a specific permission node. Keys: |
| 61 | + - `permission` - The permission node required |
| 62 | + - The `excluded_world` type defines a list of worlds that will make the requirement fail if the player is in one of them. Keys: |
| 63 | + - `worlds` - The list of worlds to not allow the player to be in |
| 64 | + - The `stat` type requires the player to be at least a specific stat level. Keys: |
| 65 | + - `stat` - The name of the stat to add a level requirement for |
| 66 | + - `value` - The minimum stat value that the player must be |
| 67 | + - General options related to the block requirement system are in requirement.blocks: |
| 68 | + - `enabled` - Whether block requirements are checked at all |
| 69 | + - `bypass_in_creative_mode` - Whether to ignore block requirements for players in creative mode (defaults to true) |
| 70 | + - `bypass_if_op` - Whether to ignore block requirements for players that are op (defaults to false) |
| 71 | +- Add addition protections against removing items from menus |
| 72 | + - Enable by setting `menus.removal_protection` in config.yml to true (false by default) |
| 73 | +- Add `speed_reduction` option to Stun ability |
| 74 | +- Add translatable messages for command descriptions and update notification |
| 75 | +- Add `item_model` support in menu and loot items |
| 76 | +- Add `percent_format` and `current_xp_format` options to skills menu |
| 77 | +- Add `xp_format` option to sources menu |
| 78 | +- Add `format` option to stat reward to configure decimals |
| 79 | +- Add Nexo support |
| 80 | + |
| 81 | +### Changes |
| 82 | +- Update Polish, Chinese Simplified, and German messages |
| 83 | +- Storing modifiers with SQL has been moved from the key_values table to a new modifiers table |
| 84 | + - Existing modifiers will be migrated automatically |
| 85 | + - A new schema_migrations table stores previously applied migrations |
| 86 | +- Remove Oraxen support |
| 87 | + |
| 88 | +### Bug Fixes |
| 89 | +- Fix default item options like glow being saved when updating files |
| 90 | +- Fix errors when Anvil Discount is not loaded |
| 91 | + |
5 | 92 | ## 2.2.8
|
6 | 93 |
|
7 | 94 | ### Changes
|
|
0 commit comments