@@ -0,0 +1,2762 @@
+/**%0A * This class is from mekanism:%0A * https://github.com/mekanism/Mekanism/blob/dc479ad1674fd2cbbc91eb701d9fea4410d06bbe/src/api/java/mekanism/api/fluid/IExtendedFluidHandler.java%0A * MIT License Copyright (c) 2017-2020 Aidan C. Brady Permission is hereby granted, free of charge, to any person%0A * obtaining a copy of this software and associated documentation files (the %22Software%22), to deal in the Software%0A * without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute,%0A * sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so,%0A * subject to the following conditions: The above copyright notice and this permission notice shall be included in all%0A * copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED %22AS IS%22, WITHOUT WARRANTY OF ANY KIND,%0A * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE%0A * AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER%0A * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE%0A * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.%0A */%0A%0Apackage info.u_team.u_team_core.api.fluid;%0A%0Aimport info.u_team.u_team_core.api.InteractionType;%0Aimport net.minecraftforge.fluids.FluidStack;%0A%0Apublic interface IExtendedFluidHandler extends IFluidHandlerModifiable %7B%0A%09%0A%09FluidStack insertFluid(int tank, FluidStack stack, InteractionType action);%0A%09%0A%09FluidStack extractFluid(int tank, int amount, InteractionType action);%0A%09%0A%09default FluidStack insertFluid(FluidStack stack, InteractionType action) %7B%0A%09%09return ExtendedFluidHandlerUtils.insert(stack, action, this::getTanks, this::getFluidInTank, this::insertFluid);%0A%09%7D%0A%09%0A%09default FluidStack extractFluid(int amount, InteractionType action) %7B%0A%09%09return ExtendedFluidHandlerUtils.extract(amount, action, this::getTanks, this::getFluidInTank, this::extractFluid);%0A%09%7D%0A%09%0A%09default FluidStack extractFluid(FluidStack stack, InteractionType action) %7B%0A%09%09return ExtendedFluidHandlerUtils.extract(stack, action, this::getTanks, this::getFluidInTank, this::extractFluid);%0A%09%7D%0A%09%0A%09@Override%0A%09@Deprecated%0A%09default int fill(FluidStack stack, FluidAction action) %7B%0A%09%09return stack.getAmount() - insertFluid(stack, InteractionType.fromFluidAction(action)).getAmount();%0A%09%7D%0A%09%0A%09@Override%0A%09@Deprecated%0A%09default FluidStack drain(FluidStack stack, FluidAction action) %7B%0A%09%09return extractFluid(stack, InteractionType.fromFluidAction(action));%0A%09%7D%0A%09%0A%09@Override%0A%09@Deprecated%0A%09default FluidStack drain(int amount, FluidAction action) %7B%0A%09%09return extractFluid(amount, InteractionType.fromFluidAction(action));%0A%09%7D%0A%7D

Implement IExtendedFluidHandler