Skip to content

Instantly share code, notes, and snippets.

@LemmaEOF
Created October 30, 2017 03:34
Show Gist options
  • Save LemmaEOF/aff1fdcef09d79241d2517be39157db1 to your computer and use it in GitHub Desktop.
Save LemmaEOF/aff1fdcef09d79241d2517be39157db1 to your computer and use it in GitHub Desktop.
package com.elytradev.opaline.tile;
import com.elytradev.opaline.util.FluidAccess;
import com.elytradev.opaline.util.ObservableFluidStorage;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.ITickable;
import net.minecraftforge.common.capabilities.Capability;
import net.minecraftforge.common.util.Constants;
import net.minecraftforge.fluids.Fluid;
import net.minecraftforge.fluids.FluidStack;
import net.minecraftforge.fluids.FluidTank;
import net.minecraftforge.fluids.capability.CapabilityFluidHandler;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import javax.annotation.Nullable;
public class TileEntityDistiller extends TileEntity implements ITickable {
private ObservableFluidStorage tank;
private int processTime;
private int lastTankAmount;
private int lastProcessTime;
private static final int processLength = 200;
public TileEntityDistiller() {
this.tank = new ObservableFluidStorage(300);
tank.listen(this::markDirty);
}
@SideOnly(Side.CLIENT)
public int getTankScaled(int i){
return this.tank.getFluidAmount()*i/this.tank.getCapacity();
}
public void update() {
lastProcessTime ++;
}
@Override
public boolean hasCapability(Capability<?> capability, @Nullable EnumFacing facing) {
if (capability == CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY) {
return true;
} else {
return super.hasCapability(capability, facing);
}
}
@Override
@SuppressWarnings("unchecked")
public <T> T getCapability(Capability<T> capability, @Nullable EnumFacing facing) {
if (capability == CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY) {
return (T) FluidAccess.extractOnly(tank);
} else {
return super.getCapability(capability, facing);
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment