diff options
author | isxander <xander@isxander.dev> | 2024-04-11 18:43:06 +0100 |
---|---|---|
committer | isxander <xander@isxander.dev> | 2024-04-11 18:43:06 +0100 |
commit | 04fe933f4c24817100f3101f088accf55a621f8a (patch) | |
tree | feff94ca3ab4484160e69a24f4ee38522381950e /common/src/main/java/dev/isxander/yacl3/gui/utils | |
parent | 831b894fdb7fe3e173d81387c8f6a2402b8ccfa9 (diff) | |
download | YetAnotherConfigLib-04fe933f4c24817100f3101f088accf55a621f8a.tar.gz YetAnotherConfigLib-04fe933f4c24817100f3101f088accf55a621f8a.tar.bz2 YetAnotherConfigLib-04fe933f4c24817100f3101f088accf55a621f8a.zip |
Extremely fragile and broken multiversion build with stonecutter
Diffstat (limited to 'common/src/main/java/dev/isxander/yacl3/gui/utils')
3 files changed, 0 insertions, 190 deletions
diff --git a/common/src/main/java/dev/isxander/yacl3/gui/utils/GuiUtils.java b/common/src/main/java/dev/isxander/yacl3/gui/utils/GuiUtils.java deleted file mode 100644 index 2910d0f..0000000 --- a/common/src/main/java/dev/isxander/yacl3/gui/utils/GuiUtils.java +++ /dev/null @@ -1,32 +0,0 @@ -package dev.isxander.yacl3.gui.utils; - -import net.minecraft.client.gui.Font; -import net.minecraft.locale.Language; -import net.minecraft.network.chat.Component; -import net.minecraft.network.chat.MutableComponent; - -public class GuiUtils { - public static MutableComponent translatableFallback(String key, Component fallback) { - if (Language.getInstance().has(key)) - return Component.translatable(key); - return fallback.copy(); - } - - public static String shortenString(String string, Font font, int maxWidth, String suffix) { - if (string.isEmpty()) - return string; - - boolean firstIter = true; - while (font.width(string) > maxWidth) { - string = string.substring(0, Math.max(string.length() - 1 - (firstIter ? 1 : suffix.length() + 1), 0)).trim(); - string += suffix; - - if (string.equals(suffix)) - break; - - firstIter = false; - } - - return string; - } -} diff --git a/common/src/main/java/dev/isxander/yacl3/gui/utils/ItemRegistryHelper.java b/common/src/main/java/dev/isxander/yacl3/gui/utils/ItemRegistryHelper.java deleted file mode 100644 index 3c4f03a..0000000 --- a/common/src/main/java/dev/isxander/yacl3/gui/utils/ItemRegistryHelper.java +++ /dev/null @@ -1,116 +0,0 @@ -package dev.isxander.yacl3.gui.utils; - - -import net.minecraft.ResourceLocationException; -import net.minecraft.core.registries.BuiltInRegistries; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.world.item.Item; -import net.minecraft.world.item.Items; -import org.apache.commons.lang3.StringUtils; -import org.jetbrains.annotations.NotNull; - -import java.util.Comparator; -import java.util.HashSet; -import java.util.Set; -import java.util.function.Predicate; -import java.util.stream.Stream; - -public final class ItemRegistryHelper { - - /** - * Checks whether the given string is an identifier referring to a known item - * - * @param identifier Item identifier, either of the format "namespace:path" or "path". If no namespace is included, - * the default vanilla namespace "minecraft" is used. - * @return true if the identifier refers to a registered item, false otherwise - */ - public static boolean isRegisteredItem(String identifier) { - try { - ResourceLocation itemIdentifier = new ResourceLocation(identifier.toLowerCase()); - return BuiltInRegistries.ITEM.containsKey(itemIdentifier); - } catch (ResourceLocationException e) { - return false; - } - } - - /** - * Looks up the item of the given identifier string. - * - * @param identifier Item identifier, either of the format "namespace:path" or "path". If no namespace is included, - * the default vanilla namespace "minecraft" is used. - * @param defaultItem Fallback item that gets returned if the identifier does not name a registered item. - * @return The item identified by the given string, or the fallback if the identifier is not known. - */ - public static Item getItemFromName(String identifier, Item defaultItem) { - try { - ResourceLocation itemIdentifier = new ResourceLocation(identifier.toLowerCase()); - if (BuiltInRegistries.ITEM.containsKey(itemIdentifier)) { - return BuiltInRegistries.ITEM.get(itemIdentifier); - } - } catch (ResourceLocationException ignored) { - } - return defaultItem; - } - - /** - * Looks up the item of the given identifier string. - * - * @param identifier Item identifier, either of the format "namespace:path" or "path". If no namespace is included, - * the default vanilla namespace "minecraft" is used. - * @return The item identified by the given string, or `Items.AIR` if the identifier is not known. - */ - public static Item getItemFromName(String identifier) { - return getItemFromName(identifier, Items.AIR); - } - - /** - * Returns a list of item identifiers matching the given string. The value matches an identifier if: - * <li>No namespace is provided in the value and the value is a substring of the path segment of any identifier, - * regardless of namespace.</li> - * <li>A namespace is provided, equals the identifier's namespace, and the value is the begin of the identifier's - * path segment.</li> - * - * @param value (partial) identifier, either of the format "namespace:path" or "path". - * @return list of matching item identifiers; empty if the given string does not correspond to any known identifiers - */ - public static Stream<ResourceLocation> getMatchingItemIdentifiers(String value) { - int sep = value.indexOf(ResourceLocation.NAMESPACE_SEPARATOR); - Predicate<ResourceLocation> filterPredicate; - if (sep == -1) { - filterPredicate = identifier -> - identifier.getPath().contains(value) - || BuiltInRegistries.ITEM.get(identifier).getDescription().getString().toLowerCase().contains(value.toLowerCase()); - } else { - String namespace = value.substring(0, sep); - String path = value.substring(sep + 1); - filterPredicate = identifier -> identifier.getNamespace().equals(namespace) && identifier.getPath().startsWith(path); - } - return BuiltInRegistries.ITEM.holders() - .map(holder -> holder.key().location()) - .filter(filterPredicate) - /* - Sort items as follows based on the given "value" string's path: - - if both items' paths begin with the entered string, sort the identifiers (including namespace) - - otherwise, if either of the items' path begins with the entered string, sort it to the left - - else neither path matches: sort by identifiers again - - This allows the user to enter "diamond_ore" and match "minecraft:diamond_ore" before - "minecraft:deepslate_diamond_ore", even though the second is lexicographically smaller - */ - .sorted((id1, id2) -> { - String path = (sep == -1 ? value : value.substring(sep + 1)).toLowerCase(); - boolean id1StartsWith = id1.getPath().toLowerCase().startsWith(path); - boolean id2StartsWith = id2.getPath().toLowerCase().startsWith(path); - if (id1StartsWith) { - if (id2StartsWith) { - return id1.compareTo(id2); - } - return -1; - } - if (id2StartsWith) { - return 1; - } - return id1.compareTo(id2); - }); - } -} diff --git a/common/src/main/java/dev/isxander/yacl3/gui/utils/UndoRedoHelper.java b/common/src/main/java/dev/isxander/yacl3/gui/utils/UndoRedoHelper.java deleted file mode 100644 index 3328c16..0000000 --- a/common/src/main/java/dev/isxander/yacl3/gui/utils/UndoRedoHelper.java +++ /dev/null @@ -1,42 +0,0 @@ -package dev.isxander.yacl3.gui.utils; - -import org.jetbrains.annotations.Nullable; - -import java.util.ArrayList; -import java.util.List; - -public class UndoRedoHelper { - private final List<FieldState> history = new ArrayList<>(); - private int index = 0; - - public UndoRedoHelper(String text, int cursorPos, int selectionLength) { - history.add(new FieldState(text, cursorPos, selectionLength)); - } - - public void save(String text, int cursorPos, int selectionLength) { - int max = history.size(); - history.subList(index, max).clear(); - history.add(new FieldState(text, cursorPos, selectionLength)); - index++; - } - - public @Nullable FieldState undo() { - index--; - index = Math.max(index, 0); - - if (history.isEmpty()) - return null; - return history.get(index); - } - - public @Nullable FieldState redo() { - if (index < history.size() - 1) { - index++; - return history.get(index); - } else { - return null; - } - } - - public record FieldState(String text, int cursorPos, int selectionLength) {} -} |