More dropper work
This commit is contained in:
parent
49d0a7fc4b
commit
c39e3d1c1f
45 changed files with 260 additions and 77 deletions
|
@ -18,7 +18,7 @@ public class GuiAmbientAccumulator extends GuiMekanism
|
|||
|
||||
public GuiAmbientAccumulator(EntityPlayer player, TileEntityAmbientAccumulator tile)
|
||||
{
|
||||
super(new ContainerNull(player, tile));
|
||||
super(tile, new ContainerNull(player, tile));
|
||||
tileEntity = tile;
|
||||
|
||||
guiElements.add(new GuiGasGauge(new IGasInfoHandler() {
|
||||
|
|
|
@ -40,7 +40,7 @@ public class GuiDigitalMiner extends GuiMekanism
|
|||
|
||||
public GuiDigitalMiner(InventoryPlayer inventory, TileEntityDigitalMiner tentity)
|
||||
{
|
||||
super(new ContainerDigitalMiner(inventory, tentity));
|
||||
super(tentity, new ContainerDigitalMiner(inventory, tentity));
|
||||
tileEntity = tentity;
|
||||
|
||||
guiElements.add(new GuiRedstoneControl(this, tileEntity, MekanismUtils.getResource(ResourceType.GUI, "GuiDigitalMiner.png")));
|
||||
|
|
|
@ -58,7 +58,7 @@ public class GuiDigitalMinerConfig extends GuiMekanism
|
|||
|
||||
public GuiDigitalMinerConfig(EntityPlayer player, TileEntityDigitalMiner tentity)
|
||||
{
|
||||
super(new ContainerNull(player, tentity));
|
||||
super(tentity, new ContainerNull(player, tentity));
|
||||
tileEntity = tentity;
|
||||
}
|
||||
|
||||
|
|
|
@ -22,7 +22,7 @@ public class GuiDynamicTank extends GuiMekanism
|
|||
|
||||
public GuiDynamicTank(InventoryPlayer inventory, TileEntityDynamicTank tentity)
|
||||
{
|
||||
super(new ContainerDynamicTank(inventory, tentity));
|
||||
super(tentity, new ContainerDynamicTank(inventory, tentity));
|
||||
tileEntity = tentity;
|
||||
guiElements.add(new GuiContainerEditMode(this, tileEntity, MekanismUtils.getResource(ResourceType.GUI, "GuiDynamicTank.png")));
|
||||
}
|
||||
|
|
|
@ -32,7 +32,7 @@ public class GuiElectricChest extends GuiMekanism
|
|||
|
||||
public GuiElectricChest(InventoryPlayer inventory, TileEntityElectricChest tentity)
|
||||
{
|
||||
super(new ContainerElectricChest(inventory, tentity, null, true));
|
||||
super(tentity, new ContainerElectricChest(inventory, tentity, null, true));
|
||||
|
||||
xSize+=26;
|
||||
ySize+=64;
|
||||
|
|
|
@ -25,7 +25,7 @@ public class GuiElectricPump extends GuiMekanism
|
|||
|
||||
public GuiElectricPump(InventoryPlayer inventory, TileEntityElectricPump tentity)
|
||||
{
|
||||
super(new ContainerElectricPump(inventory, tentity));
|
||||
super(tentity, new ContainerElectricPump(inventory, tentity));
|
||||
tileEntity = tentity;
|
||||
|
||||
guiElements.add(new GuiSlot(SlotType.NORMAL, this, guiLocation, 27, 19));
|
||||
|
|
|
@ -35,7 +35,7 @@ public class GuiElectrolyticSeparator extends GuiMekanism
|
|||
|
||||
public GuiElectrolyticSeparator(InventoryPlayer inventory, TileEntityElectrolyticSeparator tentity)
|
||||
{
|
||||
super(new ContainerElectrolyticSeparator(inventory, tentity));
|
||||
super(tentity, new ContainerElectrolyticSeparator(inventory, tentity));
|
||||
|
||||
tileEntity = tentity;
|
||||
|
||||
|
|
|
@ -26,7 +26,7 @@ public class GuiEnergyCube extends GuiMekanism
|
|||
|
||||
public GuiEnergyCube(InventoryPlayer inventory, TileEntityEnergyCube tentity)
|
||||
{
|
||||
super(new ContainerEnergyCube(inventory, tentity));
|
||||
super(tentity, new ContainerEnergyCube(inventory, tentity));
|
||||
tileEntity = tentity;
|
||||
guiElements.add(new GuiRedstoneControl(this, tileEntity, MekanismUtils.getResource(ResourceType.GUI, "GuiEnergyCube.png")));
|
||||
guiElements.add(new GuiEnergyGauge(new IEnergyInfoHandler()
|
||||
|
|
|
@ -29,7 +29,7 @@ public class GuiEntangledBlock extends GuiMekanism
|
|||
|
||||
public GuiEntangledBlock(InventoryPlayer inventory, TileEntityEntangledBlock tentity)
|
||||
{
|
||||
super(new ContainerNull(inventory.player, tentity));
|
||||
super(tentity, new ContainerNull(inventory.player, tentity));
|
||||
tileEntity = tentity;
|
||||
isCreative = inventory.player.capabilities.isCreativeMode;
|
||||
}
|
||||
|
|
|
@ -11,6 +11,7 @@ import net.minecraft.util.IIcon;
|
|||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraftforge.fluids.Fluid;
|
||||
import net.minecraftforge.fluids.FluidTank;
|
||||
import scala.actors.threadpool.Arrays;
|
||||
|
||||
public class GuiFluidGauge extends GuiGauge<Fluid>
|
||||
{
|
||||
|
@ -36,11 +37,11 @@ public class GuiFluidGauge extends GuiGauge<Fluid>
|
|||
{
|
||||
if(guiObj instanceof GuiMekanism)
|
||||
{
|
||||
TileEntity tile = ((GuiMekanism)guiObj).tileEntity;
|
||||
TileEntity tile = ((GuiMekanism)guiObj).getTileEntity();
|
||||
|
||||
if(tile instanceof IDropperHandler)
|
||||
{
|
||||
int index = ((IDropperHandler)tile).getTankId(infoHandler.getTank());
|
||||
int index = Arrays.asList(((IDropperHandler)tile).getTanks()).indexOf(infoHandler.getTank());
|
||||
|
||||
if(index != -1)
|
||||
{
|
||||
|
|
|
@ -26,7 +26,7 @@ public class GuiFluidicPlenisher extends GuiMekanism
|
|||
|
||||
public GuiFluidicPlenisher(InventoryPlayer inventory, TileEntityFluidicPlenisher tentity)
|
||||
{
|
||||
super(new ContainerFluidicPlenisher(inventory, tentity));
|
||||
super(tentity, new ContainerFluidicPlenisher(inventory, tentity));
|
||||
tileEntity = tentity;
|
||||
|
||||
guiElements.add(new GuiSlot(SlotType.NORMAL, this, guiLocation, 27, 19));
|
||||
|
|
|
@ -5,12 +5,12 @@ import mekanism.api.gas.Gas;
|
|||
import mekanism.api.gas.GasTank;
|
||||
import mekanism.common.Mekanism;
|
||||
import mekanism.common.base.IDropperHandler;
|
||||
import mekanism.common.base.IRedstoneControl.RedstoneControl;
|
||||
import mekanism.common.network.PacketDropperUse.DropperUseMessage;
|
||||
import mekanism.common.util.MekanismUtils;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.IIcon;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import scala.actors.threadpool.Arrays;
|
||||
|
||||
public class GuiGasGauge extends GuiGauge<Gas>
|
||||
{
|
||||
|
@ -34,16 +34,20 @@ public class GuiGasGauge extends GuiGauge<Gas>
|
|||
@Override
|
||||
public void mouseClicked(int xAxis, int yAxis, int button)
|
||||
{
|
||||
System.out.println("clicked");
|
||||
if(guiObj instanceof GuiMekanism)
|
||||
{
|
||||
TileEntity tile = ((GuiMekanism)guiObj).tileEntity;
|
||||
|
||||
System.out.println("mekanism");
|
||||
TileEntity tile = ((GuiMekanism)guiObj).getTileEntity();
|
||||
System.out.println(tile);
|
||||
if(tile instanceof IDropperHandler)
|
||||
{
|
||||
int index = ((IDropperHandler)tile).getTankId(infoHandler.getTank());
|
||||
System.out.println("handler");
|
||||
int index = Arrays.asList(((IDropperHandler)tile).getTanks()).indexOf(infoHandler.getTank());
|
||||
|
||||
if(index != -1)
|
||||
{
|
||||
System.out.println("sending " + index);
|
||||
Mekanism.packetHandler.sendToServer(new DropperUseMessage(Coord4D.get(tile), button, index));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -22,7 +22,7 @@ public class GuiGasTank extends GuiMekanism
|
|||
|
||||
public GuiGasTank(InventoryPlayer inventory, TileEntityGasTank tentity)
|
||||
{
|
||||
super(new ContainerGasTank(inventory, tentity));
|
||||
super(tentity, new ContainerGasTank(inventory, tentity));
|
||||
tileEntity = tentity;
|
||||
guiElements.add(new GuiRedstoneControl(this, tileEntity, MekanismUtils.getResource(ResourceType.GUI, "GuiGasTank.png")));
|
||||
}
|
||||
|
|
|
@ -33,7 +33,7 @@ public class GuiLaserAmplifier extends GuiMekanism
|
|||
|
||||
public GuiLaserAmplifier(InventoryPlayer inventory, TileEntityLaserAmplifier tentity)
|
||||
{
|
||||
super(new ContainerLaserAmplifier(inventory, tentity));
|
||||
super(tentity, new ContainerLaserAmplifier(inventory, tentity));
|
||||
tileEntity = tentity;
|
||||
|
||||
guiElements.add(new GuiNumberGauge(new INumberInfoHandler()
|
||||
|
|
|
@ -54,7 +54,7 @@ public class GuiLogisticalSorter extends GuiMekanism
|
|||
|
||||
public GuiLogisticalSorter(EntityPlayer player, TileEntityLogisticalSorter tentity)
|
||||
{
|
||||
super(new ContainerNull(player, tentity));
|
||||
super(tentity, new ContainerNull(player, tentity));
|
||||
tileEntity = tentity;
|
||||
guiElements.add(new GuiRedstoneControl(this, tileEntity, MekanismUtils.getResource(ResourceType.GUI, "GuiLogisticalSorter.png")));
|
||||
}
|
||||
|
|
|
@ -24,7 +24,7 @@ public class GuiMFilterSelect extends GuiMekanism
|
|||
|
||||
public GuiMFilterSelect(EntityPlayer player, TileEntityDigitalMiner tentity)
|
||||
{
|
||||
super(new ContainerNull(player, tentity));
|
||||
super(tentity, new ContainerNull(player, tentity));
|
||||
|
||||
tileEntity = tentity;
|
||||
}
|
||||
|
|
|
@ -44,7 +44,7 @@ public class GuiMItemStackFilter extends GuiMekanism
|
|||
|
||||
public GuiMItemStackFilter(EntityPlayer player, TileEntityDigitalMiner tentity, int index)
|
||||
{
|
||||
super(new ContainerFilter(player.inventory, tentity));
|
||||
super(tentity, new ContainerFilter(player.inventory, tentity));
|
||||
tileEntity = tentity;
|
||||
|
||||
origFilter = (MItemStackFilter)tileEntity.filters.get(index);
|
||||
|
@ -53,7 +53,7 @@ public class GuiMItemStackFilter extends GuiMekanism
|
|||
|
||||
public GuiMItemStackFilter(EntityPlayer player, TileEntityDigitalMiner tentity)
|
||||
{
|
||||
super(new ContainerFilter(player.inventory, tentity));
|
||||
super(tentity, new ContainerFilter(player.inventory, tentity));
|
||||
tileEntity = tentity;
|
||||
|
||||
isNew = true;
|
||||
|
|
|
@ -44,7 +44,7 @@ public class GuiMMaterialFilter extends GuiMekanism
|
|||
|
||||
public GuiMMaterialFilter(EntityPlayer player, TileEntityDigitalMiner tentity, int index)
|
||||
{
|
||||
super(new ContainerFilter(player.inventory, tentity));
|
||||
super(tentity, new ContainerFilter(player.inventory, tentity));
|
||||
tileEntity = tentity;
|
||||
|
||||
origFilter = (MMaterialFilter)tileEntity.filters.get(index);
|
||||
|
@ -53,7 +53,7 @@ public class GuiMMaterialFilter extends GuiMekanism
|
|||
|
||||
public GuiMMaterialFilter(EntityPlayer player, TileEntityDigitalMiner tentity)
|
||||
{
|
||||
super(new ContainerFilter(player.inventory, tentity));
|
||||
super(tentity, new ContainerFilter(player.inventory, tentity));
|
||||
tileEntity = tentity;
|
||||
|
||||
isNew = true;
|
||||
|
|
|
@ -58,7 +58,7 @@ public class GuiMModIDFilter extends GuiMekanism
|
|||
|
||||
public GuiMModIDFilter(EntityPlayer player, TileEntityDigitalMiner tentity, int index)
|
||||
{
|
||||
super(new ContainerFilter(player.inventory, tentity));
|
||||
super(tentity, new ContainerFilter(player.inventory, tentity));
|
||||
tileEntity = tentity;
|
||||
|
||||
origFilter = (MModIDFilter)tileEntity.filters.get(index);
|
||||
|
@ -69,7 +69,7 @@ public class GuiMModIDFilter extends GuiMekanism
|
|||
|
||||
public GuiMModIDFilter(EntityPlayer player, TileEntityDigitalMiner tentity)
|
||||
{
|
||||
super(new ContainerFilter(player.inventory, tentity));
|
||||
super(tentity, new ContainerFilter(player.inventory, tentity));
|
||||
tileEntity = tentity;
|
||||
|
||||
isNew = true;
|
||||
|
|
|
@ -58,7 +58,7 @@ public class GuiMOreDictFilter extends GuiMekanism
|
|||
|
||||
public GuiMOreDictFilter(EntityPlayer player, TileEntityDigitalMiner tentity, int index)
|
||||
{
|
||||
super(new ContainerFilter(player.inventory, tentity));
|
||||
super(tentity, new ContainerFilter(player.inventory, tentity));
|
||||
tileEntity = tentity;
|
||||
|
||||
origFilter = (MOreDictFilter)tileEntity.filters.get(index);
|
||||
|
@ -69,7 +69,7 @@ public class GuiMOreDictFilter extends GuiMekanism
|
|||
|
||||
public GuiMOreDictFilter(EntityPlayer player, TileEntityDigitalMiner tentity)
|
||||
{
|
||||
super(new ContainerFilter(player.inventory, tentity));
|
||||
super(tentity, new ContainerFilter(player.inventory, tentity));
|
||||
tileEntity = tentity;
|
||||
|
||||
isNew = true;
|
||||
|
|
|
@ -23,7 +23,7 @@ public abstract class GuiMekanism extends GuiContainer implements IGuiWrapper
|
|||
{
|
||||
public Set<GuiElement> guiElements = new HashSet<GuiElement>();
|
||||
|
||||
public TileEntityContainerBlock tileEntity;
|
||||
private TileEntityContainerBlock tileEntity;
|
||||
|
||||
public GuiMekanism(Container container)
|
||||
{
|
||||
|
@ -78,6 +78,11 @@ public abstract class GuiMekanism extends GuiContainer implements IGuiWrapper
|
|||
}
|
||||
}
|
||||
|
||||
public TileEntityContainerBlock getTileEntity()
|
||||
{
|
||||
return tileEntity;
|
||||
}
|
||||
|
||||
private SideData getFromSlot(Slot slot)
|
||||
{
|
||||
if(slot.slotNumber < tileEntity.getSizeInventory())
|
||||
|
|
|
@ -22,7 +22,7 @@ public class GuiPortableTank extends GuiMekanism
|
|||
|
||||
public GuiPortableTank(InventoryPlayer inventory, TileEntityPortableTank tentity)
|
||||
{
|
||||
super(new ContainerPortableTank(inventory, tentity));
|
||||
super(tentity, new ContainerPortableTank(inventory, tentity));
|
||||
tileEntity = tentity;
|
||||
guiElements.add(new GuiContainerEditMode(this, tileEntity, MekanismUtils.getResource(ResourceType.GUI, "GuiBlank.png")));
|
||||
guiElements.add(new GuiFluidGauge(new IFluidInfoHandler()
|
||||
|
|
|
@ -35,7 +35,7 @@ public class GuiRotaryCondensentrator extends GuiMekanism
|
|||
|
||||
public GuiRotaryCondensentrator(InventoryPlayer inventory, TileEntityRotaryCondensentrator tentity)
|
||||
{
|
||||
super(new ContainerRotaryCondensentrator(inventory, tentity));
|
||||
super(tentity, new ContainerRotaryCondensentrator(inventory, tentity));
|
||||
tileEntity = tentity;
|
||||
|
||||
guiElements.add(new GuiRedstoneControl(this, tileEntity, MekanismUtils.getResource(ResourceType.GUI, "GuiRotaryCondensentrator.png")));
|
||||
|
|
|
@ -24,7 +24,7 @@ public class GuiSolarNeutronActivator extends GuiMekanism
|
|||
|
||||
public GuiSolarNeutronActivator(InventoryPlayer inventory, TileEntitySolarNeutronActivator tentity)
|
||||
{
|
||||
super(new ContainerSolarNeutronActivator(inventory, tentity));
|
||||
super(tentity, new ContainerSolarNeutronActivator(inventory, tentity));
|
||||
tileEntity = tentity;
|
||||
|
||||
guiElements.add(new GuiRedstoneControl(this, tileEntity, MekanismUtils.getResource(ResourceType.GUI, "GuiBlank.png")));
|
||||
|
|
|
@ -24,7 +24,7 @@ public class GuiTFilterSelect extends GuiMekanism
|
|||
|
||||
public GuiTFilterSelect(EntityPlayer player, TileEntityLogisticalSorter tentity)
|
||||
{
|
||||
super(new ContainerNull(player, tentity));
|
||||
super(tentity, new ContainerNull(player, tentity));
|
||||
|
||||
tileEntity = tentity;
|
||||
}
|
||||
|
|
|
@ -47,7 +47,7 @@ public class GuiTItemStackFilter extends GuiMekanism
|
|||
|
||||
public GuiTItemStackFilter(EntityPlayer player, TileEntityLogisticalSorter tentity, int index)
|
||||
{
|
||||
super(new ContainerFilter(player.inventory, tentity));
|
||||
super(tentity, new ContainerFilter(player.inventory, tentity));
|
||||
tileEntity = tentity;
|
||||
|
||||
origFilter = (TItemStackFilter)tileEntity.filters.get(index);
|
||||
|
@ -56,7 +56,7 @@ public class GuiTItemStackFilter extends GuiMekanism
|
|||
|
||||
public GuiTItemStackFilter(EntityPlayer player, TileEntityLogisticalSorter tentity)
|
||||
{
|
||||
super(new ContainerFilter(player.inventory, tentity));
|
||||
super(tentity, new ContainerFilter(player.inventory, tentity));
|
||||
tileEntity = tentity;
|
||||
|
||||
isNew = true;
|
||||
|
|
|
@ -46,7 +46,7 @@ public class GuiTMaterialFilter extends GuiMekanism
|
|||
|
||||
public GuiTMaterialFilter(EntityPlayer player, TileEntityLogisticalSorter tentity, int index)
|
||||
{
|
||||
super(new ContainerFilter(player.inventory, tentity));
|
||||
super(tentity, new ContainerFilter(player.inventory, tentity));
|
||||
tileEntity = tentity;
|
||||
|
||||
origFilter = (TMaterialFilter)tileEntity.filters.get(index);
|
||||
|
@ -55,7 +55,7 @@ public class GuiTMaterialFilter extends GuiMekanism
|
|||
|
||||
public GuiTMaterialFilter(EntityPlayer player, TileEntityLogisticalSorter tentity)
|
||||
{
|
||||
super(new ContainerFilter(player.inventory, tentity));
|
||||
super(tentity, new ContainerFilter(player.inventory, tentity));
|
||||
tileEntity = tentity;
|
||||
|
||||
isNew = true;
|
||||
|
|
|
@ -57,7 +57,7 @@ public class GuiTModIDFilter extends GuiMekanism
|
|||
|
||||
public GuiTModIDFilter(EntityPlayer player, TileEntityLogisticalSorter tentity, int index)
|
||||
{
|
||||
super(new ContainerFilter(player.inventory, tentity));
|
||||
super(tentity, new ContainerFilter(player.inventory, tentity));
|
||||
tileEntity = tentity;
|
||||
|
||||
origFilter = (TModIDFilter)tileEntity.filters.get(index);
|
||||
|
@ -68,7 +68,7 @@ public class GuiTModIDFilter extends GuiMekanism
|
|||
|
||||
public GuiTModIDFilter(EntityPlayer player, TileEntityLogisticalSorter tentity)
|
||||
{
|
||||
super(new ContainerFilter(player.inventory, tentity));
|
||||
super(tentity, new ContainerFilter(player.inventory, tentity));
|
||||
tileEntity = tentity;
|
||||
|
||||
isNew = true;
|
||||
|
|
|
@ -57,7 +57,7 @@ public class GuiTOreDictFilter extends GuiMekanism
|
|||
|
||||
public GuiTOreDictFilter(EntityPlayer player, TileEntityLogisticalSorter tentity, int index)
|
||||
{
|
||||
super(new ContainerFilter(player.inventory, tentity));
|
||||
super(tentity, new ContainerFilter(player.inventory, tentity));
|
||||
tileEntity = tentity;
|
||||
|
||||
origFilter = (TOreDictFilter)tileEntity.filters.get(index);
|
||||
|
@ -68,7 +68,7 @@ public class GuiTOreDictFilter extends GuiMekanism
|
|||
|
||||
public GuiTOreDictFilter(EntityPlayer player, TileEntityLogisticalSorter tentity)
|
||||
{
|
||||
super(new ContainerFilter(player.inventory, tentity));
|
||||
super(tentity, new ContainerFilter(player.inventory, tentity));
|
||||
tileEntity = tentity;
|
||||
|
||||
isNew = true;
|
||||
|
|
|
@ -24,7 +24,7 @@ public class GuiTeleporter extends GuiMekanism
|
|||
|
||||
public GuiTeleporter(InventoryPlayer inventory, TileEntityTeleporter tentity)
|
||||
{
|
||||
super(new ContainerTeleporter(inventory, tentity));
|
||||
super(tentity, new ContainerTeleporter(inventory, tentity));
|
||||
tileEntity = tentity;
|
||||
|
||||
guiElements.add(new GuiPowerBar(this, tileEntity, MekanismUtils.getResource(ResourceType.GUI, "GuiTeleporter.png"), 164, 15));
|
||||
|
|
|
@ -1,10 +1,92 @@
|
|||
package mekanism.common.base;
|
||||
|
||||
import mekanism.api.gas.GasStack;
|
||||
import mekanism.api.gas.GasTank;
|
||||
import mekanism.common.item.ItemGaugeDropper;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraftforge.fluids.FluidStack;
|
||||
import net.minecraftforge.fluids.FluidTank;
|
||||
|
||||
public interface IDropperHandler
|
||||
{
|
||||
public int getTankId(Object tank);
|
||||
public Object[] getTanks();
|
||||
|
||||
public void useDropper(EntityPlayer player, int tankId);
|
||||
public static class DropperHandler
|
||||
{
|
||||
public static void useDropper(EntityPlayer player, Object tank, int button)
|
||||
{
|
||||
ItemStack stack = player.inventory.getItemStack();
|
||||
ItemGaugeDropper dropper = (ItemGaugeDropper)stack.getItem();
|
||||
|
||||
System.out.println("use dropper " + player + " " + tank + " " + button + " " + stack);
|
||||
if(stack != null)
|
||||
{
|
||||
if(tank instanceof GasTank)
|
||||
{
|
||||
GasTank gasTank = (GasTank)tank;
|
||||
int dropperStored = dropper.getGas(stack) != null ? dropper.getGas(stack).amount : 0;
|
||||
|
||||
if(dropper.getGas(stack) != null && !dropper.getGas(stack).isGasEqual(gasTank.getGas()))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if(button == 0) //Insert gas into dropper
|
||||
{
|
||||
if(dropper.getFluid(stack) != null || gasTank.getGas() == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
int toInsert = Math.min(gasTank.getStored(), ItemGaugeDropper.CAPACITY-dropperStored);
|
||||
GasStack drawn = gasTank.draw(toInsert, true);
|
||||
dropper.setGas(stack, new GasStack(gasTank.getGasType(), dropperStored+(drawn != null ? drawn.amount : 0)));
|
||||
}
|
||||
else { //Extract gas from dropper
|
||||
if(dropper.getFluid(stack) != null || gasTank.getNeeded() == 0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
int toExtract = Math.min(gasTank.getNeeded(), dropperStored);
|
||||
toExtract = gasTank.receive(new GasStack(dropper.getGas(stack).getGas(), toExtract), true);
|
||||
dropper.setGas(stack, new GasStack(dropper.getGas(stack).getGas(), dropperStored-toExtract));
|
||||
}
|
||||
}
|
||||
else if(tank instanceof FluidTank)
|
||||
{
|
||||
FluidTank fluidTank = (FluidTank)tank;
|
||||
int dropperStored = dropper.getFluid(stack) != null ? dropper.getFluid(stack).amount : 0;
|
||||
|
||||
if(dropper.getFluid(stack) != null && !dropper.getFluid(stack).isFluidEqual(fluidTank.getFluid()))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if(button == 0) //Insert fluid into dropper
|
||||
{
|
||||
if(dropper.getGas(stack) != null || fluidTank.getFluid() == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
int toInsert = Math.min(fluidTank.getFluidAmount(), ItemGaugeDropper.CAPACITY-dropperStored);
|
||||
FluidStack drawn = fluidTank.drain(toInsert, true);
|
||||
dropper.setFluid(stack, new FluidStack(fluidTank.getFluid().getFluid(), dropperStored+(drawn != null ? drawn.amount : 0)));
|
||||
}
|
||||
else { //Extract fluid from dropper
|
||||
if(dropper.getGas(stack) != null || fluidTank.getCapacity()-fluidTank.getFluidAmount() == 0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
int toExtract = Math.min(fluidTank.getCapacity()-fluidTank.getFluidAmount(), dropperStored);
|
||||
toExtract = fluidTank.fill(new FluidStack(dropper.getFluid(stack).getFluid(), toExtract), true);
|
||||
dropper.setFluid(stack, new FluidStack(dropper.getFluid(stack).getFluid(), dropperStored-toExtract));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -4,6 +4,7 @@ import io.netty.buffer.ByteBuf;
|
|||
import mekanism.api.Coord4D;
|
||||
import mekanism.common.PacketHandler;
|
||||
import mekanism.common.base.IDropperHandler;
|
||||
import mekanism.common.base.IDropperHandler.DropperHandler;
|
||||
import mekanism.common.network.PacketDropperUse.DropperUseMessage;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import cpw.mods.fml.common.network.simpleimpl.IMessage;
|
||||
|
@ -20,7 +21,12 @@ public class PacketDropperUse implements IMessageHandler<DropperUseMessage, IMes
|
|||
if(tileEntity instanceof IDropperHandler)
|
||||
{
|
||||
try {
|
||||
((IDropperHandler)tileEntity).useDropper(PacketHandler.getPlayer(context), message.tankId);
|
||||
Object tank = ((IDropperHandler)tileEntity).getTanks()[message.tankId];
|
||||
|
||||
if(tank != null)
|
||||
{
|
||||
DropperHandler.useDropper(PacketHandler.getPlayer(context), tank, message.mouseButton);
|
||||
}
|
||||
} catch(Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
package mekanism.common.tile;
|
||||
|
||||
import io.netty.buffer.ByteBuf;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
import mekanism.api.Coord4D;
|
||||
|
@ -17,6 +19,7 @@ import mekanism.api.gas.ITubeConnection;
|
|||
import mekanism.common.Mekanism;
|
||||
import mekanism.common.SideData;
|
||||
import mekanism.common.Upgrade;
|
||||
import mekanism.common.base.IDropperHandler;
|
||||
import mekanism.common.base.IEjector;
|
||||
import mekanism.common.base.IInvConfiguration;
|
||||
import mekanism.common.base.IRedstoneControl;
|
||||
|
@ -32,7 +35,6 @@ import mekanism.common.tile.component.TileComponentUpgrade;
|
|||
import mekanism.common.util.ChargeUtils;
|
||||
import mekanism.common.util.InventoryUtils;
|
||||
import mekanism.common.util.MekanismUtils;
|
||||
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.entity.player.EntityPlayerMP;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
@ -41,9 +43,7 @@ import net.minecraftforge.common.util.ForgeDirection;
|
|||
import net.minecraftforge.fluids.FluidContainerRegistry;
|
||||
import net.minecraftforge.fluids.FluidRegistry;
|
||||
|
||||
import io.netty.buffer.ByteBuf;
|
||||
|
||||
public class TileEntityChemicalCrystallizer extends TileEntityNoisyElectricBlock implements IGasHandler, ITubeConnection, IRedstoneControl, IInvConfiguration, IUpgradeTile, ISustainedData
|
||||
public class TileEntityChemicalCrystallizer extends TileEntityNoisyElectricBlock implements IGasHandler, ITubeConnection, IRedstoneControl, IInvConfiguration, IUpgradeTile, ISustainedData, IDropperHandler
|
||||
{
|
||||
public static final int MAX_GAS = 10000;
|
||||
|
||||
|
@ -507,4 +507,10 @@ public class TileEntityChemicalCrystallizer extends TileEntityNoisyElectricBlock
|
|||
maxEnergy = MekanismUtils.getMaxEnergy(this, BASE_MAX_ENERGY);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object[] getTanks()
|
||||
{
|
||||
return new Object[] {inputTank};
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
package mekanism.common.tile;
|
||||
|
||||
import io.netty.buffer.ByteBuf;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
import mekanism.api.Coord4D;
|
||||
|
@ -15,6 +17,7 @@ import mekanism.api.gas.IGasItem;
|
|||
import mekanism.api.gas.ITubeConnection;
|
||||
import mekanism.common.Mekanism;
|
||||
import mekanism.common.Upgrade;
|
||||
import mekanism.common.base.IDropperHandler;
|
||||
import mekanism.common.base.IRedstoneControl;
|
||||
import mekanism.common.base.ISustainedData;
|
||||
import mekanism.common.base.IUpgradeTile;
|
||||
|
@ -32,9 +35,8 @@ import net.minecraft.item.ItemStack;
|
|||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraftforge.common.util.ForgeDirection;
|
||||
import io.netty.buffer.ByteBuf;
|
||||
|
||||
public class TileEntityChemicalDissolutionChamber extends TileEntityNoisyElectricBlock implements ITubeConnection, IRedstoneControl, IGasHandler, IUpgradeTile, ISustainedData
|
||||
public class TileEntityChemicalDissolutionChamber extends TileEntityNoisyElectricBlock implements ITubeConnection, IRedstoneControl, IGasHandler, IUpgradeTile, ISustainedData, IDropperHandler
|
||||
{
|
||||
public GasTank injectTank = new GasTank(MAX_GAS);
|
||||
public GasTank outputTank = new GasTank(MAX_GAS);
|
||||
|
@ -468,4 +470,10 @@ public class TileEntityChemicalDissolutionChamber extends TileEntityNoisyElectri
|
|||
maxEnergy = MekanismUtils.getMaxEnergy(this, BASE_MAX_ENERGY);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object[] getTanks()
|
||||
{
|
||||
return new Object[] {injectTank, outputTank};
|
||||
}
|
||||
}
|
||||
|
|
|
@ -19,6 +19,7 @@ import mekanism.api.gas.ITubeConnection;
|
|||
import mekanism.common.Mekanism;
|
||||
import mekanism.common.Upgrade;
|
||||
import mekanism.common.Upgrade.IUpgradeInfoHandler;
|
||||
import mekanism.common.base.IDropperHandler;
|
||||
import mekanism.common.base.IRedstoneControl;
|
||||
import mekanism.common.base.ISustainedData;
|
||||
import mekanism.common.base.IUpgradeTile;
|
||||
|
@ -38,7 +39,7 @@ import net.minecraft.nbt.NBTTagCompound;
|
|||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraftforge.common.util.ForgeDirection;
|
||||
|
||||
public class TileEntityChemicalInfuser extends TileEntityNoisyElectricBlock implements IGasHandler, ITubeConnection, IRedstoneControl, ISustainedData, IUpgradeTile, IUpgradeInfoHandler
|
||||
public class TileEntityChemicalInfuser extends TileEntityNoisyElectricBlock implements IGasHandler, ITubeConnection, IRedstoneControl, ISustainedData, IUpgradeTile, IUpgradeInfoHandler, IDropperHandler
|
||||
{
|
||||
public GasTank leftTank = new GasTank(MAX_GAS);
|
||||
public GasTank rightTank = new GasTank(MAX_GAS);
|
||||
|
@ -540,4 +541,10 @@ public class TileEntityChemicalInfuser extends TileEntityNoisyElectricBlock impl
|
|||
{
|
||||
return upgrade == Upgrade.SPEED ? upgrade.getExpScaledInfo(this) : upgrade.getMultScaledInfo(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object[] getTanks()
|
||||
{
|
||||
return new Object[] {leftTank, rightTank, centerTank};
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
package mekanism.common.tile;
|
||||
|
||||
import io.netty.buffer.ByteBuf;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
import mekanism.api.Coord4D;
|
||||
|
@ -14,6 +16,7 @@ import mekanism.api.gas.IGasItem;
|
|||
import mekanism.api.gas.ITubeConnection;
|
||||
import mekanism.common.Mekanism;
|
||||
import mekanism.common.Upgrade;
|
||||
import mekanism.common.base.IDropperHandler;
|
||||
import mekanism.common.base.IRedstoneControl;
|
||||
import mekanism.common.base.ISustainedData;
|
||||
import mekanism.common.base.IUpgradeTile;
|
||||
|
@ -26,15 +29,12 @@ import mekanism.common.tile.component.TileComponentUpgrade;
|
|||
import mekanism.common.util.ChargeUtils;
|
||||
import mekanism.common.util.InventoryUtils;
|
||||
import mekanism.common.util.MekanismUtils;
|
||||
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraftforge.common.util.ForgeDirection;
|
||||
|
||||
import io.netty.buffer.ByteBuf;
|
||||
|
||||
public class TileEntityChemicalOxidizer extends TileEntityNoisyElectricBlock implements ITubeConnection, IRedstoneControl, IUpgradeTile, ISustainedData
|
||||
public class TileEntityChemicalOxidizer extends TileEntityNoisyElectricBlock implements ITubeConnection, IRedstoneControl, IUpgradeTile, ISustainedData, IDropperHandler
|
||||
{
|
||||
public GasTank gasTank = new GasTank(MAX_GAS);
|
||||
|
||||
|
@ -389,4 +389,10 @@ public class TileEntityChemicalOxidizer extends TileEntityNoisyElectricBlock imp
|
|||
maxEnergy = MekanismUtils.getMaxEnergy(this, BASE_MAX_ENERGY);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object[] getTanks()
|
||||
{
|
||||
return new Object[] {gasTank};
|
||||
}
|
||||
}
|
||||
|
|
|
@ -19,6 +19,7 @@ import mekanism.api.gas.ITubeConnection;
|
|||
import mekanism.common.Mekanism;
|
||||
import mekanism.common.Upgrade;
|
||||
import mekanism.common.Upgrade.IUpgradeInfoHandler;
|
||||
import mekanism.common.base.IDropperHandler;
|
||||
import mekanism.common.base.IRedstoneControl;
|
||||
import mekanism.common.base.ISustainedData;
|
||||
import mekanism.common.base.IUpgradeTile;
|
||||
|
@ -48,7 +49,7 @@ import net.minecraftforge.fluids.FluidTankInfo;
|
|||
import net.minecraftforge.fluids.IFluidContainerItem;
|
||||
import net.minecraftforge.fluids.IFluidHandler;
|
||||
|
||||
public class TileEntityChemicalWasher extends TileEntityNoisyElectricBlock implements IGasHandler, ITubeConnection, IRedstoneControl, IFluidHandler, IUpgradeTile, ISustainedData, IUpgradeInfoHandler
|
||||
public class TileEntityChemicalWasher extends TileEntityNoisyElectricBlock implements IGasHandler, ITubeConnection, IRedstoneControl, IFluidHandler, IUpgradeTile, ISustainedData, IUpgradeInfoHandler, IDropperHandler
|
||||
{
|
||||
public FluidTank fluidTank = new FluidTank(MAX_FLUID);
|
||||
public GasTank inputTank = new GasTank(MAX_GAS);
|
||||
|
@ -656,4 +657,10 @@ public class TileEntityChemicalWasher extends TileEntityNoisyElectricBlock imple
|
|||
{
|
||||
return upgrade == Upgrade.SPEED ? upgrade.getExpScaledInfo(this) : upgrade.getMultScaledInfo(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object[] getTanks()
|
||||
{
|
||||
return new Object[] {fluidTank, inputTank, outputTank};
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
package mekanism.common.tile;
|
||||
|
||||
import io.netty.buffer.ByteBuf;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
@ -11,20 +13,16 @@ import mekanism.common.base.IFluidContainerManager;
|
|||
import mekanism.common.content.tank.SynchronizedTankData;
|
||||
import mekanism.common.content.tank.SynchronizedTankData.ValveData;
|
||||
import mekanism.common.content.tank.TankUpdateProtocol;
|
||||
import mekanism.common.multiblock.IMultiblock;
|
||||
import mekanism.common.multiblock.MultiblockManager;
|
||||
import mekanism.common.network.PacketTileEntity.TileEntityMessage;
|
||||
import mekanism.common.util.FluidContainerUtils;
|
||||
import mekanism.common.util.FluidContainerUtils.ContainerEditMode;
|
||||
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraftforge.common.util.ForgeDirection;
|
||||
import net.minecraftforge.fluids.FluidContainerRegistry;
|
||||
import net.minecraftforge.fluids.FluidStack;
|
||||
import net.minecraftforge.fluids.IFluidContainerItem;
|
||||
|
||||
import io.netty.buffer.ByteBuf;
|
||||
|
||||
public class TileEntityDynamicTank extends TileEntityMultiblock<SynchronizedTankData> implements IFluidContainerManager
|
||||
{
|
||||
/** A client-sided and server-sided map of valves on this tank's structure, used on the client for rendering fluids. */
|
||||
|
|
|
@ -15,6 +15,7 @@ import mekanism.api.EnumColor;
|
|||
import mekanism.api.IConfigurable;
|
||||
import mekanism.api.MekanismConfig.usage;
|
||||
import mekanism.common.Upgrade;
|
||||
import mekanism.common.base.IDropperHandler;
|
||||
import mekanism.common.base.IRedstoneControl;
|
||||
import mekanism.common.base.ISustainedTank;
|
||||
import mekanism.common.base.IUpgradeTile;
|
||||
|
@ -39,7 +40,7 @@ import net.minecraftforge.fluids.FluidTankInfo;
|
|||
import net.minecraftforge.fluids.IFluidContainerItem;
|
||||
import net.minecraftforge.fluids.IFluidHandler;
|
||||
|
||||
public class TileEntityElectricPump extends TileEntityElectricBlock implements IFluidHandler, ISustainedTank, IConfigurable, IRedstoneControl, IUpgradeTile
|
||||
public class TileEntityElectricPump extends TileEntityElectricBlock implements IFluidHandler, ISustainedTank, IConfigurable, IRedstoneControl, IUpgradeTile, IDropperHandler
|
||||
{
|
||||
/** This pump's tank */
|
||||
public FluidTank fluidTank = new FluidTank(10000);
|
||||
|
@ -512,4 +513,10 @@ public class TileEntityElectricPump extends TileEntityElectricBlock implements I
|
|||
{
|
||||
return upgradeComponent;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object[] getTanks()
|
||||
{
|
||||
return new Object[] {fluidTank};
|
||||
}
|
||||
}
|
||||
|
|
|
@ -3,6 +3,7 @@ package mekanism.common.tile;
|
|||
import io.netty.buffer.ByteBuf;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import mekanism.api.Coord4D;
|
||||
import mekanism.api.Range4D;
|
||||
|
@ -16,6 +17,8 @@ import mekanism.api.gas.IGasItem;
|
|||
import mekanism.api.gas.ITubeConnection;
|
||||
import mekanism.common.Mekanism;
|
||||
import mekanism.common.Upgrade;
|
||||
import mekanism.common.Upgrade.IUpgradeInfoHandler;
|
||||
import mekanism.common.base.IDropperHandler;
|
||||
import mekanism.common.base.ISustainedData;
|
||||
import mekanism.common.base.IUpgradeTile;
|
||||
import mekanism.common.block.BlockMachine.MachineType;
|
||||
|
@ -50,7 +53,7 @@ import dan200.computercraft.api.peripheral.IComputerAccess;
|
|||
import dan200.computercraft.api.peripheral.IPeripheral;
|
||||
|
||||
@Interface(iface = "dan200.computercraft.api.peripheral.IPeripheral", modid = "ComputerCraft")
|
||||
public class TileEntityElectrolyticSeparator extends TileEntityElectricBlock implements IFluidHandler, IPeripheral, ITubeConnection, ISustainedData, IGasHandler, IUpgradeTile
|
||||
public class TileEntityElectrolyticSeparator extends TileEntityElectricBlock implements IFluidHandler, IPeripheral, ITubeConnection, ISustainedData, IGasHandler, IUpgradeTile, IUpgradeInfoHandler, IDropperHandler
|
||||
{
|
||||
/** This separator's water slot. */
|
||||
public FluidTank fluidTank = new FluidTank(24000);
|
||||
|
@ -710,4 +713,16 @@ public class TileEntityElectrolyticSeparator extends TileEntityElectricBlock imp
|
|||
maxEnergy = MekanismUtils.getMaxEnergy(this, BASE_MAX_ENERGY);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> getInfo(Upgrade upgrade)
|
||||
{
|
||||
return upgrade == Upgrade.SPEED ? upgrade.getExpScaledInfo(this) : upgrade.getMultScaledInfo(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object[] getTanks()
|
||||
{
|
||||
return new Object[] {fluidTank, leftTank, rightTank};
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
package mekanism.common.tile;
|
||||
|
||||
import io.netty.buffer.ByteBuf;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Map;
|
||||
|
||||
|
@ -13,6 +15,7 @@ import mekanism.api.gas.GasTank;
|
|||
import mekanism.api.gas.IGasHandler;
|
||||
import mekanism.api.gas.ITubeConnection;
|
||||
import mekanism.common.SideData;
|
||||
import mekanism.common.base.IDropperHandler;
|
||||
import mekanism.common.base.ISustainedData;
|
||||
import mekanism.common.block.BlockMachine.MachineType;
|
||||
import mekanism.common.item.ItemUpgrade;
|
||||
|
@ -26,7 +29,6 @@ import mekanism.common.util.ChargeUtils;
|
|||
import mekanism.common.util.InventoryUtils;
|
||||
import mekanism.common.util.MekanismUtils;
|
||||
import mekanism.common.util.PipeUtils;
|
||||
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
|
@ -39,14 +41,11 @@ import net.minecraftforge.fluids.FluidTank;
|
|||
import net.minecraftforge.fluids.FluidTankInfo;
|
||||
import net.minecraftforge.fluids.IFluidHandler;
|
||||
import cpw.mods.fml.common.Optional.Method;
|
||||
|
||||
import io.netty.buffer.ByteBuf;
|
||||
|
||||
import dan200.computercraft.api.lua.ILuaContext;
|
||||
import dan200.computercraft.api.lua.LuaException;
|
||||
import dan200.computercraft.api.peripheral.IComputerAccess;
|
||||
|
||||
public class TileEntityPRC extends TileEntityBasicMachine<PressurizedInput, PressurizedProducts, PressurizedRecipe> implements IFluidHandler, IGasHandler, ITubeConnection, ISustainedData
|
||||
public class TileEntityPRC extends TileEntityBasicMachine<PressurizedInput, PressurizedProducts, PressurizedRecipe> implements IFluidHandler, IGasHandler, ITubeConnection, ISustainedData, IDropperHandler
|
||||
{
|
||||
public FluidTank inputFluidTank = new FluidTank(10000);
|
||||
public GasTank inputGasTank = new GasTank(10000);
|
||||
|
@ -430,4 +429,10 @@ public class TileEntityPRC extends TileEntityBasicMachine<PressurizedInput, Pres
|
|||
inputGasTank.setGas(GasStack.readFromNBT(itemStack.stackTagCompound.getCompoundTag("inputGasTank")));
|
||||
outputGasTank.setGas(GasStack.readFromNBT(itemStack.stackTagCompound.getCompoundTag("outputGasTank")));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object[] getTanks()
|
||||
{
|
||||
return new Object[] {inputFluidTank, inputGasTank, outputGasTank};
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
package mekanism.common.tile;
|
||||
|
||||
import io.netty.buffer.ByteBuf;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
import mekanism.api.Coord4D;
|
||||
|
@ -9,6 +11,7 @@ import mekanism.api.Range4D;
|
|||
import mekanism.api.gas.IGasItem;
|
||||
import mekanism.common.Mekanism;
|
||||
import mekanism.common.base.IActiveState;
|
||||
import mekanism.common.base.IDropperHandler;
|
||||
import mekanism.common.base.IFluidContainerManager;
|
||||
import mekanism.common.base.ISustainedTank;
|
||||
import mekanism.common.network.PacketTileEntity.TileEntityMessage;
|
||||
|
@ -16,7 +19,6 @@ import mekanism.common.util.FluidContainerUtils;
|
|||
import mekanism.common.util.FluidContainerUtils.ContainerEditMode;
|
||||
import mekanism.common.util.InventoryUtils;
|
||||
import mekanism.common.util.MekanismUtils;
|
||||
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
|
@ -31,9 +33,7 @@ import net.minecraftforge.fluids.FluidTankInfo;
|
|||
import net.minecraftforge.fluids.IFluidContainerItem;
|
||||
import net.minecraftforge.fluids.IFluidHandler;
|
||||
|
||||
import io.netty.buffer.ByteBuf;
|
||||
|
||||
public class TileEntityPortableTank extends TileEntityContainerBlock implements IActiveState, IConfigurable, IFluidHandler, ISustainedTank, IFluidContainerManager
|
||||
public class TileEntityPortableTank extends TileEntityContainerBlock implements IActiveState, IConfigurable, IFluidHandler, ISustainedTank, IFluidContainerManager, IDropperHandler
|
||||
{
|
||||
public boolean isActive;
|
||||
|
||||
|
@ -608,4 +608,10 @@ public class TileEntityPortableTank extends TileEntityContainerBlock implements
|
|||
{
|
||||
editMode = mode;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object[] getTanks()
|
||||
{
|
||||
return new Object[] {fluidTank};
|
||||
}
|
||||
}
|
||||
|
|
|
@ -19,6 +19,7 @@ import mekanism.common.Mekanism;
|
|||
import mekanism.common.Upgrade;
|
||||
import mekanism.common.Upgrade.IUpgradeInfoHandler;
|
||||
import mekanism.common.base.IActiveState;
|
||||
import mekanism.common.base.IDropperHandler;
|
||||
import mekanism.common.base.IRedstoneControl;
|
||||
import mekanism.common.base.ISustainedData;
|
||||
import mekanism.common.base.IUpgradeTile;
|
||||
|
@ -43,7 +44,7 @@ import net.minecraftforge.fluids.FluidTankInfo;
|
|||
import net.minecraftforge.fluids.IFluidContainerItem;
|
||||
import net.minecraftforge.fluids.IFluidHandler;
|
||||
|
||||
public class TileEntityRotaryCondensentrator extends TileEntityElectricBlock implements IActiveState, ISustainedData, IFluidHandler, IGasHandler, ITubeConnection, IRedstoneControl, IUpgradeTile, IUpgradeInfoHandler
|
||||
public class TileEntityRotaryCondensentrator extends TileEntityElectricBlock implements IActiveState, ISustainedData, IFluidHandler, IGasHandler, ITubeConnection, IRedstoneControl, IUpgradeTile, IUpgradeInfoHandler, IDropperHandler
|
||||
{
|
||||
public GasTank gasTank = new GasTank(MAX_FLUID);
|
||||
|
||||
|
@ -651,4 +652,10 @@ public class TileEntityRotaryCondensentrator extends TileEntityElectricBlock imp
|
|||
{
|
||||
return upgrade == Upgrade.SPEED ? upgrade.getExpScaledInfo(this) : upgrade.getMultScaledInfo(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object[] getTanks()
|
||||
{
|
||||
return new Object[] {gasTank, fluidTank};
|
||||
}
|
||||
}
|
||||
|
|
|
@ -8,10 +8,10 @@ import java.util.Set;
|
|||
|
||||
import mekanism.api.Coord4D;
|
||||
import mekanism.api.ISalinationSolar;
|
||||
import mekanism.api.MekanismConfig.usage;
|
||||
import mekanism.api.Range4D;
|
||||
import mekanism.common.Mekanism;
|
||||
import mekanism.common.base.IActiveState;
|
||||
import mekanism.common.base.IDropperHandler;
|
||||
import mekanism.common.content.tank.TankUpdateProtocol;
|
||||
import mekanism.common.network.PacketTileEntity.TileEntityMessage;
|
||||
import mekanism.common.recipe.RecipeHandler;
|
||||
|
@ -33,7 +33,7 @@ import net.minecraftforge.fluids.FluidTank;
|
|||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
|
||||
public class TileEntitySolarEvaporationController extends TileEntitySolarEvaporationBlock implements IActiveState
|
||||
public class TileEntitySolarEvaporationController extends TileEntitySolarEvaporationBlock implements IActiveState, IDropperHandler
|
||||
{
|
||||
public static final int MAX_OUTPUT = 10000;
|
||||
public static final int MAX_SOLARS = 4;
|
||||
|
@ -802,4 +802,10 @@ public class TileEntitySolarEvaporationController extends TileEntitySolarEvapora
|
|||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object[] getTanks()
|
||||
{
|
||||
return new Object[] {inputTank, outputTank};
|
||||
}
|
||||
}
|
||||
|
|
|
@ -15,6 +15,7 @@ import mekanism.api.gas.ITubeConnection;
|
|||
import mekanism.common.Mekanism;
|
||||
import mekanism.common.base.IActiveState;
|
||||
import mekanism.common.base.IBoundingBlock;
|
||||
import mekanism.common.base.IDropperHandler;
|
||||
import mekanism.common.base.IRedstoneControl;
|
||||
import mekanism.common.base.ISustainedData;
|
||||
import mekanism.common.network.PacketTileEntity.TileEntityMessage;
|
||||
|
@ -23,7 +24,7 @@ import net.minecraft.item.ItemStack;
|
|||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraftforge.common.util.ForgeDirection;
|
||||
|
||||
public class TileEntitySolarNeutronActivator extends TileEntityContainerBlock implements IRedstoneControl, IBoundingBlock, IGasHandler, ITubeConnection, IActiveState, ISustainedData
|
||||
public class TileEntitySolarNeutronActivator extends TileEntityContainerBlock implements IRedstoneControl, IBoundingBlock, IGasHandler, ITubeConnection, IActiveState, ISustainedData, IDropperHandler
|
||||
{
|
||||
public GasTank inputTank = new GasTank(MAX_GAS);
|
||||
public GasTank outputTank = new GasTank(MAX_GAS);
|
||||
|
@ -251,4 +252,10 @@ public class TileEntitySolarNeutronActivator extends TileEntityContainerBlock im
|
|||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object[] getTanks()
|
||||
{
|
||||
return new Object[] {inputTank, outputTank};
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue