Skip to content
This repository was archived by the owner on May 26, 2024. It is now read-only.

New multis 3 #93

Merged
merged 53 commits into from
Jan 22, 2022
Merged
Changes from 1 commit
Commits
Show all changes
53 commits
Select commit Hold shift + click to select a range
e64595b
Add Multiblock Forge Hammer.
draknyte1 Dec 21, 2021
ccdb05c
Re-added XL Turbines.
draknyte1 Dec 22, 2021
9e9d81a
Finished work on XL turbines.
draknyte1 Dec 22, 2021
73091cf
Adjust XL Plasma Turbine recipe handling.
draknyte1 Dec 22, 2021
4577024
Add shapeless recipes to clear tanks.
draknyte1 Dec 22, 2021
c35cb87
Made tank recipes not shapeless.
draknyte1 Dec 22, 2021
fc8239f
Tweak MK4 Fusion.
draknyte1 Dec 26, 2021
d8dcc4c
Added Solar Tower & Solar Heater.
draknyte1 Jan 5, 2022
e2e6a4b
Added Asm, Screenshots and World to .gitignore.
draknyte1 Jan 6, 2022
ad828a0
Added Simple Washer mode to Industrial Wash Plant.
draknyte1 Jan 6, 2022
cdb7ff1
Finished work on multiblock Molecular Transformer.
draknyte1 Jan 6, 2022
e220989
Fix Auto-Generated ABS recipes sometimes containing two circuits.
draknyte1 Jan 6, 2022
5dda027
Made Chromatic Glass less eye-rapey.
draknyte1 Jan 6, 2022
a349f21
Finish work on the Elemental Duplicator.
draknyte1 Jan 7, 2022
c87d572
Updated Data Orb Repository tooltip.
draknyte1 Jan 7, 2022
7d0d512
Added new overlay for the Data Orb Repository.
draknyte1 Jan 7, 2022
969535e
Added some new overlays.
draknyte1 Jan 7, 2022
dfbb036
Renamed Data Orb Overlay.
draknyte1 Jan 7, 2022
5e307cc
Rewrote and readded Bronze/Advanced Workbenches using GT Meta Tile sy…
draknyte1 Jan 7, 2022
8b6ce65
Added recipes for the GT4 Workbenches.
draknyte1 Jan 7, 2022
6e865ed
Ported some GT4 content:
draknyte1 Jan 9, 2022
09ff0c1
Added more GT4 content:
draknyte1 Jan 9, 2022
2b9fea7
Improve redstone detection.
draknyte1 Jan 9, 2022
83e128a
Partially implemented Computer Cube.
draknyte1 Jan 9, 2022
7ba4c28
update dependencies
bombcar Jan 12, 2022
04bc625
Merge branch 'New-Multis-2' of https://github.com/GTNewHorizons/GTplu…
draknyte1 Jan 12, 2022
9d1e7b5
Fix https://github.com/GTNewHorizons/GTplusplus/issues/87.
draknyte1 Jan 12, 2022
ecd9b0b
Basically finished work on Reactor Simulator.
draknyte1 Jan 13, 2022
cb0277e
Hopefully make Wireless Chargers more responsive.
draknyte1 Jan 13, 2022
7477534
Change Crop Manager power usage based on feedback.
draknyte1 Jan 13, 2022
74e7627
Fix Computer Cube GUI.
draknyte1 Jan 14, 2022
b674474
Added missing recipes for Rotors and Fine Wire.
draknyte1 Jan 15, 2022
35ea58b
Added ability for GT++ Plates and Foils to be used as covers.
draknyte1 Jan 15, 2022
a69727a
Added recipes for Generator Array Controller, Multi Forge Hammer, Mul…
draknyte1 Jan 15, 2022
92a10fc
Added recipes for Solar Tower.
draknyte1 Jan 15, 2022
bee14e9
Added recipes for the XL Turbines.
draknyte1 Jan 15, 2022
10ff684
Changed Forge Hammer Meta ID to avoid conflicts.
draknyte1 Jan 15, 2022
4c52ce6
Add Average I/O stats to PSS.
draknyte1 Jan 16, 2022
84d22c4
Made Avg IO on PSS a little smarter.
draknyte1 Jan 16, 2022
48a4155
Extend PSS fake maxProgresstime to trick the system
Glease Jan 16, 2022
4ead42d
Added Recipe for Computer Cube MKII, Turbine Shaft, Rotor Assembly & …
draknyte1 Jan 16, 2022
e684491
Added GT4 Redstone Circuit Block.
draknyte1 Jan 19, 2022
d3030fa
Added textures for Redstone Circuit Block.
draknyte1 Jan 19, 2022
71fe52e
Added recipes for Redstone Circuit Block.
draknyte1 Jan 19, 2022
4f3cdc7
Fixed Industrial Forge Hammer structure check.
draknyte1 Jan 20, 2022
3caaa02
Fixed broken multiblock tooltips.
draknyte1 Jan 20, 2022
d91ba37
Improved Matter Fabricator recipes.
draknyte1 Jan 20, 2022
247a07a
Add way to make Sunnarium without MT.
draknyte1 Jan 20, 2022
8f28cbb
Did MT stuff.
draknyte1 Jan 21, 2022
0ecbbe8
Updated recipe for compressed glowstone.
draknyte1 Jan 21, 2022
7ede7c7
Merge branch 'master' of https://github.com/GTNewHorizons/GTplusplus …
draknyte1 Jan 21, 2022
03a6ace
Added CCC dep.
draknyte1 Jan 21, 2022
7e3d131
Fix fluid extraction recipes. Fixes https://github.com/GTNewHorizons/…
draknyte1 Jan 22, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Finish work on the Elemental Duplicator.
draknyte1 committed Jan 7, 2022
commit a349f21f2a1f0d99e749a745f8a8349869ca6e2e
3 changes: 3 additions & 0 deletions src/main/java/gregtech/api/util/GTPP_Recipe.java
Original file line number Diff line number Diff line change
@@ -364,6 +364,9 @@ public static class GTPP_Recipe_Map {
//Molecular Transformer Map
public static final GTPP_Recipe_Map_Internal sMolecularTransformerRecipes = new GTPP_Recipe_Map_Internal(new HashSet<GT_Recipe>(3), "gtpp.recipe.moleculartransformer", "Molecular Transformer", null, RES_PATH_GUI + "basicmachines/Scanner", 1, 1, 0, 0, 1, E, 1, E, true, true);

//Elemental Duplicator Map
public static final GTPP_Recipe_Map_Internal sElementalDuplicatorRecipes = new GTPP_Recipe_Map_Internal(new HashSet<GT_Recipe>(3), "gtpp.recipe.elementaldupe", "Elemental Duplicator", null, RES_PATH_GUI + "basicmachines/Replicator", 1, 1, 0, 1, 1, E, 1, E, true, false);


//public static final GT_Recipe_Map sSimpleWasherRecipes_FakeFuckBW = new GT_Recipe_Map(new HashSet<GT_Recipe>(3), "gtpp.recipe.simplewasher", "Fuck you Bart", null, RES_PATH_GUI + "basicmachines/PotionBrewer", 1, 1, 0, 0, 1, E, 1, E, true, false);

14 changes: 7 additions & 7 deletions src/main/java/gtPlusPlus/core/util/minecraft/RecipeUtils.java
Original file line number Diff line number Diff line change
@@ -703,14 +703,14 @@ else if (o == null) {
CORE.crash("Bad Shaped Recipe.");
}
}
Logger.INFO("Using String: "+aFullString);
Logger.RECIPE("Using String: "+aFullString);

String aRow1 = aFullString.substring(0, 3);
String aRow2 = aFullString.substring(3, 6);
String aRow3 = aFullString.substring(6, 9);
Logger.INFO(""+aRow1);
Logger.INFO(""+aRow2);
Logger.INFO(""+aRow3);
Logger.RECIPE(""+aRow1);
Logger.RECIPE(""+aRow2);
Logger.RECIPE(""+aRow3);

String[] aStringData = new String[] {aRow1, aRow2, aRow3};
Object[] aDataObject = new Object[19];
@@ -730,10 +730,10 @@ else if (o == null) {
aIndex++;
}

Logger.INFO("Data Size: "+aDataObject.length);
Logger.RECIPE("Data Size: "+aDataObject.length);
aDataObject = ArrayUtils.removeNulls(aDataObject);
Logger.INFO("Clean Size: "+aDataObject.length);
Logger.INFO("ArrayData: "+Arrays.toString(aDataObject));
Logger.RECIPE("Clean Size: "+aDataObject.length);
Logger.RECIPE("ArrayData: "+Arrays.toString(aDataObject));

ShapedOreRecipe aRecipe = new ShapedOreRecipe(aOutputStack, aDataObject);

61 changes: 61 additions & 0 deletions src/main/java/gtPlusPlus/xmod/gregtech/HANDLER_GT.java
Original file line number Diff line number Diff line change
@@ -9,17 +9,22 @@

import cpw.mods.fml.common.event.FMLLoadCompleteEvent;
import gregtech.api.GregTech_API;
import gregtech.api.enums.Element;
import gregtech.api.enums.ItemList;
import gregtech.api.enums.Materials;
import gregtech.api.enums.OrePrefixes;
import gregtech.api.items.GT_MetaGenerated_Tool;
import gregtech.api.util.GTPP_Recipe;
import gregtech.api.util.GTPP_Recipe.GTPP_Recipe_Map;
import gregtech.api.util.GT_Config;
import gregtech.api.util.GT_ModHandler;
import gregtech.api.util.GT_OreDictUnificator;
import gregtech.api.util.GT_ModHandler.RecipeBits;
import gregtech.api.util.GT_Recipe;
import gregtech.api.util.GT_Recipe.GT_Recipe_Map;
import gregtech.api.util.GT_Utility;
import gregtech.common.items.GT_MetaGenerated_Tool_01;
import gregtech.common.items.behaviors.Behaviour_DataOrb;
import gtPlusPlus.api.helpers.GregtechPlusPlus_API.Multiblock_API;
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.api.objects.data.AutoMap;
@@ -50,6 +55,7 @@
import gtPlusPlus.xmod.gregtech.common.StaticFields59;
import gtPlusPlus.xmod.gregtech.common.blocks.fluid.GregtechFluidHandler;
import gtPlusPlus.xmod.gregtech.common.items.MetaGeneratedGregtechTools;
import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.production.GregtechMTE_ElementalDuplicator;
import gtPlusPlus.xmod.gregtech.loaders.Gregtech_Blocks;
import gtPlusPlus.xmod.gregtech.loaders.ProcessingAngleGrinder;
import gtPlusPlus.xmod.gregtech.loaders.ProcessingElectricButcherKnife;
@@ -64,6 +70,7 @@
import gtPlusPlus.xmod.gregtech.registration.gregtech.GregtechNitroDieselFix;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraftforge.fluids.FluidStack;

public class HANDLER_GT {

@@ -167,6 +174,7 @@ public static void onLoadComplete(FMLLoadCompleteEvent event) {
}
RecipesToRemove.go();
convertPyroToCokeOven();
generateElementalDuplicatorRecipes();
Meta_GT_Proxy.fixIC2FluidNames();
RecipeLoader_AlgaeFarm.generateRecipes();
if (LoadedMods.AdvancedSolarPanel) {
@@ -181,6 +189,59 @@ public static void addNewOrePrefixes() {
}
}


private static void generateElementalDuplicatorRecipes() {
for (GT_Recipe aRecipe : GT_Recipe_Map.sReplicatorFakeRecipes.mRecipeList) {
Object aDataOrb = aRecipe.mSpecialItems;
if (aDataOrb != null) {
ItemStack aOutput = aRecipe.mOutputs[0];
if (aOutput != null) {
FluidStack aFluid = aRecipe.mFluidInputs[0];
if (aFluid != null && aFluid.amount > 0) {
ItemStack tDataOrb = GregtechMTE_ElementalDuplicator.getSpecialSlotStack(aRecipe);
Materials tMaterial = Element.get(Behaviour_DataOrb.getDataName(tDataOrb)).mLinkedMaterials.get(0);
FluidStack aOutputFluid = null;
ItemStack aOutputItem = null;
if (tMaterial != null) {
boolean aUsingFluid = false;
if ((aOutputItem = GT_OreDictUnificator.get(OrePrefixes.dust, tMaterial, 1L)) == null) {
if ((aOutputItem = GT_OreDictUnificator.get(OrePrefixes.cell, tMaterial, 1L)) != null) {
aOutputFluid = GT_Utility.getFluidForFilledItem(aOutputItem, true);
aUsingFluid = true;
}
}
GTPP_Recipe aNewRecipe = new GTPP_Recipe(
false,
new ItemStack[] {},
new ItemStack[] {!aUsingFluid ? aOutputItem : null},
aRecipe.mSpecialItems,
null,
aRecipe.mFluidInputs,
new FluidStack[] {aUsingFluid ? aOutputFluid : null},
aRecipe.mDuration,
aRecipe.mEUt,
aRecipe.mFluidInputs[0].amount);
GTPP_Recipe_Map.sElementalDuplicatorRecipes.add(aNewRecipe);

Logger.INFO("[EM] Generated recipe for "+tMaterial.mLocalizedName+", Outputs "+(aUsingFluid ? "Fluid" : "Dust"));
}
}
else {
Logger.INFO("[EM] Bad UU Requirement. "+RecipeUtils.getRecipeInfo(aRecipe));
}
}
else {
Logger.INFO("[EM] Bad Output. "+RecipeUtils.getRecipeInfo(aRecipe));
}
}
else {
Logger.INFO("[EM] Bad Data Orb. "+RecipeUtils.getRecipeInfo(aRecipe));
}
}
int aSize = GTPP_Recipe_Map.sElementalDuplicatorRecipes.mRecipeList.size();
Logger.INFO("[EM] Generated "+aSize+"/"+GT_Recipe_Map.sReplicatorFakeRecipes.mRecipeList.size()+" Replicator recipes.");
}

private static void convertPyroToCokeOven() {
if (ReflectionUtils.doesFieldExist(GT_Recipe.GT_Recipe_Map.class, "sPyrolyseRecipes")) {
int aCount = 0;
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
package gtPlusPlus.xmod.gregtech.api.gui;

import gregtech.api.enums.ItemList;
import gregtech.api.gui.GT_ContainerMetaTile_Machine;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.slots.SlotIntegratedCircuit;
import gtPlusPlus.core.util.minecraft.ItemUtils;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack;

public class CONTAINER_DataHatch extends GT_ContainerMetaTile_Machine {

public CONTAINER_DataHatch(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity) {
super(aInventoryPlayer, aTileEntity);
}

@Override
public void addSlots(InventoryPlayer aInventoryPlayer) {
addSlotToContainer(new GT_Slot_DataOrb(mTileEntity, 0, 53, 8));
addSlotToContainer(new GT_Slot_DataOrb(mTileEntity, 1, 71, 8));
addSlotToContainer(new GT_Slot_DataOrb(mTileEntity, 2, 89, 8));
addSlotToContainer(new GT_Slot_DataOrb(mTileEntity, 3, 107, 8));
addSlotToContainer(new GT_Slot_DataOrb(mTileEntity, 4, 53, 26));
addSlotToContainer(new GT_Slot_DataOrb(mTileEntity, 5, 71, 26));
addSlotToContainer(new GT_Slot_DataOrb(mTileEntity, 6, 89, 26));
addSlotToContainer(new GT_Slot_DataOrb(mTileEntity, 7, 107, 26));
addSlotToContainer(new GT_Slot_DataOrb(mTileEntity, 8, 53, 44));
addSlotToContainer(new GT_Slot_DataOrb(mTileEntity, 9, 71, 44));
addSlotToContainer(new GT_Slot_DataOrb(mTileEntity, 10, 89, 44));
addSlotToContainer(new GT_Slot_DataOrb(mTileEntity, 11, 107, 44));
addSlotToContainer(new GT_Slot_DataOrb(mTileEntity, 12, 53, 62));
addSlotToContainer(new GT_Slot_DataOrb(mTileEntity, 13, 71, 62));
addSlotToContainer(new GT_Slot_DataOrb(mTileEntity, 14, 89, 62));
addSlotToContainer(new GT_Slot_DataOrb(mTileEntity, 15, 107, 62));
addSlotToContainer(new SlotIntegratedCircuit(mTileEntity, 16, 19, 35));

}

@Override
public int getSlotCount() {
return 17;
}

@Override
public int getShiftClickSlotCount() {
return 0;
}

@Override
public void putStackInSlot(int par1, ItemStack par2ItemStack) {
/*Logger.INFO("Slot: "+par1);
if (par1 < 16 && ItemList.Tool_DataOrb.isStackEqual(par2ItemStack)) {
super.putStackInSlot(par1, par2ItemStack);
}
if (par1 == 16 && ItemUtils.isControlCircuit(par2ItemStack)) {
super.putStackInSlot(par1, par2ItemStack);
}*/
super.putStackInSlot(par1, par2ItemStack);
}

@Override
public boolean canDragIntoSlot(Slot par1Slot) {
return super.canDragIntoSlot(par1Slot);
}

public class GT_Slot_DataOrb extends Slot {
public GT_Slot_DataOrb(IInventory par1iInventory, int par2, int par3, int par4) {
super(par1iInventory, par2, par3, par4);
}

@Override
public boolean isItemValid(ItemStack aStack) {
return ItemList.Tool_DataOrb.isStackEqual(aStack, false, true);
}
}



}
41 changes: 41 additions & 0 deletions src/main/java/gtPlusPlus/xmod/gregtech/api/gui/GUI_DataHatch.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
package gtPlusPlus.xmod.gregtech.api.gui;

import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import net.minecraft.entity.player.InventoryPlayer;

import static gregtech.api.enums.GT_Values.RES_PATH_GUI;

import gregtech.api.gui.GT_GUIContainerMetaTile_Machine;

public class GUI_DataHatch extends GT_GUIContainerMetaTile_Machine {

private final String mName;

public GUI_DataHatch(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity, String aName) {
super(new CONTAINER_DataHatch(aInventoryPlayer, aTileEntity), RES_PATH_GUI + "HatchDataOrb.png");
mName = aName;
}

public GUI_DataHatch(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity, String aName, String aBackground) {
super(new CONTAINER_DataHatch(aInventoryPlayer, aTileEntity), RES_PATH_GUI + aBackground + "HatchDataOrb.png");
mName = aName;
}

@Override
protected void drawGuiContainerForegroundLayer(int par1, int par2) {
fontRendererObj.drawString(mName, 8, 4, 4210752);
/*String[] aName = mName.trim().split("\\s+");
int aY = 4;
for (String s : aName) {
fontRendererObj.drawString(s, 120, (aY += 12), 4210752);
}*/
}

@Override
protected void drawGuiContainerBackgroundLayer(float par1, int par2, int par3) {
super.drawGuiContainerBackgroundLayer(par1, par2, par3);
int x = (width - xSize) / 2;
int y = (height - ySize) / 2;
drawTexturedModalRect(x, y, 0, 0, xSize, ySize);
}
}
Original file line number Diff line number Diff line change
@@ -112,18 +112,32 @@ protected void drawGuiInfoTextLayer(final float par1, final int par2) {
mInfo.add(StatCollector.translateToLocal("GTPP.machines.output")+" "+StatCollector.translateToLocal("GTPP.machines.tier")+": "+ EnumChatFormatting.GREEN +GT_Values.VOLTAGE_NAMES[aOutputTier]);
}




mInfo.add(StatCollector.translateToLocal("GTPP.multiblock.progress")+": "+
EnumChatFormatting.GREEN + Integer.toString(((CONTAINER_MultiMachine) this.mContainer).mProgressTime/20) + EnumChatFormatting.RESET +" s / "+
EnumChatFormatting.YELLOW + Integer.toString(((CONTAINER_MultiMachine) this.mContainer).mMaxProgressTime/20) + EnumChatFormatting.RESET +" s");


mInfo.add(StatCollector.translateToLocal("GTPP.multiblock.energy")+": "+
EnumChatFormatting.GREEN + Long.toString(aStoredEnergy) + EnumChatFormatting.RESET +" "+EU+" / "+
EnumChatFormatting.YELLOW + Long.toString(aMaxEnergy) + EnumChatFormatting.RESET +" "+EU+"");





mInfo.add(StatCollector.translateToLocal("GTPP.multiblock.energy")+":");
mInfo.add(StatCollector.translateToLocal(""+EnumChatFormatting.GREEN + Long.toString(aStoredEnergy) + EnumChatFormatting.RESET +" EU / "+
EnumChatFormatting.YELLOW + Long.toString(aMaxEnergy) + EnumChatFormatting.RESET +" EU"));

if (aRecipeEU != 0 && aRecipeDuration > 0) {
mInfo.add(StatCollector.translateToLocal("GTPP.multiblock.usage")+": "+
EnumChatFormatting.RED + Integer.toString(-aRecipeEU) + EnumChatFormatting.RESET + " "+EU+"/t");
if (aRecipeEU > 0) {
mInfo.add(StatCollector.translateToLocal("GTPP.multiblock.usage")+":");
mInfo.add(StatCollector.translateToLocal(""+EnumChatFormatting.RED + Integer.toString(-aRecipeEU) + EnumChatFormatting.RESET + " EU/t/parallel"));
}
else {
mInfo.add(StatCollector.translateToLocal("GTPP.multiblock.generation")+":");
mInfo.add(StatCollector.translateToLocal(""+EnumChatFormatting.GREEN + Integer.toString(aRecipeEU) + EnumChatFormatting.RESET + " EU/t/parallel"));
}
mInfo.add(StatCollector.translateToLocal("GTPP.multiblock.duration")+": "+
EnumChatFormatting.RED + Integer.toString(aRecipeDuration) + EnumChatFormatting.RESET + " ticks");
if (aRecipeSpecial > 0) {
@@ -132,18 +146,16 @@ protected void drawGuiInfoTextLayer(final float par1, final int par2) {
}
}

mInfo.add(StatCollector.translateToLocal("GTPP.multiblock.mei")+": "+
EnumChatFormatting.YELLOW+Long.toString(aMaxInputVoltage)+EnumChatFormatting.RESET+ " "+EU+"/t"+EnumChatFormatting.RESET);

mInfo.add(StatCollector.translateToLocal(StatCollector.translateToLocal("GTPP.machines.tier")+": "+
EnumChatFormatting.YELLOW+GT_Values.VN[GT_Utility.getTier(aMaxInputVoltage)]+ EnumChatFormatting.RESET));
mInfo.add(StatCollector.translateToLocal("GTPP.multiblock.mei")+":");
mInfo.add(StatCollector.translateToLocal(""+EnumChatFormatting.YELLOW+Long.toString(aMaxInputVoltage)+EnumChatFormatting.RESET+ " EU/t(*2A) "+StatCollector.translateToLocal("GTPP.machines.tier")+": "+
EnumChatFormatting.YELLOW+GT_Values.VN[GT_Utility.getTier(aMaxInputVoltage)]+ EnumChatFormatting.RESET));

mInfo.add(StatCollector.translateToLocal("GTPP.multiblock.efficiency")+": "+ EnumChatFormatting.YELLOW+Float.toString(aEfficiency / 100.0F)+EnumChatFormatting.RESET + " %");

mInfo.add(StatCollector.translateToLocal("GTPP.multiblock.pollution")+": "+ EnumChatFormatting.RED + (aPollutionTick*20)+ EnumChatFormatting.RESET+"/sec");
mInfo.add(StatCollector.translateToLocal("GTPP.multiblock.pollutionreduced")+": "+ EnumChatFormatting.GREEN + aPollutionReduction + EnumChatFormatting.RESET+" %");

mInfo.add(StatCollector.translateToLocal("GTPP.CC.parallel")+": "+EnumChatFormatting.GREEN+(aMaxParallel)+EnumChatFormatting.RESET);
//mInfo.add(StatCollector.translateToLocal("GTPP.CC.parallel")+": "+EnumChatFormatting.GREEN+(aMaxParallel)+EnumChatFormatting.RESET);

mInfo.add("Total Time Since Built: ");
mInfo.add("" + EnumChatFormatting.DARK_GREEN + Integer.toString(weeks)+EnumChatFormatting.RESET+" Weeks,");
Loading