aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/main/java/gregtech/GT_Mod.java150
-rw-r--r--src/main/java/gregtech/api/metatileentity/examples/GT_MetaTileEntity_E_Furnace.java2
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Fluid.java2
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine.java18
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine_GT_Recipe.java2
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Buffer.java4
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Muffler.java8
-rw-r--r--src/main/java/gregtech/api/objects/GT_CopiedBlockTexture.java10
-rw-r--r--src/main/java/gregtech/api/objects/GT_RenderedTexture.java99
-rw-r--r--src/main/java/gregtech/api/objects/GT_SidedTexture.java75
-rw-r--r--src/main/java/gregtech/api/objects/GT_StdRenderedTexture.java41
-rw-r--r--src/main/java/gregtech/api/util/GT_ModHandler.java345
-rw-r--r--src/main/java/gregtech/api/util/GT_OreDictUnificator.java28
-rw-r--r--src/main/java/gregtech/api/util/GT_Utility.java256
-rw-r--r--src/main/java/gregtech/common/GT_Proxy.java91
-rw-r--r--src/main/java/gregtech/common/blocks/GT_TileEntity_Ores.java3
-rw-r--r--src/main/java/gregtech/common/covers/GT_Cover_ItemMeter.java37
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Boxinator.java1
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_CuringOven.java2
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Disassembler.java3
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Miner.java2
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_PotionBrewer.java2
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Replicator.java2
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_RockBreaker.java2
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Scanner.java4
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/long_distance/GT_MetaTileEntity_LongDistancePipelineBase.java2
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Furnace_Bronze.java4
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Furnace_Steel.java4
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Macerator_Bronze.java4
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Macerator_Steel.java4
-rw-r--r--src/main/java/gregtech/common/tileentities/storage/GT_MetaTileEntity_DigitalChestBase.java5
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingArrows.java32
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingBeans.java2
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingBlock.java17
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingBolt.java2
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingCell.java31
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingCircuit.java14
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingCompressed.java2
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingCrafting.java96
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingCrate.java24
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingCrop.java64
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingCrushedOre.java10
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingCrystallized.java4
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingDirty.java20
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingDust.java97
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingDye.java10
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingFineWire.java6
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingFood.java19
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingGear.java12
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingGem.java2
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingIngot.java2
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingItem.java23
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingLens.java2
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingLog.java85
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingNugget.java10
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingOre.java28
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingOrePoor.java6
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingOreSmelting.java4
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingPipe.java20
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingPlank.java46
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingPlate.java83
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingPure.java4
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingRotor.java6
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingRound.java6
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingSand.java4
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingSaplings.java6
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingScrew.java4
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingShaping.java110
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingSlab.java2
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingStick.java14
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingStickLong.java12
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingStone.java50
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingStoneCobble.java8
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingStoneVarious.java4
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingToolHead.java143
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingToolOther.java6
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingTransforming.java22
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingWax.java2
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingWire.java38
-rw-r--r--src/main/java/gregtech/loaders/postload/GT_CraftingRecipeLoader.java1228
-rw-r--r--src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java390
-rw-r--r--src/main/java/gregtech/loaders/preload/GT_Loader_OreProcessing.java54
-rw-r--r--src/main/resources/assets/gregtech/lang/en_US.lang3
83 files changed, 1870 insertions, 2231 deletions
diff --git a/src/main/java/gregtech/GT_Mod.java b/src/main/java/gregtech/GT_Mod.java
index 09096911c2..45a152a98c 100644
--- a/src/main/java/gregtech/GT_Mod.java
+++ b/src/main/java/gregtech/GT_Mod.java
@@ -1,5 +1,6 @@
package gregtech;
+import com.google.common.base.Stopwatch;
import cpw.mods.fml.common.FMLCommonHandler;
import cpw.mods.fml.common.LoadController;
import cpw.mods.fml.common.Loader;
@@ -424,7 +425,6 @@ public class GT_Mod implements IGT_Mod {
gregtechproxy.mPollutionVegetationLimit = tMainConfig.get("Pollution", "VegetationLimit", 1000000).getInt(1000000);
gregtechproxy.mPollutionSourRainLimit = tMainConfig.get("Pollution", "SourRainLimit", 2000000).getInt(2000000);
gregtechproxy.mExplosionItemDrop = tMainConfig.get("general", "ExplosionItemDrops", false).getBoolean(false);
- gregtechproxy.mAddGTRecipesToIC2Machines = tMainConfig.get("general", "AddGTRecipesToIC2Machines", true).getBoolean(true);
gregtechproxy.mUndergroundOil.getConfig(tMainConfig, "undergroundfluid");
gregtechproxy.mEnableCleanroom = tMainConfig.get("general", "EnableCleanroom", true).getBoolean(true);
gregtechproxy.mLowGravProcessing = Loader.isModLoaded(GT_Values.MOD_ID_GC_CORE) && tMainConfig.get("general", "LowGravProcessing", true).getBoolean(true);
@@ -652,40 +652,7 @@ public class GT_Mod implements IGT_Mod {
Materials.BandedIron.getDustSmall(1), Materials.Bauxite.getDustSmall(1), Materials.Pyrolusite.getDustTiny(2),
Materials.Barite.getDustTiny(1), Materials.Chromite.getDustTiny(1), Materials.Ilmenite.getDustTiny(1),
new int[]{10000, 10000, 10000, 10000, 7500, 5000}, 1000, 900);
- /*
- if (GregTech_API.sRecipeFile.get(ConfigCategories.Recipes.gregtechrecipes, "SolarPanel", true)) {
- GT_ModHandler.addCraftingRecipe(ItemList.Cover_SolarPanel.get(1L), GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE, new Object[]{"SGS", "CPC", 'C', OrePrefixes.circuit.get(Materials.Basic), 'G', new ItemStack(Blocks.glass_pane, 1), 'P', OrePrefixes.plateAlloy.get(Materials.Carbon), 'S', ItemList.Circuit_Silicon_Wafer});
- GT_ModHandler.addCraftingRecipe(ItemList.Cover_SolarPanel_8V.get(1L), GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE, new Object[]{"SGS", "CPC","R R", 'C', OrePrefixes.circuit.get(Materials.Advanced), 'G', new ItemStack(Blocks.glass_pane, 1), 'P', OrePrefixes.wireGt04.get(Materials.Graphene), 'S', ItemList.Circuit_Silicon_Wafer2,'R', OrePrefixes.plate.get(Materials.GalliumArsenide)});
- GT_ModHandler.addCraftingRecipe(ItemList.Cover_SolarPanel_LV.get(1L), GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE, new Object[]{"SGS", "CPC","R R", 'C', OrePrefixes.circuit.get(Materials.Master), 'G', GT_ModHandler.getIC2Item("reinforcedGlass", 1L), 'P', OrePrefixes.wireGt16.get(Materials.Graphene), 'S', ItemList.Circuit_Silicon_Wafer3,'R', OrePrefixes.plate.get(Materials.IndiumGalliumPhosphide)});
- }
- if (GregTech_API.sOPStuff.get(ConfigCategories.Recipes.gregtechrecipes, "SolarPanel8V", false)) {
- GT_ModHandler.addCraftingRecipe(ItemList.Cover_SolarPanel_8V.get(1L), GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE, new Object[]{"SSS", "STS", "SSS", 'S', ItemList.Cover_SolarPanel, 'T', OrePrefixes.circuit.get(Materials.Advanced)});
- }
- if (GregTech_API.sOPStuff.get(ConfigCategories.Recipes.gregtechrecipes, "SolarPanelLV", false)) {
- GT_ModHandler.addCraftingRecipe(ItemList.Cover_SolarPanel_LV.get(1L), GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE, new Object[]{" S ", "STS", " S ", 'S', ItemList.Cover_SolarPanel_8V, 'T', ItemList.Transformer_LV_ULV});
- }
- if (GregTech_API.sOPStuff.get(ConfigCategories.Recipes.gregtechrecipes, "SolarPanelMV", false)) {
- GT_ModHandler.addCraftingRecipe(ItemList.Cover_SolarPanel_MV.get(1L), GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE, new Object[]{" S ", "STS", " S ", 'S', ItemList.Cover_SolarPanel_LV, 'T', ItemList.Transformer_MV_LV});
- }
- if (GregTech_API.sOPStuff.get(ConfigCategories.Recipes.gregtechrecipes, "SolarPanelHV", false)) {
- GT_ModHandler.addCraftingRecipe(ItemList.Cover_SolarPanel_HV.get(1L), GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE, new Object[]{" S ", "STS", " S ", 'S', ItemList.Cover_SolarPanel_MV, 'T', ItemList.Transformer_HV_MV});
- }
- if (GregTech_API.sOPStuff.get(ConfigCategories.Recipes.gregtechrecipes, "SolarPanelEV", false)) {
- GT_ModHandler.addCraftingRecipe(ItemList.Cover_SolarPanel_EV.get(1L), GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE, new Object[]{" S ", "STS", " S ", 'S', ItemList.Cover_SolarPanel_HV, 'T', ItemList.Transformer_EV_HV});
- }
- if (GregTech_API.sOPStuff.get(ConfigCategories.Recipes.gregtechrecipes, "SolarPanelIV", false)) {
- GT_ModHandler.addCraftingRecipe(ItemList.Cover_SolarPanel_IV.get(1L), GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE, new Object[]{" S ", "STS", " S ", 'S', ItemList.Cover_SolarPanel_EV, 'T', ItemList.Transformer_IV_EV});
- }
- if (GregTech_API.sOPStuff.get(ConfigCategories.Recipes.gregtechrecipes, "SolarPanelLuV", false)) {
- GT_ModHandler.addCraftingRecipe(ItemList.Cover_SolarPanel_LuV.get(1L), GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE, new Object[]{" S ", "STS", " S ", 'S', ItemList.Cover_SolarPanel_IV, 'T', ItemList.Transformer_LuV_IV});
- }
- if (GregTech_API.sOPStuff.get(ConfigCategories.Recipes.gregtechrecipes, "SolarPanelZPM", false)) {
- GT_ModHandler.addCraftingRecipe(ItemList.Cover_SolarPanel_ZPM.get(1L), GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE, new Object[]{" S ", "STS", " S ", 'S', ItemList.Cover_SolarPanel_LuV, 'T', ItemList.Transformer_ZPM_LuV});
- }
- if (GregTech_API.sOPStuff.get(ConfigCategories.Recipes.gregtechrecipes, "SolarPanelUV", false)) {
- GT_ModHandler.addCraftingRecipe(ItemList.Cover_SolarPanel_UV.get(1L), GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE, new Object[]{" S ", "STS", " S ", 'S', ItemList.Cover_SolarPanel_ZPM, 'T', ItemList.Transformer_UV_ZPM});
- }
- */
+
double outputMultiplier = Math.min(GregTech_API.sOPStuff.get(ConfigCategories.Recipes.gregtechrecipes, "StoneDustOutputMultiplier", 0.6), 1.0);
if (GregTech_API.sOPStuff.get(ConfigCategories.Recipes.gregtechrecipes, "StoneDustCentrifugation", false)) {
int fullChance = (int) (10000 * outputMultiplier);
@@ -848,10 +815,10 @@ public class GT_Mod implements IGT_Mod {
if (!GregTech_API.sRecipeFile.get(ConfigCategories.Recipes.storageblockcrafting, "tile.glowstone", false)) {
GT_ModHandler.removeRecipe(new ItemStack(Items.glowstone_dust, 1), new ItemStack(Items.glowstone_dust, 1), null, new ItemStack(Items.glowstone_dust, 1), new ItemStack(Items.glowstone_dust, 1));
}
- GT_ModHandler.removeRecipe(new ItemStack(Blocks.wooden_slab, 1, 0), new ItemStack(Blocks.wooden_slab, 1, 1), new ItemStack(Blocks.wooden_slab, 1, 2));
- GT_ModHandler.addCraftingRecipe(new ItemStack(Blocks.wooden_slab, 6, 0), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[]{"WWW", 'W', new ItemStack(Blocks.planks, 1, 0)});
+ GT_ModHandler.removeRecipeDelayed(new ItemStack(Blocks.wooden_slab, 1, 0), new ItemStack(Blocks.wooden_slab, 1, 1), new ItemStack(Blocks.wooden_slab, 1, 2));
+ GT_ModHandler.addCraftingRecipe(new ItemStack(Blocks.wooden_slab, 6, 0), GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.BUFFERED, new Object[]{"WWW", 'W', new ItemStack(Blocks.planks, 1, 0)});
- //Save a copy of these list before activateOreDictHandler(), then loop over them.
+ // Save a copy of these list before activateOreDictHandler(), then loop over them.
Map<IRecipeInput, RecipeOutput> aMaceratorRecipeList = GT_ModHandler.getMaceratorRecipeList();
Map<IRecipeInput, RecipeOutput> aCompressorRecipeList = GT_ModHandler.getCompressorRecipeList();
Map<IRecipeInput, RecipeOutput> aExtractorRecipeList = GT_ModHandler.getExtractorRecipeList();
@@ -860,14 +827,18 @@ public class GT_Mod implements IGT_Mod {
GT_Log.out.println("GT_Mod: Activating OreDictionary Handler, this can take some time, as it scans the whole OreDictionary");
GT_FML_LOGGER.info("If your Log stops here, you were too impatient. Wait a bit more next time, before killing Minecraft with the Task Manager.");
- long ms = System.currentTimeMillis();
+
+ Stopwatch stopwatch = Stopwatch.createStarted();
gregtechproxy.activateOreDictHandler();
- GT_FML_LOGGER.info("Congratulations, you have been waiting long enough (" + (System.currentTimeMillis() - ms) / 1000 + "s / " + (System.currentTimeMillis() - ms) + "ms). Have a Cake.");
+ GT_FML_LOGGER.info("Congratulations, you have been waiting long enough (" + stopwatch.stop() + "). Have a Cake.");
GT_Log.out.println("GT_Mod: List of Lists of Tool Recipes: " + GT_ModHandler.sSingleNonBlockDamagableRecipeList_list.toString());
GT_Log.out.println("GT_Mod: Vanilla Recipe List -> Outputs null or stackSize <=0: " + GT_ModHandler.sVanillaRecipeList_warntOutput.toString());
GT_Log.out.println("GT_Mod: Single Non Block Damagable Recipe List -> Outputs null or stackSize <=0: " + GT_ModHandler.sSingleNonBlockDamagableRecipeList_warntOutput.toString());
- //GT_Log.out.println("GT_Mod: sRodMaterialList cycles: " + GT_RecipeRegistrator.sRodMaterialList_cycles);
+
Set<Materials> replaceVanillaItemsSet = gregtechproxy.mUseGreatlyShrukenReplacementList ? Arrays.stream(Materials.values()).filter(GT_RecipeRegistrator::hasVanillaRecipes).collect(Collectors.toSet()) : new HashSet<>(Arrays.asList(Materials.values()));
+
+ stopwatch.reset();
+ stopwatch.start();
GT_FML_LOGGER.info("Replacing Vanilla Materials in recipes, please wait.");
ProgressManager.ProgressBar progressBar = ProgressManager.push("Register materials", replaceVanillaItemsSet.size());
@@ -886,14 +857,20 @@ public class GT_Mod implements IGT_Mod {
});
}
ProgressManager.pop(progressBar);
- GT_FML_LOGGER.info("Congratulations, you have been waiting long enough (" + (System.currentTimeMillis() - ms) / 1000 + "s / " + (System.currentTimeMillis() - ms) + "ms). Have a Cake.");
+ GT_FML_LOGGER