diff options
| author | shedaniel <daniel@shedaniel.me> | 2020-12-20 19:59:49 +0800 |
|---|---|---|
| committer | shedaniel <daniel@shedaniel.me> | 2020-12-20 19:59:49 +0800 |
| commit | 67171a5ff24ed77e6c4cc889543e8dfb543e8fe5 (patch) | |
| tree | 02909ac26d2b74ebf08f5c463f1b9a60483468df /RoughlyEnoughItems-api/src/main/java/me/shedaniel/rei/api/ClientHelper.java | |
| parent | 9784e9f7228fc0aa3ca814e3830dbd81996a3693 (diff) | |
| download | RoughlyEnoughItems-67171a5ff24ed77e6c4cc889543e8dfb543e8fe5.tar.gz RoughlyEnoughItems-67171a5ff24ed77e6c4cc889543e8dfb543e8fe5.tar.bz2 RoughlyEnoughItems-67171a5ff24ed77e6c4cc889543e8dfb543e8fe5.zip | |
wip more
Signed-off-by: shedaniel <daniel@shedaniel.me>
Diffstat (limited to 'RoughlyEnoughItems-api/src/main/java/me/shedaniel/rei/api/ClientHelper.java')
| -rw-r--r-- | RoughlyEnoughItems-api/src/main/java/me/shedaniel/rei/api/ClientHelper.java | 216 |
1 files changed, 0 insertions, 216 deletions
diff --git a/RoughlyEnoughItems-api/src/main/java/me/shedaniel/rei/api/ClientHelper.java b/RoughlyEnoughItems-api/src/main/java/me/shedaniel/rei/api/ClientHelper.java deleted file mode 100644 index 36b61033a..000000000 --- a/RoughlyEnoughItems-api/src/main/java/me/shedaniel/rei/api/ClientHelper.java +++ /dev/null @@ -1,216 +0,0 @@ -/* - * This file is licensed under the MIT License, part of Roughly Enough Items. - * Copyright (c) 2018, 2019, 2020 shedaniel - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -package me.shedaniel.rei.api; - -import me.shedaniel.rei.impl.Internals; -import me.shedaniel.rei.utils.CollectionUtils; -import me.shedaniel.rei.utils.FormattingUtils; -import net.fabricmc.api.EnvType; -import net.fabricmc.api.Environment; -import net.minecraft.ChatFormatting; -import net.minecraft.client.gui.chat.NarratorChatListener; -import net.minecraft.core.Registry; -import net.minecraft.network.chat.Component; -import net.minecraft.network.chat.TextComponent; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.world.item.Item; -import net.minecraft.world.item.Items; -import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; - -import java.util.Collection; -import java.util.List; -import java.util.Map; -import java.util.Set; - -@Environment(EnvType.CLIENT) -public interface ClientHelper { - - /** - * @return the instance of {@link me.shedaniel.rei.api.ClientHelper} - */ - static ClientHelper getInstance() { - return Internals.getClientHelper(); - } - - /** - * Checks if cheating is enabled - * - * @return whether cheating is enabled - */ - boolean isCheating(); - - /** - * Sets current cheating mode - * Should save the config in {@link ConfigManager}. - * - * @param cheating the new cheating mode - */ - void setCheating(boolean cheating); - - /** - * Tries to cheat stack using either packets or commands. - * - * @param stack the stack to cheat in - * @return whether it failed - */ - boolean tryCheatingEntry(EntryStack<?> stack); - - /** - * Gets the mod from an item - * - * @param item the item to find - * @return the mod name - */ - default String getModFromItem(Item item) { - if (item.equals(Items.AIR)) - return ""; - return getModFromIdentifier(Registry.ITEM.getKey(item)); - } - - /** - * Tries to delete the player's cursor item - */ - void sendDeletePacket(); - - /** - * Gets the formatted mod from an item - * - * @param item the item to find - * @return the mod name with blue and italic formatting - */ - default Component getFormattedModFromItem(Item item) { - String mod = getModFromItem(item); - if (mod.isEmpty()) - return NarratorChatListener.NO_TITLE; - return new TextComponent(mod).withStyle(ChatFormatting.BLUE, ChatFormatting.ITALIC); - } - - /** - * Gets the formatted mod from an identifier - * - * @param identifier the identifier to find - * @return the mod name with blue and italic formatting - */ - default Component getFormattedModFromIdentifier(ResourceLocation identifier) { - String mod = getModFromIdentifier(identifier); - if (mod.isEmpty()) - return NarratorChatListener.NO_TITLE; - return new TextComponent(mod).withStyle(ChatFormatting.BLUE, ChatFormatting.ITALIC); - } - - /** - * Gets the mod from a modid - * - * @param modid the modid of the mod - * @return the mod name with blue and italic formatting - */ - default Component getFormattedModFromModId(String modid) { - String mod = getModFromModId(modid); - if (mod.isEmpty()) - return NarratorChatListener.NO_TITLE; - return new TextComponent(mod).withStyle(ChatFormatting.BLUE, ChatFormatting.ITALIC); - } - - default List<Component> appendModIdToTooltips(List<Component> components, String modId) { - final String modName = ClientHelper.getInstance().getModFromModId(modId); - boolean alreadyHasMod = false; - for (Component s : components) - if (FormattingUtils.stripFormatting(s.getString()).equalsIgnoreCase(modName)) { - alreadyHasMod = true; - break; - } - if (!alreadyHasMod) - components.add(ClientHelper.getInstance().getFormattedModFromModId(modId)); - return components; - } - - /** - * Gets the mod from an identifier - * - * @param identifier the identifier to find - * @return the mod name - */ - default String getModFromIdentifier(ResourceLocation identifier) { - if (identifier == null) - return ""; - return getModFromModId(identifier.getNamespace()); - } - - /** - * Gets the mod from a modid - * - * @param modId the modid of the mod - * @return the mod name - */ - String getModFromModId(String modId); - - boolean openView(ViewSearchBuilder builder); - - boolean canUseMovePackets(); - - interface ViewSearchBuilder { - static ViewSearchBuilder builder() { - return Internals.createViewSearchBuilder(); - } - - ViewSearchBuilder addCategory(ResourceLocation category); - - ViewSearchBuilder addCategories(Collection<ResourceLocation> categories); - - default ViewSearchBuilder addAllCategories() { - return addCategories(CollectionUtils.map(RecipeHelper.getInstance().getAllCategories(), RecipeCategory::getIdentifier)); - } - - @NotNull Set<ResourceLocation> getCategories(); - - ViewSearchBuilder addRecipesFor(EntryStack<?> stack); - - @NotNull List<EntryStack<?>> getRecipesFor(); - - ViewSearchBuilder addUsagesFor(EntryStack<?> stack); - - @NotNull List<EntryStack<?>> getUsagesFor(); - - ViewSearchBuilder setPreferredOpenedCategory(@Nullable ResourceLocation category); - - @Nullable - ResourceLocation getPreferredOpenedCategory(); - - ViewSearchBuilder fillPreferredOpenedCategory(); - - ViewSearchBuilder setInputNotice(@Nullable EntryStack<?> stack); - - @Nullable - EntryStack<?> getInputNotice(); - - ViewSearchBuilder setOutputNotice(@Nullable EntryStack<?> stack); - - @Nullable - EntryStack<?> getOutputNotice(); - - @NotNull - Map<RecipeCategory<?>, List<RecipeDisplay>> buildMap(); - } -} |
