Skip to content

Commit aec2c4c

Browse files
committed
2.3.0 Release
1 parent 07a3d3e commit aec2c4c

File tree

4 files changed

+89
-4
lines changed

4 files changed

+89
-4
lines changed

Changelog.md

Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,93 @@
22

33
Changelog for versions since 2.0.0.
44

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+
592
## 2.2.8
693

794
### Changes

api-bukkit/build.gradle.kts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,6 @@ if (project.hasProperty("sonatypeUsername") && project.hasProperty("sonatypePass
102102
}
103103

104104
signing {
105-
useGpgCmd()
106105
sign(publishing.publications.getByName("mavenJava"))
107106
isRequired = true
108107
}

api/build.gradle.kts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,6 @@ if (project.hasProperty("sonatypeUsername") && project.hasProperty("sonatypePass
9090
}
9191

9292
signing {
93-
useGpgCmd()
9493
sign(publishing.publications.getByName("mavenJava"))
9594
isRequired = true
9695
}

gradle.properties

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
projectVersion=2.2.8
2-
supportedMCVersions=1.17,1.17.1,1.18,1.18.1,1.18.2,1.19,1.19.1,1.19.2,1.19.3,1.19.4,1.20,1.20.1,1.20.2,1.20.3,1.20.4,1.20.5,1.20.6,1.21,1.21.1,1.21.2,1.21.3,1.21.4
1+
projectVersion=2.3.0
2+
supportedMCVersions=1.20,1.20.1,1.20.2,1.20.3,1.20.4,1.20.5,1.20.6,1.21,1.21.1,1.21.2,1.21.3,1.21.4,1.21.5

0 commit comments

Comments
 (0)