aboutsummaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
authorAaron <51387595+AzureAaron@users.noreply.github.com>2024-05-14 16:03:56 -0400
committerAaron <51387595+AzureAaron@users.noreply.github.com>2024-05-14 16:03:56 -0400
commit743761c3f1592e90ec4412871b0305cb781de1ff (patch)
tree4bb17782686505eab18498969172eac3c855167b /src/main
parente0d734b4620e110ef0a3ccdf5ee9a7568b4baaef (diff)
downloadSkyblocker-743761c3f1592e90ec4412871b0305cb781de1ff.tar.gz
Skyblocker-743761c3f1592e90ec4412871b0305cb781de1ff.tar.bz2
Skyblocker-743761c3f1592e90ec4412871b0305cb781de1ff.zip
Add support for ring of love ability
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/CompactDamage.java13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/CompactDamage.java b/src/main/java/de/hysky/skyblocker/skyblock/CompactDamage.java
index 6105d7c9..5c1ee15e 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/CompactDamage.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/CompactDamage.java
@@ -14,14 +14,15 @@ import java.util.regex.Pattern;
public class CompactDamage {
- private static final Pattern DAMAGE_PATTERN = Pattern.compile("✧?[\\d,]+✧?");
+ private static final Pattern DAMAGE_PATTERN = Pattern.compile("✧?[\\d,]+✧?❤?");
private CompactDamage() {
}
public static void compactDamage(ArmorStandEntity entity) {
if (!entity.isInvisible() || !entity.hasCustomName() || !entity.isCustomNameVisible()) return;
Text customName = entity.getCustomName();
- if (!DAMAGE_PATTERN.matcher(customName.getString()).matches()) return;
+ String customNameStringified = customName.getString();
+ if (!DAMAGE_PATTERN.matcher(customNameStringified).matches()) return;
List<Text> siblings = customName.getSiblings();
if (siblings.isEmpty()) return;
@@ -39,7 +40,10 @@ public class CompactDamage {
} else color = SkyblockerConfigManager.get().uiAndVisuals.compactDamage.normalDamageColor.getRGB() & 0x00FFFFFF;
prettierCustomName = Text.literal("").append(Text.literal(prettifiedDmg).setStyle(customName.getStyle()).withColor(color));
} else { //Crit damage
- String dmg = siblings.subList(1, siblings.size() - 1) //First and last sibling are the crit symbols
+ boolean wasDoubled = customNameStringified.contains("❤");
+ int entriesToRemove = wasDoubled ? 2 : 1;
+
+ String dmg = siblings.subList(1, siblings.size() - entriesToRemove) //First and last sibling are the crit symbols and maybe heart
.stream()
.map(Text::getString)
.reduce("", String::concat) //Concatenate all the siblings to get the dmg number
@@ -58,6 +62,9 @@ public class CompactDamage {
)
));
}
+
+ if (wasDoubled) prettierCustomName.append(Text.literal("❤").formatted(Formatting.LIGHT_PURPLE));
+
prettierCustomName.setStyle(customName.getStyle());
}