1
mirror of https://github.com/StarWishsama/Slimefun4.git synced 2024-09-20 11:45: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.SlimefunPlugin;
import io.github.thebusybiscuit.slimefun4.implementation.items.magical.staves.StormStaff; import io.github.thebusybiscuit.slimefun4.implementation.items.magical.staves.StormStaff;
import io.github.thebusybiscuit.slimefun4.utils.LoreBuilder; import io.github.thebusybiscuit.slimefun4.utils.LoreBuilder;
import io.github.thebusybiscuit.slimefun4.utils.PatternUtils;
import me.mrCookieSlime.Slimefun.Lists.RecipeType; import me.mrCookieSlime.Slimefun.Lists.RecipeType;
import me.mrCookieSlime.Slimefun.Objects.Category; import me.mrCookieSlime.Slimefun.Objects.Category;
import me.mrCookieSlime.Slimefun.api.SlimefunItemStack; import me.mrCookieSlime.Slimefun.api.SlimefunItemStack;
@ -39,8 +40,6 @@ import me.mrCookieSlime.Slimefun.api.SlimefunItemStack;
*/ */
public abstract class LimitedUseItem extends SimpleSlimefunItem<ItemUseHandler> { 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 final NamespacedKey defaultUsageKey = new NamespacedKey(SlimefunPlugin.instance(), "uses_left");
private int maxUseCount = -1; private int maxUseCount = -1;
@ -134,7 +133,7 @@ public abstract class LimitedUseItem extends SimpleSlimefunItem<ItemUseHandler>
if (lore != null && !lore.isEmpty()) { if (lore != null && !lore.isEmpty()) {
// find the correct line // find the correct line
for (int i = 0; i < lore.size(); i++) { 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); lore.set(i, newLine);
meta.setLore(lore); meta.setLore(lore);
item.setItemMeta(meta); 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.MachineType;
import io.github.thebusybiscuit.slimefun4.core.attributes.Radioactivity; import io.github.thebusybiscuit.slimefun4.core.attributes.Radioactivity;
import io.github.thebusybiscuit.slimefun4.implementation.SlimefunItems; import io.github.thebusybiscuit.slimefun4.implementation.SlimefunItems;
import io.github.thebusybiscuit.slimefun4.implementation.items.LimitedUseItem;
import me.mrCookieSlime.Slimefun.api.SlimefunItemStack; import me.mrCookieSlime.Slimefun.api.SlimefunItemStack;
/** /**
@ -75,7 +74,7 @@ public final class LoreBuilder {
} }
public static @Nonnull String usesLeft(int usesLeft) { 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 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> * 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}, * 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 { public final class PatternUtils {
private PatternUtils() {} private PatternUtils() {
}
public static final Pattern COLON = Pattern.compile(":"); public static final Pattern COLON = Pattern.compile(":");
public static final Pattern SEMICOLON = 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_MATERIAL = Pattern.compile("minecraft:[a-z_]+");
public static final Pattern MINECRAFT_TAG = 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 SLIMEFUN_TAG = Pattern.compile("#slimefun:[a-z_]+");
public static final Pattern USES_LEFT_LORE = Pattern.compile(ChatColors.color("&e[0-9]+ Use[s]* &7left"));
} }