diff options
Diffstat (limited to 'RoughlyEnoughItems-api/src/main/java')
88 files changed, 0 insertions, 8139 deletions
diff --git a/RoughlyEnoughItems-api/src/main/java/me/shedaniel/rei/api/AutoTransferHandler.java b/RoughlyEnoughItems-api/src/main/java/me/shedaniel/rei/api/AutoTransferHandler.java deleted file mode 100644 index 743538410..000000000 --- a/RoughlyEnoughItems-api/src/main/java/me/shedaniel/rei/api/AutoTransferHandler.java +++ /dev/null @@ -1,286 +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 it.unimi.dsi.fastutil.ints.IntArrayList; -import it.unimi.dsi.fastutil.ints.IntList; -import net.fabricmc.api.EnvType; -import net.fabricmc.api.Environment; -import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.screens.inventory.AbstractContainerScreen; -import net.minecraft.world.inventory.AbstractContainerMenu; -import org.jetbrains.annotations.ApiStatus; -import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; - -import java.util.function.Supplier; - -@Environment(EnvType.CLIENT) -public interface AutoTransferHandler { - - /** - * @return the priority of this handler, higher priorities will be called first. - */ - default double getPriority() { - return 0d; - } - - @NotNull - Result handle(@NotNull Context context); - - @ApiStatus.NonExtendable - interface Result { - /** - * Creates a successful result, no further handlers will be called. - */ - static Result createSuccessful() { - return new ResultImpl(); - } - - /** - * Creates a passing result, further handlers will be called. - * This will also mark the handler as not applicable. - */ - static Result createNotApplicable() { - return new ResultImpl(false); - } - - /** - * Creates a passing result, further handlers will be called. - * - * @param errorKey The error itself - */ - static Result createFailed(String errorKey) { - return new ResultImpl(errorKey, new IntArrayList(), 1744764928); - } - - /** - * Creates a passing result, further handlers will be called. - * The special color will be applied if this is the last handler. - * - * @param errorKey The error itself - * @param color A special color for the button - */ - static Result createFailedCustomButtonColor(String errorKey, int color) { - return new ResultImpl(errorKey, new IntArrayList(), color); - } - - /** - * Creates a passing result, further handlers will be called. - * - * @param errorKey The error itself - * @param redSlots A list of slots to be marked as red. Will be passed to {@link TransferRecipeCategory}. - */ - static Result createFailed(String errorKey, IntList redSlots) { - return new ResultImpl(errorKey, redSlots, 1744764928); - } - - /** - * Creates a passing result, further handlers will be called. - * The special color will be applied if this is the last handler. - * - * @param errorKey The error itself - * @param color A special color for the button - * @param redSlots A list of slots to be marked as red. Will be passed to {@link TransferRecipeCategory}. - */ - static Result createFailedCustomButtonColor(String errorKey, IntList redSlots, int color) { - return new ResultImpl(errorKey, redSlots, color); - } - - /** - * Forces this handler to be the last handler, no further handlers will be called. - */ - default Result blocksFurtherHandling() { - return blocksFurtherHandling(true); - } - - /** - * Forces this handler to be the last handler, no further handlers will be called. - */ - Result blocksFurtherHandling(boolean returnsToScreen); - - /** - * @return the color in which the button should be displayed in. - */ - int getColor(); - - /** - * @return whether this handler has successfully handled the transfer. - */ - boolean isSuccessful(); - - /** - * @return whether this handler should be the last handler. - */ - boolean isBlocking(); - - /** - * Applicable if {@link #isSuccessful()} is true. - * - * @return whether to return to the previous screen rather than staying open - */ - boolean isReturningToScreen(); - - /** - * @return whether the handler is applicable. - */ - boolean isApplicable(); - - /** - * Applicable if {@link #isSuccessful()} is false. - * - * @return the error message - */ - String getErrorKey(); - - /** - * @return a list of slots to be marked as red. Will be passed to {@link TransferRecipeCategory}. - */ - IntList getIntegers(); - } - - @ApiStatus.NonExtendable - interface Context { - static Context create(boolean actuallyCrafting, AbstractContainerScreen<?> containerScreen, RecipeDisplay recipeDisplay) { |
