aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_infuser.java150
-rw-r--r--src/main/resources/assets/tectech/lang/en_US.lang1
2 files changed, 73 insertions, 78 deletions
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_infuser.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_infuser.java
index aa11fc0d84..77a5e29093 100644
--- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_infuser.java
+++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_infuser.java
@@ -30,6 +30,7 @@ import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_InputBus;
import gregtech.api.util.GT_Multiblock_Tooltip_Builder;
+import gregtech.common.tileentities.machines.GT_MetaTileEntity_Hatch_InputBus_ME;
import ic2.api.item.ElectricItem;
import ic2.api.item.IElectricItem;
@@ -45,9 +46,8 @@ public class GT_MetaTileEntity_EM_infuser extends GT_MetaTileEntity_MultiblockBa
// region structure
private static final String[] description = new String[] {
EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":",
- translateToLocal("gt.blockmachines.multimachine.em.infuser.hint"), // 1 - Classic Hatches or High Power
- // Casing
- };
+ // 1 - Classic Hatches or High Power Casing
+ translateToLocal("gt.blockmachines.multimachine.em.infuser.hint"), };
private static final IStructureDefinition<GT_MetaTileEntity_EM_infuser> STRUCTURE_DEFINITION = IStructureDefinition
.<GT_MetaTileEntity_EM_infuser>builder()
@@ -154,22 +154,20 @@ public class GT_MetaTileEntity_EM_infuser extends GT_MetaTileEntity_MultiblockBa
@Override
public boolean checkRecipe_EM(ItemStack itemStack) {
for (GT_MetaTileEntity_Hatch_InputBus inputBus : mInputBusses) {
- if (inputBus.mInventory != null) {
- for (ItemStack itemStackInBus : inputBus.mInventory) {
- if (itemStackInBus != null) {
- Item item = itemStackInBus.getItem();
- if (itemStackInBus.stackSize == 1 && item != null) {
- if (isItemStackFullyCharged(itemStackInBus) && isItemStackFullyRepaired(itemStackInBus)) {
- if (addOutput(itemStackInBus)) {
- this.depleteInput(itemStackInBus);
- }
- } else {
- mEfficiencyIncrease = 10000;
- mMaxProgresstime = 20;
- return true;
- }
- }
+ if (inputBus instanceof GT_MetaTileEntity_Hatch_InputBus_ME) continue;
+ for (int i = 0; i < inputBus.getSizeInventory(); i++) {
+ ItemStack itemStackInBus = inputBus.getStackInSlot(i);
+ if (itemStackInBus == null) continue;
+ Item item = itemStackInBus.getItem();
+ if (itemStackInBus.stackSize != 1 || item == null) continue;
+ if (isItemStackFullyCharged(itemStackInBus) && isItemStackFullyRepaired(itemStackInBus)) {
+ if (addOutput(itemStackInBus)) {
+ this.depleteInput(itemStackInBus);
}
+ } else {
+ mEfficiencyIncrease = 10000;
+ mMaxProgresstime = 20;
+ return true;
}
}
}
@@ -181,46 +179,42 @@ public class GT_MetaTileEntity_EM_infuser extends GT_MetaTileEntity_MultiblockBa
boolean itemProcessed = false;
startRecipeProcessing();
for (GT_MetaTileEntity_Hatch_InputBus inputBus : mInputBusses) {
- if (inputBus.mInventory != null) {
- for (ItemStack itemStackInBus : inputBus.mInventory) {
- if (itemStackInBus != null) {
- Item item = itemStackInBus.getItem();
- if (itemStackInBus.stackSize == 1 && item != null) {
- if (isItemStackFullyCharged(itemStackInBus) && isItemStackFullyRepaired(itemStackInBus)) {
- itemProcessed = true;
- if (addOutput(itemStackInBus)) {
- this.depleteInput(itemStackInBus);
- }
- } else {
- if (item.isRepairable()) {
- FluidStack uum = getStoredFluids().stream()
- .filter(fluid -> Materials.UUMatter.getFluid(1).isFluidEqual(fluid))
- .findAny().orElse(null);
- if (uum != null) {
- int repairedDamage = Math
- .min(item.getDamage(itemStackInBus), maxRepairedDamagePerOperation);
- long euCost = repairedDamage * usedEuPerDurability;
- if (getEUVar() >= euCost && depleteInput(
- new FluidStack(
- Materials.UUMatter.mFluid,
- repairedDamage * usedUumPerDurability))) {
- item.setDamage(
- itemStackInBus,
- Math.max(item.getDamage(itemStackInBus) - repairedDamage, 0));
- setEUVar(Math.min(getEUVar() - euCost, 0));
- }
- }
- }
- if (item instanceof IElectricItem) {
- doChargeItemStack((IElectricItem) item, itemStackInBus);
- return;
- } else if (TecTech.hasCOFH && item instanceof IEnergyContainerItem) {
- doChargeItemStackRF((IEnergyContainerItem) item, itemStackInBus);
- return;
- }
+ if (inputBus instanceof GT_MetaTileEntity_Hatch_InputBus_ME) continue;
+ for (int i = 0; i < inputBus.getSizeInventory(); i++) {
+ ItemStack itemStackInBus = inputBus.getStackInSlot(i);
+ if (itemStackInBus == null) continue;
+ Item item = itemStackInBus.getItem();
+ if (itemStackInBus.stackSize != 1 || item == null) continue;
+ if (isItemStackFullyCharged(itemStackInBus) && isItemStackFullyRepaired(itemStackInBus)) {
+ itemProcessed = true;
+ if (addOutput(itemStackInBus)) {
+ this.depleteInput(itemStackInBus);
+ }
+ } else {
+ if (item.isRepairable()) {
+ FluidStack uum = getStoredFluids().stream()
+ .filter(fluid -> Materials.UUMatter.getFluid(1).isFluidEqual(fluid)).findAny()
+ .orElse(null);
+ if (uum != null) {
+ int repairedDamage = Math
+ .min(item.getDamage(itemStackInBus), maxRepairedDamagePerOperation);
+ long euCost = repairedDamage * usedEuPerDurability;
+ if (getEUVar() >= euCost && depleteInput(
+ new FluidStack(Materials.UUMatter.mFluid, repairedDamage * usedUumPerDurability))) {
+ item.setDamage(
+ itemStackInBus,
+ Math.max(item.getDamage(itemStackInBus) - repairedDamage, 0));
+ setEUVar(Math.min(getEUVar() - euCost, 0));
}
}
}
+ if (item instanceof IElectricItem) {
+ doChargeItemStack((IElectricItem) item, itemStackInBus);
+ return;
+ } else if (TecTech.hasCOFH && item instanceof IEnergyContainerItem) {
+ doChargeItemStackRF((IEnergyContainerItem) item, itemStackInBus);
+ return;
+ }
}
}
}
@@ -233,39 +227,39 @@ public class GT_MetaTileEntity_EM_infuser extends GT_MetaTileEntity_MultiblockBa
@Override
public GT_Multiblock_Tooltip_Builder createTooltip() {
final GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder();
- tt.addMachineType(translateToLocal("gt.blockmachines.multimachine.em.infuser.name")) // Machine Type: Energy
- // Infuser
- .addInfo(translateToLocal("gt.blockmachines.multimachine.em.infuser.desc.0")) // Controller block of the
- // Energy Infuser
- .addInfo(translateToLocal("gt.blockmachines.multimachine.em.infuser.desc.1")) // Can be used to charge
- // items (lossless)
- .addInfo(translateToLocal("gt.blockmachines.multimachine.em.infuser.desc.2")) // Can be fed with
- // UU-Matter to repair
- // items
- .addSeparator().beginStructureBlock(3, 5, 3, false)
- .addController(translateToLocal("tt.keyword.Structure.FrontCenter3rd")) // Controller: Front 3rd layer
- // center
- .addOtherStructurePart(
+ // Machine Type: Energy Infuser
+ tt.addMachineType(translateToLocal("gt.blockmachines.multimachine.em.infuser.name"))
+ // Controller block of the Energy Infuser
+ .addInfo(translateToLocal("gt.blockmachines.multimachine.em.infuser.desc.0"))
+ // Can be used to charge items (lossless)
+ .addInfo(translateToLocal("gt.blockmachines.multimachine.em.infuser.desc.1"))
+ // Can be fed with UU-Matter to repair items
+ .addInfo(translateToLocal("gt.blockmachines.multimachine.em.infuser.desc.2"))
+ // Stocking Bus is not supported
+ .addInfo(translateToLocal("gt.blockmachines.multimachine.em.infuser.desc.3")).addSeparator()
+ .beginStructureBlock(3, 5, 3, false)
+ // Controller: Front 3rd layer center
+ .addController(translateToLocal("tt.keyword.Structure.FrontCenter3rd")).addOtherStructurePart(
+ // High Power
translateToLocal("gt.blockcasingsTT.0.name"),
- translateToLocal("gt.blockmachines.multimachine.em.infuser.Structure.HighPowerCasing")) // High
- // Power
+ translateToLocal("gt.blockmachines.multimachine.em.infuser.Structure.HighPowerCasing"))
// Casing: Layer
// 1 and 5
.addOtherStructurePart(
+ // Molecular Coil
translateToLocal("gt.blockcasingsTT.7.name"),
- translateToLocal("gt.blockmachines.multimachine.em.infuser.Structure.MolecularCoil")) // Molecular
- // Coil:
+ translateToLocal("gt.blockmachines.multimachine.em.infuser.Structure.MolecularCoil"))
// Layer 2 and 4
.addOtherStructurePart(
+ // Molecular
translateToLocal("gt.blockcasingsTT.4.name"),
- translateToLocal("gt.blockmachines.multimachine.em.infuser.Structure.MolecularCasing")) // Molecular
+ translateToLocal("gt.blockmachines.multimachine.em.infuser.Structure.MolecularCasing"))
// Casing: Layer
// 3 (hollow)
- .addEnergyHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), 1) // Energy Hatch: Any
- // High Power Casing
- .addMaintenanceHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), 1) // Maintenance
- // Hatch: Any High
- // Power Casing
+ // Energy Hatch: Any High Power Casing
+ .addEnergyHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), 1)
+ // Maintenance Hatch: Any High Power Casing
+ .addMaintenanceHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), 1)
.toolTipFinisher(CommonValues.TEC_MARK_GENERAL);
return tt;
}
diff --git a/src/main/resources/assets/tectech/lang/en_US.lang b/src/main/resources/assets/tectech/lang/en_US.lang
index e4d070a4fe..fbfb257711 100644
--- a/src/main/resources/assets/tectech/lang/en_US.lang
+++ b/src/main/resources/assets/tectech/lang/en_US.lang
@@ -755,6 +755,7 @@ gt.blockmachines.multimachine.em.infuser.hint=1 - Classic Hatches or High Power
gt.blockmachines.multimachine.em.infuser.desc.0=Controller block of the Energy Infuser
gt.blockmachines.multimachine.em.infuser.desc.1=Can be used to charge items (lossless)
gt.blockmachines.multimachine.em.infuser.desc.2=Can be fed with UU-Matter to repair items
+gt.blockmachines.multimachine.em.infuser.desc.3=Stocking Bus is not supported
gt.blockmachines.multimachine.em.infuser.Structure.HighPowerCasing=Layer 1 and 5
gt.blockmachines.multimachine.em.infuser.Structure.MolecularCoil=Layer 2 and 4
gt.blockmachines.multimachine.em.infuser.Structure.MolecularCasing=Layer 3