Fixes to the Centrifuge Block (#815)
* Fixes Compressor inputting items into output slot * Changes to Centrifuge block Add inventory import/export via conduits etc. Added support for overclockers. Only allow empty cans into the correct slot and put all other items into slot 0 (ingredient slot). Credit to Ellpeck for helping with this one.
This commit is contained in:
parent
a5f306eb69
commit
02011b247a
1 changed files with 31 additions and 8 deletions
|
@ -20,6 +20,8 @@ import techreborn.api.Reference;
|
||||||
import techreborn.client.container.ContainerCentrifuge;
|
import techreborn.client.container.ContainerCentrifuge;
|
||||||
import techreborn.config.ConfigTechReborn;
|
import techreborn.config.ConfigTechReborn;
|
||||||
import techreborn.init.ModBlocks;
|
import techreborn.init.ModBlocks;
|
||||||
|
import techreborn.init.ModItems;
|
||||||
|
import techreborn.utils.upgrade.UpgradeHandler;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
@ -28,29 +30,31 @@ public class TileCentrifuge extends TilePowerAcceptor
|
||||||
|
|
||||||
public int tickTime;
|
public int tickTime;
|
||||||
public Inventory inventory = new Inventory(11, "TileCentrifuge", 64, this);
|
public Inventory inventory = new Inventory(11, "TileCentrifuge", 64, this);
|
||||||
|
public UpgradeHandler upgradeHandler;
|
||||||
public RecipeCrafter crafter;
|
public RecipeCrafter crafter;
|
||||||
|
|
||||||
|
|
||||||
public int euTick = ConfigTechReborn.CentrifugeInputTick;
|
public int euTick = ConfigTechReborn.CentrifugeInputTick;
|
||||||
|
|
||||||
public TileCentrifuge() {
|
public TileCentrifuge() {
|
||||||
super(2);
|
super(2);
|
||||||
// Input slots
|
// Input slots
|
||||||
int[] inputs = new int[2];
|
int[] inputs = new int[] { 0, 1 };
|
||||||
inputs[0] = 0;
|
|
||||||
inputs[1] = 1;
|
|
||||||
int[] outputs = new int[4];
|
int[] outputs = new int[4];
|
||||||
outputs[0] = 2;
|
outputs[0] = 2;
|
||||||
outputs[1] = 3;
|
outputs[1] = 3;
|
||||||
outputs[2] = 4;
|
outputs[2] = 4;
|
||||||
outputs[3] = 5;
|
outputs[3] = 5;
|
||||||
|
|
||||||
crafter = new RecipeCrafter(Reference.centrifugeRecipe, this, 2, 4, inventory, inputs, outputs);
|
crafter = new RecipeCrafter(Reference.centrifugeRecipe, this, 2, 4, inventory, inputs, outputs);
|
||||||
|
upgradeHandler = new UpgradeHandler(crafter, inventory, 7, 8, 9, 10);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateEntity() {
|
public void updateEntity() {
|
||||||
super.updateEntity();
|
super.updateEntity();
|
||||||
crafter.updateEntity();
|
crafter.updateEntity();
|
||||||
|
upgradeHandler.tick();
|
||||||
charge(6);
|
charge(6);
|
||||||
if (inventory.getStackInSlot(6) != null) {
|
if (inventory.getStackInSlot(6) != null) {
|
||||||
ItemStack stack = inventory.getStackInSlot(6);
|
ItemStack stack = inventory.getStackInSlot(6);
|
||||||
|
@ -64,7 +68,7 @@ public class TileCentrifuge extends TilePowerAcceptor
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean wrenchCanSetFacing(EntityPlayer entityPlayer, EnumFacing side) {
|
public boolean wrenchCanSetFacing(EntityPlayer entityPlayer, EnumFacing side) {
|
||||||
|
@ -108,6 +112,25 @@ public class TileCentrifuge extends TilePowerAcceptor
|
||||||
return tagCompound;
|
return tagCompound;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ISidedInventory
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int[] getSlotsForFace(EnumFacing side) {
|
||||||
|
return side == EnumFacing.DOWN ? new int[] { 0, 1, 2, 3, 4, 5 } : new int[] { 0, 1, 2, 3, 4, 5};
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean canInsertItem(int index, ItemStack itemStackIn, EnumFacing direction) {
|
||||||
|
return itemStackIn.getItem() == ModItems.emptyCell ? index == 1 : index == 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean canExtractItem(int slotIndex, ItemStack itemStack, EnumFacing side) {
|
||||||
|
return slotIndex >= 2 && slotIndex <= 5;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void addInfo(List<String> info, boolean isRealTile) {
|
public void addInfo(List<String> info, boolean isRealTile) {
|
||||||
super.addInfo(info, isRealTile);
|
super.addInfo(info, isRealTile);
|
||||||
|
@ -161,4 +184,4 @@ public class TileCentrifuge extends TilePowerAcceptor
|
||||||
return crafter;
|
return crafter;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue