diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_infuser.java | 150 | ||||
-rw-r--r-- | src/main/resources/assets/tectech/lang/en_US.lang | 1 |
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 |