Class AmadronTradeResource

java.lang.Object
me.desht.pneumaticcraft.api.crafting.AmadronTradeResource

public class AmadronTradeResource extends Object
Represents an Amadron trade resource. The input and output may be either an item or a fluid.
  • Method Details

    • isEmpty

      public boolean isEmpty()
    • equivalentTo

      public boolean equivalentTo(AmadronTradeResource other)
      Checks if these two resources are equivalent: same resource, but don't check amounts.
      Parameters:
      other - the trade resource to compare
      Returns:
      true if the two are equivalent, false if not
    • of

      public static AmadronTradeResource of(net.minecraft.world.item.ItemStack stack)
    • of

      public static AmadronTradeResource of(net.minecraftforge.fluids.FluidStack stack)
    • fromPacketBuf

      public static AmadronTradeResource fromPacketBuf(net.minecraft.network.FriendlyByteBuf pb)
    • getItem

      public net.minecraft.world.item.ItemStack getItem()
      Get the item for this trade resource
      Returns:
      the itemstack, or ItemStack.EMPTY if the resource is a fluid
    • getFluid

      public net.minecraftforge.fluids.FluidStack getFluid()
      Get the fluid for this trade resource
      Returns:
      the fluidstack, or FluidStack.EMPTY if the resource is an item
    • accept

      public void accept(Consumer<net.minecraft.world.item.ItemStack> cItemStack, Consumer<net.minecraftforge.fluids.FluidStack> cFluidStack)
      Run something against the resource, dependent on whether it's an item or a fluid
      Parameters:
      cItemStack - consumer which is called when the resource is an item
      cFluidStack - consumer which is called when the resource is a fluid
    • apply

      public <T> T apply(Function<net.minecraft.world.item.ItemStack,T> fItemStack, Function<net.minecraftforge.fluids.FluidStack,T> fFluidStack)
      Run something against the resource, dependent on whether it's an item or a fluid, returning a result
      Parameters:
      fItemStack - function which is called when the resource is an item
      fFluidStack - function which is called when the resource is a fluid
    • totalSpaceRequired

      public int totalSpaceRequired(int units)
      The total space required for this resource, in stacks for an item resource, and in mB for a fluid resource
      Parameters:
      units - number of offer units
      Returns:
      total space required
    • countTradesInInventory

      public int countTradesInInventory(net.minecraftforge.common.util.LazyOptional<net.minecraftforge.items.IItemHandler> inv)
    • findSpaceInItemOutput

      public int findSpaceInItemOutput(net.minecraftforge.common.util.LazyOptional<net.minecraftforge.items.IItemHandler> inv, int wantedTradeCount)
    • countTradesInTank

      public int countTradesInTank(net.minecraftforge.common.util.LazyOptional<net.minecraftforge.fluids.capability.IFluidHandler> lazy)
    • findSpaceInFluidOutput

      public int findSpaceInFluidOutput(net.minecraftforge.common.util.LazyOptional<net.minecraftforge.fluids.capability.IFluidHandler> lazy, int wantedTradeCount)
    • validate

      public AmadronTradeResource validate()
    • fromJson

      public static AmadronTradeResource fromJson(com.google.gson.JsonObject obj) throws com.mojang.brigadier.exceptions.CommandSyntaxException
      Throws:
      com.mojang.brigadier.exceptions.CommandSyntaxException
    • toJson

      public com.google.gson.JsonObject toJson()
    • writeToBuf

      public void writeToBuf(net.minecraft.network.FriendlyByteBuf pb)
    • getName

      public String getName()
    • getId

      public net.minecraft.resources.ResourceLocation getId()
    • getAmount

      public int getAmount()
    • writeToNBT

      public net.minecraft.nbt.CompoundTag writeToNBT()
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object