Work on new machines
This commit is contained in:
parent
123ae05dcd
commit
7a3c678d76
6 changed files with 50 additions and 53 deletions
|
@ -98,7 +98,7 @@ public final class RecipeHandler
|
||||||
* @param recipes - Map of recipes
|
* @param recipes - Map of recipes
|
||||||
* @return InfusionOutput
|
* @return InfusionOutput
|
||||||
*/
|
*/
|
||||||
public static InfusionOutput getOutput(InfusionInput infusion, boolean stackDecrease)
|
public static InfusionOutput getMetallurgicInfuserOutput(InfusionInput infusion, boolean stackDecrease)
|
||||||
{
|
{
|
||||||
if(infusion != null && infusion.inputStack != null)
|
if(infusion != null && infusion.inputStack != null)
|
||||||
{
|
{
|
||||||
|
@ -126,7 +126,7 @@ public final class RecipeHandler
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static GasStack getOutput(ChemicalInput input)
|
public static GasStack getChemicalInfuserOutput(ChemicalInput input)
|
||||||
{
|
{
|
||||||
if(input != null && input.isValid())
|
if(input != null && input.isValid())
|
||||||
{
|
{
|
||||||
|
@ -137,7 +137,7 @@ public final class RecipeHandler
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public GasStack getOutput(ItemStack itemstack, boolean stackDecrease)
|
public static GasStack getChemicalFormulatorOutput(ItemStack itemstack, boolean stackDecrease)
|
||||||
{
|
{
|
||||||
if(itemstack != null)
|
if(itemstack != null)
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,9 +1,10 @@
|
||||||
package mekanism.common.inventory.container;
|
package mekanism.common.inventory.container;
|
||||||
|
|
||||||
|
import mekanism.api.gas.IGasItem;
|
||||||
|
import mekanism.common.RecipeHandler;
|
||||||
import mekanism.common.inventory.slot.SlotEnergy.SlotDischarge;
|
import mekanism.common.inventory.slot.SlotEnergy.SlotDischarge;
|
||||||
import mekanism.common.inventory.slot.SlotStorageTank;
|
import mekanism.common.inventory.slot.SlotStorageTank;
|
||||||
import mekanism.common.item.ItemMachineUpgrade;
|
import mekanism.common.tileentity.TileEntityChemicalFormulator;
|
||||||
import mekanism.common.tileentity.TileEntityChemicalInfuser;
|
|
||||||
import mekanism.common.util.ChargeUtils;
|
import mekanism.common.util.ChargeUtils;
|
||||||
import net.minecraft.entity.player.EntityPlayer;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
import net.minecraft.entity.player.InventoryPlayer;
|
import net.minecraft.entity.player.InventoryPlayer;
|
||||||
|
@ -13,21 +14,20 @@ import net.minecraft.item.ItemStack;
|
||||||
|
|
||||||
public class ContainerChemicalFormulator extends Container
|
public class ContainerChemicalFormulator extends Container
|
||||||
{
|
{
|
||||||
private TileEntityChemicalInfuser tileEntity;
|
private TileEntityChemicalFormulator tileEntity;
|
||||||
|
|
||||||
public ContainerChemicalFormulator(InventoryPlayer inventory, TileEntityChemicalInfuser tentity)
|
public ContainerChemicalFormulator(InventoryPlayer inventory, TileEntityChemicalFormulator tentity)
|
||||||
{
|
{
|
||||||
tileEntity = tentity;
|
tileEntity = tentity;
|
||||||
addSlotToContainer(new SlotStorageTank(tentity, null, true, 0, 5, 56));
|
addSlotToContainer(new Slot(tentity, 0, 26, 36));
|
||||||
addSlotToContainer(new SlotStorageTank(tentity, null, true, 1, 80, 65));
|
addSlotToContainer(new SlotDischarge(tentity, 1, 155, 5));
|
||||||
addSlotToContainer(new SlotStorageTank(tentity, null, true, 2, 155, 56));
|
addSlotToContainer(new SlotStorageTank(tentity, null, true, 2, 155, 25));
|
||||||
addSlotToContainer(new SlotDischarge(tentity, 3, 155, 5));
|
|
||||||
|
|
||||||
int slotX;
|
int slotX;
|
||||||
|
|
||||||
for(slotX = 0; slotX < 3; slotX++)
|
for(slotX = 0; slotX < 3; ++slotX)
|
||||||
{
|
{
|
||||||
for(int slotY = 0; slotY < 9; slotY++)
|
for(int slotY = 0; slotY < 9; ++slotY)
|
||||||
{
|
{
|
||||||
addSlotToContainer(new Slot(inventory, slotY + slotX * 9 + 9, 8 + slotY * 18, 84 + slotX * 18));
|
addSlotToContainer(new Slot(inventory, slotY + slotX * 9 + 9, 8 + slotY * 18, 84 + slotX * 18));
|
||||||
}
|
}
|
||||||
|
@ -68,9 +68,9 @@ public class ContainerChemicalFormulator extends Container
|
||||||
ItemStack slotStack = currentSlot.getStack();
|
ItemStack slotStack = currentSlot.getStack();
|
||||||
stack = slotStack.copy();
|
stack = slotStack.copy();
|
||||||
|
|
||||||
if(slotID == 2)
|
if(RecipeHandler.getChemicalFormulatorOutput(slotStack, false) != null)
|
||||||
{
|
{
|
||||||
if(!mergeItemStack(slotStack, 4, inventorySlots.size(), true))
|
if(!mergeItemStack(slotStack, 0, 1, true))
|
||||||
{
|
{
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
@ -86,45 +86,45 @@ public class ContainerChemicalFormulator extends Container
|
||||||
}
|
}
|
||||||
else if(slotID == 1)
|
else if(slotID == 1)
|
||||||
{
|
{
|
||||||
if(!mergeItemStack(slotStack, 4, inventorySlots.size(), true))
|
if(!mergeItemStack(slotStack, 3, inventorySlots.size(), true))
|
||||||
{
|
{
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if(slotStack.getItem() instanceof ItemMachineUpgrade)
|
else if(slotStack.getItem() instanceof IGasItem)
|
||||||
{
|
{
|
||||||
if(slotID != 0 && slotID != 1 && slotID != 2 && slotID != 3)
|
if(slotID != 0 && slotID != 1 && slotID != 2)
|
||||||
{
|
{
|
||||||
if(!mergeItemStack(slotStack, 3, 4, false))
|
if(!mergeItemStack(slotStack, 2, 3, false))
|
||||||
{
|
{
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if(!mergeItemStack(slotStack, 4, inventorySlots.size(), true))
|
if(!mergeItemStack(slotStack, 3, inventorySlots.size(), true))
|
||||||
{
|
{
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if(slotID >= 4 && slotID <= 30)
|
if(slotID >= 3 && slotID <= 29)
|
||||||
{
|
{
|
||||||
if(!mergeItemStack(slotStack, 31, inventorySlots.size(), false))
|
if(!mergeItemStack(slotStack, 30, inventorySlots.size(), false))
|
||||||
{
|
{
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if(slotID > 30)
|
else if(slotID > 30)
|
||||||
{
|
{
|
||||||
if(!mergeItemStack(slotStack, 4, 30, false))
|
if(!mergeItemStack(slotStack, 3, 29, false))
|
||||||
{
|
{
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if(!mergeItemStack(slotStack, 4, inventorySlots.size(), true))
|
if(!mergeItemStack(slotStack, 3, inventorySlots.size(), true))
|
||||||
{
|
{
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,9 +1,7 @@
|
||||||
package mekanism.common.inventory.container;
|
package mekanism.common.inventory.container;
|
||||||
|
|
||||||
import mekanism.common.RecipeHandler;
|
import mekanism.api.gas.IGasItem;
|
||||||
import mekanism.common.inventory.slot.SlotEnergy.SlotDischarge;
|
import mekanism.common.inventory.slot.SlotEnergy.SlotDischarge;
|
||||||
import mekanism.common.inventory.slot.SlotMachineUpgrade;
|
|
||||||
import mekanism.common.inventory.slot.SlotOutput;
|
|
||||||
import mekanism.common.inventory.slot.SlotStorageTank;
|
import mekanism.common.inventory.slot.SlotStorageTank;
|
||||||
import mekanism.common.item.ItemMachineUpgrade;
|
import mekanism.common.item.ItemMachineUpgrade;
|
||||||
import mekanism.common.tileentity.TileEntityChemicalInfuser;
|
import mekanism.common.tileentity.TileEntityChemicalInfuser;
|
||||||
|
@ -21,15 +19,16 @@ public class ContainerChemicalInfuser extends Container
|
||||||
public ContainerChemicalInfuser(InventoryPlayer inventory, TileEntityChemicalInfuser tentity)
|
public ContainerChemicalInfuser(InventoryPlayer inventory, TileEntityChemicalInfuser tentity)
|
||||||
{
|
{
|
||||||
tileEntity = tentity;
|
tileEntity = tentity;
|
||||||
addSlotToContainer(new Slot(tentity, 0, 26, 36));
|
addSlotToContainer(new SlotStorageTank(tentity, null, true, 0, 5, 56));
|
||||||
addSlotToContainer(new SlotDischarge(tentity, 1, 155, 5));
|
addSlotToContainer(new SlotStorageTank(tentity, null, true, 1, 155, 56));
|
||||||
addSlotToContainer(new SlotStorageTank(tentity, null, true, 2, 155, 25));
|
addSlotToContainer(new SlotStorageTank(tentity, null, true, 2, 80, 65));
|
||||||
|
addSlotToContainer(new SlotDischarge(tentity, 3, 155, 5));
|
||||||
|
|
||||||
int slotX;
|
int slotX;
|
||||||
|
|
||||||
for(slotX = 0; slotX < 3; ++slotX)
|
for(slotX = 0; slotX < 3; slotX++)
|
||||||
{
|
{
|
||||||
for(int slotY = 0; slotY < 9; ++slotY)
|
for(int slotY = 0; slotY < 9; slotY++)
|
||||||
{
|
{
|
||||||
addSlotToContainer(new Slot(inventory, slotY + slotX * 9 + 9, 8 + slotY * 18, 84 + slotX * 18));
|
addSlotToContainer(new Slot(inventory, slotY + slotX * 9 + 9, 8 + slotY * 18, 84 + slotX * 18));
|
||||||
}
|
}
|
||||||
|
@ -70,23 +69,16 @@ public class ContainerChemicalInfuser extends Container
|
||||||
ItemStack slotStack = currentSlot.getStack();
|
ItemStack slotStack = currentSlot.getStack();
|
||||||
stack = slotStack.copy();
|
stack = slotStack.copy();
|
||||||
|
|
||||||
if(slotID == 2)
|
if(ChargeUtils.canBeDischarged(slotStack))
|
||||||
{
|
{
|
||||||
if(!mergeItemStack(slotStack, 4, inventorySlots.size(), true))
|
if(slotID != 3)
|
||||||
{
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if(ChargeUtils.canBeDischarged(slotStack))
|
|
||||||
{
|
|
||||||
if(slotID != 1)
|
|
||||||
{
|
{
|
||||||
if(!mergeItemStack(slotStack, 1, 2, false))
|
if(!mergeItemStack(slotStack, 3, 4, false))
|
||||||
{
|
{
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if(slotID == 1)
|
else if(slotID == 3)
|
||||||
{
|
{
|
||||||
if(!mergeItemStack(slotStack, 4, inventorySlots.size(), true))
|
if(!mergeItemStack(slotStack, 4, inventorySlots.size(), true))
|
||||||
{
|
{
|
||||||
|
@ -94,17 +86,17 @@ public class ContainerChemicalInfuser extends Container
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if(slotStack.getItem() instanceof ItemMachineUpgrade)
|
else if(slotStack.getItem() instanceof IGasItem)
|
||||||
{
|
{
|
||||||
if(slotID != 0 && slotID != 1 && slotID != 2 && slotID != 3)
|
if(slotID != 0 && slotID != 1 && slotID != 2)
|
||||||
{
|
{
|
||||||
if(!mergeItemStack(slotStack, 3, 4, false))
|
if(!mergeItemStack(slotStack, 0, 3, false))
|
||||||
{
|
{
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if(!mergeItemStack(slotStack, 4, inventorySlots.size(), true))
|
if(!mergeItemStack(slotStack, 5, inventorySlots.size(), true))
|
||||||
{
|
{
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
|
@ -156,7 +156,7 @@ public class ContainerMetallurgicInfuser extends Container
|
||||||
{
|
{
|
||||||
if(tileEntity.type != null)
|
if(tileEntity.type != null)
|
||||||
{
|
{
|
||||||
if(RecipeHandler.getOutput(InfusionInput.getInfusion(tileEntity.type, tileEntity.infuseStored, itemStack), false) != null)
|
if(RecipeHandler.getMetallurgicInfuserOutput(InfusionInput.getInfusion(tileEntity.type, tileEntity.infuseStored, itemStack), false) != null)
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,12 @@
|
||||||
package mekanism.common.tileentity;
|
package mekanism.common.tileentity;
|
||||||
|
|
||||||
|
import mekanism.api.gas.GasStack;
|
||||||
|
|
||||||
public class TileEntityChemicalInfuser extends TileEntityElectricBlock
|
public class TileEntityChemicalInfuser extends TileEntityElectricBlock
|
||||||
{
|
{
|
||||||
|
public GasStack leftStack;
|
||||||
|
public GasStack rightStack;
|
||||||
|
|
||||||
public TileEntityChemicalInfuser()
|
public TileEntityChemicalInfuser()
|
||||||
{
|
{
|
||||||
super("ChemicalInfuser", 0 /*TODO*/);
|
super("ChemicalInfuser", 0 /*TODO*/);
|
||||||
|
|
|
@ -226,7 +226,7 @@ public class TileEntityMetallurgicInfuser extends TileEntityElectricBlock implem
|
||||||
{
|
{
|
||||||
if(type != null)
|
if(type != null)
|
||||||
{
|
{
|
||||||
if(RecipeHandler.getOutput(InfusionInput.getInfusion(type, infuseStored, itemstack), false) != null)
|
if(RecipeHandler.getMetallurgicInfuserOutput(InfusionInput.getInfusion(type, infuseStored, itemstack), false) != null)
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -257,7 +257,7 @@ public class TileEntityMetallurgicInfuser extends TileEntityElectricBlock implem
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
InfusionOutput output = RecipeHandler.getOutput(InfusionInput.getInfusion(type, infuseStored, inventory[2]), true);
|
InfusionOutput output = RecipeHandler.getMetallurgicInfuserOutput(InfusionInput.getInfusion(type, infuseStored, inventory[2]), true);
|
||||||
|
|
||||||
infuseStored -= output.getInfuseRequired();
|
infuseStored -= output.getInfuseRequired();
|
||||||
|
|
||||||
|
@ -284,7 +284,7 @@ public class TileEntityMetallurgicInfuser extends TileEntityElectricBlock implem
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
InfusionOutput output = RecipeHandler.getOutput(InfusionInput.getInfusion(type, infuseStored, inventory[2]), false);
|
InfusionOutput output = RecipeHandler.getMetallurgicInfuserOutput(InfusionInput.getInfusion(type, infuseStored, inventory[2]), false);
|
||||||
|
|
||||||
if(output == null)
|
if(output == null)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue