aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/xmod/gregtech
diff options
context:
space:
mode:
authorAlkalus <3060479+draknyte1@users.noreply.github.com>2021-12-12 14:29:34 +0000
committerAlkalus <3060479+draknyte1@users.noreply.github.com>2021-12-12 14:29:34 +0000
commit8752df0b865c1a4104851da6ca100ad28952408d (patch)
treea9fbd24dffbcc9adcab1d14b52487032b64286f2 /src/Java/gtPlusPlus/xmod/gregtech
parent210f8cb4730b8472e0e86a53ed99616e7183b6a5 (diff)
parent9cbfc7a1bacdbe908632e0fff9ec5ad7f119e563 (diff)
downloadGT5-Unofficial-8752df0b865c1a4104851da6ca100ad28952408d.tar.gz
GT5-Unofficial-8752df0b865c1a4104851da6ca100ad28952408d.tar.bz2
GT5-Unofficial-8752df0b865c1a4104851da6ca100ad28952408d.zip
Merge branch 'master' of https://github.com/GTNewHorizons/GTplusplus into gtnh-milling
# Conflicts: # build.properties # src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/generators/GregtechRocketFuelGeneratorBase.java # src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GT_MetaTileEntity_SemiFluidGenerator.java # src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GregtechMetaTileEntityGeothermalGenerator.java # src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMTE_NuclearReactor.java
Diffstat (limited to 'src/Java/gtPlusPlus/xmod/gregtech')
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/HANDLER_GT.java14
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMeta_MultiBlockBase.java4
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/generators/GregtechRocketFuelGeneratorBase.java22
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/nbthandlers/GT_MetaTileEntity_Hatch_NbtConsumable.java6
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/helpers/TreeFarmHelper.java73
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/helpers/treefarm/TreeGenerator.java3
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GT_MetaTileEntity_Boiler_Base.java2
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GT_MetaTileEntity_SemiFluidGenerator.java5
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GregtechMetaTileEntityGeothermalGenerator.java4
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GregtechMetaTileEntityRocketFuelGenerator.java7
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/misc/GMTE_AmazonPackager.java7
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialAlloySmelter.java31
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialArcFurnace.java7
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialCentrifuge.java6
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialCokeOven.java6
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialCuttingMachine.java6
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialDehydrator.java10
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialElectrolyzer.java6
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialExtruder.java6
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialMacerator.java6
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialMixer.java6
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialMultiMachine.java16
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialPlatePress.java7
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialSifter.java6
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialThermalCentrifuge.java6
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialVacuumFreezer.java6
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialWashPlant.java7
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialWireMill.java6
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IsaMill.java7
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_DistillationTower.java7
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_EBF.java19
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_Implosion.java6
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GT4Entity_AutoCrafter.java6
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GT4Entity_ThermalBoiler.java6
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMTE_FrothFlotationCell.java7
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMTE_NuclearReactor.java26
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntityTreeFarm.java154
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_AlloyBlastSmelter.java6
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_Cyclotron.java6
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_IndustrialFishingPond.java6
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_LargeRocketEngine.java1
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_LargeSemifluidGenerator.java90
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_MassFabricator.java6
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_Refinery.java6
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/algae/GregtechMTE_AlgaePondBase.java7
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/chemplant/GregtechMTE_ChemicalPlant.java43
46 files changed, 339 insertions, 361 deletions
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/HANDLER_GT.java b/src/Java/gtPlusPlus/xmod/gregtech/HANDLER_GT.java
index f623fe7405..a375f77cda 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/HANDLER_GT.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/HANDLER_GT.java
@@ -8,6 +8,7 @@ import java.util.Collection;
import java.util.List;
import cpw.mods.fml.common.event.FMLLoadCompleteEvent;
+import gregtech.api.GregTech_API;
import gregtech.api.enums.ItemList;
import gregtech.api.enums.Materials;
import gregtech.api.enums.OrePrefixes;
@@ -40,6 +41,7 @@ import gtPlusPlus.core.util.reflect.AddGregtechRecipe;
import gtPlusPlus.core.util.reflect.ReflectionUtils;
import gtPlusPlus.everglades.gen.gt.WorldGen_GT;
import gtPlusPlus.xmod.gregtech.api.enums.CustomOrePrefix;
+import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
import gtPlusPlus.xmod.gregtech.api.enums.GregtechOrePrefixes.GT_Materials;
import gtPlusPlus.xmod.gregtech.api.util.GTPP_Config;
import gtPlusPlus.xmod.gregtech.api.world.GTPP_Worldgen;
@@ -141,6 +143,18 @@ public class HANDLER_GT {
//Register some custom recipe maps for any enabled multiblocks.
//MultiblockRecipeMapHandler.run();
+
+ if (GregtechItemList.Circuit_BioRecipeSelector.hasBeenSet()) {
+ for (int i = 1; i <= 24; i++) {
+ GregTech_API.registerConfigurationCircuit(CI.getNumberedBioCircuit(i), 0);
+ }
+ }
+
+ if (GregtechItemList.Circuit_T3RecipeSelector.hasBeenSet()) {
+ for (int i = 1; i <= 24; i++) {
+ GregTech_API.registerConfigurationCircuit(CI.getNumberedAdvancedCircuit(i), 3);
+ }
+ }
}
public static void onLoadComplete(FMLLoadCompleteEvent event) {
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMeta_MultiBlockBase.java b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMeta_MultiBlockBase.java
index fd021f1487..4d79be29b1 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMeta_MultiBlockBase.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMeta_MultiBlockBase.java
@@ -2231,10 +2231,6 @@ public abstract class GregtechMeta_MultiBlockBase<T extends GT_MetaTileEntity_En
* Pollution Management
*/
- public int getPollutionPerTick(ItemStack arg0) {
- return 0;
- }
-
private static Method calculatePollutionReduction = null;
public int calculatePollutionReductionForHatch(GT_MetaTileEntity_Hatch_Muffler i , int g) {
if (calculatePollutionReduction != null) {
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/generators/GregtechRocketFuelGeneratorBase.java b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/generators/GregtechRocketFuelGeneratorBase.java
index 2e63e2476f..53b891ffb9 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/generators/GregtechRocketFuelGeneratorBase.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/generators/GregtechRocketFuelGeneratorBase.java
@@ -22,13 +22,18 @@ import net.minecraftforge.fluids.FluidStack;
public abstract class GregtechRocketFuelGeneratorBase extends GT_MetaTileEntity_BasicTank {
private boolean useFuel = false;
+ protected int pollMin, pollMax;
public GregtechRocketFuelGeneratorBase(final int aID, final String aName, final String aNameRegional, final int aTier, final String aDescription, final ITexture... aTextures) {
super(aID, aName, aNameRegional, aTier, 3, aDescription, aTextures);
+ int pollMin = (int)(CORE.ConfigSwitches.baseMinPollutionPerSecondRocketFuelGenerator * CORE.ConfigSwitches.pollutionReleasedByTierRocketFuelGenerator[mTier]);
+ int pollMax = (int)(CORE.ConfigSwitches.baseMaxPollutionPerSecondRocketFuelGenerator * CORE.ConfigSwitches.pollutionReleasedByTierRocketFuelGenerator[mTier]);
}
public GregtechRocketFuelGeneratorBase(final String aName, final int aTier, final String aDescription, final ITexture[][][] aTextures) {
super(aName, aTier, 3, aDescription, aTextures);
+ int pollMin = (int)(CORE.ConfigSwitches.baseMinPollutionPerSecondRocketFuelGenerator * CORE.ConfigSwitches.pollutionReleasedByTierRocketFuelGenerator[mTier]);
+ int pollMax = (int)(CORE.ConfigSwitches.baseMaxPollutionPerSecondRocketFuelGenerator * CORE.ConfigSwitches.pollutionReleasedByTierRocketFuelGenerator[mTier]);
}
@Override
@@ -56,21 +61,14 @@ public abstract class GregtechRocketFuelGeneratorBase extends GT_MetaTileEntity_
@Override
- public String[] getDescription() {
- if (CORE.MAIN_GREGTECH_5U_EXPERIMENTAL_FORK) {
- int pollMin = mTier == 4 ? 250 : (mTier == 5 ? 500 : 750);
- int pollMax = mTier == 4 ? 2000 : (mTier == 5 ? 4000 : 6000);
+ public String[] getDescription() {
String aPollution = "Causes between "+pollMin+" and "+pollMax+ " Pollution per second";
return new String[]{
this.mDescription,
"Fuel Efficiency: " + this.getEfficiency() + "%",
aPollution,
CORE.GT_Tooltip};
- }
- return new String[]{
- this.mDescription,
- "Fuel Efficiency: " + this.getEfficiency() + "%",
- CORE.GT_Tooltip};
+ }
}
@@ -294,8 +292,10 @@ public abstract class GregtechRocketFuelGeneratorBase extends GT_MetaTileEntity_
}
}
- public abstract int getPollution();
-
+ public int getPollution() {
+ return MathUtils.randInt(pollMin, pollMax);
+ }
+
public abstract GT_Recipe_Map getRecipes();
public abstract int getEfficiency();
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/nbthandlers/GT_MetaTileEntity_Hatch_NbtConsumable.java b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/nbthandlers/GT_MetaTileEntity_Hatch_NbtConsumable.java
index d1ce55d3f2..56dff1b1e3 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/nbthandlers/GT_MetaTileEntity_Hatch_NbtConsumable.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/nbthandlers/GT_MetaTileEntity_Hatch_NbtConsumable.java
@@ -41,7 +41,7 @@ public abstract class GT_MetaTileEntity_Hatch_NbtConsumable extends GT_MetaTileE
}
public GT_MetaTileEntity_Hatch_NbtConsumable(String aName, int aTier, int aInputSlots, String[] aDescription, boolean aAllowDuplicateTypes, ITexture[][][] aTextures) {
- super(aName, aTier, aInputSlots*2, aDescription[0], aTextures);
+ super(aName, aTier, aInputSlots*2, aDescription, aTextures);
mInputslotCount = getInputSlotCount();
mTotalSlotCount = getInputSlotCount()*2;
mAllowDuplicateUsageTypes = aAllowDuplicateTypes;
@@ -127,7 +127,7 @@ public abstract class GT_MetaTileEntity_Hatch_NbtConsumable extends GT_MetaTileE
if (i <= getSlotID_LastInput()) {
fillStacksIntoFirstSlots();
}
- }
+ }
}
// Only moves items in the first four slots
@@ -141,7 +141,7 @@ public abstract class GT_MetaTileEntity_Hatch_NbtConsumable extends GT_MetaTileE
}
}
- private final void tryFillUsageSlots() {
+ public final void tryFillUsageSlots() {
int aSlotSpace = (mInputslotCount - getContentUsageSlots().size());
if (aSlotSpace > 0) {
Logger.INFO("We have empty usage slots. "+aSlotSpace);
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/helpers/TreeFarmHelper.java b/src/Java/gtPlusPlus/xmod/gregtech/common/helpers/TreeFarmHelper.java
index c728c5d8e8..2ff2712952 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/helpers/TreeFarmHelper.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/helpers/TreeFarmHelper.java
@@ -15,6 +15,7 @@ import cpw.mods.fml.common.eventhandler.Event.Result;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import cpw.mods.fml.common.gameevent.TickEvent;
+import gregtech.api.enums.*;
import net.minecraft.block.Block;
import net.minecraft.block.BlockAir;
import net.minecraft.block.IGrowable;
@@ -28,8 +29,6 @@ import net.minecraft.server.MinecraftServer;
import net.minecraft.world.ChunkPosition;
import net.minecraft.world.World;
-import gregtech.api.enums.OrePrefixes;
-import gregtech.api.enums.Textures;
import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.items.GT_MetaGenerated_Tool;
@@ -54,12 +53,14 @@ import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.entity.player.BonemealEvent;
import net.minecraftforge.event.world.BlockEvent;
import net.minecraftforge.fluids.FluidStack;
+import net.minecraftforge.oredict.OreDictionary;
public class TreeFarmHelper {
public static final FluidStack fertT1 = FluidUtils.getFluidStack("fluid.fertiliser", 3);
public static final FluidStack fertT2 = FluidUtils.getFluidStack("fluid.un18fertiliser", 2);
public static final FluidStack fertT3 = FluidUtils.getFluidStack("fluid.un32fertiliser", 1);
+ private static final int sawOreId = OreDictionary.getOreID(ToolDictNames.craftingToolSaw.name());
public static ITexture[][][] getTextureSet() {
final ITexture[][][] rTextures = new ITexture[10][17][];
@@ -287,73 +288,26 @@ public class TreeFarmHelper {
return SAWTOOL.NONE;
}
- public static boolean isCorrectPart(final ItemStack aStack) {
+ public static ToolType getPartType(final ItemStack aStack) {
if (aStack != null){
//Utils.LOG_WARNING("Found "+aStack.getDisplayName()+" in the GUI slot.");
- if (aStack.getItem() instanceof MetaGeneratedGregtechItems) {
+ if (aStack.getItem() == MetaGeneratedGregtechItems.INSTANCE) {
int aDmg = aStack.getItemDamage();
if (aDmg >= 32120 && aDmg <= 32128) {
- return true;
- }
- else if (aStack.getUnlocalizedName().toLowerCase().contains("mu-metaitem")) {
- String[] aData = aStack.getUnlocalizedName().toLowerCase().split("//.");
- if (aData != null && aData.length > 0) {
- for (String s : aData) {
- if (s.contains("32120")) {
- return true;
- }
- else if (s.contains("32122")) {
- return true;
- }
- else if (s.contains("32124")) {
- return true;
- }
- else if (s.contains("32126")) {
- return true;
- }
- else if (s.contains("32128")) {
- return true;
- }
- else {
- Logger.INFO("bad Tool in Slot 1");
- return false;
- }
- }
- }
+ return ToolType.Unbreakable;
}
Logger.INFO("bad Tool in Slot 2 | "+aStack.getUnlocalizedName().toLowerCase() + " | "+aDmg);
- return false;
+ return null;
}
- if ((aStack.getItem() instanceof GT_MetaGenerated_Item_02) || (aStack.getItem() instanceof GT_MetaGenerated_Tool)){
- if (OrePrefixes.craftingTool.contains(aStack)){
- if (aStack.getDisplayName().toLowerCase().contains("saw") || aStack.getDisplayName().toLowerCase().contains("gt.metatool.01")){
- if (aStack.getItemDamage() == 10){
- return true;
- }
- else if (aStack.getItemDamage() == 140 || aStack.getDisplayName().toLowerCase().contains("gt.metatool.01.140")){
- return true;
- }
- else if (aStack.getItemDamage() == 110 || aStack.getDisplayName().toLowerCase().contains("gt.metatool.01.110")){
- return true;
- }
- else if (aStack.getItemDamage() == 112 || aStack.getDisplayName().toLowerCase().contains("gt.metatool.01.112")){
- return true;
- }
- else if (aStack.getItemDamage() == 114 || aStack.getDisplayName().toLowerCase().contains("gt.metatool.01.114")){
- return true;
- }
- else {
- Logger.INFO("bad Tool in Slot 3");
- return false;
- }
- }
- }
+ if (aStack.getItem() instanceof GT_MetaGenerated_Tool) {
+ if (Arrays.stream(OreDictionary.getOreIDs(aStack)).anyMatch(i -> i == sawOreId))
+ return ToolType.Breakable;
}
}
Logger.INFO("bad Tool in Slot 4");
- return false;
+ return null;
}
public static boolean isHumusLoaded = false;
@@ -716,7 +670,10 @@ public class TreeFarmHelper {
}
-
+ public enum ToolType {
+ Unbreakable,
+ Breakable
+ }
/**
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/helpers/treefarm/TreeGenerator.java b/src/Java/gtPlusPlus/xmod/gregtech/common/helpers/treefarm/TreeGenerator.java
index b94ebf2918..bb40c9b379 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/helpers/treefarm/TreeGenerator.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/helpers/treefarm/TreeGenerator.java
@@ -35,14 +35,13 @@ public class TreeGenerator {
}
public AutoMap<ItemStack> generateOutput(int aTreeSize){
- AutoMap<ItemStack> aTemp = new AutoMap<ItemStack>();
AutoMap<ItemStack> aOutputMap = mTreeData.getOutputFromTree();
if (aOutputMap != null && aOutputMap.size() > 0) {
Logger.WARNING("Valid tree data output");
return aOutputMap;
}
Logger.WARNING("Invalid tree data output");
- return aTemp;
+ return new AutoMap<ItemStack>();
}
public static class FakeTreeInFakeWorldGenerator extends WorldGenAbstractTree
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GT_MetaTileEntity_Boiler_Base.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GT_MetaTileEntity_Boiler_Base.java
index ac7b444cb4..4173489be6 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GT_MetaTileEntity_Boiler_Base.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GT_MetaTileEntity_Boiler_Base.java
@@ -236,7 +236,7 @@ public class GT_MetaTileEntity_Boiler_Base extends GT_MetaTileEntity_Boiler {
@Override
protected int getPollution() {
- return 20 + (15 * tier);
+ return (int) (CORE.ConfigSwitches.basePollutionPerSecondBoiler*CORE.ConfigSwitches.pollutionReleasedByTierBoiler[this.tier]);
}
@Override
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GT_MetaTileEntity_SemiFluidGenerator.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GT_MetaTileEntity_SemiFluidGenerator.java
index 572abaa211..d1628bdb59 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GT_MetaTileEntity_SemiFluidGenerator.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GT_MetaTileEntity_SemiFluidGenerator.java
@@ -21,7 +21,6 @@ import net.minecraft.item.ItemStack;
public class GT_MetaTileEntity_SemiFluidGenerator extends GT_MetaTileEntity_BasicGenerator {
- public static final int BASE_POLLUTION = 2;
public int mEfficiency;
/*public GT_MetaTileEntity_SemiFluidGenerator(int aID, String aName, String aNameRegional, int aTier) {
@@ -42,7 +41,7 @@ public class GT_MetaTileEntity_SemiFluidGenerator extends GT_MetaTileEntity_Basi
}
public int getPollution() {
- return (int) (2.0D * Math.pow(2.0D, this.mTier));
+ return (int) (CORE.ConfigSwitches.basePollutionPerSecondSemiFluidGenerator * CORE.ConfigSwitches.pollutionReleasedByTierSemiFluidGenerator[this.mTier]);
}
@Override
@@ -70,7 +69,7 @@ public class GT_MetaTileEntity_SemiFluidGenerator extends GT_MetaTileEntity_Basi
public String[] getDescription() {
return new String[]{
this.mDescription,
- "Produces "+(this.getPollution()*20)+" pollution/sec",
+ "Produces "+(this.getPollution())+" pollution/sec",
"Fuel Efficiency: "+this.getEfficiency() + "%",
CORE.GT_Tooltip};
}
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GregtechMetaTileEntityGeothermalGenerator.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GregtechMetaTileEntityGeothermalGenerator.java
index 58221313f9..a392ae5a58 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GregtechMetaTileEntityGeothermalGenerator.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GregtechMetaTileEntityGeothermalGenerator.java
@@ -38,7 +38,7 @@ extends GT_MetaTileEntity_BasicGenerator
@Override
public String[] getDescription() {
- String aPollution = "Causes between "+this.getPollution()+ " Pollution per second";
+ String aPollution = "Causes "+this.getPollution()+ " Pollution per second";
return new String[]{
this.mDescription,
"Generates power at " + this.getEfficiency() + "% Efficiency per tick",
@@ -146,6 +146,6 @@ extends GT_MetaTileEntity_BasicGenerator
}
public int getPollution() {
- return 100;
+ return (int) (CORE.ConfigSwitches.basePollutionPerSecondGeothermalGenerator * CORE.ConfigSwitches.pollutionReleasedByTierGeothermalGenerator[mTier]);
}
} \ No newline at end of file
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GregtechMetaTileEntityRocketFuelGenerator.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GregtechMetaTileEntityRocketFuelGenerator.java
index f9bf116362..c05c7ae3ff 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GregtechMetaTileEntityRocketFuelGenerator.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GregtechMetaTileEntityRocketFuelGenerator.java
@@ -12,6 +12,7 @@ import gregtech.api.objects.GT_RenderedTexture;
import gregtech.api.util.GT_ModHandler;
import gregtech.api.util.GT_Recipe;
import gregtech.api.util.GTPP_Recipe;
+import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.util.math.MathUtils;
import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.generators.GregtechRocketFuelGeneratorBase;
import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock;
@@ -138,10 +139,4 @@ extends GregtechRocketFuelGeneratorBase {
public ITexture[] getSidesActive(final byte aColor) {
return new ITexture[]{super.getSidesActive(aColor)[0], this.getCasingTexture(), new GT_RenderedTexture(TexturesGtBlock.Overlay_Machine_Diesel_Horizontal_Active)};
}
-
- public int getPollution() {
- int pollMin = mTier == 4 ? 250 : (mTier == 5 ? 500 : 750);
- int pollMax = mTier == 4 ? 2000 : (mTier == 5 ? 4000 : 6000);
- return (int) (MathUtils.randInt(pollMin, pollMax)/20);
- }
}
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/misc/GMTE_AmazonPackager.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/misc/GMTE_AmazonPackager.java
index 37eaffc771..b8f24d6c5e 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/misc/GMTE_AmazonPackager.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/misc/GMTE_AmazonPackager.java
@@ -18,6 +18,7 @@ import gregtech.api.util.GT_Utility;
import gtPlusPlus.api.objects.data.AutoMap;
import gtPlusPlus.api.objects.minecraft.ItemStackData;
import gtPlusPlus.core.block.ModBlocks;
+import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase;
import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock;
import net.minecraft.item.ItemStack;
@@ -123,7 +124,7 @@ public class GMTE_AmazonPackager extends GregtechMeta_MultiBlockBase {
.addInfo("Uncomparably fast compared to a single packager of the same tier")
.addInfo("Only uses 75% of the eu/t normally required")
.addInfo("Processes five items per voltage tier")
- .addPollutionAmount(getPollutionPerTick(null) * 20)
+ .addPollutionAmount(getPollutionPerSecond(null))
.addSeparator()
.beginStructureBlock(3, 3, 3, true)
.addController("Front center")
@@ -301,8 +302,8 @@ public class GMTE_AmazonPackager extends GregtechMeta_MultiBlockBase {
}
@Override
- public int getPollutionPerTick(ItemStack arg0) {
- return 2;
+ public int getPollutionPerSecond(ItemStack arg0){
+ return CORE.ConfigSwitches.pollutionPerSecondMultiPackager;
}
@Override
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialAlloySmelter.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialAlloySmelter.java
index cbe93e05fb..df01d01679 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialAlloySmelter.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialAlloySmelter.java
@@ -14,6 +14,7 @@ import com.gtnewhorizon.structurelib.structure.StructureDefinition;
import gregtech.api.enums.HeatingCoilLevel;
import gregtech.api.metatileentity.implementations.*;
import gregtech.api.util.GT_Multiblock_Tooltip_Builder;
+import gtPlusPlus.core.lib.CORE;
import org.apache.commons.lang3.ArrayUtils;
import gregtech.api.enums.TAE;
@@ -78,8 +79,8 @@ public class GregtechMetaTileEntity_IndustrialAlloySmelter extends GregtechMeta_
return 10000;
}
- public int getPollutionPerTick(ItemStack aStack) {
- return 15;
+ public int getPollutionPerSecond(ItemStack aStack) {
+ return CORE.ConfigSwitches.pollutionPerSecondMultiIndustrialAlloySmelter;
}
public int getDamageToComponent(ItemStack aStack) {
@@ -114,12 +115,12 @@ public class GregtechMetaTileEntity_IndustrialAlloySmelter extends GregtechMeta_
.addInfo("Gains one multiplier per coil tier")
.addInfo("parallel = tier * coil tier")
.addInfo("Gains 5% speed bonus per coil tier")
- .addPollutionAmount(getPollutionPerTick(null) * 20)
+ .addPollutionAmount(getPollutionPerSecond(null))
.addSeparator()
.beginStructureBlock(3, 5, 3, true)
.addController("Bottom center")
.addCasingInfo("Inconel Reinforced Casings", 10)
- .addCasingInfo("Integral Encasement V", 18)
+ .addCasingInfo("Integral Encasement V", 8)
.addCasingInfo("Heating Coils", 16)
.addInputBus("Any Inconel Reinforced Casing", 1)
.addOutputBus("Any Inconel Reinforced Casing", 1)
@@ -215,9 +216,27 @@ public class GregtechMetaTileEntity_IndustrialAlloySmelter extends GregtechMeta_
return 100;
}
+
+ @Override
public boolean checkRecipe(ItemStack aStack) {
- return checkRecipeGeneric(this.getMaxParallelRecipes(), 100, 5 * this.mLevel); // Will have to clone the logic from parent class to handle heating coil
- // tiers.
+ FluidStack[] tFluids = getStoredFluids().toArray(new FluidStack[0]);
+ for (GT_MetaTileEntity_Hatch_InputBus tBus : mInputBusses) {
+ ArrayList<ItemStack> tInputs = new ArrayList<>();
+ if (isValidMetaTileEntity(tBus)) {
+ for (int i = tBus.getBaseMetaTileEntity().getSizeInventory() - 1; i >= 0; i--) {
+ if (tBus.getBaseMetaTileEntity().getStackInSlot(i) != null) {
+ tInputs.add(tBus.getBaseMetaTileEntity().getStackInSlot(i));
+ }
+ }
+ }
+ if (tInputs.size() > 1) {
+ ItemStack[] tItems = tInputs.toArray(new ItemStack[0]);
+ if (checkRecipeGeneric(tItems, tFluids, getMaxParallelRecipes(), 100, 5 * this.mLevel, 10000)) {
+ return true;
+ }
+ }
+ }
+ return false;
}
@Override
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialArcFurnace.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialArcFurnace.java
index 65da72a520..35a92d5be3 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialArcFurnace.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialArcFurnace.java
@@ -13,7 +13,6 @@ import gregtech.api.objects.GT_RenderedTexture;
import gregtech.api.util.GT_Multiblock_Tooltip_Builder;
import gregtech.api.util.GT_Recipe;
import gregtech.api.util.GT_Utility;
-import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.block.ModBlocks;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.util.Utils;
@@ -73,7 +72,7 @@ extends GregtechMeta_MultiBlockBase {
.addInfo("250% faster than using single block machines of the same voltage")
.addInfo("Processes 8 items per voltage tier")
.addInfo("Max Size required to process Plasma recipes")
- .addPollutionAmount(getPollutionPerTick(null) * 20)
+ .addPollutionAmount(getPollutionPerSecond(null))
.addSeparator()
.addController("Top center")
.addStructureInfo("Size: nx3xn [WxHxL] (Hollow)")
@@ -251,8 +250,8 @@ extends GregtechMeta_MultiBlockBase {
}
@Override
- public int getPollutionPerTick(final ItemStack aStack) {
- return 120;
+ public int getPollutionPerSecond(final ItemStack aStack) {
+ return CORE.ConfigSwitches.pollutionPerSecondMultiIndustrialArcFurnace;
}
@Override
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialCentrifuge.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialCentrifuge.java
index 000763767a..8802a7148b 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialCentrifuge.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialCentrifuge.java
@@ -71,7 +71,7 @@ extends GregtechMeta_MultiBlockBase {
.addInfo("Disable animations with a screwdriver")
.addInfo("Only uses 90% of the eu/t normally required")
.addInfo("Processes six items per voltage tier")
- .addPollutionAmount(getPollutionPerTick(null) * 20)
+ .addPollutionAmount(getPollutionPerSecond(null))
.addSeparator()
.beginStructureBlock(3, 3, 3, true)
.addController("Front Center")
@@ -203,8 +203,8 @@ extends GregtechMeta_MultiBlockBase {
}
@Override
- public int getPollutionPerTick(final ItemStack aStack) {
- return 15;
+ public int getPollutionPerSecond(final ItemStack aStack) {
+ return CORE.ConfigSwitches.pollutionPerSecondMultiIndustrialCentrifuge;
}
@Override
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialCokeOven.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialCokeOven.java
index 8d51a4b0aa..21caf135b1 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialCokeOven.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialCokeOven.java
@@ -59,7 +59,7 @@ extends GregtechMeta_MultiBlockBase {
.addInfo("Gain 4% speed bonus per voltage tier increased")
.addInfo("Process 12x materials with Heat Resistant Casings")
.addInfo("Or 24x materials with Heat Proof Casings")
- .addPollutionAmount(getPollutionPerTick(null) * 20)
+ .addPollutionAmount(getPollutionPerSecond(null))
.addSeparator()
.beginStructureBlock(3, 3, 3, true)
.addController("Front middle at bottom")
@@ -214,8 +214,8 @@ extends GregtechMeta_MultiBlockBase {
}
@Override
- public int getPollutionPerTick(final ItemStack aStack) {
- return 4;
+ public int getPollutionPerSecond(final ItemStack aStack) {
+ return CORE.ConfigSwitches.pollutionPerSecondMultiIndustrialCokeOven;
}
@Override
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialCuttingMachine.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialCuttingMachine.java
index 10f05faf48..bf5f8aaeaf 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialCuttingMachine.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialCuttingMachine.java
@@ -60,7 +60,7 @@ extends GregtechMeta_MultiBlockBase {
.addInfo("200% faster than using single block machines of the same voltage")
.addInfo("Only uses 75% of the eu/t normally required")
.addInfo("Processes four items per voltage tier")
- .addPollutionAmount(getPollutionPerTick(null) * 20)
+ .addPollutionAmount(getPollutionPerSecond(null))
.addSeparator()
.beginStructureBlock(3, 3, 5, true)
.addController("Front Center")
@@ -180,8 +180,8 @@ extends GregtechMeta_MultiBlockBase {
}
@Override
- public int getPollutionPerTick(final ItemStack aStack) {
- return 8;
+ public int getPollutionPerSecond(final ItemStack aStack) {
+ return CORE.ConfigSwitches.pollutionPerSecondMultiIndustrialCuttingMachine;
}
@Override
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialDehydrator.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialDehydrator.java
index 571c823f78..44552ea2f7 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialDehydrator.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialDehydrator.java
@@ -14,6 +14,7 @@ import com.gtnewhorizon.structurelib.structure.StructureDefinition;
import gregtech.api.enums.HeatingCoilLevel;
import gregtech.api.metatileentity.implementations.*;
import gregtech.api.util.GT_Multiblock_Tooltip_Builder;
+import gtPlusPlus.core.lib.CORE;
import org.apache.commons.lang3.ArrayUtils;
import gregtech.api.enums.TAE;
@@ -32,13 +33,10 @@ import gtPlusPlus.core.util.Utils;
import gtPlusPlus.core.util.minecraft.ItemUtils;
import gtPlusPlus.core.util.minecraft.PlayerUtils;
import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase;
-import gtPlusPlus.xmod.gregtech.common.StaticFields59;
import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock;
-import net.minecraft.block.Block;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
-import net.minecraftforge.common.util.ForgeDirection;
import net.minecraftforge.fluids.FluidStack;
public class GregtechMetaTileEntity_IndustrialDehydrator extends GregtechMeta_MultiBlockBase {
@@ -80,7 +78,7 @@ public class GregtechMetaTileEntity_IndustrialDehydrator extends GregtechMeta_Mu
.addInfo("Each 900K over the min. Heat Capacity grants 5% speedup (multiplicatively)")
.addInfo("Each 1800K over the min. Heat Capacity allows for one upgraded overclock")
.addInfo("Upgraded overclocks reduce recipe time to 25% and increase EU/t to 400%")
- .addPollutionAmount(getPollutionPerTick(null) * 20)
+ .addPollutionAmount(getPollutionPerSecond(null))
.addSeparator()
.beginStructureBlock(3, 4, 3, true)
.addController("Bottom Center")
@@ -190,8 +188,8 @@ public class GregtechMetaTileEntity_IndustrialDehydrator extends GregtechMeta_Mu
return 10000;
}
- public int getPollutionPerTick(ItemStack aStack) {
- return 25;
+ public int getPollutionPerSecond(ItemStack aStack) {
+ return CORE.ConfigSwitches.pollutionPerSecondMultiIndustrialDehydrator;
}
@Override
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialElectrolyzer.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialElectrolyzer.java
index 454e8a752e..f6613980ca 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialElectrolyzer.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialElectrolyzer.java
@@ -54,7 +54,7 @@ extends GregtechMeta_MultiBlockBase {
.addInfo("180% faster than using single block machines of the same voltage")
.addInfo("Only uses 90% of the eu/t normally required")
.addInfo("Processes two items per voltage tier")
- .addPollutionAmount(getPollutionPerTick(null) * 20)
+ .addPollutionAmount(getPollutionPerSecond(null))
.addSeparator()
.beginStructureBlock(3, 3, 3, true)
.addController("Front Center")
@@ -167,8 +167,8 @@ extends GregtechMeta_MultiBlockBase {
}
@Override
- public int getPollutionPerTick(final ItemStack aStack) {
- return 15;
+ public int getPollutionPerSecond(final ItemStack aStack) {
+ return CORE.ConfigSwitches.pollutionPerSecondMultiIndustrialElectrolyzer;
}
@Override
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialExtruder.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialExtruder.java
index f0d0f1471d..a5c7f62578 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialExtruder.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialExtruder.java
@@ -62,7 +62,7 @@ extends GregtechMeta_MultiBlockBase {
.addInfo("Extrusion Shape for recipe goes in the Input Bus")
.addInfo("Each Input Bus can have a different shape!")
.addInfo("You can use several input buses per multiblock")
- .addPollutionAmount(getPollutionPerTick(null) * 20)
+ .addPollutionAmount(getPollutionPerSecond(null))
.addSeparator()
.beginStructureBlock(3, 3, 5, true)
.addController("Front Center")
@@ -232,8 +232,8 @@ extends GregtechMeta_MultiBlockBase {
}
@Override
- public int getPollutionPerTick(final ItemStack aStack) {
- return 50;
+ public int getPollutionPerSecond(final ItemStack aStack) {
+ return CORE.ConfigSwitches.pollutionPerSecondMultiIndustrialExtruder;
}
@Override
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialMacerator.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialMacerator.java
index e57a3da871..b6e072b653 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialMacerator.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialMacerator.java
@@ -57,7 +57,7 @@ extends GregtechMeta_MultiBlockBase {
.addInfo("60% faster than using single block machines of the same voltage")
.addInfo("Processes 8*tier materials at a time")
.addInfo("ULV = Tier 0, LV = Tier 1, etc.")
- .addPollutionAmount(getPollutionPerTick(null) * 20)
+ .addPollutionAmount(getPollutionPerSecond(null))
.addSeparator()
.beginStructureBlock(3, 6, 3, true)
.addController("Bottom Center")
@@ -237,8 +237,8 @@ extends GregtechMeta_MultiBlockBase {
}
@Override
- public int getPollutionPerTick(final ItemStack aStack) {
- return 20;
+ public int getPollutionPerSecond(final ItemStack aStack) {
+ return CORE.ConfigSwitches.pollutionPerSecondMultiIndustrialMacerator;
}
@Override
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialMixer.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialMixer.java
index a5906133de..5e405d426d 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialMixer.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialMixer.java
@@ -76,7 +76,7 @@ extends GregtechMeta_MultiBlockBase {
.addInfo("Controller Block for the Industrial Mixer")
.addInfo("250% faster than using single block machines of the same voltage")
.addInfo("Processes eight recipes per voltage tier")
- .addPollutionAmount(getPollutionPerTick(null) * 20)
+ .addPollutionAmount(getPollutionPerSecond(null))
.addSeparator()
.beginStructureBlock(3, 4, 3, false)
.addController("Second Layer Center")
@@ -241,8 +241,8 @@ extends GregtechMeta_MultiBlockBase {
}
@Override
- public int getPollutionPerTick(final ItemStack aStack) {
- return 40;
+ public int getPollutionPerSecond(final ItemStack aStack) {
+ return CORE.ConfigSwitches.pollutionPerSecondMultiIndustrialMixer;
}
@Override
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialMultiMachine.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialMultiMachine.java
index ea1ee2a7ca..a0909a4fff 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialMultiMachine.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialMultiMachine.java
@@ -12,6 +12,7 @@ import com.gtnewhorizon.structurelib.structure.IStructureDefinition;
import com.gtnewhorizon.structurelib.structure.StructureDefinition;
import gregtech.api.metatileentity.implementations.*;
import gregtech.api.util.*;
+import gtPlusPlus.core.lib.CORE;
import org.apache.commons.lang3.ArrayUtils;
import gregtech.api.enums.TAE;
@@ -97,7 +98,7 @@ extends GregtechMeta_MultiBlockBase {
.addInfo("Machine Type: [B] - " + EnumChatFormatting.YELLOW + aBuiltStrings[1] + EnumChatFormatting.RESET)
.addInfo("Machine Type: [C] - " + EnumChatFormatting.YELLOW + aBuiltStrings[2] + EnumChatFormatting.RESET)
.addInfo("Read Multi-Machine Manual for extra information")
- .addPollutionAmount(getPollutionPerTick(null) * 20)
+ .addPollutionAmount(getPollutionPerSecond(null))
.addSeparator()
.beginStructureBlock(3, 3, 3, true)
.addController("Front Center")
@@ -249,19 +250,16 @@ extends GregtechMeta_MultiBlockBase {
}
@Override
- public int getPollutionPerTick(final ItemStack aStack) {
+ public int getPollutionPerSecond(final ItemStack aStack) {
if (mInternalMode == 0) {
- return 20;
+ return CORE.ConfigSwitches.pollutionPerSecondMultiIndustrialMultiMachine_ModeMetal;
}
else if (mInternalMode == 1) {
- return 20;
+ return CORE.ConfigSwitches.pollutionPerSecondMultiIndustrialMultiMachine_ModeFluid;
}
- else if (mInternalMode == 2) {
- return 30;
+ else { //config 2
+ return CORE.ConfigSwitches.pollutionPerSecondMultiIndustrialMultiMachine_ModeMisc;
}
- else {
- return 50;
- }
}
public int getTextureIndex() {
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialPlatePress.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialPlatePress.java
index 451cadcf4e..007d1a0d0f 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialPlatePress.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialPlatePress.java
@@ -62,7 +62,7 @@ public class GregtechMetaTileEntity_IndustrialPlatePress extends GregtechMeta_Mu
.addInfo("Processes four items per voltage tier")
.addInfo("Circuit for recipe goes in the Input Bus")
.addInfo("Each Input Bus can have a different Circuit/Shape!")
- .addPollutionAmount(getPollutionPerTick(null) * 20)
+ .addPollutionAmount(getPollutionPerSecond(null))
.addSeparator()
.beginStructureBlock(3, 3, 3, true)
.addController("Front Center")
@@ -202,8 +202,9 @@ public class GregtechMetaTileEntity_IndustrialPlatePress extends GregtechMeta_Mu
}
@Override
- public int getPollutionPerTick(final ItemStack aStack) {
- return this.mFormingMode ? 12 : 24;
+ public int getPollutionPerSecond(final ItemStack aStack) {
+ if (this.mFormingMode) return CORE.ConfigSwitches.pollutionPerSecondMultiIndustrialPlatePress_ModeForming;
+ return CORE.ConfigSwitches.pollutionPerSecondMultiIndustrialPlatePress_ModeBending;
}
@Override
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialSifter.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialSifter.java
index 966d4f6533..c5450fec5b 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialSifter.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialSifter.java
@@ -56,7 +56,7 @@ extends GregtechMeta_MultiBlockBase {
.addInfo("400% faster than single-block machines of the same voltage")
.addInfo("Only uses 75% of the eu/t normally required")
.addInfo("Processes four items per voltage tier")
- .addPollutionAmount(getPollutionPerTick(null) * 20)
+ .addPollutionAmount(getPollutionPerSecond(null))
.addSeparator()
.beginStructureBlock(5, 3, 5, false)
.addController("Bottom Center")
@@ -204,8 +204,8 @@ extends GregtechMeta_MultiBlockBase {
}
@Override
- public int getPollutionPerTick(final ItemStack aStack) {
- return 2;
+ public int getPollutionPerSecond(final ItemStack aStack) {
+ return CORE.ConfigSwitches.pollutionPerSecondMultiIndustrialSifter;
}
@Override
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialThermalCentrifuge.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialThermalCentrifuge.java
index 8157d79c72..01b887694a 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialThermalCentrifuge.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialThermalCentrifuge.java
@@ -56,7 +56,7 @@ extends GregtechMeta_MultiBlockBase {
.addInfo("150% faster than using single block machines of the same voltage")
.addInfo("Only uses 80% of the eu/t normally required")
.addInfo("Processes eight items per voltage tier")
- .addPollutionAmount(getPollutionPerTick(null) * 20)
+ .addPollutionAmount(getPollutionPerSecond(null))
.addSeparator()
.beginStructureBlock(3, 2, 3, false)
.addController("Front Center")
@@ -195,8 +195,8 @@ extends GregtechMeta_MultiBlockBase {
}
@Override
- public int getPollutionPerTick(final ItemStack aStack) {
- return 50;
+ public int getPollutionPerSecond(final ItemStack aStack) {
+ return CORE.ConfigSwitches.pollutionPerSecondMultiIndustrialThermalCentrifuge;
}
@Override
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialVacuumFreezer.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialVacuumFreezer.java
index 0b6890c868..1f63995651 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialVacuumFreezer.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialVacuumFreezer.java
@@ -86,7 +86,7 @@ public class GregtechMetaTileEntity_IndustrialVacuumFreezer extends GregtechMeta
.addInfo("Speed: 200% | Eu Usage: 100% | Parallel: 4")
.addInfo("Consumes 1L of " + mCryoFuelName + "/t during operation")
.addInfo("Constructed exactly the same as a normal Vacuum Freezer")
- .addPollutionAmount(getPollutionPerTick(null) * 20)
+ .addPollutionAmount(getPollutionPerSecond(null))
.addSeparator()
.beginStructureBlock(3, 3, 3, true)
.addController("Front Center")
@@ -221,8 +221,8 @@ public class GregtechMetaTileEntity_IndustrialVacuumFreezer extends GregtechMeta
return 10000;
}
- public int getPollutionPerTick(final ItemStack aStack) {
- return 25;
+ public int getPollutionPerSecond(final ItemStack aStack) {
+ return CORE.ConfigSwitches.pollutionPerSecondMultiIndustrialVacuumFreezer;
}
public int getDamageToComponent(final ItemStack aStack) {
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialWashPlant.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialWashPlant.java
index 2212f62b11..168d4ff6d6 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialWashPlant.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialWashPlant.java
@@ -69,7 +69,7 @@ extends GregtechMeta_MultiBlockBase {
.addInfo("400% faster than using single block machines of the same voltage")
.addInfo("Processes four item per voltage tier")
.addInfo("Always requires an Input Hatch full of water to refill structure")
- .addPollutionAmount(getPollutionPerTick(null) * 20)
+ .addPollutionAmount(getPollutionPerSecond(null))
.addSeparator()
.beginStructureBlock(5, 3, 7, true)
.addController("Front Center")
@@ -198,8 +198,9 @@ extends GregtechMeta_MultiBlockBase {
}
@Override
- public int getPollutionPerTick(final ItemStack aStack) {
- return this.mChemicalMode ? 20 : 5;
+ public int getPollutionPerSecond(final ItemStack aStack) {
+ if (this.mChemicalMode) return CORE.ConfigSwitches.pollutionPerSecondMultiIndustrialWashPlant_ModeChemBath;
+ return CORE.ConfigSwitches.pollutionPerSecondMultiIndustrialWashPlant_ModeWasher;
}
@Override
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialWireMill.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialWireMill.java
index 3a70bb60af..ccce25d925 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialWireMill.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialWireMill.java
@@ -56,7 +56,7 @@ extends GregtechMeta_MultiBlockBase {
.addInfo("200% faster than using single block machines of the same voltage")
.addInfo("Only uses 75% of the eu/t normally required")
.addInfo("Processes four items per voltage tier")
- .addPollutionAmount(getPollutionPerTick(null) * 20)
+ .addPollutionAmount(getPollutionPerSecond(null))
.addSeparator()
.beginStructureBlock(3, 3, 5, true)
.addController("Front Center")
@@ -178,8 +178,8 @@ extends GregtechMeta_MultiBlockBase {
}
@Override
- public int getPollutionPerTick(final ItemStack aStack) {
- return 5;
+ public int getPollutionPerSecond(final ItemStack aStack) {
+ return CORE.ConfigSwitches.pollutionPerSecondMultiIndustrialWireMill;
}
@Override
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IsaMill.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IsaMill.java
index 34237eaa6b..59e6e78757 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IsaMill.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IsaMill.java
@@ -13,6 +13,7 @@ import com.gtnewhorizon.structurelib.structure.IStructureDefinition;
import com.gtnewhorizon.structurelib.structure.StructureDefinition;
import gregtech.api.metatileentity.implementations.*;
import gregtech.api.util.GT_Multiblock_Tooltip_Builder;
+import gtPlusPlus.core.lib.CORE;
import org.apache.commons.lang3.ArrayUtils;
import gregtech.api.enums.TAE;
@@ -77,7 +78,7 @@ public class GregtechMetaTileEntity_IsaMill extends GregtechMeta_MultiBlockBase
tt.addMachineType(getMachineType())
.addInfo("Controller Block for the Large Grinding Machine")
.addInfo("Grind ores.")
- .addPollutionAmount(getPollutionPerTick(null) * 20)
+ .addPollutionAmount(getPollutionPerSecond(null))
.addSeparator()
.beginStructureBlock(3, 3, 7, false)
.addController("Front Center")
@@ -360,8 +361,8 @@ public class GregtechMetaTileEntity_IsaMill extends GregtechMeta_MultiBlockBase
}
@Override
- public int getPollutionPerTick(ItemStack aStack) {
- return 64;
+ public int getPollutionPerSecond(ItemStack aStack) {
+ return CORE.ConfigSwitches.pollutionPerSecondMultiIsaMill;
}
@Override
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_DistillationTower.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_DistillationTower.java
index 23fb26ea53..6d8ca49d7d 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_DistillationTower.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_DistillationTower.java
@@ -148,7 +148,7 @@ public class GregtechMetaTileEntity_Adv_DistillationTower extends GregtechMeta_M
.addInfo("Max parallel dictated by tower tier and mode")
.addInfo("DTower Mode: T1=4, T2=12")
.addInfo("Distilery Mode: Tower Tier * (4*InputTier)")
- .addPollutionAmount(getPollutionPerTick(null) * 20)
+ .addPollutionAmount(getPollutionPerSecond(null))
.addSeparator()
.addCasingInfo("Clean Stainless Steel Machine Casing", 7)
.addInputBus("Bottom Casing", 1)
@@ -208,8 +208,9 @@ public class GregtechMetaTileEntity_Adv_DistillationTower extends GregtechMeta_M
return 10000;
}
- public int getPollutionPerTick(ItemStack aStack) {
- return this.mMode == 1 ? 12 : 24;
+ public int getPollutionPerSecond(ItemStack aStack) {
+ if (this.mMode == 1) return CORE.ConfigSwitches.pollutionPerSecondMultiAdvDistillationTower_ModeDistillery;
+ return CORE.ConfigSwitches.pollutionPerSecondMultiAdvDistillationTower_ModeDT;
}
@Override
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_EBF.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_EBF.java
index 1a77423fdb..ce54aef282 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_EBF.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_EBF.java
@@ -14,6 +14,7 @@ import com.gtnewhorizon.structurelib.structure.StructureDefinition;
import gregtech.api.enums.HeatingCoilLevel;
import gregtech.api.metatileentity.implementations.*;
import gregtech.api.util.GT_Multiblock_Tooltip_Builder;
+import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GT_MetaTileEntity_Hatch_CustomFluidBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.nbt.NBTTagCompound;
@@ -94,7 +95,7 @@ public class GregtechMetaTileEntity_Adv_EBF extends GregtechMeta_MultiBlockBase
.addInfo("Speed: 120% | Eu Usage: 90% | Parallel: 8")
.addInfo("Consumes 10L of " + mHotFuelName + " per second during operation")
.addInfo("Constructed exactly the same as a normal EBF")
- .addPollutionAmount(getPollutionPerTick(null) * 20)
+ .addPollutionAmount(getPollutionPerSecond(null))
.addSeparator()
.addController("Bottom center")
.addCasingInfo(mCasingName, 9)
@@ -247,8 +248,8 @@ public class GregtechMetaTileEntity_Adv_EBF extends GregtechMeta_MultiBlockBase
return 10000;
}
- public int getPollutionPerTick(ItemStack aStack) {
- return 25;
+ public int getPollutionPerSecond(ItemStack aStack) {
+ return CORE.ConfigSwitches.pollutionPerSecondMultiAdvEBF;
}
public int getDamageToComponent(ItemStack aStack) {
@@ -324,7 +325,7 @@ public class GregtechMetaTileEntity_Adv_EBF extends GregtechMeta_MultiBlockBase
aSpeedBonusPercent = Math.max(-99, aSpeedBonusPercent);
float tTimeFactor = 100.0f / (100.0f + aSpeedBonusPercent);
this.mMaxProgresstime = (int) (tRecipe.mDuration * tTimeFactor);
- int rInt = 2;
+ int tHalfHeatCapacityDivTiers = tHeatCapacityDivTiers / 2;
this.mEUt = (int) Math.ceil(tTotalEUt);
@@ -338,7 +339,15 @@ public class GregtechMetaTileEntity_Adv_EBF extends GregtechMeta_MultiBlockBase
} else {
while (this.mEUt <= gregtech.api.enums.GT_Values.V[(tTier - 1)]) {
this.mEUt *= 4;
- this.mMaxProgresstime /= (tHeatCapacityDivTiers >= rInt ? 4 : 2);
+ if (tHalfHeatCapacityDivTiers > 0) {
+ this.mMaxProgresstime = mMaxProgresstime / 4;
+ tHalfHeatCapacityDivTiers--;
+ } else {
+ this.mMaxProgresstime = mMaxProgresstime / 2;
+ }
+ if (this.mMaxProgresstime <= 1) {
+ break;
+ }
}
}
if (this.mEUt > 0) {
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_Implosion.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_Implosion.java
index 93d5d74dc4..aff614184a 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_Implosion.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_Implosion.java
@@ -59,7 +59,7 @@ extends GregtechMeta_MultiBlockBase {
.addInfo("Factory Grade Advanced Implosion Compressor")
.addInfo("Speed: 100% | Eu Usage: 100% | Parallel: ((Tier/2)+1)")
.addInfo("Constructed exactly the same as a normal Implosion Compressor")
- .addPollutionAmount(getPollutionPerTick(null) * 20)
+ .addPollutionAmount(getPollutionPerSecond(null))
.addSeparator()
.beginStructureBlock(3, 3, 3, true)
.addController("Front center")
@@ -182,8 +182,8 @@ extends GregtechMeta_MultiBlockBase {
return 10000;
}
- public int getPollutionPerTick(ItemStack aStack) {
- return 250;
+ public int getPollutionPerSecond(ItemStack aStack) {
+ return CORE.ConfigSwitches.pollutionPerSecondMultiAdvImplosion;
}
public int getDamageToComponent(ItemStack aStack) {
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GT4Entity_AutoCrafter.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GT4Entity_AutoCrafter.java
index 7700e496b4..eae51e5c1d 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GT4Entity_AutoCrafter.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GT4Entity_AutoCrafter.java
@@ -117,8 +117,8 @@ public class GT4Entity_AutoCrafter extends GregtechMeta_MultiBlockBase {
}
@Override
- public int getPollutionPerTick(ItemStack aStack) {
- return 25;
+ public int getPollutionPerSecond(ItemStack aStack) {
+ return CORE.ConfigSwitches.pollutionPerSecondMultiAutoCrafter;
}
public int getAmountOfOutputs() {
@@ -133,7 +133,7 @@ public class GT4Entity_AutoCrafter extends GregtechMeta_MultiBlockBase {
.addInfo("Right Click with a Screwdriver to change mode")
.addInfo("200% faster than using single block machines of the same voltage")
.addInfo("Processes two items per voltage tier")
- .addPollutionAmount(getPollutionPerTick(null) * 20)
+ .addPollutionAmount(getPollutionPerSecond(null))
.addSeparator()
.beginStructureBlock(3, 3, 3, true)
.addController("Front Center")
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GT4Entity_ThermalBoiler.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GT4Entity_ThermalBoiler.java
index ef52dbaf13..65474d38ed 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GT4Entity_ThermalBoiler.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GT4Entity_ThermalBoiler.java
@@ -194,9 +194,9 @@ extends GregtechMeta_MultiBlockBase
}
@Override
- public int getPollutionPerTick(ItemStack aStack)
+ public int getPollutionPerSecond(ItemStack aStack)
{
- return 35;
+ return CORE.ConfigSwitches.pollutionPerSecondMultiThermalBoiler;
}
public int getAmountOfOutputs()
@@ -211,7 +211,7 @@ extends GregtechMeta_MultiBlockBase
.addInfo("Thermal Boiler Controller")
.addInfo("Converts Water & Heat into Steam")
.addInfo("Consult user manual for more information")
- .addPollutionAmount(getPollutionPerTick(null) * 20)
+ .addPollutionAmount(getPollutionPerSecond(null))
.addSeparator()
.beginStructureBlock(3, 3, 3, true)
.addController("Front Center")
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMTE_FrothFlotationCell.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMTE_FrothFlotationCell.java
index fb442d294f..8a936525f0 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMTE_FrothFlotationCell.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMTE_FrothFlotationCell.java
@@ -12,6 +12,7 @@ import com.gtnewhorizon.structurelib.structure.IStructureDefinition;
import com.gtnewhorizon.structurelib.structure.StructureDefinition;
import gregtech.api.metatileentity.implementations.*;
import gregtech.api.util.GT_Multiblock_Tooltip_Builder;
+import gtPlusPlus.core.lib.CORE;
import org.apache.commons.lang3.ArrayUtils;
import gregtech.api.GregTech_API;
@@ -61,7 +62,7 @@ public class GregtechMTE_FrothFlotationCell extends GregtechMeta_MultiBlockBase
GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder();
tt.addMachineType(getMachineType())
.addInfo("Process that milled ore!")
- .addPollutionAmount(getPollutionPerTick(null) * 20)
+ .addPollutionAmount(getPollutionPerSecond(null))
.addSeparator()
.beginStructureBlock(3, 3, 3, true)
.addController("Front Center")
@@ -193,8 +194,8 @@ public class GregtechMTE_FrothFlotationCell extends GregtechMeta_MultiBlockBase
}
@Override
- public int getPollutionPerTick(final ItemStack aStack) {
- return 0;
+ public int getPollutionPerSecond(final ItemStack aStack) {
+ return CORE.ConfigSwitches.pollutionPerSecondMultiFrothFlotationCell;
}
@Override
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMTE_NuclearReactor.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMTE_NuclearReactor.java
index 4b9325d079..92764ef9e4 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMTE_NuclearReactor.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMTE_NuclearReactor.java
@@ -1,30 +1,20 @@
package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.production;
-import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock;
-import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofChain;
-import static com.gtnewhorizon.structurelib.structure.StructureUtility.onElementPass;
-import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose;
-import static gregtech.api.util.GT_StructureUtility.ofHatchAdder;
-
+import java.util.ArrayList;
import java.util.Collection;
import com.gtnewhorizon.structurelib.structure.IStructureDefinition;
import com.gtnewhorizon.structurelib.structure.StructureDefinition;
-
+import gregtech.api.enums.Materials;
import gregtech.api.enums.TAE;
import gregtech.api.enums.Textures;
import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.MetaTileEntity;
-import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Dynamo;
-import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Input;
-import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Maintenance;
-import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Muffler;
-import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Output;
+import gregtech.api.metatileentity.implementations.*;
import gregtech.api.objects.GT_ItemStack;
import gregtech.api.objects.GT_RenderedTexture;
-import gregtech.api.util.GTPP_Recipe;
import gregtech.api.util.GT_Multiblock_Tooltip_Builder;
import gregtech.api.util.GT_Recipe;
import gregtech.api.util.GT_Recipe.GT_Recipe_Map;
@@ -32,8 +22,10 @@ import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.block.ModBlocks;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.material.ELEMENT;
+import gtPlusPlus.core.material.nuclear.FLUORIDES;
import gtPlusPlus.core.material.nuclear.NUCLIDE;
import gtPlusPlus.core.util.math.MathUtils;
+import gtPlusPlus.core.util.minecraft.FluidUtils;
import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
@@ -80,7 +72,7 @@ public class GregtechMTE_NuclearReactor extends GregtechMeta_MultiBlockBase<Greg
.addInfo("Input Fluorine and Helium for bonus byproducts")
.addInfo("Input Li2BeF4 and a molten salt as fuel.")
.addInfo("LiFBeF2ThF4UF4, LiFBeF2ZrF4UF4 or LiFBeF2ZrF4U235")
- .addPollutionAmount(getPollutionPerTick(null) * 20)
+ .addPollutionAmount(getPollutionPerSecond(null))
.addSeparator()
.beginStructureBlock(7, 4, 7, true)
.addController("Bottom Center")
@@ -205,6 +197,7 @@ public class GregtechMTE_NuclearReactor extends GregtechMeta_MultiBlockBase<Greg
)
)
)
+ )
.addElement(
'X',
ofChain(
@@ -218,6 +211,7 @@ public class GregtechMTE_NuclearReactor extends GregtechMeta_MultiBlockBase<Greg
)
)
)
+ )
)
.addElement(
@@ -226,12 +220,14 @@ public class GregtechMTE_NuclearReactor extends GregtechMeta_MultiBlockBase<Greg
ModBlocks.blockCasingsMisc, 12
)
)
+ )
.addElement(
'G',
ofBlock(
ModBlocks.blockCasingsMisc, 13
)
)
+ )
.build();
}
return STRUCTURE_DEFINITION;
@@ -490,6 +486,7 @@ public class GregtechMTE_NuclearReactor extends GregtechMeta_MultiBlockBase<Greg
}
}
else {
+ this.boostEu = false;
this.turnCasingActive(false);
}
}
@@ -504,6 +501,7 @@ public class GregtechMTE_NuclearReactor extends GregtechMeta_MultiBlockBase<Greg
if (MathUtils.randInt(1, 300) == 1){
this.addOutput(ELEMENT.getInstance().URANIUM233.getFluidStack(MathUtils.randInt(1, 10)));
}
+
}
return super.onRunningTick(aStack);
}
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntityTreeFarm.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntityTreeFarm.java
index 5f5eb5509c..83b8eae458 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntityTreeFarm.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntityTreeFarm.java
@@ -1,41 +1,29 @@
package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.production;
-import java.util.concurrent.Executors;
-import java.util.concurrent.ScheduledExecutorService;
-import java.util.concurrent.TimeUnit;
-
+import codechicken.nei.ItemStackMap;
import com.gtnewhorizon.structurelib.structure.IStructureDefinition;
import com.gtnewhorizon.structurelib.structure.StructureDefinition;
import gregtech.api.enums.Materials;
import gregtech.api.enums.TAE;
import gregtech.api.enums.Textures;
-import gregtech.api.interfaces.IIconContainer;
-import gregtech.api.interfaces.ITexture;
+import gregtech.api.interfaces.*;
import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.items.GT_MetaGenerated_Tool;
import gregtech.api.metatileentity.implementations.*;
-import gregtech.api.objects.GT_RenderedTexture;
-import gregtech.api.util.GT_ModHandler;
-import gregtech.api.util.GT_Multiblock_Tooltip_Builder;
-import gregtech.api.util.GT_Recipe;
-import gregtech.api.util.GT_Utility;
+import gregtech.api.render.TextureFactory;
+import gregtech.api.util.*;
import gtPlusPlus.api.objects.data.AutoMap;
-import gtPlusPlus.api.objects.minecraft.ThreadFakeWorldGenerator;
import gtPlusPlus.core.block.ModBlocks;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.util.math.MathUtils;
-import gtPlusPlus.core.util.minecraft.EnergyUtils.EU;
import gtPlusPlus.core.util.minecraft.ItemUtils;
import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase;
import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock;
import gtPlusPlus.xmod.gregtech.common.helpers.TreeFarmHelper;
import gtPlusPlus.xmod.gregtech.common.helpers.treefarm.TreeGenerator;
-import gtPlusPlus.xmod.gregtech.common.items.MetaGeneratedGregtechItems;
-import gtPlusPlus.xmod.gregtech.common.items.MetaGeneratedGregtechTools;
import net.minecraft.init.Blocks;
-import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import static com.gtnewhorizon.structurelib.structure.StructureUtility.*;
@@ -50,51 +38,30 @@ public class GregtechMetaTileEntityTreeFarm extends GregtechMeta_MultiBlockBase
private IStructureDefinition<GregtechMetaTileEntityTreeFarm> STRUCTURE_DEFINITION = null;
static {
- mTreeData = new TreeGenerator();
+ new Thread("GTPP-TreeDataWorker") {
+ @Override
+ public void run() {
+ mTreeData = new TreeGenerator();
+ }
+ }.start();
}
+ private static ItemStack aLeaves;
+
public GregtechMetaTileEntityTreeFarm(final int aID, final String aName, final String aNameRegional) {
super(aID, aName, aNameRegional);
CASING_TEXTURE_ID = TAE.getIndexFromPage(1, 15);
mCasingName = ItemUtils.getLocalizedNameOfBlock(ModBlocks.blockCasings2Misc, 15);
}
- /*
- * Static thread for Fake World Handling
- */
-
-
- private static ScheduledExecutorService executor;
- private static ThreadFakeWorldGenerator aThread;
-
public GregtechMetaTileEntityTreeFarm(final String aName) {
super(aName);
CASING_TEXTURE_ID = TAE.getIndexFromPage(1, 15);
mCasingName = ItemUtils.getLocalizedNameOfBlock(ModBlocks.blockCasings2Misc, 15);
-
- if (executor == null || mTreeData == null) {
- if (executor == null) {
- executor = Executors.newScheduledThreadPool(10);
- }
- if (executor != null) {
- if (aThread == null) {
- aThread = new ThreadFakeWorldGenerator();
- executor.scheduleAtFixedRate(aThread, 0, 1, TimeUnit.SECONDS);
- while (aThread.mGenerator == null) {
- if (aThread.mGenerator != null) {
- break;
- }
- }
- if (aThread.mGenerator != null) {
- mTreeData = aThread.mGenerator;
- }
- }
- }
- }
}
public IMetaTileEntity newMetaEntity(final IGregTechTileEntity aTileEntity) {
- return (IMetaTileEntity) new GregtechMetaTileEntityTreeFarm(this.mName);
+ return new GregtechMetaTileEntityTreeFarm(this.mName);
}
@Override
@@ -112,7 +79,7 @@ public class GregtechMetaTileEntityTreeFarm extends GregtechMeta_MultiBlockBase
.addInfo("Converts EU to Oak Logs")
.addInfo("Eu Usage: 100% | Parallel: 1")
.addInfo("Requires a Saw or Chainsaw in GUI slot")
- .addPollutionAmount(getPollutionPerTick(null) * 20)
+ .addPollutionAmount(getPollutionPerSecond(null))
.addSeparator()
.beginStructureBlock(3, 3, 3, true)
.addController("Front center")
@@ -130,7 +97,7 @@ public class GregtechMetaTileEntityTreeFarm extends GregtechMeta_MultiBlockBase
final byte aColorIndex, final boolean aActive, final boolean aRedstone) {
if (aSide == aFacing) {
return new ITexture[]{Textures.BlockIcons.getCasingTextureForId(CASING_TEXTURE_ID),
- new GT_RenderedTexture((IIconContainer) (aActive ? TexturesGtBlock.Overlay_Machine_Controller_Advanced_Active : TexturesGtBlock.Overlay_Machine_Controller_Advanced))};
+ TextureFactory.of(aActive ? TexturesGtBlock.Overlay_Machine_Controller_Advanced_Active : TexturesGtBlock.Overlay_Machine_Controller_Advanced)};
}
return new ITexture[]{Textures.BlockIcons.getCasingTextureForId(CASING_TEXTURE_ID)};
}
@@ -155,16 +122,20 @@ public class GregtechMetaTileEntityTreeFarm extends GregtechMeta_MultiBlockBase
}
public boolean isCorrectMachinePart(final ItemStack aStack) {
- return TreeFarmHelper.isCorrectPart(aStack);
- //return true;
+ // is correct part && either not powered tool or have enough power
+ return TreeFarmHelper.getPartType(aStack) != null && !GT_ModHandler.isElectricItem(aStack) || GT_ModHandler.canUseElectricItem(aStack, 1);
}
-// public boolean isFacingValid(final byte aFacing) {
-// return aFacing > 1;
-// }
-
public boolean checkRecipe(final ItemStack aStack) {
-
+ if (mTreeData == null)
+ // not finished somehow
+ return false;
+ if (aStack == null && !replaceTool())
+ // no tool
+ return false;
+ if (!isCorrectMachinePart(aStack))
+ // not a tool
+ return false;
if (mTreeData != null) {
long tVoltage = getMaxInputVoltage();
@@ -193,35 +164,44 @@ public class GregtechMetaTileEntityTreeFarm extends GregtechMeta_MultiBlockBase
int aChance = MathUtils.randInt(0, 10);
- AutoMap<ItemStack> aOutputs = new AutoMap<ItemStack>();
try {
if (aChance < 8) {
+ ItemStackMap<Integer> allOutputs = new ItemStackMap<>();
+ if (aLeaves == null)
+ aLeaves = ItemUtils.getSimpleStack(Blocks.leaves);
//1% Chance per Tick
for (int u = 0; u < (Math.max(4, (MathUtils.randInt((3 * tTier), 100) * tTier * tTier) / 14)); u++) {
- aOutputs = mTreeData.generateOutput(0);
+ AutoMap<ItemStack> aOutputs = mTreeData.generateOutput(0);
if (aOutputs.size() > 0) {
-
- ItemStack aLeaves = ItemUtils.getSimpleStack(Blocks.leaves);
-
for (ItemStack aOutputItemStack : aOutputs) {
if (!GT_Utility.areStacksEqual(aLeaves, aOutputItemStack)) {
- this.addOutput(aOutputItemStack);
+ Integer oldStackSize = allOutputs.get(aOutputItemStack);
+ int oldStackSizeUnboxed = oldStackSize == null ? 0 : oldStackSize;
+ allOutputs.put(aOutputItemStack, oldStackSizeUnboxed + aOutputItemStack.stackSize);
}
}
- this.updateSlots();
}
}
+ mOutputItems = allOutputs.entries().stream()
+ .map(e -> {
+ e.key.stackSize = e.value;
+ return e.key;
+ }).toArray(ItemStack[]::new);
}
} catch (Throwable t) {
- t.printStackTrace();
+ t.printStackTrace(GT_Log.err);
}
return true;
} else {
return false;
}
- //return this.checkRecipeGeneric(4, 100, 100);
+ }
+
+ @Override
+ public boolean checkHatch() {
+ return super.checkHatch() && mEnergyHatches.size() == 1;
}
@Override
@@ -280,8 +260,8 @@ public class GregtechMetaTileEntityTreeFarm extends GregtechMeta_MultiBlockBase
return 10000;
}
- public int getPollutionPerTick(final ItemStack aStack) {
- return 5;
+ public int getPollutionPerSecond(final ItemStack aStack) {
+ return CORE.ConfigSwitches.pollutionPerSecondMultiTreeFarm;
}
public int getDamageToComponent(final ItemStack aStack) {
@@ -298,7 +278,7 @@ public class GregtechMetaTileEntityTreeFarm extends GregtechMeta_MultiBlockBase
for (GT_MetaTileEntity_Hatch_InputBus mInputBus : this.mInputBusses) {
for (int i = 0; i < mInputBus.mInventory.length; i++) {
ItemStack uStack = mInputBus.mInventory[i];
- if (uStack != null && TreeFarmHelper.isCorrectPart(uStack)) {
+ if (uStack != null && TreeFarmHelper.getPartType(uStack) != null) {
this.setGUIItemStack(uStack);
return true;
}
@@ -320,29 +300,29 @@ public class GregtechMetaTileEntityTreeFarm extends GregtechMeta_MultiBlockBase
}
@Override
+ public boolean doRandomMaintenanceDamage() {
+ ItemStack tSaw = mInventory[1];
+ if (!isCorrectMachinePart(tSaw) || getRepairStatus() == 0) {
+ stopMachine();
+ return false;
+ }
+ if (CORE.RANDOM.nextInt(200) == 0) {
+ if (!tryDamageTool(tSaw)) {
+ if (tSaw.getItem().isDamageable())
+ addOutput(tSaw);
+ this.mInventory[1] = null;
+ if (!replaceTool())
+ this.getBaseMetaTileEntity().disableWorking();
+ tryDamageTool(tSaw);
+ }
+ }
+ return super.doRandomMaintenanceDamage();
+ }
+
+ @Override
public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) {
super.onPostTick(aBaseMetaTileEntity, aTick);
replaceTool();
- ItemStack invItem = this.mInventory[1];
- if (invItem != null && aTick % 200 == 0 && this.getBaseMetaTileEntity().isServerSide() && isCorrectMachinePart(invItem)) {
-
- if (!tryDamageTool(invItem)) {
- if (!invItem.getItem().isDamageable()) { //item durability is <= 0
- this.mInventory[1] = null;
- if (!replaceTool()) {
- this.getBaseMetaTileEntity().disableWorking();
- }
- tryDamageTool(invItem);
- } else {
- addOutput(invItem);
- this.mInventory[1] = null;
- if (!replaceTool()) {
- this.getBaseMetaTileEntity().disableWorking();
- }
- tryDamageTool(invItem);
- }
- }
- }
}
@Override
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_AlloyBlastSmelter.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_AlloyBlastSmelter.java
index fb06d322fe..c84c5e162e 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_AlloyBlastSmelter.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_AlloyBlastSmelter.java
@@ -69,7 +69,7 @@ extends GregtechMeta_MultiBlockBase {
.addInfo("20% Faster than the Electric Blast Furnace")
.addInfo("Allows Complex GT++ alloys to be created")
.addInfo("Circuit for recipe goes in the Input Bus or GUI slot")
- .addPollutionAmount(getPollutionPerTick(null) * 20)
+ .addPollutionAmount(getPollutionPerSecond(null))
.addSeparator()
.beginStructureBlock(3, 4, 3, true)
.addController("Bottom Center")
@@ -315,8 +315,8 @@ extends GregtechMeta_MultiBlockBase {
}
@Override
- public int getPollutionPerTick(final ItemStack aStack) {
- return 10;
+ public int getPollutionPerSecond(final ItemStack aStack) {
+ return CORE.ConfigSwitches.pollutionPerSecondMultiABS;
}
@Override
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_Cyclotron.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_Cyclotron.java
index f1b2bf6221..ecd4882516 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_Cyclotron.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_Cyclotron.java
@@ -248,7 +248,7 @@ public class GregtechMetaTileEntity_Cyclotron extends GregtechMeta_MultiBlockBas
.addInfo("Any external casing can be a hatch/bus, unlike Fusion")
.addInfo("Cyclotron Machine Casings around Cyclotron Coil Blocks")
.addInfo("All Hatches must be IV or better")
- .addPollutionAmount(getPollutionPerTick(null) * 20)
+ .addPollutionAmount(getPollutionPerSecond(null))
.addSeparator()
.addCasingInfo("Cyclotron Machine Casings", 40)
.addCasingInfo("Cyclotron Coil", 32)
@@ -418,8 +418,8 @@ public class GregtechMetaTileEntity_Cyclotron extends GregtechMeta_MultiBlockBas
}
@Override
- public int getPollutionPerTick(ItemStack aStack) {
- return 10;
+ public int getPollutionPerSecond(ItemStack aStack) {
+ return CORE.ConfigSwitches.pollutionPerSecondMultiCyclotron;
}
@Override
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_IndustrialFishingPond.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_IndustrialFishingPond.java
index 6bec73aa20..80eb09640d 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_IndustrialFishingPond.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_IndustrialFishingPond.java
@@ -74,7 +74,7 @@ public class GregtechMetaTileEntity_IndustrialFishingPond extends GregtechMeta_M
.addInfo("Circuit 14 for Fish")
.addInfo("Circuit 15 for Junk")
.addInfo("Circuit 16 for Treasure")
- .addPollutionAmount(getPollutionPerTick(null) * 20)
+ .addPollutionAmount(getPollutionPerSecond(null))
.addSeparator()
.beginStructureBlock(9, 3, 9, true)
.addController("Front Center")
@@ -236,8 +236,8 @@ public class GregtechMetaTileEntity_IndustrialFishingPond extends GregtechMeta_M
}
@Override
- public int getPollutionPerTick(final ItemStack aStack) {
- return 1;
+ public int getPollutionPerSecond(final ItemStack aStack) {
+ return CORE.ConfigSwitches.pollutionPerSecondMultiIndustrialFishingPond;
}
@Override
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_LargeRocketEngine.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_LargeRocketEngine.java
index d8c5eec439..d9162cea89 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_LargeRocketEngine.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_LargeRocketEngine.java
@@ -111,7 +111,6 @@ public class GregtechMetaTileEntity_LargeRocketEngine extends GregtechMeta_Multi
.addStructureHint("Air Intake Hatch", 1)
.addInputBus("Side center line", 1)
.addInputHatch("Side center line", 1)
- .addOutputHatch("Side center line", 1)
.addMaintenanceHatch("Side center line", 1)
.addDynamoHatch("Top center line", 2)
.addMufflerHatch("Back Center", 3)
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_LargeSemifluidGenerator.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_LargeSemifluidGenerator.java
index b85a67652e..9be787e922 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_LargeSemifluidGenerator.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_LargeSemifluidGenerator.java
@@ -1,7 +1,6 @@
package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.production;
import java.util.ArrayList;
-import java.util.Collection;
import com.gtnewhorizon.structurelib.structure.IStructureDefinition;
import com.gtnewhorizon.structurelib.structure.StructureDefinition;
@@ -16,7 +15,6 @@ import gregtech.api.metatileentity.implementations.*;
import gregtech.api.objects.GT_RenderedTexture;
import gregtech.api.util.GT_Multiblock_Tooltip_Builder;
import gregtech.api.util.GT_Recipe;
-import gregtech.api.util.GT_Utility;
import gregtech.api.util.GTPP_Recipe.GTPP_Recipe_Map;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase;
@@ -58,7 +56,7 @@ public class GregtechMetaTileEntity_LargeSemifluidGenerator extends GregtechMeta
.addInfo("Supply 80L of Oxygen per second to boost output (optional).")
.addInfo("Default: Produces 2048EU/t at 100% efficiency")
.addInfo("Boosted: Produces 6144EU/t at 150% efficiency")
- .addPollutionAmount(getPollutionPerTick(null) * 20)
+ .addPollutionAmount(getPollutionPerSecond(null))
.addSeparator()
.beginStructureBlock(3, 3, 4, false)
.addController("Front Center")
@@ -92,40 +90,60 @@ public class GregtechMetaTileEntity_LargeSemifluidGenerator extends GregtechMeta
@Override
public boolean checkRecipe(ItemStack aStack) {
ArrayList<FluidStack> tFluids = getStoredFluids();
- Collection<GT_Recipe> tRecipeList = GTPP_Recipe_Map.sSemiFluidLiquidFuels.mRecipeList;
-
- if(tFluids.size() > 0 && tRecipeList != null) { //Does input hatch have a semifluid fuel?
- for (FluidStack hatchFluid1 : tFluids) { //Loops through hatches
- for(GT_Recipe aFuel : tRecipeList) { //Loops through semifluid fuel recipes
- FluidStack tLiquid;
- if ((tLiquid = GT_Utility.getFluidForFilledItem(aFuel.getRepresentativeInput(0), true)) != null) { //Create fluidstack from current recipe
- if (hatchFluid1.isFluidEqual(tLiquid)) { //Has a semifluid fluid
- fuelConsumption = tLiquid.amount = boostEu ? (4096 / aFuel.mSpecialValue) : (2048 / aFuel.mSpecialValue); //Calc fuel consumption
- if(depleteInput(tLiquid)) { //Deplete that amount
- boostEu = depleteInput(Materials.Oxygen.getGas(4L));
- if(tFluids.contains(Materials.Lubricant.getFluid(2L))) { //Has lubricant?
- //Deplete Lubricant. 2000L should = 1 hour of runtime (if baseEU = 2048)
- if(mRuntime % 72 == 0 || mRuntime == 0) {
- depleteInput(Materials.Lubricant.getFluid(boostEu ? 2 : 1));
- }
- }
- else {
- return false;
- }
-
- fuelValue = aFuel.mSpecialValue;
- fuelRemaining = hatchFluid1.amount; //Record available fuel
- this.mEUt = mEfficiency < 2000 ? 0 : 2048; //Output 0 if startup is less than 20%
- this.mProgresstime = 1;
- this.mMaxProgresstime = 1;
- this.mEfficiencyIncrease = 15;
- return true;
- }
- }
+
+ // Check for lubricant and oxygen first, so we can compute costs ahead of time.
+ // This will allow us to check costs without needing to actually try to deplete fluids
+ // (wasting earlier fluids in the check if later fluids turn out to be insufficient).
+ FluidStack lubricant = Materials.Lubricant.getFluid(0L);
+ FluidStack oxygen = Materials.Oxygen.getGas(0L);
+ for (FluidStack hatchFluid : tFluids) {
+ if (hatchFluid.isFluidEqual(lubricant)) {
+ lubricant.amount = Math.max(lubricant.amount, hatchFluid.amount);
+ } else if (hatchFluid.isFluidEqual(oxygen)) {
+ oxygen.amount = Math.max(oxygen.amount, hatchFluid.amount);
+ }
+ }
+ boostEu = oxygen.amount >= 4L;
+ long lubricantCost = boostEu ? 2L : 1L;
+ if (lubricant.amount < lubricantCost) {
+ return false;
+ }
+
+ for (FluidStack hatchFluid : tFluids) { //Loops through hatches
+ GT_Recipe aFuel = GTPP_Recipe_Map.sSemiFluidLiquidFuels.findFuel(hatchFluid);
+ if (aFuel == null) {
+ // Not a valid semi-fluid fuel.
+ continue;
+ }
+
+ int newEUt = boostEu ? 4096 : 2048;
+ fuelConsumption = newEUt / aFuel.mSpecialValue; //Calc fuel consumption
+ FluidStack tLiquid = new FluidStack(hatchFluid.getFluid(), fuelConsumption);
+ if(depleteInput(tLiquid)) { //Deplete that amount
+ // We checked beforehand, so both of these depletions should succeed.
+ // But check the return values anyway just to be safe.
+ if (boostEu) {
+ if (!depleteInput(Materials.Oxygen.getGas(4L))) {
+ return false;
+ }
+ }
+ //Deplete Lubricant. 2000L should = 1 hour of runtime (if baseEU = 2048)
+ if(mRuntime % 72 == 0 || mRuntime == 0) {
+ if(!depleteInput(Materials.Lubricant.getFluid(lubricantCost))) {
+ return false;
}
}
+
+ fuelValue = aFuel.mSpecialValue;
+ fuelRemaining = hatchFluid.amount; //Record available fuel
+ this.mEUt = mEfficiency < 2000 ? 0 : newEUt; //Output 0 if startup is less than 20%
+ this.mProgresstime = 1;
+ this.mMaxProgresstime = 1;
+ this.mEfficiencyIncrease = 15;
+ return true;
}
}
+
this.mEUt = 0;
this.mEfficiency = 0;
return false;
@@ -266,12 +284,12 @@ public class GregtechMetaTileEntity_LargeSemifluidGenerator extends GregtechMeta
}
public int getMaxEfficiency(ItemStack aStack) {
- return boostEu ? 20000 : 10000;
+ return boostEu ? 15000 : 10000;
}
@Override
- public int getPollutionPerTick(ItemStack aStack) {
- return 64;
+ public int getPollutionPerSecond(ItemStack aStack) {
+ return CORE.ConfigSwitches.pollutionPerSecondMultiLargeSemiFluidGenerator;
}
@Override
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_MassFabricator.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_MassFabricator.java
index dfc2a5b80f..f016288547 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_MassFabricator.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_MassFabricator.java
@@ -107,7 +107,7 @@ public class GregtechMetaTileEntity_MassFabricator extends GregtechMeta_MultiBlo
tt.addMachineType(getMachineType())
.addInfo("Controller Block for the Matter Fabricator")
.addInfo("Produces UU-A, UU-M & Scrap")
- .addPollutionAmount(getPollutionPerTick(null) * 20)
+ .addPollutionAmount(getPollutionPerSecond(null))
.addSeparator()
.beginStructureBlock(5, 4, 5, true)
.addController("Front Center")
@@ -263,8 +263,8 @@ public class GregtechMetaTileEntity_MassFabricator extends GregtechMeta_MultiBlo
}
@Override
- public int getPollutionPerTick(final ItemStack aStack) {
- return 2;
+ public int getPollutionPerSecond(final ItemStack aStack) {
+ return CORE.ConfigSwitches.pollutionPerSecondMultiMassFabricator;
}
@Override
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_Refinery.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_Refinery.java
index c195823900..f86ecf3196 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_Refinery.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_Refinery.java
@@ -44,7 +44,7 @@ public class GregtechMetaTileEntity_Refinery extends GregtechMeta_MultiBlockBase
GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder();
tt.addMachineType(getMachineType())
.addInfo("Controller Block for the Fission Fuel Processing Unit")
- .addPollutionAmount(getPollutionPerTick(null) * 20)
+ .addPollutionAmount(getPollutionPerSecond(null))
.addSeparator()
.beginStructureBlock(3, 9, 3, false)
.addController("Bottom Center")
@@ -212,8 +212,8 @@ public class GregtechMetaTileEntity_Refinery extends GregtechMeta_MultiBlockBase
}
@Override
- public int getPollutionPerTick(final ItemStack aStack) {
- return 200;
+ public int getPollutionPerSecond(final ItemStack aStack) {
+ return CORE.ConfigSwitches.pollutionPerSecondMultiRefinery;
}
@Override
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/algae/GregtechMTE_AlgaePondBase.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/algae/GregtechMTE_AlgaePondBase.java
index 95d4806939..4759457d8d 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/algae/GregtechMTE_AlgaePondBase.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/algae/GregtechMTE_AlgaePondBase.java
@@ -13,6 +13,7 @@ import com.gtnewhorizon.structurelib.structure.IStructureDefinition;
import com.gtnewhorizon.structurelib.structure.StructureDefinition;
import gregtech.api.metatileentity.implementations.*;
import gregtech.api.util.GT_Multiblock_Tooltip_Builder;
+import gtPlusPlus.core.lib.CORE;
import org.apache.commons.lang3.ArrayUtils;
import gregtech.api.GregTech_API;
@@ -76,7 +77,7 @@ public class GregtechMTE_AlgaePondBase extends GregtechMeta_MultiBlockBase {
.addInfo("Does not require power or maintenance")
.addInfo("All Machine Casings must be the same tier, this dictates machine speed.")
.addInfo("Fill Input Hatch with water.")
- .addPollutionAmount(getPollutionPerTick(null) * 20)
+ .addPollutionAmount(getPollutionPerSecond(null))
.addSeparator()
.beginStructureBlock(9, 3, 9, true)
.addController("Front Center")
@@ -285,8 +286,8 @@ public class GregtechMTE_AlgaePondBase extends GregtechMeta_MultiBlockBase {
}
@Override
- public int getPollutionPerTick(final ItemStack aStack) {
- return 0;
+ public int getPollutionPerSecond(final ItemStack aStack) {
+ return CORE.ConfigSwitches.pollutionPerSecondMultiAlgaePond;
}
@Override
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/chemplant/GregtechMTE_ChemicalPlant.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/chemplant/GregtechMTE_ChemicalPlant.java
index 7023211230..42912c4fa8 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/chemplant/GregtechMTE_ChemicalPlant.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/chemplant/GregtechMTE_ChemicalPlant.java
@@ -118,7 +118,7 @@ public class GregtechMTE_ChemicalPlant extends GregtechMeta_MultiBlockBase {
tt.addMachineType(getMachineType())
.addInfo("Controller Block for the Chemical Plant")
.addInfo("Heavy Industry, now right at your doorstep!")
- .addInfo("Please read to user manual for more information on construction & usage")
+ .addInfo("Please read the user manual for more information on construction and usage")
.addSeparator()
.addController("Bottom Center")
.addStructureHint("Catalyst Housing", 1)
@@ -457,8 +457,7 @@ public class GregtechMTE_ChemicalPlant extends GregtechMeta_MultiBlockBase {
private int getCasingTextureID() {
// Check the Tier Client Side
int aTier = mSolidCasingTier;
- int aCasingID = getCasingTextureIdForTier(aTier);
- return aCasingID;
+ return getCasingTextureIdForTier(aTier);
}
public boolean addToMachineList(IGregTechTileEntity aTileEntity) {
@@ -596,15 +595,12 @@ public class GregtechMTE_ChemicalPlant extends GregtechMeta_MultiBlockBase {
//GT_Recipe tRecipe = findRecipe(getBaseMetaTileEntity(), mLastRecipe, false, gregtech.api.enums.GT_Values.V[tTier], aFluidInputs, aItemInputs);
GT_Recipe tRecipe = findRecipe(mLastRecipe, gregtech.api.enums.GT_Values.V[tTier], getSolidCasingTier(), aItemInputs, aFluidInputs);
-
-
-
if (tRecipe == null) {
log("BAD RETURN - 1");
return false;
}
- // checks if it has a catalyst with enough durability
+ // checks if it has a catalyst
ItemStack tCatalystRecipe = findCatalyst(aItemInputs);
boolean aDoesRecipeNeedCatalyst = false;
for (ItemStack aInputItem : tRecipe.mInputs) {
@@ -619,7 +615,7 @@ public class GregtechMTE_ChemicalPlant extends GregtechMeta_MultiBlockBase {
return false;
}
if (mCatalystBuses.size() != 1) {
- log("does not have correct number of catalyst hatchs. (Required 1, found "+mCatalystBuses.size()+")");
+ log("does not have correct number of catalyst hatches. (Required 1, found "+mCatalystBuses.size()+")");
return false;
}
}
@@ -640,16 +636,16 @@ public class GregtechMTE_ChemicalPlant extends GregtechMeta_MultiBlockBase {
return false;
}
- // checks if it has enough catalyst durabilety
+ // checks if it has enough catalyst durability
ArrayList<ItemStack>tCatalysts = null;
- int tMaxParrallelCatalyst = aMaxParallelRecipes;
+ int tMaxParallelCatalyst = aMaxParallelRecipes;
if (tCatalystRecipe != null) {
tCatalysts = new ArrayList<ItemStack>();
- tMaxParrallelCatalyst = getCatalysts(aItemInputs, tCatalystRecipe, aMaxParallelRecipes, tCatalysts);
- log("Can process "+tMaxParrallelCatalyst+" recipes. If less than "+aMaxParallelRecipes+", catalyst does not have enough durability.");
+ tMaxParallelCatalyst = getCatalysts(aItemInputs, tCatalystRecipe, aMaxParallelRecipes, tCatalysts);
+ log("Can process "+tMaxParallelCatalyst+" recipes. If less than "+aMaxParallelRecipes+", catalyst does not have enough durability.");
}
- if (tMaxParrallelCatalyst == 0) {
+ if (tMaxParallelCatalyst == 0) {
log("found not enough catalysts");
return false;
}
@@ -663,13 +659,13 @@ public class GregtechMTE_ChemicalPlant extends GregtechMeta_MultiBlockBase {
int parallelRecipes = 0;
log("parallelRecipes: "+parallelRecipes);
- log("aMaxParallelRecipes: "+tMaxParrallelCatalyst);
+ log("aMaxParallelRecipes: "+tMaxParallelCatalyst);
log("tTotalEUt: "+tTotalEUt);
log("tVoltage: "+tVoltage);
log("tEnergy: "+tEnergy);
log("tRecipeEUt: "+tRecipeEUt);
// Count recipes to do in parallel, consuming input items and fluids and considering input voltage limits
- for (; parallelRecipes < tMaxParrallelCatalyst && tTotalEUt < (tEnergy - tRecipeEUt); parallelRecipes++) {
+ for (; parallelRecipes < tMaxParallelCatalyst && tTotalEUt < (tEnergy - tRecipeEUt); parallelRecipes++) {
if (!tRecipe.isRecipeInputEqual(true, aFluidInputs, aItemInputs)) {
log("Broke at "+parallelRecipes+".");
break;
@@ -779,6 +775,10 @@ public class GregtechMTE_ChemicalPlant extends GregtechMeta_MultiBlockBase {
this.mOutputItems = tOutputItems;
this.mOutputFluids = tOutputFluids;
updateSlots();
+ for (GT_MetaTileEntity_Hatch_Catalysts h : mCatalystBuses) {
+ h.updateSlots();
+ h.tryFillUsageSlots();
+ }
// Play sounds (GT++ addition - GT multiblocks play no sounds)
startProcess();
@@ -941,14 +941,14 @@ public class GregtechMTE_ChemicalPlant extends GregtechMeta_MultiBlockBase {
}
private int getCatalysts(ItemStack[] aItemInputs, ItemStack aRecipeCatalyst, int aMaxParrallel, ArrayList<ItemStack> aOutPut) {
- int allowedParrallel = 0;
+ int allowedParallel = 0;
for (final ItemStack aInput : aItemInputs) {
if (aRecipeCatalyst.isItemEqual(aInput)) {
int aDurabilityRemaining = getMaxCatalystDurability() - getDamage(aInput);
return Math.min(aMaxParrallel, aDurabilityRemaining);
}
}
- return allowedParrallel;
+ return allowedParallel;
}
private ItemStack findCatalyst(ItemStack[] aItemInputs) {
@@ -973,7 +973,7 @@ public class GregtechMTE_ChemicalPlant extends GregtechMeta_MultiBlockBase {
if (damage >= getMaxCatalystDurability()) {
log("consume catalyst");
addOutput(CI.getEmptyCatalyst(1));
- aStack = null;
+ aStack.stackSize -= 1;
}
else {
log("damaging catalyst");
@@ -984,9 +984,6 @@ public class GregtechMTE_ChemicalPlant extends GregtechMeta_MultiBlockBase {
log("not consuming catalyst");
}
}
-
-
-
}
private int getDamage(ItemStack aStack) {
@@ -997,8 +994,6 @@ public class GregtechMTE_ChemicalPlant extends GregtechMeta_MultiBlockBase {
ItemGenericChemBase.setCatalystDamage(aStack, aAmount);
}
-
-
@SideOnly(Side.CLIENT)
private final int getCasingTierOnClientSide() {
@@ -1031,7 +1026,6 @@ public class GregtechMTE_ChemicalPlant extends GregtechMeta_MultiBlockBase {
t.printStackTrace();
return 0;
}
-
}
/*
@@ -1049,5 +1043,4 @@ public class GregtechMTE_ChemicalPlant extends GregtechMeta_MultiBlockBase {
}
return tItems;
}
-
}