1
mirror of https://github.com/StarWishsama/Slimefun4.git synced 2024-09-20 03:35:51 +00:00

Add back singular version of "uses left" lore line

Update regex to match both the plural and singular version
This commit is contained in:
Martin Brom 2021-06-28 12:26:47 +02:00
parent 55683b15b3
commit 9cab256e2b
3 changed files with 10 additions and 6 deletions

View File

@ -22,6 +22,7 @@ import io.github.thebusybiscuit.slimefun4.core.handlers.ItemUseHandler;
import io.github.thebusybiscuit.slimefun4.implementation.SlimefunPlugin;
import io.github.thebusybiscuit.slimefun4.implementation.items.magical.staves.StormStaff;
import io.github.thebusybiscuit.slimefun4.utils.LoreBuilder;
import io.github.thebusybiscuit.slimefun4.utils.PatternUtils;
import me.mrCookieSlime.Slimefun.Lists.RecipeType;
import me.mrCookieSlime.Slimefun.Objects.Category;
import me.mrCookieSlime.Slimefun.api.SlimefunItemStack;
@ -39,8 +40,6 @@ import me.mrCookieSlime.Slimefun.api.SlimefunItemStack;
*/
public abstract class LimitedUseItem extends SimpleSlimefunItem<ItemUseHandler> {
public static final String USES_LEFT_SUFFIX = ChatColors.color("Uses &7left");
private final NamespacedKey defaultUsageKey = new NamespacedKey(SlimefunPlugin.instance(), "uses_left");
private int maxUseCount = -1;
@ -134,7 +133,7 @@ public abstract class LimitedUseItem extends SimpleSlimefunItem<ItemUseHandler>
if (lore != null && !lore.isEmpty()) {
// find the correct line
for (int i = 0; i < lore.size(); i++) {
if (lore.get(i).endsWith(USES_LEFT_SUFFIX)) {
if (PatternUtils.USES_LEFT_LORE.matcher(lore.get(i)).matches()) {
lore.set(i, newLine);
meta.setLore(lore);
item.setItemMeta(meta);

View File

@ -10,7 +10,6 @@ import io.github.thebusybiscuit.slimefun4.core.attributes.MachineTier;
import io.github.thebusybiscuit.slimefun4.core.attributes.MachineType;
import io.github.thebusybiscuit.slimefun4.core.attributes.Radioactivity;
import io.github.thebusybiscuit.slimefun4.implementation.SlimefunItems;
import io.github.thebusybiscuit.slimefun4.implementation.items.LimitedUseItem;
import me.mrCookieSlime.Slimefun.api.SlimefunItemStack;
/**
@ -75,7 +74,7 @@ public final class LoreBuilder {
}
public static @Nonnull String usesLeft(int usesLeft) {
return "&e" + usesLeft + " " + LimitedUseItem.USES_LEFT_SUFFIX;
return "&e" + usesLeft + ' ' + (usesLeft > 1 ? "Uses" : "Use") + " &7left";
}
}

View File

@ -2,6 +2,8 @@ package io.github.thebusybiscuit.slimefun4.utils;
import java.util.regex.Pattern;
import io.github.thebusybiscuit.cscorelib2.chat.ChatColors;
/**
* This class is created for common-use patterns used in things such as {@link String#split(String)}. <br>
* Every time something like {@link String#split(String)} is called it will compile a {@link Pattern},
@ -14,7 +16,8 @@ import java.util.regex.Pattern;
*/
public final class PatternUtils {
private PatternUtils() {}
private PatternUtils() {
}
public static final Pattern COLON = Pattern.compile(":");
public static final Pattern SEMICOLON = Pattern.compile(";");
@ -32,4 +35,7 @@ public final class PatternUtils {
public static final Pattern MINECRAFT_MATERIAL = Pattern.compile("minecraft:[a-z_]+");
public static final Pattern MINECRAFT_TAG = Pattern.compile("#minecraft:[a-z_]+");
public static final Pattern SLIMEFUN_TAG = Pattern.compile("#slimefun:[a-z_]+");
public static final Pattern USES_LEFT_LORE = Pattern.compile(ChatColors.color("&e[0-9]+ Use[s]* &7left"));
}