Search in sources :

Example 1 with IFluidTask

use of betterquesting.api.questing.tasks.IFluidTask in project BetterQuesting by Funwayguy.

the class TileSubmitStation method fill.

@Override
public int fill(FluidStack fluid, boolean doFill) {
    IQuest q = getQuest();
    IFluidTask t = getFluidTask();
    if (q == null || t == null || fluid == null) {
        return 0;
    }
    FluidStack remainder = null;
    int amount = fluid.amount;
    if (doFill) {
        remainder = t.submitFluid(owner, fluid);
        if (((ITask) t).isComplete(owner)) {
            PacketSender.INSTANCE.sendToAll(q.getSyncPacket());
            reset();
            world.getMinecraftServer().getPlayerList().sendToAllNearExcept(null, pos.getX(), pos.getY(), pos.getZ(), 128, world.provider.getDimension(), getUpdatePacket());
        } else {
            needsUpdate = true;
        }
    }
    return remainder != null ? amount - remainder.amount : amount;
}
Also used : ITask(betterquesting.api.questing.tasks.ITask) IFluidTask(betterquesting.api.questing.tasks.IFluidTask) IQuest(betterquesting.api.questing.IQuest) FluidStack(net.minecraftforge.fluids.FluidStack)

Aggregations

IQuest (betterquesting.api.questing.IQuest)1 IFluidTask (betterquesting.api.questing.tasks.IFluidTask)1 ITask (betterquesting.api.questing.tasks.ITask)1 FluidStack (net.minecraftforge.fluids.FluidStack)1