diff --git a/Changelog.md b/Changelog.md index 3fc82a26d..29dff0c8d 100644 --- a/Changelog.md +++ b/Changelog.md @@ -2,6 +2,26 @@ Changelog for versions since 2.0.0. +## 2.2.7 + +### New Features +- Add 1.21.4 support +- Add pale garden blocks to Foraging sources +- Add support for external items anywhere that accepts an item key + +### Changes +- Change MythicDamageEvent priority from high to normal +- Support {color} placeholder in leveled_by component of stats menu +- Make anvil discount trait formula configurable in stats.yml +- Change update checker to use Modrinth with loader and version filters + +### Bug Fixes +- Fix slimes and groups of mobs attacking rapidly with no cooldown +- Fix hex colors not working in loot entry message +- Fix xp-gain and custom-loot WorldGuard flags with Fishing loot +- Fix offline player skins not working in leaderboard menu +- Fix double plus in lore when adding some trait modifiers + ## 2.2.6 ### Bug Fixes diff --git a/README.md b/README.md index bdf152c15..992eda88c 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,46 @@ The ultra-versatile Minecraft RPG skills plugin ## About -**AuraSkills** (formerly **Aurelium Skills**) is a Minecraft plugin that adds skills, stats, abilities, and other RPG-related features. The plugin is fully configurable and customizable, enabling use on a wide-range of server types from small SMPs to large, custom MMORPG networks. +**AuraSkills** (formerly **Aurelium Skills**) is a Minecraft plugin that adds skills, stats, abilities, and other RPG-related features. The plugin is fully configurable and customizable, enabling usage on a wide range of server types. + +Features include: +- **Skills** - Gain skill XP to level skills through general Minecraft tasks, such as Farming or Mining. +- **Stats** - Get player buffs like increased health and damage by leveling skills, which can be as independent modifiers and on items. +- **Abilities** - Skills have passive and active abilities that add gameplay mechanics, plus a full mana system. +- **Menus** - Players can see everything related to skills in fully-configurable inventory GUIs. +- **Rewards** - Customize rewards given for leveling skills, such as running commands or giving items. +- **Loot** - Create custom loot tables for fishing, blocks, and mobs. + +See the [official website](https://aurelium.dev/auraskills) and [wiki](https://wiki.aurelium.dev/auraskills) for a more complete list of features. The wiki also contains the list of [server requirements](https://wiki.aurelium.dev/auraskills/server-requirements) to run the plugin. + +## Building + +AuraSkills uses Gradle for dependencies and building. + +#### Compiling from source + +First, clone the project (requires Git to be installed): + +``` +git clone https://github.com/Archy-X/AuraSkills.git +cd AuraSkills/ +``` + +Then build depending on your operating system: + +Linux / macOS + +``` +./gradlew clean build +``` + +Windows + +``` +.\gradlew.bat clean build +``` + +The output jar can be found in the `build/libs` directory. ## API diff --git a/bukkit/src/main/java/dev/aurelium/auraskills/bukkit/commands/SkillsRootCommand.java b/bukkit/src/main/java/dev/aurelium/auraskills/bukkit/commands/SkillsRootCommand.java index 1672437ff..81cde2574 100644 --- a/bukkit/src/main/java/dev/aurelium/auraskills/bukkit/commands/SkillsRootCommand.java +++ b/bukkit/src/main/java/dev/aurelium/auraskills/bukkit/commands/SkillsRootCommand.java @@ -318,7 +318,7 @@ public void onClaimItems(Player player) { @CommandPermission("auraskills.command.version") public void onVersion(CommandSender sender) { Locale locale = plugin.getLocale(sender); - new UpdateChecker(plugin).getVersion((latestVersion, loader) -> sender.sendMessage(plugin.getPrefix(locale) + + new UpdateChecker(plugin).getVersion((latestVersion, id) -> sender.sendMessage(plugin.getPrefix(locale) + TextUtil.replace(plugin.getMsg(CommandMessage.VERSION, locale), "{current_version}", plugin.getDescription().getVersion(), "{latest_version}", latestVersion))); diff --git a/bukkit/src/main/java/dev/aurelium/auraskills/bukkit/util/UpdateChecker.java b/bukkit/src/main/java/dev/aurelium/auraskills/bukkit/util/UpdateChecker.java index f55193334..5866d7172 100644 --- a/bukkit/src/main/java/dev/aurelium/auraskills/bukkit/util/UpdateChecker.java +++ b/bukkit/src/main/java/dev/aurelium/auraskills/bukkit/util/UpdateChecker.java @@ -28,10 +28,10 @@ public UpdateChecker(AuraSkills plugin) { } public void sendUpdateMessageAsync(CommandSender sender) { - getVersion((version, loader) -> { + getVersion((version, id) -> { if (isOutdated(plugin.getDescription().getVersion(), version)) { final String prefix = sender instanceof Player ? plugin.getPrefix(plugin.getDefaultLanguage()) : "[AuraSkills] "; - final String downloadLink = "https://modrinth.com/plugin/" + UpdateChecker.MODRINTH_ID + "/version/" + version + "?loader=" + loader; + final String downloadLink = "https://modrinth.com/plugin/" + UpdateChecker.MODRINTH_ID + "/version/" + id; sender.sendMessage(prefix + ChatColor.WHITE + "New update available! You are on version " + ChatColor.AQUA + plugin.getDescription().getVersion() + ChatColor.WHITE + ", latest version is " + ChatColor.AQUA + version); sender.sendMessage(prefix + ChatColor.WHITE + "Download it on Modrinth: " + ChatColor.YELLOW + "" + ChatColor.UNDERLINE + downloadLink); @@ -80,7 +80,9 @@ public void getVersion(final BiConsumer consumer) { JsonObject firstElement = jsonArray.get(0).getAsJsonObject(); String versionNumber = firstElement.get("version_number").getAsString(); - consumer.accept(versionNumber, loader); + String id = firstElement.get("id").getAsString(); + + consumer.accept(versionNumber, id); } else { this.plugin.getLogger().info("Cannot look for updates: Request failed with status code " + response.statusCode()); } diff --git a/gradle.properties b/gradle.properties index fb83fb875..2fed9a1e1 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,2 +1,2 @@ -projectVersion=2.2.6 +projectVersion=2.2.7 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