Skip to content

Commit

Permalink
2.2.006
Browse files Browse the repository at this point in the history
  • Loading branch information
nossr50 committed Apr 13, 2024
1 parent c0952a2 commit 1cac6b1
Show file tree
Hide file tree
Showing 7 changed files with 17 additions and 25 deletions.
9 changes: 7 additions & 2 deletions Changelog.txt
@@ -1,20 +1,25 @@
Version 2.2.006
Added new config custom_item_support.yml
Added support for hex color codes in the locale file, uses the format &#RRGGBB (see notes)
Added setting to disable repair on items with custom models, this is not on by default
Fixed a bug where sometimes the locale name of a skill would get lowercased
Fixed a bug where JSON text components did not get colored properly some of the time
Fixed en_US locale string 'Commands.Skill.Leaderboard' not being colored properly
Fixed skill commands incorrectly telling you to use their locale name, this isn't currently possible
Updated outdated wiki URLs in commands to point to the new wiki
Removed the msg about skills being migrated to a new system when using /mmoinfo command
Added new config custom_item_support.yml
Added setting to disable repair on items with custom models, this is not on by default
Added new locale entry 'Anvil.Repair.Reject.CustomModelData'
Added new locale entry 'Anvil.Salvage.Reject.CustomModelData'
Updated en_US locale entry 'JSON.DescriptionHeader'
(API/Codebase) Added some util methods and basic unit tests for LocaleLoader

NOTES:
Hex Color support in locale files is here!
The hex color code format for the locale files is &#RRGGBB
An example entry applying yellow as a hex color code would look like this:
Axes.SkillName=&#FFFF00Axes
In general, JSON locale entries will either not work with hex color codes or will have the color code stripped out, in the future I will add support for the JSON components to use hex colors from the locale

Let me know in detail what kind of support you'd like to see in mcMMO regarding custom items, I'm open to suggestions.
This update adds a new config file to allow server owners to disable repair or salvage on items with custom models,
This prevention mechanism is not enabled by default, change the settings in custom_item_support.yml if you want to enable it.
Expand Down
2 changes: 1 addition & 1 deletion pom.xml
Expand Up @@ -2,7 +2,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>com.gmail.nossr50.mcMMO</groupId>
<artifactId>mcMMO</artifactId>
<version>2.2.006-SNAPSHOT</version>
<version>2.2.006</version>
<name>mcMMO</name>
<url>https://github.com/mcMMO-Dev/mcMMO</url>
<scm>
Expand Down
Expand Up @@ -20,7 +20,6 @@
import com.gmail.nossr50.locale.LocaleLoader;
import com.gmail.nossr50.mcMMO;
import com.gmail.nossr50.util.text.StringUtils;
import org.bukkit.Bukkit;
import org.bukkit.command.PluginCommand;

import java.util.ArrayList;
Expand Down
Expand Up @@ -4,7 +4,6 @@
import com.gmail.nossr50.datatypes.player.McMMOPlayer;
import com.gmail.nossr50.datatypes.skills.PrimarySkillType;
import com.gmail.nossr50.locale.LocaleLoader;
import com.gmail.nossr50.mcMMO;
import com.gmail.nossr50.util.player.PlayerLevelUtils;
import com.gmail.nossr50.util.text.StringUtils;
import org.bukkit.boss.BarColor;
Expand Down
Expand Up @@ -19,6 +19,7 @@
import net.kyori.adventure.text.format.NamedTextColor;
import net.kyori.adventure.text.format.TextColor;
import net.kyori.adventure.text.format.TextDecoration;
import org.bukkit.ChatColor;
import org.bukkit.entity.Player;
import org.jetbrains.annotations.NotNull;

Expand Down Expand Up @@ -235,8 +236,8 @@ private static ClickEvent getUrlClickEvent(String url) {
}

private static Component getSubSkillTextComponent(Player player, SubSkillType subSkillType) {
//Get skill name
final String skillName = subSkillType.getLocaleName();
//Get skill name and strip it of color
final String skillName = ChatColor.stripColor(subSkillType.getLocaleName());

boolean skillUnlocked = RankUtils.hasUnlockedSubskill(player, subSkillType);

Expand Down Expand Up @@ -290,11 +291,6 @@ private static TextComponent.Builder initNewSkillTextComponent(Player player, St
return textComponent;
}

private static TextComponent.Builder detectLegacyColors(String msg) {
// TODO: Impl
return null;
}

private static Component getSubSkillHoverComponent(Player player, AbstractSubSkill abstractSubSkill) {
return getSubSkillHoverEventJSON(abstractSubSkill, player);
}
Expand All @@ -311,7 +307,7 @@ private static Component getSubSkillHoverComponent(Player player, SubSkillType s
* @return the hover basecomponent object for this subskill
*/
private static Component getSubSkillHoverEventJSON(AbstractSubSkill abstractSubSkill, Player player) {
String skillName = abstractSubSkill.getNiceName();
String skillName = ChatColor.stripColor(abstractSubSkill.getNiceName());

/*
* Hover Event BaseComponent color table
Expand Down Expand Up @@ -404,7 +400,8 @@ private static void addLocked(TextColor ccLocked, TextColor ccLevelRequirement,
}

private static Component getSubSkillHoverEventJSON(SubSkillType subSkillType, Player player) {
String skillName = subSkillType.getLocaleName();
// Get skill name and strip it of color
String skillName = ChatColor.stripColor(subSkillType.getLocaleName());

/*
* Hover Event BaseComponent color table
Expand Down Expand Up @@ -438,11 +435,9 @@ private static Component getSubSkillHoverEventJSON(SubSkillType subSkillType, Pl
}

componentBuilder.append(Component.newline());
componentBuilder.append(Component.text(LocaleLoader.getString("JSON.DescriptionHeader")));
componentBuilder.color(ccDescriptionHeader);
componentBuilder.append(Component.text(LocaleLoader.getString("JSON.DescriptionHeader")).color(ccDescriptionHeader));
componentBuilder.append(Component.newline());
componentBuilder.append(Component.text(subSkillType.getLocaleDescription()));
componentBuilder.color(ccDescription);
componentBuilder.append(Component.text(ChatColor.stripColor(subSkillType.getLocaleDescription())).color(ccDescription));
}

return componentBuilder.build();
Expand Down
7 changes: 1 addition & 6 deletions src/main/resources/locale/locale_en_US.properties
@@ -1,10 +1,5 @@
#I'm going to try to normalize our locale file, forgive the mess for now.
# TODO: Update JSON to support hex

#DO NOT USE COLOR CODES IN THE JSON KEYS
#COLORS ARE DEFINED IN advanced.yml IF YOU WISH TO CHANGE THEM
JSON.Rank=Rank
JSON.DescriptionHeader=Description
JSON.DescriptionHeader=Description:
JSON.JWrapper.Header=Details
JSON.Type.Passive=Passive
JSON.Type.Active=Active
Expand Down
Expand Up @@ -10,7 +10,6 @@
import java.util.List;

import static org.assertj.core.api.Assertions.assertThat;
import static org.junit.jupiter.api.Assertions.*;

class LocaleLoaderTest {

Expand Down

0 comments on commit 1cac6b1

Please sign in to comment.