diff --git a/dependencies.gradle b/dependencies.gradle index e4e7bf8631c..d498ffffcc8 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -36,14 +36,14 @@ dependencies { api("com.github.GTNewHorizons:StructureLib:1.4.2:dev") api("net.industrial-craft:industrialcraft-2:2.2.828-experimental:dev") - api("com.github.GTNewHorizons:NotEnoughItems:2.7.13-GTNH:dev") + api("com.github.GTNewHorizons:NotEnoughItems:2.7.15-GTNH:dev") api("com.github.GTNewHorizons:NotEnoughIds:2.1.6:dev") - api("com.github.GTNewHorizons:GTNHLib:0.6.0:dev") + api("com.github.GTNewHorizons:GTNHLib:0.6.1:dev") api("com.github.GTNewHorizons:ModularUI:1.2.17:dev") api("com.github.GTNewHorizons:ModularUI2:2.2.0-1.7.10:dev") api("com.github.GTNewHorizons:waila:1.8.2:dev") api("com.github.GTNewHorizons:Applied-Energistics-2-Unofficial:rv3-beta-518-GTNH:dev") - api("com.github.GTNewHorizons:AE2FluidCraft-Rework:1.4.14-gtnh:dev") + api("com.github.GTNewHorizons:AE2FluidCraft-Rework:1.4.16-gtnh:dev") api('com.github.GTNewHorizons:Yamcl:0.6.0:dev') api("com.github.GTNewHorizons:Postea:1.0.13:dev") @@ -64,7 +64,7 @@ dependencies { compileOnlyApi("com.github.GTNewHorizons:EnderIO:2.9.2:dev") { transitive = false } compileOnlyApi("com.github.GTNewHorizons:ForestryMC:4.10.1:dev") { transitive = false } compileOnlyApi("com.github.GTNewHorizons:ProjectRed:4.11.0-GTNH:dev") { transitive = false } - compileOnlyApi("com.github.GTNewHorizons:Railcraft:9.16.1:dev") { transitive = false } + compileOnlyApi("com.github.GTNewHorizons:Railcraft:9.16.2:dev") { transitive = false } compileOnly("TGregworks:TGregworks:1.7.10-GTNH-1.0.27:deobf") {transitive = false} compileOnly("com.github.GTNewHorizons:ThaumicBases:1.8.2:dev") { transitive = false } @@ -85,10 +85,10 @@ dependencies { compileOnly('com.github.GTNewHorizons:HoloInventory:2.5.0-GTNH:dev') { transitive = false } compileOnly rfg.deobf("curse.maven:extra-utilities-225561:2264384") compileOnly rfg.deobf('curse.maven:minefactory-reloaded-66672:2366150') - compileOnly("com.github.GTNewHorizons:OpenComputers:1.11.2-GTNH:dev") {transitive = false} + compileOnly("com.github.GTNewHorizons:OpenComputers:1.11.3-GTNH:dev") {transitive = false} // https://www.curseforge.com/minecraft/mc-mods/advancedsolarpanels compileOnlyApi rfg.deobf('curse.maven:advsolar-362768:2885953') - compileOnly('com.github.GTNewHorizons:ThaumicEnergistics:1.7.2-GTNH:dev') {transitive = false} + compileOnly('com.github.GTNewHorizons:ThaumicEnergistics:1.7.4-GTNH:dev') {transitive = false} compileOnly("com.github.GTNewHorizons:BloodMagic:1.7.0:dev") { transitive = false } compileOnly("com.github.GTNewHorizons:CraftTweaker:3.4.0:dev") { transitive = false } compileOnly("com.github.GTNewHorizons:BetterLoadingScreen:1.7.0-GTNH:dev") { transitive = false } diff --git a/src/main/java/bartworks/common/loaders/recipes/AssemblyLine.java b/src/main/java/bartworks/common/loaders/recipes/AssemblyLine.java index 095f123d3a2..5ed3944c8a3 100644 --- a/src/main/java/bartworks/common/loaders/recipes/AssemblyLine.java +++ b/src/main/java/bartworks/common/loaders/recipes/AssemblyLine.java @@ -4,7 +4,7 @@ import static gregtech.api.util.GTRecipeBuilder.SECONDS; import static gregtech.api.util.GTRecipeConstants.AssemblyLine; import static gregtech.api.util.GTRecipeConstants.RESEARCH_ITEM; -import static gregtech.api.util.GTRecipeConstants.RESEARCH_TIME; +import static gregtech.api.util.GTRecipeConstants.SCANNING; import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fluids.FluidRegistry; @@ -18,6 +18,7 @@ import gregtech.api.enums.OrePrefixes; import gregtech.api.enums.TierEU; import gregtech.api.util.GTOreDictUnificator; +import gregtech.api.util.recipe.Scanning; public class AssemblyLine implements Runnable { @@ -27,9 +28,10 @@ public void run() { ? FluidRegistry.getFluid("molten.indalloy140") : FluidRegistry.getFluid("molten.solderingalloy"); + // Void Miner Mk1 GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, ItemList.OreDrill4.get(1L)) - .metadata(RESEARCH_TIME, 25 * MINUTES + 36 * SECONDS) + .metadata(SCANNING, new Scanning(2 * MINUTES, TierEU.RECIPE_LuV)) .itemInputs( ItemList.OreDrill4.get(1L), GTOreDictUnificator.get(OrePrefixes.frameGt, Materials.Tritanium, 9L), @@ -44,9 +46,10 @@ public void run() { .duration(5 * MINUTES) .addTo(AssemblyLine); + // Circuit Assembly Line GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, ItemList.Machine_LuV_CircuitAssembler.get(1L)) - .metadata(RESEARCH_TIME, 20 * MINUTES) + .metadata(SCANNING, new Scanning(1 * MINUTES + 40 * SECONDS, TierEU.RECIPE_IV)) .itemInputs( ItemList.Machine_LuV_CircuitAssembler.get(1L), ItemList.Robot_Arm_LuV.get(4L), diff --git a/src/main/java/bartworks/system/material/BWMetaGeneratedOres.java b/src/main/java/bartworks/system/material/BWMetaGeneratedOres.java index c74c3f01cba..6aca001b13c 100644 --- a/src/main/java/bartworks/system/material/BWMetaGeneratedOres.java +++ b/src/main/java/bartworks/system/material/BWMetaGeneratedOres.java @@ -33,7 +33,6 @@ import bartworks.util.MathUtils; import gregtech.api.enums.OrePrefixes; import gregtech.api.util.GTLanguageManager; -import gregtech.api.util.GTModHandler; public class BWMetaGeneratedOres extends BWMetaGeneratedBlocks { @@ -45,12 +44,7 @@ public BWMetaGeneratedOres(Material p_i45386_1_, Class til } @Override - protected void doRegistrationStuff(Werkstoff w) { - if (w != null) { - if (!w.hasItemType(OrePrefixes.ore) || (w.getGenerationFeatures().blacklist & 0b1000) != 0) return; - GTModHandler.addValuableOre(this, w.getmID(), 1); - } - } + protected void doRegistrationStuff(Werkstoff w) {} public static boolean setOreBlock(World aWorld, int aX, int aY, int aZ, int aMetaData, boolean air, Block block, int[] aBlockMeta) { diff --git a/src/main/java/bartworks/system/material/BWMetaGeneratedSmallOres.java b/src/main/java/bartworks/system/material/BWMetaGeneratedSmallOres.java index 5025f4ac77b..a472df634a4 100644 --- a/src/main/java/bartworks/system/material/BWMetaGeneratedSmallOres.java +++ b/src/main/java/bartworks/system/material/BWMetaGeneratedSmallOres.java @@ -23,7 +23,6 @@ import gregtech.api.enums.OrePrefixes; import gregtech.api.util.GTLanguageManager; -import gregtech.api.util.GTModHandler; public class BWMetaGeneratedSmallOres extends BWMetaGeneratedOres { @@ -35,12 +34,7 @@ public BWMetaGeneratedSmallOres(Material p_i45386_1_, Class currentTip, IWailaDat NBTTagCompound tag = accessor.getNBTData(); String machineProgressString = GTWaila.getMachineProgressString( tag.getBoolean("isActive"), + tag.getBoolean("isAllowedToWork"), tag.getInteger("maxProgress"), tag.getInteger("progress")); currentTip.remove(machineProgressString); diff --git a/src/main/java/goodgenerator/blocks/tileEntity/MTEFuelRefineFactory.java b/src/main/java/goodgenerator/blocks/tileEntity/MTEFuelRefineFactory.java index 0c025d68db7..f501622a71b 100644 --- a/src/main/java/goodgenerator/blocks/tileEntity/MTEFuelRefineFactory.java +++ b/src/main/java/goodgenerator/blocks/tileEntity/MTEFuelRefineFactory.java @@ -156,7 +156,7 @@ protected MultiblockTooltipBuilder createTooltip() { .addInfo("Produces naquadah fuels.") .addInfo("Needs field restriction coils to control the fatal radiation.") .addInfo("Use higher tier coils to unlock more fuel types and perform more overclocks.") - .addInfo("Performs perfect overclocks.") + .addInfo(StatCollector.translateToLocal("GT5U.machines.perfectoc.tooltip")) .addTecTechHatchInfo() .beginStructureBlock(3, 15, 15, false) .addController("Mid of the third layer") diff --git a/src/main/java/goodgenerator/loader/ComponentAssemblyLineMiscRecipes.java b/src/main/java/goodgenerator/loader/ComponentAssemblyLineMiscRecipes.java index d94bf5f59ee..bd2f4d6198a 100644 --- a/src/main/java/goodgenerator/loader/ComponentAssemblyLineMiscRecipes.java +++ b/src/main/java/goodgenerator/loader/ComponentAssemblyLineMiscRecipes.java @@ -15,12 +15,11 @@ import static goodgenerator.util.ItemRefer.Compassline_Casing_ZPM; import static goodgenerator.util.ItemRefer.Component_Assembly_Line; import static gregtech.api.recipe.RecipeMaps.assemblerRecipes; -import static gregtech.api.util.GTRecipeBuilder.HOURS; +import static gregtech.api.util.GTRecipeBuilder.MINUTES; import static gregtech.api.util.GTRecipeBuilder.SECONDS; -import static gregtech.api.util.GTRecipeBuilder.TICKS; import static gregtech.api.util.GTRecipeConstants.AssemblyLine; import static gregtech.api.util.GTRecipeConstants.RESEARCH_ITEM; -import static gregtech.api.util.GTRecipeConstants.RESEARCH_TIME; +import static gregtech.api.util.GTRecipeConstants.SCANNING; import java.util.HashMap; @@ -41,6 +40,7 @@ import gregtech.api.enums.TierEU; import gregtech.api.util.GTOreDictUnificator; import gregtech.api.util.GTUtility; +import gregtech.api.util.recipe.Scanning; import gtPlusPlus.core.recipe.common.CI; import tectech.recipe.TTRecipeAdder; @@ -62,7 +62,7 @@ static void run() { // The controller itself GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, Compassline_Casing_EV.get(1)) - .metadata(RESEARCH_TIME, 1 * HOURS) + .metadata(SCANNING, new Scanning(2 * MINUTES + 30 * SECONDS, TierEU.RECIPE_ZPM)) .itemInputs( ItemList.Machine_Multi_Assemblyline.get(16L), ItemList.Casing_Assembler.get(16L), @@ -202,7 +202,7 @@ private static void generateCasingRecipes() { t++; GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, Compassline_Casing_IV.get(1)) - .metadata(RESEARCH_TIME, (2250 << t) * TICKS) + .metadata(SCANNING, new Scanning(1 * MINUTES + 30 * SECONDS, TierEU.RECIPE_IV)) .itemInputs( GTOreDictUnificator.get(OrePrefixes.frameGt, Materials.Europium, 1), WerkstoffLoader.LuVTierMaterial.get(OrePrefixes.plateDense, 6), @@ -230,7 +230,7 @@ private static void generateCasingRecipes() { t++; GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, Compassline_Casing_LuV.get(1)) - .metadata(RESEARCH_TIME, (2250 << t) * TICKS) + .metadata(SCANNING, new Scanning(1 * MINUTES + 30 * SECONDS, TierEU.RECIPE_LuV)) .itemInputs( GTOreDictUnificator.get(OrePrefixes.frameGt, Materials.Iridium, 1), GTOreDictUnificator.get(OrePrefixes.plateSuperdense, Materials.Iridium, 1), @@ -259,7 +259,7 @@ private static void generateCasingRecipes() { GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, Compassline_Casing_ZPM.get(1)) - .metadata(RESEARCH_TIME, (2250 << t) * TICKS) + .metadata(SCANNING, new Scanning(1 * MINUTES + 30 * SECONDS, TierEU.RECIPE_ZPM)) .itemInputs( GTOreDictUnificator.get(OrePrefixes.frameGt, Materials.Osmium, 1), GTOreDictUnificator.get(OrePrefixes.plateSuperdense, Materials.Osmium, 1), diff --git a/src/main/java/goodgenerator/loader/RecipeLoader.java b/src/main/java/goodgenerator/loader/RecipeLoader.java index 7ad35781956..450c6ea5982 100644 --- a/src/main/java/goodgenerator/loader/RecipeLoader.java +++ b/src/main/java/goodgenerator/loader/RecipeLoader.java @@ -26,7 +26,7 @@ import static gregtech.api.util.GTRecipeConstants.FUSION_THRESHOLD; import static gregtech.api.util.GTRecipeConstants.PRECISE_ASSEMBLER_CASING_TIER; import static gregtech.api.util.GTRecipeConstants.RESEARCH_ITEM; -import static gregtech.api.util.GTRecipeConstants.RESEARCH_TIME; +import static gregtech.api.util.GTRecipeConstants.SCANNING; import static gregtech.api.util.GTRecipeConstants.UniversalChemical; import static gregtech.loaders.postload.MachineRecipeLoader.solderingMats; @@ -53,6 +53,7 @@ import gregtech.api.util.GTOreDictUnificator; import gregtech.api.util.GTRecipeConstants; import gregtech.api.util.GTUtility; +import gregtech.api.util.recipe.Scanning; import gtPlusPlus.core.material.MaterialsElements; public class RecipeLoader { @@ -92,7 +93,7 @@ public static void RecipeLoad() { RESEARCH_ITEM, ItemList.Generator_Naquadah_Mark_III.get(1) .copy()) - .metadata(RESEARCH_TIME, 1 * HOURS + 24 * MINUTES) + .metadata(SCANNING, new Scanning(2 * MINUTES + 30 * SECONDS, TierEU.RECIPE_LuV)) .itemInputs( GTOreDictUnificator.get(OrePrefixes.frameGt, Materials.Adamantium, 8), ItemRefer.Radiation_Protection_Plate.get(16), @@ -647,12 +648,13 @@ public static void RecipeLoad() { .metadata(COIL_HEAT, 3400) .addTo(blastFurnaceRecipes); + // Naquadah Fuel Refinery GTValues.RA.stdBuilder() .metadata( RESEARCH_ITEM, ItemList.Generator_Naquadah_Mark_V.get(1) .copy()) - .metadata(RESEARCH_TIME, 7 * HOURS) + .metadata(SCANNING, new Scanning(2 * MINUTES + 30 * SECONDS, TierEU.RECIPE_UV)) .itemInputs( GTOreDictUnificator.get(OrePrefixes.frameGt, Materials.Osmiridium, 8), ItemRefer.Advanced_Radiation_Protection_Plate.get(64), @@ -674,9 +676,10 @@ public static void RecipeLoad() { .duration(30 * MINUTES) .addTo(AssemblyLine); + // Advanced Radiation Proof Plate GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, ItemRefer.Radiation_Protection_Plate.get(1)) - .metadata(RESEARCH_TIME, 1 * HOURS + 7 * MINUTES) + .metadata(SCANNING, new Scanning(40 * SECONDS, TierEU.RECIPE_IV)) .itemInputs( ItemRefer.Radiation_Protection_Plate.get(1), GTOreDictUnificator.get(OrePrefixes.plate, Materials.ElectrumFlux, 4), @@ -691,9 +694,10 @@ public static void RecipeLoad() { .duration(50 * SECONDS) .addTo(AssemblyLine); + // Naquadah Fuel Refinery Casing GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, ItemRefer.Field_Restriction_Casing.get(1)) - .metadata(RESEARCH_TIME, 3 * HOURS + 30 * MINUTES) + .metadata(SCANNING, new Scanning(30 * SECONDS, TierEU.RECIPE_IV)) .itemInputs( GTOreDictUnificator.get(OrePrefixes.frameGt, Materials.Thulium, 1), ItemRefer.Advanced_Radiation_Protection_Plate.get(6), @@ -711,9 +715,11 @@ public static void RecipeLoad() { .addTo(AssemblyLine); if (NewHorizonsCoreMod.isModLoaded()) { + + // Field Restriction Coil GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, GGMaterial.extremelyUnstableNaquadah.get(OrePrefixes.ingot)) - .metadata(RESEARCH_TIME, 4 * HOURS + 10 * MINUTES) + .metadata(SCANNING, new Scanning(40 * SECONDS, TierEU.RECIPE_ZPM)) .itemInputs( GTOreDictUnificator.get(OrePrefixes.frameGt, Materials.Osmium, 1), ItemList.Field_Generator_UV.get(2), @@ -733,9 +739,10 @@ public static void RecipeLoad() { .duration(15 * MINUTES) .addTo(AssemblyLine); + // Advanced Field Restriction Coil GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, ItemRefer.Field_Restriction_Coil_T1.get(1)) - .metadata(RESEARCH_TIME, 4 * HOURS + 50 * MINUTES) + .metadata(SCANNING, new Scanning(50 * SECONDS, TierEU.RECIPE_UV)) .itemInputs( GTOreDictUnificator.get(OrePrefixes.frameGt, Materials.CosmicNeutronium, 1), ItemList.Field_Generator_UHV.get(2), @@ -755,9 +762,10 @@ public static void RecipeLoad() { .duration(30 * MINUTES) .addTo(AssemblyLine); + // Ultimate Field Restriction Coil GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, ItemRefer.Field_Restriction_Coil_T2.get(1)) - .metadata(RESEARCH_TIME, 5 * HOURS + 30 * MINUTES) + .metadata(SCANNING, new Scanning(1 * MINUTES, TierEU.RECIPE_UHV)) .itemInputs( GTOreDictUnificator.get(OrePrefixes.frameGt, Materials.Infinity, 1), ItemList.Field_Generator_UEV.get(2), @@ -777,9 +785,10 @@ public static void RecipeLoad() { .duration(1 * HOURS) .addTo(AssemblyLine); + // Temporal Field Restriction Coil GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, ItemRefer.Field_Restriction_Coil_T3.get(1)) - .metadata(RESEARCH_TIME, 7 * HOURS) + .metadata(SCANNING, new Scanning(1 * MINUTES + 10 * SECONDS, TierEU.RECIPE_UEV)) .itemInputs( GTOreDictUnificator.get(OrePrefixes.frameGt, MaterialsUEVplus.SpaceTime, 1), ItemList.Field_Generator_UIV.get(2), @@ -1115,9 +1124,10 @@ public static void RecipeLoad() { .eut(TierEU.RECIPE_HV) .addTo(assemblerRecipes); + // Neutron Accelerator LuV GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, Loaders.NeutronAccelerators[5].copy()) - .metadata(RESEARCH_TIME, 16 * MINUTES) + .metadata(SCANNING, new Scanning(1 * MINUTES, TierEU.RECIPE_IV)) .itemInputs( ItemRefer.Inverter.get(2), ItemList.Hull_LuV.get(1L), @@ -1133,9 +1143,10 @@ public static void RecipeLoad() { .duration(15 * SECONDS) .addTo(AssemblyLine); + // Neutron Accelerator ZPM GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, Loaders.NeutronAccelerators[6].copy()) - .metadata(RESEARCH_TIME, 16 * MINUTES) + .metadata(SCANNING, new Scanning(1 * MINUTES, TierEU.RECIPE_LuV)) .itemInputs( ItemRefer.Inverter.get(2), ItemList.Hull_ZPM.get(1L), @@ -1151,9 +1162,10 @@ public static void RecipeLoad() { .duration(15 * SECONDS) .addTo(AssemblyLine); + // Neutron Accelerator UV GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, Loaders.NeutronAccelerators[7].copy()) - .metadata(RESEARCH_TIME, 16 * MINUTES) + .metadata(SCANNING, new Scanning(1 * MINUTES, TierEU.RECIPE_ZPM)) .itemInputs( ItemRefer.Inverter.get(4), ItemList.Hull_UV.get(1L), @@ -1170,9 +1182,10 @@ public static void RecipeLoad() { .duration(15 * SECONDS) .addTo(AssemblyLine); + // Neutron Accelerator UHV GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, Loaders.NeutronAccelerators[8].copy()) - .metadata(RESEARCH_TIME, 16 * MINUTES) + .metadata(SCANNING, new Scanning(1 * MINUTES, TierEU.RECIPE_UV)) .itemInputs( ItemRefer.Inverter.get(8), ItemList.Hull_MAX.get(1L), @@ -1189,9 +1202,10 @@ public static void RecipeLoad() { .duration(15 * SECONDS) .addTo(AssemblyLine); + // Neutron Accelerator UEV GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, Loaders.NeutronAccelerators[9].copy()) - .metadata(RESEARCH_TIME, 16 * MINUTES) + .metadata(SCANNING, new Scanning(1 * MINUTES, TierEU.RECIPE_UHV)) .itemInputs( ItemRefer.Inverter.get(16), ItemList.Hull_UEV.get(1L), @@ -1210,9 +1224,10 @@ public static void RecipeLoad() { .duration(15 * SECONDS) .addTo(AssemblyLine); + // Neutron Accelerator UIV GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, Loaders.NeutronAccelerators[10].copy()) - .metadata(RESEARCH_TIME, 16 * MINUTES) + .metadata(SCANNING, new Scanning(1 * MINUTES, TierEU.RECIPE_UEV)) .itemInputs( ItemRefer.Inverter.get(32), ItemList.Hull_UIV.get(1L), @@ -1233,9 +1248,10 @@ public static void RecipeLoad() { .duration(15 * SECONDS) .addTo(AssemblyLine); + // Neutron Accelerator UMV GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, Loaders.NeutronAccelerators[11].copy()) - .metadata(RESEARCH_TIME, 16 * MINUTES) + .metadata(SCANNING, new Scanning(1 * MINUTES, TierEU.RECIPE_UIV)) .itemInputs( ItemRefer.Inverter.get(64), ItemList.Hull_UMV.get(1L), diff --git a/src/main/java/goodgenerator/loader/RecipeLoader2.java b/src/main/java/goodgenerator/loader/RecipeLoader2.java index 4e1f63bfef4..284b900a5fb 100644 --- a/src/main/java/goodgenerator/loader/RecipeLoader2.java +++ b/src/main/java/goodgenerator/loader/RecipeLoader2.java @@ -23,7 +23,6 @@ import static gregtech.api.recipe.RecipeMaps.plasmaForgeRecipes; import static gregtech.api.recipe.RecipeMaps.unpackagerRecipes; import static gregtech.api.recipe.RecipeMaps.vacuumFreezerRecipes; -import static gregtech.api.util.GTRecipeBuilder.HOURS; import static gregtech.api.util.GTRecipeBuilder.MINUTES; import static gregtech.api.util.GTRecipeBuilder.SECONDS; import static gregtech.api.util.GTRecipeConstants.AssemblyLine; @@ -32,7 +31,7 @@ import static gregtech.api.util.GTRecipeConstants.NKE_RANGE; import static gregtech.api.util.GTRecipeConstants.PRECISE_ASSEMBLER_CASING_TIER; import static gregtech.api.util.GTRecipeConstants.RESEARCH_ITEM; -import static gregtech.api.util.GTRecipeConstants.RESEARCH_TIME; +import static gregtech.api.util.GTRecipeConstants.SCANNING; import static gregtech.api.util.GTRecipeConstants.UniversalChemical; import net.minecraftforge.fluids.Fluid; @@ -56,6 +55,7 @@ import gregtech.api.util.GTOreDictUnificator; import gregtech.api.util.GTRecipe; import gregtech.api.util.GTUtility; +import gregtech.api.util.recipe.Scanning; import gtPlusPlus.core.item.chemistry.GenericChem; import gtPlusPlus.core.material.MaterialsAlloy; import gtPlusPlus.core.material.MaterialsElements; @@ -333,9 +333,10 @@ public static void RecipeLoad() { ? FluidRegistry.getFluid("molten.indalloy140") : FluidRegistry.getFluid("molten.solderingalloy"); + // Fluid Storage Core T3 GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, ItemRefer.Fluid_Storage_Core_T2.get(1)) - .metadata(RESEARCH_TIME, 17 * MINUTES) + .metadata(SCANNING, new Scanning(1 * MINUTES + 30 * SECONDS, TierEU.RECIPE_EV)) .itemInputs( GTOreDictUnificator.get(OrePrefixes.pipeNonuple, Materials.StainlessSteel, 4), ItemList.Electric_Pump_HV.get(8), @@ -349,9 +350,10 @@ public static void RecipeLoad() { .duration(20 * SECONDS) .addTo(AssemblyLine); + // Fluid Storage Core T4 GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, ItemRefer.Fluid_Storage_Core_T3.get(1)) - .metadata(RESEARCH_TIME, 34 * MINUTES) + .metadata(SCANNING, new Scanning(1 * MINUTES + 30 * SECONDS, TierEU.RECIPE_IV)) .itemInputs( GTOreDictUnificator.get(OrePrefixes.pipeNonuple, Materials.Titanium, 4), ItemList.Electric_Pump_EV.get(8), @@ -366,9 +368,10 @@ public static void RecipeLoad() { .duration(20 * SECONDS) .addTo(AssemblyLine); + // Fluid Storage Core T5 GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, ItemRefer.Fluid_Storage_Core_T4.get(1)) - .metadata(RESEARCH_TIME, 1 * HOURS + 8 * MINUTES) + .metadata(SCANNING, new Scanning(1 * MINUTES + 30 * SECONDS, TierEU.RECIPE_LuV)) .itemInputs( GTOreDictUnificator.get(OrePrefixes.pipeNonuple, Materials.MysteriousCrystal, 4), ItemList.Electric_Pump_IV.get(8), @@ -386,9 +389,10 @@ public static void RecipeLoad() { .duration(20 * SECONDS) .addTo(AssemblyLine); + // Fluid Storage Core T6 GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, ItemRefer.Fluid_Storage_Core_T5.get(1)) - .metadata(RESEARCH_TIME, 2 * HOURS + 15 * MINUTES) + .metadata(SCANNING, new Scanning(1 * MINUTES + 30 * SECONDS, TierEU.RECIPE_UV)) .itemInputs( GTOreDictUnificator.get(OrePrefixes.pipeNonuple, Materials.Infinity, 4), ItemList.Electric_Pump_LuV.get(8), @@ -406,9 +410,10 @@ public static void RecipeLoad() { .duration(20 * SECONDS) .addTo(AssemblyLine); + // Fluid Storage Core T7 GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, ItemRefer.Fluid_Storage_Core_T6.get(1)) - .metadata(RESEARCH_TIME, 4 * HOURS + 30 * MINUTES) + .metadata(SCANNING, new Scanning(1 * MINUTES + 30 * SECONDS, TierEU.RECIPE_UV)) .itemInputs( GTModHandler.getModItem(GalacticraftMars.ID, "item.null", 64L, 6), ItemList.Electric_Pump_ZPM.get(8), @@ -426,9 +431,10 @@ public static void RecipeLoad() { .duration(20 * SECONDS) .addTo(AssemblyLine); + // Fluid Storage Core T8 GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, ItemRefer.Fluid_Storage_Core_T7.get(1)) - .metadata(RESEARCH_TIME, 9 * HOURS) + .metadata(SCANNING, new Scanning(1 * MINUTES + 30 * SECONDS, TierEU.RECIPE_UHV)) .itemInputs( GTModHandler.getModItem(GalacticraftMars.ID, "item.null", 64L, 6), ItemList.Electric_Pump_UV.get(8), @@ -446,9 +452,10 @@ public static void RecipeLoad() { .duration(20 * SECONDS) .addTo(AssemblyLine); + // Fluid Storage Core T9 GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, ItemRefer.Fluid_Storage_Core_T8.get(1)) - .metadata(RESEARCH_TIME, 18 * HOURS) + .metadata(SCANNING, new Scanning(1 * MINUTES + 30 * SECONDS, TierEU.RECIPE_UEV)) .itemInputs( GTModHandler.getModItem(GalacticraftMars.ID, "item.null", 64L, 6), ItemList.Electric_Pump_UHV.get(8), @@ -467,9 +474,10 @@ public static void RecipeLoad() { .duration(20 * SECONDS) .addTo(AssemblyLine); + // Fluid Storage Core T10 GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, ItemRefer.Fluid_Storage_Core_T9.get(1)) - .metadata(RESEARCH_TIME, 36 * HOURS) + .metadata(SCANNING, new Scanning(1 * MINUTES + 30 * SECONDS, TierEU.RECIPE_UIV)) .itemInputs( GTModHandler.getModItem(GalacticraftMars.ID, "item.null", 64L, 6), ItemList.Electric_Pump_UEV.get(8), @@ -516,9 +524,10 @@ public static void RecipeLoad() { .eut(TierEU.RECIPE_IV) .addTo(assemblerRecipes); + // Fluid Cell Block T3 GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, ItemRefer.YOTTank_Cell_T2.get(1)) - .metadata(RESEARCH_TIME, 17 * MINUTES) + .metadata(SCANNING, new Scanning(1 * MINUTES + 30 * SECONDS, TierEU.RECIPE_EV)) .itemInputs( GTOreDictUnificator.get(OrePrefixes.frameGt, Materials.Naquadah, 1), ItemRefer.Fluid_Storage_Core_T3.get(10), @@ -535,9 +544,10 @@ public static void RecipeLoad() { .duration(50 * SECONDS) .addTo(AssemblyLine); + // Fluid Cell Block T4 GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, ItemRefer.YOTTank_Cell_T3.get(1)) - .metadata(RESEARCH_TIME, 34 * MINUTES) + .metadata(SCANNING, new Scanning(1 * MINUTES + 30 * SECONDS, TierEU.RECIPE_IV)) .itemInputs( GTOreDictUnificator.get(OrePrefixes.frameGt, Materials.Neutronium, 1), ItemRefer.Fluid_Storage_Core_T4.get(10), @@ -554,9 +564,10 @@ public static void RecipeLoad() { .duration(50 * SECONDS) .addTo(AssemblyLine); + // Fluid Cell Block T5 GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, ItemRefer.YOTTank_Cell_T4.get(1)) - .metadata(RESEARCH_TIME, 1 * HOURS + 8 * MINUTES) + .metadata(SCANNING, new Scanning(1 * MINUTES + 30 * SECONDS, TierEU.RECIPE_LuV)) .itemInputs( GTOreDictUnificator.get(OrePrefixes.frameGt, Materials.CosmicNeutronium, 1), ItemRefer.Fluid_Storage_Core_T5.get(10), @@ -573,9 +584,10 @@ public static void RecipeLoad() { .duration(50 * SECONDS) .addTo(AssemblyLine); + // Fluid Cell Block T6 GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, ItemRefer.YOTTank_Cell_T5.get(1)) - .metadata(RESEARCH_TIME, 2 * HOURS + 15 * MINUTES) + .metadata(SCANNING, new Scanning(1 * MINUTES + 30 * SECONDS, TierEU.RECIPE_UV)) .itemInputs( GTOreDictUnificator.get(OrePrefixes.frameGt, Materials.Infinity, 1), ItemRefer.Fluid_Storage_Core_T6.get(2), @@ -592,9 +604,10 @@ public static void RecipeLoad() { .duration(50 * SECONDS) .addTo(AssemblyLine); + // Fluid Cell Block T7 GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, ItemRefer.YOTTank_Cell_T6.get(1)) - .metadata(RESEARCH_TIME, 4 * HOURS + 30 * MINUTES) + .metadata(SCANNING, new Scanning(1 * MINUTES + 30 * SECONDS, TierEU.RECIPE_UV)) .itemInputs( GTOreDictUnificator.get(OrePrefixes.frameGt, Materials.Infinity, 1), ItemRefer.Fluid_Storage_Core_T7.get(2), @@ -612,9 +625,10 @@ public static void RecipeLoad() { .duration(50 * SECONDS) .addTo(AssemblyLine); + // Fluid Cell Block T8 GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, ItemRefer.YOTTank_Cell_T7.get(1)) - .metadata(RESEARCH_TIME, 9 * HOURS) + .metadata(SCANNING, new Scanning(1 * MINUTES + 30 * SECONDS, TierEU.RECIPE_UHV)) .itemInputs( GTOreDictUnificator.get(OrePrefixes.frameGt, Materials.Infinity, 1), ItemRefer.Fluid_Storage_Core_T8.get(2), @@ -634,9 +648,10 @@ public static void RecipeLoad() { .addTo(AssemblyLine); if (NewHorizonsCoreMod.isModLoaded()) { + // Fluid Cell Block T9 GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, ItemRefer.YOTTank_Cell_T8.get(1)) - .metadata(RESEARCH_TIME, 18 * HOURS) + .metadata(SCANNING, new Scanning(1 * MINUTES + 30 * SECONDS, TierEU.RECIPE_UEV)) .itemInputs( GTOreDictUnificator.get(OrePrefixes.frameGt, Materials.Infinity, 2), ItemRefer.Fluid_Storage_Core_T9.get(2), @@ -655,9 +670,10 @@ public static void RecipeLoad() { .duration(50 * SECONDS) .addTo(AssemblyLine); + // Fluid Cell Block T10 GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, ItemRefer.YOTTank_Cell_T9.get(1)) - .metadata(RESEARCH_TIME, 36 * HOURS) + .metadata(SCANNING, new Scanning(1 * MINUTES + 30 * SECONDS, TierEU.RECIPE_UIV)) .itemInputs( GTOreDictUnificator.get(OrePrefixes.frameGt, MaterialsUEVplus.SpaceTime, 2), ItemRefer.Fluid_Storage_Core_T10.get(2), @@ -1457,9 +1473,10 @@ public static void RecipeLoad() { .eut(TierEU.RECIPE_LuV) .addTo(assemblerRecipes); + // Compact Fusion Computer MK-II GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, ItemRefer.Compact_Fusion_MK1.get(1)) - .metadata(RESEARCH_TIME, 20 * MINUTES) + .metadata(SCANNING, new Scanning(2 * MINUTES + 30 * SECONDS, TierEU.RECIPE_LuV)) .itemInputs( ItemList.FusionComputer_ZPMV.get(48), new Object[] { "circuitUltimate", 1 }, @@ -1481,9 +1498,10 @@ public static void RecipeLoad() { .duration(5 * MINUTES) .addTo(AssemblyLine); + // Compact Fusion Computer MK-III GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, ItemRefer.Compact_Fusion_MK2.get(1)) - .metadata(RESEARCH_TIME, 20 * MINUTES) + .metadata(SCANNING, new Scanning(2 * MINUTES + 30 * SECONDS, TierEU.RECIPE_ZPM)) .itemInputs( ItemList.FusionComputer_UV.get(48), new Object[] { "circuitSuperconductor", 1 }, diff --git a/src/main/java/gregtech/GTMod.java b/src/main/java/gregtech/GTMod.java index 12451a30de7..63e7d02c436 100644 --- a/src/main/java/gregtech/GTMod.java +++ b/src/main/java/gregtech/GTMod.java @@ -117,7 +117,6 @@ import gregtech.loaders.postload.ItemMaxStacksizeLoader; import gregtech.loaders.postload.MachineRecipeLoader; import gregtech.loaders.postload.MachineTooltipsLoader; -import gregtech.loaders.postload.MinableRegistrator; import gregtech.loaders.postload.PosteaTransformers; import gregtech.loaders.postload.RecyclerBlacklistLoader; import gregtech.loaders.postload.ScrapboxDropLoader; @@ -429,7 +428,6 @@ public void onPostLoad(FMLPostInitializationEvent aEvent) { new ItemMaxStacksizeLoader().run(); new BlockResistanceLoader().run(); new RecyclerBlacklistLoader().run(); - new MinableRegistrator().run(); new FakeRecipeLoader().run(); new MachineRecipeLoader().run(); new ScrapboxDropLoader().run(); diff --git a/src/main/java/gregtech/api/enums/Materials.java b/src/main/java/gregtech/api/enums/Materials.java index 9417ea0aa36..85aeefdf905 100644 --- a/src/main/java/gregtech/api/enums/Materials.java +++ b/src/main/java/gregtech/api/enums/Materials.java @@ -587,9 +587,6 @@ public class Materials implements IColorModulationContainer, ISubTagContainer { public static Materials HeavyFuel; public static Materials LPG; - public static Materials FluidNaquadahFuel; - public static Materials EnrichedNaquadria; - public static Materials ReinforceGlass; public static Materials BioMediumRaw; public static Materials BioMediumSterilized; diff --git a/src/main/java/gregtech/api/enums/MetaTileEntityIDs.java b/src/main/java/gregtech/api/enums/MetaTileEntityIDs.java index ff0563d50a1..887f972ea06 100644 --- a/src/main/java/gregtech/api/enums/MetaTileEntityIDs.java +++ b/src/main/java/gregtech/api/enums/MetaTileEntityIDs.java @@ -634,7 +634,6 @@ public enum MetaTileEntityIDs { FusionComputer_UV2(965), Hatch_Input_Cryotheum(967), Hatch_Input_Pyrotheum(968), - Hatch_Input_Naquadah(969), FusionComputer_UV3(975), Industrial_CuttingFactoryController(992), Generator_SemiFluid_EV(993), diff --git a/src/main/java/gregtech/api/metatileentity/implementations/MTEBasicMachine.java b/src/main/java/gregtech/api/metatileentity/implementations/MTEBasicMachine.java index 98c27dcd329..4d6d501f145 100644 --- a/src/main/java/gregtech/api/metatileentity/implementations/MTEBasicMachine.java +++ b/src/main/java/gregtech/api/metatileentity/implementations/MTEBasicMachine.java @@ -1225,6 +1225,7 @@ public void getWailaBody(ItemStack itemStack, List currenttip, IWailaDat currenttip.add( GTWaila.getMachineProgressString( isActive, + tag.getBoolean("isAllowedToWorkSingleBlock"), tag.getInteger("maxProgressSingleBlock"), tag.getInteger("progressSingleBlock"))); } @@ -1255,6 +1256,7 @@ public void getWailaNBTData(EntityPlayerMP player, TileEntity tile, NBTTagCompou final IGregTechTileEntity tileEntity = getBaseMetaTileEntity(); if (tileEntity != null) { tag.setBoolean("isActiveSingleBlock", tileEntity.isActive()); + tag.setBoolean("isAllowedToWorkSingleBlock", tileEntity.isAllowedToWork()); tag.setInteger( "outputFacingSingleBlock", tileEntity.getFrontFacing() diff --git a/src/main/java/gregtech/api/metatileentity/implementations/MTEMultiBlockBase.java b/src/main/java/gregtech/api/metatileentity/implementations/MTEMultiBlockBase.java index 611e4bd36aa..823576d7cb2 100644 --- a/src/main/java/gregtech/api/metatileentity/implementations/MTEMultiBlockBase.java +++ b/src/main/java/gregtech/api/metatileentity/implementations/MTEMultiBlockBase.java @@ -1007,7 +1007,7 @@ protected int getMaxBatchSize() { /** * Gets the pollution this Device outputs to a Muffler per tick (10000 = one Pullution Block) - * + * * @param aStack what is in controller */ public int getPollutionPerTick(ItemStack aStack) { @@ -1019,7 +1019,7 @@ public int getPollutionPerTick(ItemStack aStack) { * the code of the multiblock. * * This returns the unmodified raw pollution value, not the one after muffler discounts. - * + * * @param aStack what is in controller */ public int getPollutionPerSecond(ItemStack aStack) { @@ -2049,8 +2049,12 @@ public void getWailaBody(ItemStack itemStack, List currentTip, IWailaDat } } } - currentTip - .add(GTWaila.getMachineProgressString(isActive, tag.getInteger("maxProgress"), tag.getInteger("progress"))); + currentTip.add( + GTWaila.getMachineProgressString( + isActive, + tag.getBoolean("isAllowedToWork"), + tag.getInteger("maxProgress"), + tag.getInteger("progress"))); // Show ns on the tooltip if (GTMod.gregtechproxy.wailaAverageNS && tag.hasKey("averageNS")) { int tAverageTime = tag.getInteger("averageNS"); @@ -2099,6 +2103,7 @@ public void getWailaNBTData(EntityPlayerMP player, TileEntity tile, NBTTagCompou final IGregTechTileEntity tileEntity = getBaseMetaTileEntity(); if (tileEntity != null) { tag.setBoolean("isActive", tileEntity.isActive()); + tag.setBoolean("isAllowedToWork", tileEntity.isAllowedToWork()); if (tileEntity.isActive()) { if (mEUt < 0) tag.setLong("energyUsage", getActualEnergyUsage()); else tag.setLong("energyUsage", (long) -mEUt * mEfficiency / 10000); diff --git a/src/main/java/gregtech/api/util/AssemblyLineUtils.java b/src/main/java/gregtech/api/util/AssemblyLineUtils.java index b211432ca51..0db338e3509 100644 --- a/src/main/java/gregtech/api/util/AssemblyLineUtils.java +++ b/src/main/java/gregtech/api/util/AssemblyLineUtils.java @@ -156,6 +156,7 @@ public static LookupResult findAssemblyLineRecipeFromDataStick(ItemStack aDataSt new GTRecipe.RecipeAssemblyLine( null, 0, + 0, aInputs.toArray(new ItemStack[0]), aFluidInputs.toArray(new FluidStack[0]), aOutput, diff --git a/src/main/java/gregtech/api/util/GTModHandler.java b/src/main/java/gregtech/api/util/GTModHandler.java index fa56ab9b34e..a564af1ffb0 100644 --- a/src/main/java/gregtech/api/util/GTModHandler.java +++ b/src/main/java/gregtech/api/util/GTModHandler.java @@ -31,7 +31,6 @@ import javax.annotation.Nullable; -import net.minecraft.block.Block; import net.minecraft.enchantment.Enchantment; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; @@ -83,7 +82,6 @@ import ic2.api.recipe.RecipeInputItemStack; import ic2.api.recipe.RecipeOutput; import ic2.api.recipe.Recipes; -import ic2.core.IC2; import ic2.core.item.ItemToolbox; /** @@ -455,21 +453,6 @@ public static boolean getJumpKeyDown(EntityPlayer aPlayer) { return false; } - /** - * Adds a Valuable Ore to the Miner - */ - public static boolean addValuableOre(Block aBlock, int aMeta, int aValue) { - if (aValue <= 0) return false; - try { - IC2.addValuableOre(new RecipeInputItemStack(new ItemStack(aBlock, 1, aMeta)), aValue); - } catch (Exception e) { - // TODO remove try catch - // TODO fix : why is bartworks registering items stacks with .getItem() == null - GTLog.err.println("Caught exception when calling IC2.addValuableOre"); - } - return true; - } - /** * Adds a Scrapbox Drop. Fails at April first for the "suddenly Hoes"-Feature of IC2 */ diff --git a/src/main/java/gregtech/api/util/GTRecipe.java b/src/main/java/gregtech/api/util/GTRecipe.java index 9f44b56c7aa..ce17f693331 100644 --- a/src/main/java/gregtech/api/util/GTRecipe.java +++ b/src/main/java/gregtech/api/util/GTRecipe.java @@ -938,6 +938,7 @@ private static void checkInvalidRecipes() { public ItemStack mResearchItem; public int mResearchTime; + public int mResearchVoltage; public ItemStack[] mInputs; public FluidStack[] mFluidInputs; public ItemStack mOutput; @@ -953,11 +954,12 @@ private static void checkInvalidRecipes() { *

* if you set one yourself, it will give you one of the RunetimeExceptions! */ - public RecipeAssemblyLine(ItemStack aResearchItem, int aResearchTime, ItemStack[] aInputs, + public RecipeAssemblyLine(ItemStack aResearchItem, int aResearchTime, int aResearchVoltage, ItemStack[] aInputs, FluidStack[] aFluidInputs, ItemStack aOutput, int aDuration, int aEUt) { this( aResearchItem, aResearchTime, + aResearchVoltage, aInputs, aFluidInputs, aOutput, @@ -972,6 +974,7 @@ public RecipeAssemblyLine(ItemStack aResearchItem, int aResearchTime, ItemStack[ for (FluidStack tFluidInput : aFluidInputs) tPersistentHash = tPersistentHash * 31 + GTUtility.persistentHash(tFluidInput, true, false); tPersistentHash = tPersistentHash * 31 + aResearchTime; + tPersistentHash = tPersistentHash * 31 + aResearchVoltage; tPersistentHash = tPersistentHash * 31 + aDuration; tPersistentHash = tPersistentHash * 31 + aEUt; setPersistentHash(tPersistentHash); @@ -982,10 +985,11 @@ public RecipeAssemblyLine(ItemStack aResearchItem, int aResearchTime, ItemStack[ *

* if you don't set one yourself, it will break a lot of stuff! */ - public RecipeAssemblyLine(ItemStack aResearchItem, int aResearchTime, ItemStack[] aInputs, + public RecipeAssemblyLine(ItemStack aResearchItem, int aResearchTime, int aResearchVoltage, ItemStack[] aInputs, FluidStack[] aFluidInputs, ItemStack aOutput, int aDuration, int aEUt, ItemStack[][] aAlt) { mResearchItem = aResearchItem; mResearchTime = aResearchTime; + mResearchVoltage = aResearchVoltage; mInputs = aInputs; mFluidInputs = aFluidInputs; mOutput = aOutput; @@ -1009,7 +1013,8 @@ public int hashCode() { GTItemStack thisOutput = new GTItemStack(mOutput); GTItemStack thisResearch = new GTItemStack(mResearchItem); int miscRecipeDataHash = Arrays.deepHashCode( - new Object[] { totalInputStackSize, mDuration, mEUt, thisOutput, thisResearch, mResearchTime }); + new Object[] { totalInputStackSize, mDuration, mEUt, thisOutput, thisResearch, mResearchTime, + mResearchVoltage }); result = prime * result + inputFluidHash; result = prime * result + inputHash; result = prime * result + miscRecipeDataHash; @@ -1062,7 +1067,8 @@ public boolean equals(Object obj) { } return this.mDuration == other.mDuration && this.mEUt == other.mEUt - && this.mResearchTime == other.mResearchTime; + && this.mResearchTime == other.mResearchTime + && this.mResearchVoltage == other.mResearchVoltage; } public int getPersistentHash() { diff --git a/src/main/java/gregtech/api/util/GTRecipeConstants.java b/src/main/java/gregtech/api/util/GTRecipeConstants.java index d274b93f7a3..055de09364f 100644 --- a/src/main/java/gregtech/api/util/GTRecipeConstants.java +++ b/src/main/java/gregtech/api/util/GTRecipeConstants.java @@ -20,13 +20,13 @@ import gregtech.api.enums.GTValues; import gregtech.api.enums.Materials; import gregtech.api.enums.OrePrefixes; -import gregtech.api.enums.TierEU; import gregtech.api.interfaces.IRecipeMap; import gregtech.api.objects.ItemData; import gregtech.api.recipe.RecipeCategories; import gregtech.api.recipe.RecipeMaps; import gregtech.api.recipe.RecipeMetadataKey; import gregtech.api.recipe.metadata.SimpleRecipeMetadataKey; +import gregtech.api.util.recipe.Scanning; import gregtech.common.items.IDMetaItem03; import gregtech.common.items.MetaGeneratedItem03; import gtnhlanth.common.item.ItemPhotolithographicMask; @@ -59,11 +59,14 @@ public class GTRecipeConstants { */ public static final RecipeMetadataKey FUSION_THRESHOLD = SimpleRecipeMetadataKey .create(Integer.class, "fusion_threshold"); + /** - * Research time in a scanner used in ticks. + * Scanning data used for scanner for assembly line recipes (time and voltage). + * Scanning time should be between 30 seconds and 3 minutes, and the voltage 1 tiers below the available scanner + * tier for the recipe. */ - public static final RecipeMetadataKey RESEARCH_TIME = SimpleRecipeMetadataKey - .create(Integer.class, "research_time"); + public static final RecipeMetadataKey SCANNING = SimpleRecipeMetadataKey + .create(Scanning.class, "scanning"); /** * Fuel type. TODO should we use enum directly? */ @@ -453,8 +456,8 @@ enum Wafer{ /** * The one and only :tm: assline recipe adder. - * Uses {@link #RESEARCH_ITEM} metadata as research item, and {@link #RESEARCH_TIME} metadata as research time, unit - * in ticks. + * Uses {@link #RESEARCH_ITEM} metadata as research item, and {@link #SCANNING} metadata as research time and + * voltage. */ public static final IRecipeMap AssemblyLine = IRecipeMap.newRecipeMap(builder -> { Optional rr = builder.forceOreDictInput() @@ -517,14 +520,16 @@ enum Wafer{ if (fluidInput == null) continue; tPersistentHash = tPersistentHash * 31 + GTUtility.persistentHash(fluidInput, true, false); } - int aResearchTime = builder.getMetadataOrDefault(RESEARCH_TIME, 0); - tPersistentHash = tPersistentHash * 31 + aResearchTime; + Scanning scanningData = builder.getMetadataOrDefault(SCANNING, new Scanning(0, 0)); + tPersistentHash = tPersistentHash * 31 + scanningData.time; + tPersistentHash = tPersistentHash * 31 + (int) scanningData.voltage; tPersistentHash = tPersistentHash * 31 + r.mDuration; tPersistentHash = tPersistentHash * 31 + r.mEUt; GTRecipe.RecipeAssemblyLine tRecipe = new GTRecipe.RecipeAssemblyLine( aResearchItem, - aResearchTime, + scanningData.time, + (int) scanningData.voltage, r.mInputs, r.mFluidInputs, aOutput, @@ -541,8 +546,8 @@ enum Wafer{ .itemInputs(aResearchItem) .itemOutputs(aOutput) .special(tRecipe.newDataStickForNEI("Writes Research result")) - .duration(aResearchTime) - .eut(TierEU.RECIPE_LV) + .duration(scanningData.time) + .eut(scanningData.voltage) .specialValue(-201) // means it's scanned .noOptimize() .ignoreCollision() diff --git a/src/main/java/gregtech/api/util/GTWaila.java b/src/main/java/gregtech/api/util/GTWaila.java index 7639aa02257..a6747f71f60 100644 --- a/src/main/java/gregtech/api/util/GTWaila.java +++ b/src/main/java/gregtech/api/util/GTWaila.java @@ -3,11 +3,22 @@ public abstract class GTWaila { public static String getMachineProgressString(boolean isActive, int maxProgresstime, int progresstime) { - return getMachineProgressString(isActive, maxProgresstime, (long) progresstime); + return getMachineProgressString(isActive, true, maxProgresstime, (long) progresstime); + } + + public static String getMachineProgressString(boolean isActive, boolean isAllowedToWork, int maxProgresstime, + int progresstime) { + return getMachineProgressString(isActive, isAllowedToWork, maxProgresstime, (long) progresstime); } public static String getMachineProgressString(boolean isActive, long maxProgresstime, long progresstime) { + return getMachineProgressString(isActive, true, maxProgresstime, progresstime); + } + + public static String getMachineProgressString(boolean isActive, boolean isAllowedToWork, long maxProgresstime, + long progresstime) { + if (!isAllowedToWork) return "Working Disabled"; if (!isActive) return "Idle"; return "In progress: " + String.format("%,.1f", (double) progresstime / 20) diff --git a/src/main/java/gregtech/api/util/recipe/Scanning.java b/src/main/java/gregtech/api/util/recipe/Scanning.java new file mode 100644 index 00000000000..68908407e6f --- /dev/null +++ b/src/main/java/gregtech/api/util/recipe/Scanning.java @@ -0,0 +1,36 @@ +package gregtech.api.util.recipe; + +import java.util.Objects; + +import org.apache.commons.lang3.builder.ToStringBuilder; + +public class Scanning { + + public final int time; + public final long voltage; + + public Scanning(int time, long voltage) { + this.time = time; + this.voltage = voltage; + } + + public int hashCode() { + return Objects.hash(time, voltage); + } + + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + Scanning that = (Scanning) o; + + if (time != that.time) return false; + return voltage == that.voltage; + } + + public String toString() { + return new ToStringBuilder(this).append("time", time) + .append("voltage", voltage) + .toString(); + } +} diff --git a/src/main/java/gregtech/common/blocks/BlockOresAbstract.java b/src/main/java/gregtech/common/blocks/BlockOresAbstract.java index ef17deb6c8e..4c194152f00 100644 --- a/src/main/java/gregtech/common/blocks/BlockOresAbstract.java +++ b/src/main/java/gregtech/common/blocks/BlockOresAbstract.java @@ -35,7 +35,6 @@ import gregtech.api.interfaces.ITexture; import gregtech.api.items.GTGenericBlock; import gregtech.api.util.GTLanguageManager; -import gregtech.api.util.GTModHandler; import gregtech.api.util.GTOreDictUnificator; import gregtech.api.util.GTUtility; import gregtech.common.render.GTRendererBlock; @@ -58,9 +57,6 @@ protected BlockOresAbstract(String aUnlocalizedName, int aOreMetaCount, boolean tHideOres = NotEnoughItems.isModLoaded() && GTMod.gregtechproxy.mHideUnusedOres; if (aOreMetaCount > 8 || aOreMetaCount < 0) aOreMetaCount = 8; - for (int i = 0; i < 16; i++) { - GTModHandler.addValuableOre(this, i, 1); - } for (int i = 1; i < GregTechAPI.sGeneratedMaterials.length; i++) { if (GregTechAPI.sGeneratedMaterials[i] != null) { for (int j = 0; j < aOreMetaCount; j++) { diff --git a/src/main/java/gregtech/common/items/MetaGeneratedItem98.java b/src/main/java/gregtech/common/items/MetaGeneratedItem98.java index 875b7f7b5ab..bbf391c629d 100644 --- a/src/main/java/gregtech/common/items/MetaGeneratedItem98.java +++ b/src/main/java/gregtech/common/items/MetaGeneratedItem98.java @@ -48,7 +48,7 @@ public class MetaGeneratedItem98 extends MetaGeneratedItem { * leave a comment mentioning the old ID, so that we don't re-use it for a new fluid. */ public enum FluidCell { - // Next unused ID: 32 + // Next unused ID: 36 // GregTech DRILLING_FLUID(5, "liquid_drillingfluid", CellType.REGULAR), @@ -62,16 +62,20 @@ public enum FluidCell { // New Horizons Core Mod UNKNOWN_NUTRIENT_AGAR(7, "unknownnutrientagar", CellType.REGULAR), SEAWEED_BROTH(8, "seaweedbroth", CellType.REGULAR), + GELATIN_MIXTURE(32, "gelatinmixture", CellType.REGULAR), + MEAT_EXTRACT(33, "meatextract", CellType.REGULAR), SUPER_HEAVY_RADOX(28, "superheavyradox", CellType.REGULAR), HEAVY_RADOX(29, "heavyradox", CellType.REGULAR), CRACKED_RADOX(30, "crackedradox", CellType.REGULAR), LIGHT_RADOX(31, "lightradox", CellType.REGULAR), SUPER_LIGHT_RADOX(9, "superlightradox", CellType.REGULAR), + RADOX_GAS(34, "radoxgas", CellType.REGULAR), SODIUM_POTASSIUM(18, "sodiumpotassium", CellType.REGULAR), ENRICHED_BACTERIAL_SLUDGE(19, "enrichedbacterialsludge", CellType.REGULAR), FERMENTED_BACTERIAL_SLUDGE(20, "fermentedbacterialsludge", CellType.REGULAR), POLLUTION(21, "pollution", CellType.REGULAR), XENOXENE(27, "xenoxene", CellType.REGULAR), + DILUTED_XENOXENE(35, "dilutedxenoxene", CellType.REGULAR), // BartWorks ENZYME_SOLUTION(10, "enzymessollution", CellType.REGULAR), diff --git a/src/main/java/gregtech/common/items/behaviors/BehaviourPlungerFluid.java b/src/main/java/gregtech/common/items/behaviors/BehaviourPlungerFluid.java index b406b27b158..f0fe1a7dd6b 100644 --- a/src/main/java/gregtech/common/items/behaviors/BehaviourPlungerFluid.java +++ b/src/main/java/gregtech/common/items/behaviors/BehaviourPlungerFluid.java @@ -21,8 +21,9 @@ public class BehaviourPlungerFluid extends BehaviourNone { private final int mCosts; - private final String mTooltip = GTLanguageManager - .addStringLocalization("gt.behaviour.plunger.fluid", "Clears 1000 Liters of Fluid from Tanks"); + private final String mTooltip = GTLanguageManager.addStringLocalization( + "gt.behaviour.plunger.fluid", + "Clears 1000 Liters of Fluid from Tanks. Fully clears when sneaking."); public BehaviourPlungerFluid(int aCosts) { this.mCosts = aCosts; @@ -34,13 +35,14 @@ public boolean onItemUseFirst(MetaBaseItem aItem, ItemStack aStack, EntityPlayer if (aWorld.isRemote) { return false; } + int drainAmount = aPlayer.isSneaking() ? Integer.MAX_VALUE : 1000; TileEntity aTileEntity = aWorld.getTileEntity(aX, aY, aZ); if ((aTileEntity instanceof IFluidHandler)) { for (ForgeDirection tDirection : ForgeDirection.VALID_DIRECTIONS) { - if (((IFluidHandler) aTileEntity).drain(tDirection, 1000, false) != null) { + if (((IFluidHandler) aTileEntity).drain(tDirection, drainAmount, false) != null) { if ((aPlayer.capabilities.isCreativeMode) || (((MetaGeneratedTool) aItem).doDamage(aStack, this.mCosts))) { - ((IFluidHandler) aTileEntity).drain(tDirection, 1000, true); + ((IFluidHandler) aTileEntity).drain(tDirection, drainAmount, true); GTUtility.sendSoundToPlayers( aWorld, SoundResource.IC2_TOOLS_RUBBER_TRAMPOLINE, @@ -58,7 +60,7 @@ public boolean onItemUseFirst(MetaBaseItem aItem, ItemStack aStack, EntityPlayer IMetaTileEntity mTileEntity = tTileEntity.getMetaTileEntity(); if (mTileEntity instanceof MTEBasicTank machine) { if (machine.mFluid != null && machine.mFluid.amount > 0) - machine.mFluid.amount = machine.mFluid.amount - Math.min(machine.mFluid.amount, 1000); + machine.mFluid.amount = machine.mFluid.amount - Math.min(machine.mFluid.amount, drainAmount); GTUtility .sendSoundToPlayers(aWorld, SoundResource.IC2_TOOLS_RUBBER_TRAMPOLINE, 1.0F, -1.0F, aX, aY, aZ); return true; diff --git a/src/main/java/gregtech/common/tileentities/machines/MTEHatchCraftingInputME.java b/src/main/java/gregtech/common/tileentities/machines/MTEHatchCraftingInputME.java index cb57fb85db6..79c683f4610 100644 --- a/src/main/java/gregtech/common/tileentities/machines/MTEHatchCraftingInputME.java +++ b/src/main/java/gregtech/common/tileentities/machines/MTEHatchCraftingInputME.java @@ -352,7 +352,8 @@ public MTEHatchCraftingInputME(int aID, String aName, String aNameRegional, bool "Processes patterns directly from ME", supportFluids ? "It supports patterns including fluids" : "It does not support patterns including fluids", - "Change ME connection behavior by right-clicking with wire cutter" }); + "Change ME connection behavior by right-clicking with wire cutter", + "Ignores the contents of other buses or hatches", "Also ignores other patterns within the same bus" }); disableSort = true; this.supportFluids = supportFluids; } diff --git a/src/main/java/gregtech/common/tileentities/machines/MTEHatchInputBusME.java b/src/main/java/gregtech/common/tileentities/machines/MTEHatchInputBusME.java index 63e1a264c33..fcffcd41af5 100644 --- a/src/main/java/gregtech/common/tileentities/machines/MTEHatchInputBusME.java +++ b/src/main/java/gregtech/common/tileentities/machines/MTEHatchInputBusME.java @@ -82,21 +82,21 @@ public class MTEHatchInputBusME extends MTEHatchInputBus implements IConfigurationCircuitSupport, IRecipeProcessingAwareHatch, IAddGregtechLogo, IAddUIWidgets, IPowerChannelState, ISmartInputHatch, IDataCopyable { - private static final int SLOT_COUNT = 16; + protected static final int SLOT_COUNT = 16; public static final String COPIED_DATA_IDENTIFIER = "stockingBus"; - private BaseActionSource requestSource = null; - private @Nullable AENetworkProxy gridProxy = null; - private final ItemStack[] shadowInventory = new ItemStack[SLOT_COUNT]; - private final int[] savedStackSizes = new int[SLOT_COUNT]; - private boolean processingRecipe = false; - private final boolean autoPullAvailable; - private boolean autoPullItemList = false; - private int minAutoPullStackSize = 1; - private int autoPullRefreshTime = 100; - private static final int CONFIG_WINDOW_ID = 10; - private boolean additionalConnection = false; - private boolean justHadNewItems = false; - private boolean expediteRecipeCheck = false; + protected BaseActionSource requestSource = null; + protected @Nullable AENetworkProxy gridProxy = null; + protected final ItemStack[] shadowInventory = new ItemStack[SLOT_COUNT]; + protected final int[] savedStackSizes = new int[SLOT_COUNT]; + protected boolean processingRecipe = false; + protected final boolean autoPullAvailable; + protected boolean autoPullItemList = false; + protected int minAutoPullStackSize = 1; + protected int autoPullRefreshTime = 100; + protected static final int CONFIG_WINDOW_ID = 10; + protected boolean additionalConnection = false; + protected boolean justHadNewItems = false; + protected boolean expediteRecipeCheck = false; public MTEHatchInputBusME(int aID, boolean autoPullAvailable, String aName, String aNameRegional) { super( @@ -156,7 +156,7 @@ public AECableType getCableConnectionType(ForgeDirection forgeDirection) { return isOutputFacing(forgeDirection) ? AECableType.SMART : AECableType.NONE; } - private void updateValidGridProxySides() { + protected void updateValidGridProxySides() { if (additionalConnection) { getProxy().setValidSides(EnumSet.complementOf(EnumSet.of(ForgeDirection.UNKNOWN))); } else { @@ -223,7 +223,7 @@ public void saveNBTData(NBTTagCompound aNBT) { getProxy().writeToNBT(aNBT); } - private void setAutoPullItemList(boolean pullItemList) { + protected void setAutoPullItemList(boolean pullItemList) { if (!autoPullAvailable) { return; } @@ -392,7 +392,7 @@ public NBTTagCompound getCopiedData(EntityPlayer player) { return tag; } - private int getManualSlot() { + protected int getManualSlot() { return SLOT_COUNT * 2 + 1; } @@ -476,7 +476,7 @@ public ItemStack getStackInSlot(int aIndex) { return mInventory[aIndex]; } - private BaseActionSource getRequestSource() { + protected BaseActionSource getRequestSource() { if (requestSource == null) requestSource = new MachineSource((IActionHost) getBaseMetaTileEntity()); return requestSource; } @@ -494,7 +494,7 @@ public void startRecipeProcessing() { updateAllInformationSlots(); } - private void refreshItemList() { + protected void refreshItemList() { AENetworkProxy proxy = getProxy(); try { IMEMonitor sg = proxy.getStorage() @@ -523,7 +523,7 @@ private void refreshItemList() { } catch (final GridAccessException ignored) {} } - private void updateAllInformationSlots() { + protected void updateAllInformationSlots() { for (int index = 0; index < SLOT_COUNT; index++) { updateInformationSlot(index, mInventory[index]); } @@ -863,7 +863,7 @@ public void getWailaNBTData(EntityPlayerMP player, TileEntity tile, NBTTagCompou super.getWailaNBTData(player, tile, tag, world, x, y, z); } - private static String[] getDescriptionArray(boolean autoPullAvailable) { + protected static String[] getDescriptionArray(boolean autoPullAvailable) { List strings = new ArrayList<>(8); strings.add("Advanced item input for Multiblocks"); strings.add("Hatch Tier: " + TIER_COLORS[autoPullAvailable ? 6 : 3] + VN[autoPullAvailable ? 6 : 3]); diff --git a/src/main/java/gregtech/common/tileentities/machines/MTEHatchOutputBusME.java b/src/main/java/gregtech/common/tileentities/machines/MTEHatchOutputBusME.java index fcfc75b107b..5a250eae001 100644 --- a/src/main/java/gregtech/common/tileentities/machines/MTEHatchOutputBusME.java +++ b/src/main/java/gregtech/common/tileentities/machines/MTEHatchOutputBusME.java @@ -60,11 +60,11 @@ public class MTEHatchOutputBusME extends MTEHatchOutputBus implements IPowerChannelState { - private static final long DEFAULT_CAPACITY = 1_600; - private long baseCapacity = DEFAULT_CAPACITY; + protected static final long DEFAULT_CAPACITY = 1_600; + protected long baseCapacity = DEFAULT_CAPACITY; - private BaseActionSource requestSource = null; - private @Nullable AENetworkProxy gridProxy = null; + protected BaseActionSource requestSource = null; + protected @Nullable AENetworkProxy gridProxy = null; final IItemList itemCache = AEApi.instance() .storage() .createItemList(); @@ -116,7 +116,7 @@ public boolean storeAll(ItemStack aStack) { return aStack.stackSize == 0; } - private long getCachedAmount() { + protected long getCachedAmount() { long itemAmount = 0; for (IAEItemStack item : itemCache) { itemAmount += item.getStackSize(); @@ -124,7 +124,7 @@ private long getCachedAmount() { return itemAmount; } - private long getCacheCapacity() { + protected long getCacheCapacity() { ItemStack upgradeItemStack = mInventory[0]; if (upgradeItemStack != null && upgradeItemStack.getItem() instanceof ItemBasicStorageCell) { return ((ItemBasicStorageCell) upgradeItemStack.getItem()).getBytesLong(upgradeItemStack) * 8; @@ -158,7 +158,7 @@ public int store(final ItemStack stack) { return stack.stackSize; } - private BaseActionSource getRequest() { + protected BaseActionSource getRequest() { if (requestSource == null) requestSource = new MachineSource((IActionHost) getBaseMetaTileEntity()); return requestSource; } @@ -168,7 +168,7 @@ public AECableType getCableConnectionType(ForgeDirection forgeDirection) { return isOutputFacing(forgeDirection) ? AECableType.SMART : AECableType.NONE; } - private void updateValidGridProxySides() { + protected void updateValidGridProxySides() { if (additionalConnection) { getProxy().setValidSides(EnumSet.complementOf(EnumSet.of(ForgeDirection.UNKNOWN))); } else { @@ -222,7 +222,7 @@ public AENetworkProxy getProxy() { return this.gridProxy; } - private void flushCachedStack() { + protected void flushCachedStack() { AENetworkProxy proxy = getProxy(); if (proxy == null) { return; diff --git a/src/main/java/gregtech/common/tileentities/machines/basic/MTENameRemover.java b/src/main/java/gregtech/common/tileentities/machines/basic/MTENameRemover.java index bc4112dee4b..cd7a4657c86 100644 --- a/src/main/java/gregtech/common/tileentities/machines/basic/MTENameRemover.java +++ b/src/main/java/gregtech/common/tileentities/machines/basic/MTENameRemover.java @@ -111,6 +111,7 @@ public int checkRecipe() { boolean removeRepair = false; boolean removeDye = false; boolean removeSpray = false; + boolean removeMuffler = false; boolean removeCovers = false; switch (circuitSetting) { case 1: @@ -131,6 +132,9 @@ public int checkRecipe() { case 6: removeSpray = true; break; + case 7: + removeMuffler = true; + break; case 24: removeCovers = true; default: @@ -140,6 +144,7 @@ public int checkRecipe() { removeRepair = true; removeDye = true; removeSpray = true; + removeMuffler = true; } if (removeName && nbt.hasKey("display")) { nbt.getCompoundTag("display") @@ -161,6 +166,7 @@ public int checkRecipe() { } } if (removeSpray) removeTag(nbt, "mColor"); + if (removeMuffler) removeTag(nbt, "mMuffler"); removeTag(nbt, "mTargetStackSize"); // MTEBuffer removeTag(nbt, "mOutputFluid"); // MTEDigitalTankBase removeTag(nbt, "mVoidOverflow"); // MTEDigitalTankBase & MTEQuantumChest @@ -216,6 +222,7 @@ public String[] getDescription() { description.add(BOLD + "Circuit 4:" + RESET + " Remove Anvil repair tag"); description.add(BOLD + "Circuit 5:" + RESET + " Remove Dye from Leather armor"); description.add(BOLD + "Circuit 6:" + RESET + " Remove Spray color from GT items"); + description.add(BOLD + "Circuit 7:" + RESET + " Remove Muffler Upgrade from GT machines"); description.add( BOLD + "Circuit 24:" + RESET diff --git a/src/main/java/gregtech/common/tileentities/machines/basic/MTEScanner.java b/src/main/java/gregtech/common/tileentities/machines/basic/MTEScanner.java index 628b8b62baa..fba31c0fa0c 100644 --- a/src/main/java/gregtech/common/tileentities/machines/basic/MTEScanner.java +++ b/src/main/java/gregtech/common/tileentities/machines/basic/MTEScanner.java @@ -367,7 +367,7 @@ else if (stackItemDamage == 2 && aStack.toString() // Use Assline Utils if (AssemblyLineUtils.setAssemblyLineRecipeOnDataStick(this.mOutputItems[0], tRecipe)) { aStack.stackSize -= matchingRecipe.mInputs[0].stackSize; - calculateOverclockedNess(30, tRecipe.mResearchTime); + calculateOverclockedNess(tRecipe.mResearchVoltage, tRecipe.mResearchTime); // In case recipe is too OP for that machine if (mMaxProgresstime == Integer.MAX_VALUE - 1 && mEUt == Integer.MAX_VALUE - 1) return FOUND_RECIPE_BUT_DID_NOT_MEET_REQUIREMENTS; diff --git a/src/main/java/gregtech/loaders/materials/MaterialsInit1.java b/src/main/java/gregtech/loaders/materials/MaterialsInit1.java index f3391b040eb..19117f2b18a 100644 --- a/src/main/java/gregtech/loaders/materials/MaterialsInit1.java +++ b/src/main/java/gregtech/loaders/materials/MaterialsInit1.java @@ -602,8 +602,6 @@ public static void load() { Materials.LightFuel = new Materials( 740, TextureSet.SET_FLUID , 1.0F, 0, 0, 16 , 255, 255, 0, 0, "LightFuel" , "Light Fuel" , 0, 305, -1, 0, false, false, 1, 1, 1, Dyes.dyeYellow).setCanBeCracked(true); Materials.HeavyFuel = new Materials( 741, TextureSet.SET_FLUID , 1.0F, 0, 0, 16 , 255, 255, 0, 0, "HeavyFuel" , "Heavy Fuel" , 3, 240, -1, 0, false, false, 1, 1, 1, Dyes.dyeBlack).setCanBeCracked(true); Materials.LPG = new Materials( 742, TextureSet.SET_FLUID , 1.0F, 0, 0, 16 , 255, 255, 0, 0, "LPG" , "LPG" , 1, 320, -1, 0, false, false, 1, 1, 1, Dyes.dyeYellow ); - Materials.FluidNaquadahFuel = new MaterialBuilder(600, TextureSet.SET_FLUID , "Naquadah Fuel").setName("FluidNaqudahFuel").addCell().addFluid().setRGB(62, 62, 62).setColor(Dyes.dyeBlack).constructMaterial(); - Materials.EnrichedNaquadria = new MaterialBuilder(601, TextureSet.SET_FLUID , "Enriched Naquadria").setName("EnrichedNaquadria").addCell().addFluid().setRGB(52, 52, 52).setColor(Dyes.dyeBlack).constructMaterial(); Materials.ReinforceGlass = new MaterialBuilder(602, TextureSet.SET_FLUID , "Reinforced Glass").setName("ReinforcedGlass").setRGB(192, 245, 254).setColor(Dyes.dyeWhite).setMeltingPoint(2000).constructMaterial().disableAutoGeneratedRecycleRecipes(); Materials.BioMediumRaw = new MaterialBuilder(603, TextureSet.SET_FLUID , "Raw Bio Catalyst Medium").setName("BioMediumRaw").addCell().addFluid().setRGB(97, 147, 46).setColor(Dyes.dyeLime).constructMaterial(); Materials.BioMediumSterilized = new MaterialBuilder(604, TextureSet.SET_FLUID , "Sterilized Bio Catalyst Medium").setName("BiohMediumSterilized").addCell().addFluid().setRGB(162, 253, 53).setColor(Dyes.dyeLime).constructMaterial(); diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingOre.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingOre.java index 61a740579c0..9fd78466fd0 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingOre.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingOre.java @@ -74,8 +74,6 @@ public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDic private boolean registerStandardOreRecipes(OrePrefixes aPrefix, Materials aMaterial, ItemStack aOreStack, int aMultiplier) { if ((aOreStack == null) || (aMaterial == null)) return false; - GTModHandler - .addValuableOre(GTUtility.getBlockFromStack(aOreStack), aOreStack.getItemDamage(), aMaterial.mOreValue); Materials tMaterial = aMaterial.mOreReplacement; Materials tPrimaryByMaterial = null; aMultiplier = Math.max(1, aMultiplier); diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingPlate.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingPlate.java index d699429a0cc..e5c03d7cb4d 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingPlate.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingPlate.java @@ -146,25 +146,11 @@ private void registerPlate(final Materials aMaterial, final ItemStack aStack, fi new Object[] { "h", // craftingToolHardHammer "X", "X", 'X', OrePrefixes.ingot.get(aMaterial) }); - // Only added if IC2 Forge Hammer is enabled in Recipes.cfg: B:ic2forgehammer_true=false - GTModHandler.addCraftingRecipe( - aMaterial.getPlates(1), - tBits, // DO_NOT_CHECK_FOR_COLLISIONS|BUFFERED|ONLY_ADD_IF_RESULT_IS_NOT_NULL|NOT_REMOVABLE - new Object[] { "H", // craftingToolForgeHammer - "X", 'H', ToolDictNames.craftingToolForgeHammer, 'X', OrePrefixes.ingot.get(aMaterial) }); - GTModHandler.addCraftingRecipe( aMaterial.getPlates(1), tBits, // DO_NOT_CHECK_FOR_COLLISIONS|BUFFERED|ONLY_ADD_IF_RESULT_IS_NOT_NULL|NOT_REMOVABLE new Object[] { "h", // craftingToolHardHammer "X", 'X', OrePrefixes.gem.get(aMaterial) }); - - // Only added if IC2 Forge Hammer is enabled in Recipes.cfg: B:ic2forgehammer_true=false - GTModHandler.addCraftingRecipe( - aMaterial.getPlates(1), - tBits, // DO_NOT_CHECK_FOR_COLLISIONS|BUFFERED|ONLY_ADD_IF_RESULT_IS_NOT_NULL|NOT_REMOVABLE - new Object[] { "H", // craftingToolForgeHammer - "X", 'H', ToolDictNames.craftingToolForgeHammer, 'X', OrePrefixes.gem.get(aMaterial) }); } } @@ -276,12 +262,6 @@ private void registerPlateTriple(final Materials aMaterial, final ItemStack aSta DO_NOT_CHECK_FOR_COLLISIONS | BUFFERED, new Object[] { "I", "B", "h", // craftingToolHardHammer 'I', OrePrefixes.plateDouble.get(aMaterial), 'B', aPlateStack }); - - GTModHandler.addShapelessCraftingRecipe( - GTUtility.copyAmount(1, aStack), - DO_NOT_CHECK_FOR_COLLISIONS | BUFFERED, - new Object[] { gregtech.api.enums.ToolDictNames.craftingToolForgeHammer, aPlateStack, aPlateStack, - aPlateStack }); } } @@ -334,12 +314,6 @@ private void registerPlateQuadruple(final Materials aMaterial, final ItemStack a DO_NOT_CHECK_FOR_COLLISIONS | BUFFERED, new Object[] { "I", "B", "h", // craftingToolHardHammer 'I', OrePrefixes.plateTriple.get(aMaterial), 'B', aPlateStack }); - - GTModHandler.addShapelessCraftingRecipe( - GTUtility.copyAmount(1, aStack), - DO_NOT_CHECK_FOR_COLLISIONS | BUFFERED, - new Object[] { gregtech.api.enums.ToolDictNames.craftingToolForgeHammer, aPlateStack, aPlateStack, - aPlateStack, aPlateStack }); } } } @@ -380,12 +354,6 @@ private void registerPlateQuintuple(final Materials aMaterial, final ItemStack a DO_NOT_CHECK_FOR_COLLISIONS | BUFFERED, new Object[] { "I", "B", "h", // craftingToolHardHammer 'I', OrePrefixes.plateQuadruple.get(aMaterial), 'B', aPlateStack }); - - GTModHandler.addShapelessCraftingRecipe( - GTUtility.copyAmount(1, aStack), - DO_NOT_CHECK_FOR_COLLISIONS | BUFFERED, - new Object[] { ToolDictNames.craftingToolForgeHammer, aPlateStack, aPlateStack, aPlateStack, - aPlateStack, aPlateStack }); } } } @@ -451,13 +419,6 @@ private void registerItemCasing(final OrePrefixes aPrefix, final Materials aMate GTOreDictUnificator.get(OrePrefixes.itemCasing, aMaterial, 1L), tBits, // DO_NOT_CHECK_FOR_COLLISIONS|BUFFERED|ONLY_ADD_IF_RESULT_IS_NOT_NULL|NOT_REMOVABLE new Object[] { "h X", 'X', OrePrefixes.plate.get(aMaterial) }); - - // Only added if IC2 Forge Hammer is enabled in Recipes.cfg: B:ic2forgehammer_true=false - GTModHandler.addCraftingRecipe( - GTOreDictUnificator.get(OrePrefixes.itemCasing, aMaterial, 1L), - tBits, // DO_NOT_CHECK_FOR_COLLISIONS|BUFFERED|ONLY_ADD_IF_RESULT_IS_NOT_NULL|NOT_REMOVABLE - new Object[] { "H X", 'H', ToolDictNames.craftingToolForgeHammer, 'X', - OrePrefixes.plate.get(aMaterial) }); } } diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingRawOre.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingRawOre.java index 12446b8ba76..6897e704e50 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingRawOre.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingRawOre.java @@ -51,8 +51,6 @@ public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDic private boolean registerStandardOreRecipes(OrePrefixes aPrefix, Materials aMaterial, ItemStack aOreStack, int aMultiplier) { if ((aOreStack == null) || (aMaterial == null)) return false; - GTModHandler - .addValuableOre(GTUtility.getBlockFromStack(aOreStack), aOreStack.getItemDamage(), aMaterial.mOreValue); Materials tMaterial = aMaterial.mOreReplacement; Materials tPrimaryByMaterial = null; aMultiplier = Math.max(1, aMultiplier); diff --git a/src/main/java/gregtech/loaders/postload/MinableRegistrator.java b/src/main/java/gregtech/loaders/postload/MinableRegistrator.java deleted file mode 100644 index ea594861466..00000000000 --- a/src/main/java/gregtech/loaders/postload/MinableRegistrator.java +++ /dev/null @@ -1,16 +0,0 @@ -package gregtech.loaders.postload; - -import net.minecraft.init.Blocks; - -import gregtech.api.util.GTLog; -import gregtech.api.util.GTModHandler; - -public class MinableRegistrator implements Runnable { - - @Override - public void run() { - GTLog.out.println("GTMod: Adding Blocks to the Miners Valuable List."); - GTModHandler.addValuableOre(Blocks.glowstone, 0, 1); - GTModHandler.addValuableOre(Blocks.soul_sand, 0, 1); - } -} diff --git a/src/main/java/gregtech/loaders/postload/chains/NaniteChain.java b/src/main/java/gregtech/loaders/postload/chains/NaniteChain.java index eb51d852809..439a216b74f 100644 --- a/src/main/java/gregtech/loaders/postload/chains/NaniteChain.java +++ b/src/main/java/gregtech/loaders/postload/chains/NaniteChain.java @@ -4,13 +4,12 @@ import static gregtech.api.enums.Mods.NewHorizonsCoreMod; import static gregtech.api.recipe.RecipeMaps.nanoForgeRecipes; import static gregtech.api.util.GTModHandler.getModItem; -import static gregtech.api.util.GTRecipeBuilder.HOURS; import static gregtech.api.util.GTRecipeBuilder.MINUTES; import static gregtech.api.util.GTRecipeBuilder.SECONDS; import static gregtech.api.util.GTRecipeConstants.AssemblyLine; import static gregtech.api.util.GTRecipeConstants.NANO_FORGE_TIER; import static gregtech.api.util.GTRecipeConstants.RESEARCH_ITEM; -import static gregtech.api.util.GTRecipeConstants.RESEARCH_TIME; +import static gregtech.api.util.GTRecipeConstants.SCANNING; import static gtPlusPlus.core.block.ModBlocks.blockCompressedObsidian; import net.minecraft.item.ItemStack; @@ -26,6 +25,7 @@ import gregtech.api.enums.OrePrefixes; import gregtech.api.enums.TierEU; import gregtech.api.util.GTOreDictUnificator; +import gregtech.api.util.recipe.Scanning; import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; public class NaniteChain { @@ -38,14 +38,14 @@ public static void run() { ItemStack aUIVTierLens = ItemList.EnergisedTesseract.get(0); ItemStack aUMVTierLens = GTOreDictUnificator.get(OrePrefixes.lens, Materials.Dilithium, 0, false); - // Carbon Nanite Recipe Before Nano Forge Fluid solderIndalloy = FluidRegistry.getFluid("molten.indalloy140") != null ? FluidRegistry.getFluid("molten.indalloy140") : FluidRegistry.getFluid("molten.solderingalloy"); + // Nano Forge GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, Materials.Carbon.getNanite(1)) - .metadata(RESEARCH_TIME, 1 * HOURS) + .metadata(SCANNING, new Scanning(2 * MINUTES + 30 * SECONDS, TierEU.RECIPE_ZPM)) .itemInputs( ItemList.Hull_UV.get(16), Materials.Carbon.getNanite(16), @@ -64,9 +64,10 @@ public static void run() { .duration(5 * MINUTES) .addTo(AssemblyLine); + // Carbon Nanite Recipe Before Nano Forge GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, ItemList.Circuit_Crystalmainframe.get(1)) - .metadata(RESEARCH_TIME, 2 * HOURS) + .metadata(SCANNING, new Scanning(2 * MINUTES, TierEU.RECIPE_ZPM)) .itemInputs( new Object[] { OrePrefixes.circuit.get(Materials.UV), 16 }, ItemList.Robot_Arm_UV.get(16), diff --git a/src/main/java/gregtech/loaders/postload/chains/PCBFactoryRecipes.java b/src/main/java/gregtech/loaders/postload/chains/PCBFactoryRecipes.java index e4bb4681fc5..dd268ceb2a2 100644 --- a/src/main/java/gregtech/loaders/postload/chains/PCBFactoryRecipes.java +++ b/src/main/java/gregtech/loaders/postload/chains/PCBFactoryRecipes.java @@ -6,7 +6,7 @@ import static gregtech.api.util.GTRecipeBuilder.SECONDS; import static gregtech.api.util.GTRecipeConstants.AssemblyLine; import static gregtech.api.util.GTRecipeConstants.RESEARCH_ITEM; -import static gregtech.api.util.GTRecipeConstants.RESEARCH_TIME; +import static gregtech.api.util.GTRecipeConstants.SCANNING; import static gtPlusPlus.core.material.MaterialsAlloy.QUANTUM; import static gtPlusPlus.core.material.MaterialsElements.STANDALONE.CELESTIAL_TUNGSTEN; import static gtPlusPlus.core.material.MaterialsElements.STANDALONE.CHRONOMATIC_GLASS; @@ -33,6 +33,7 @@ import gregtech.api.util.GTOreDictUnificator; import gregtech.api.util.GTUtility; import gregtech.api.util.PCBFactoryManager; +import gregtech.api.util.recipe.Scanning; @SuppressWarnings("SpellCheckingInspection") public class PCBFactoryRecipes { @@ -48,7 +49,7 @@ public static void load() { // Load Multi Recipes GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, ItemList.Circuit_Board_Wetware.get(1)) - .metadata(RESEARCH_TIME, 3 * MINUTES) + .metadata(SCANNING, new Scanning(2 * MINUTES + 20 * SECONDS, TierEU.RECIPE_LuV)) .itemInputs( GTOreDictUnificator.get(OrePrefixes.frameGt, Materials.Neutronium, 32), ItemList.Machine_ZPM_CircuitAssembler.get(4), diff --git a/src/main/java/gregtech/loaders/postload/chains/PurifiedWaterRecipes.java b/src/main/java/gregtech/loaders/postload/chains/PurifiedWaterRecipes.java index 2a4b38e7eff..05d44deb522 100644 --- a/src/main/java/gregtech/loaders/postload/chains/PurifiedWaterRecipes.java +++ b/src/main/java/gregtech/loaders/postload/chains/PurifiedWaterRecipes.java @@ -17,13 +17,12 @@ import static gregtech.api.recipe.RecipeMaps.purificationPhAdjustmentRecipes; import static gregtech.api.recipe.RecipeMaps.purificationPlasmaHeatingRecipes; import static gregtech.api.recipe.RecipeMaps.purificationUVTreatmentRecipes; -import static gregtech.api.util.GTRecipeBuilder.HOURS; import static gregtech.api.util.GTRecipeBuilder.MINUTES; import static gregtech.api.util.GTRecipeBuilder.SECONDS; import static gregtech.api.util.GTRecipeConstants.AssemblyLine; import static gregtech.api.util.GTRecipeConstants.COIL_HEAT; import static gregtech.api.util.GTRecipeConstants.RESEARCH_ITEM; -import static gregtech.api.util.GTRecipeConstants.RESEARCH_TIME; +import static gregtech.api.util.GTRecipeConstants.SCANNING; import net.minecraft.init.Items; import net.minecraft.item.ItemStack; @@ -41,6 +40,7 @@ import gregtech.api.util.GTModHandler; import gregtech.api.util.GTOreDictUnificator; import gregtech.api.util.GTUtility; +import gregtech.api.util.recipe.Scanning; import gregtech.common.tileentities.machines.multi.purification.MTEPurificationPlant; import gregtech.common.tileentities.machines.multi.purification.MTEPurificationUnitUVTreatment; import gtPlusPlus.core.material.Particle; @@ -263,7 +263,7 @@ public static void run() { // Recipe for quark catalyst housing GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, ItemList.Electromagnet_Tengam.get(1)) - .metadata(RESEARCH_TIME, 1 * HOURS) + .metadata(SCANNING, new Scanning(2 * MINUTES, TierEU.RECIPE_UHV)) .itemInputs( GTOreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 16), GTOreDictUnificator.get(OrePrefixes.plate, Materials.Infinity, 16), diff --git a/src/main/java/gregtech/loaders/postload/recipes/AssemblyLineRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/AssemblyLineRecipes.java index 1c91dcd7861..d30a4c6c804 100644 --- a/src/main/java/gregtech/loaders/postload/recipes/AssemblyLineRecipes.java +++ b/src/main/java/gregtech/loaders/postload/recipes/AssemblyLineRecipes.java @@ -1,12 +1,11 @@ package gregtech.loaders.postload.recipes; import static gregtech.api.enums.Mods.NewHorizonsCoreMod; -import static gregtech.api.util.GTRecipeBuilder.HOURS; import static gregtech.api.util.GTRecipeBuilder.MINUTES; import static gregtech.api.util.GTRecipeBuilder.SECONDS; import static gregtech.api.util.GTRecipeConstants.AssemblyLine; import static gregtech.api.util.GTRecipeConstants.RESEARCH_ITEM; -import static gregtech.api.util.GTRecipeConstants.RESEARCH_TIME; +import static gregtech.api.util.GTRecipeConstants.SCANNING; import net.minecraft.item.ItemStack; import net.minecraftforge.fluids.Fluid; @@ -21,6 +20,7 @@ import gregtech.api.util.ExternalMaterials; import gregtech.api.util.GTModHandler; import gregtech.api.util.GTOreDictUnificator; +import gregtech.api.util.recipe.Scanning; import tectech.thing.CustomItemList; public class AssemblyLineRecipes implements Runnable { @@ -53,7 +53,7 @@ public void run() { // LuV motor GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, ItemList.Electric_Motor_IV.get(1)) - .metadata(RESEARCH_TIME, 2 * HOURS) + .metadata(SCANNING, new Scanning(1 * MINUTES, TierEU.RECIPE_EV)) .itemInputs( GTOreDictUnificator.get(OrePrefixes.stick, Materials.SamariumMagnetic, 1), GTOreDictUnificator.get(OrePrefixes.stickLong, Materials.HSSS, 2), @@ -69,7 +69,7 @@ public void run() { // ZPM motor GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, ItemList.Electric_Motor_LuV.get(1)) - .metadata(RESEARCH_TIME, 2 * HOURS) + .metadata(SCANNING, new Scanning(1 * MINUTES, TierEU.RECIPE_IV)) .itemInputs( GTOreDictUnificator.get(OrePrefixes.stick, Materials.SamariumMagnetic, 2), GTOreDictUnificator.get(OrePrefixes.stickLong, Materials.NaquadahAlloy, 4), @@ -88,7 +88,7 @@ public void run() { // UV motor GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, ItemList.Electric_Motor_ZPM.get(1)) - .metadata(RESEARCH_TIME, 4 * HOURS) + .metadata(SCANNING, new Scanning(1 * MINUTES, TierEU.RECIPE_LuV)) .itemInputs( GTOreDictUnificator.get(OrePrefixes.stickLong, Materials.SamariumMagnetic, 2), GTOreDictUnificator.get(OrePrefixes.stickLong, Materials.Neutronium, 4), @@ -116,7 +116,7 @@ public void run() { // LuV Pump GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, ItemList.Electric_Pump_IV.get(1)) - .metadata(RESEARCH_TIME, 2 * HOURS) + .metadata(SCANNING, new Scanning(1 * MINUTES, TierEU.RECIPE_EV)) .itemInputs( ItemList.Electric_Motor_LuV.get(1), GTOreDictUnificator.get(OrePrefixes.pipeSmall, Materials.NiobiumTitanium, 2), @@ -134,7 +134,7 @@ public void run() { // ZPM Pump GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, ItemList.Electric_Pump_LuV.get(1)) - .metadata(RESEARCH_TIME, 2 * HOURS) + .metadata(SCANNING, new Scanning(1 * MINUTES, TierEU.RECIPE_IV)) .itemInputs( ItemList.Electric_Motor_ZPM.get(1), GTOreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Enderium, 2), @@ -152,7 +152,7 @@ public void run() { // UV Pump GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, ItemList.Electric_Pump_ZPM.get(1)) - .metadata(RESEARCH_TIME, 4 * HOURS) + .metadata(SCANNING, new Scanning(1 * MINUTES, TierEU.RECIPE_LuV)) .itemInputs( ItemList.Electric_Motor_UV.get(1), GTOreDictUnificator.get(OrePrefixes.pipeLarge, Materials.Naquadah, 2), @@ -176,7 +176,7 @@ public void run() { // LuV Conveyor GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, ItemList.Conveyor_Module_IV.get(1)) - .metadata(RESEARCH_TIME, 2 * HOURS) + .metadata(SCANNING, new Scanning(1 * MINUTES, TierEU.RECIPE_EV)) .itemInputs( ItemList.Electric_Motor_LuV.get(2), GTOreDictUnificator.get(OrePrefixes.plate, Materials.HSSS, 2), @@ -193,7 +193,7 @@ public void run() { // ZPM Conveyor GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, ItemList.Conveyor_Module_LuV.get(1)) - .metadata(RESEARCH_TIME, 2 * HOURS) + .metadata(SCANNING, new Scanning(1 * MINUTES, TierEU.RECIPE_IV)) .itemInputs( ItemList.Electric_Motor_ZPM.get(2), GTOreDictUnificator.get(OrePrefixes.plate, Materials.NaquadahAlloy, 2), @@ -210,7 +210,7 @@ public void run() { // UV Conveyor GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, ItemList.Conveyor_Module_ZPM.get(1)) - .metadata(RESEARCH_TIME, 4 * HOURS) + .metadata(SCANNING, new Scanning(1 * MINUTES, TierEU.RECIPE_LuV)) .itemInputs( ItemList.Electric_Motor_UV.get(2), GTOreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 2), @@ -233,7 +233,7 @@ public void run() { // LuV Piston GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, ItemList.Electric_Piston_IV.get(1)) - .metadata(RESEARCH_TIME, 2 * HOURS) + .metadata(SCANNING, new Scanning(1 * MINUTES, TierEU.RECIPE_EV)) .itemInputs( ItemList.Electric_Motor_LuV.get(1), GTOreDictUnificator.get(OrePrefixes.plate, Materials.HSSS, 6), @@ -252,7 +252,7 @@ public void run() { // ZPM Pistons GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, ItemList.Electric_Piston_LuV.get(1)) - .metadata(RESEARCH_TIME, 2 * HOURS) + .metadata(SCANNING, new Scanning(1 * MINUTES, TierEU.RECIPE_IV)) .itemInputs( ItemList.Electric_Motor_ZPM.get(1), GTOreDictUnificator.get(OrePrefixes.plate, Materials.NaquadahAlloy, 6), @@ -271,7 +271,7 @@ public void run() { // UV Piston GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, ItemList.Electric_Piston_ZPM.get(1)) - .metadata(RESEARCH_TIME, 4 * HOURS) + .metadata(SCANNING, new Scanning(1 * MINUTES, TierEU.RECIPE_LuV)) .itemInputs( ItemList.Electric_Motor_UV.get(1), GTOreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 6), @@ -296,7 +296,7 @@ public void run() { // LuV Robot Arm GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, ItemList.Robot_Arm_IV.get(1)) - .metadata(RESEARCH_TIME, 2 * HOURS) + .metadata(SCANNING, new Scanning(1 * MINUTES, TierEU.RECIPE_EV)) .itemInputs( GTOreDictUnificator.get(OrePrefixes.stickLong, Materials.HSSS, 4), GTOreDictUnificator.get(OrePrefixes.gear, Materials.HSSS, 1), @@ -316,7 +316,7 @@ public void run() { // ZPM Robot Arm GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, ItemList.Robot_Arm_LuV.get(1)) - .metadata(RESEARCH_TIME, 2 * HOURS) + .metadata(SCANNING, new Scanning(1 * MINUTES, TierEU.RECIPE_IV)) .itemInputs( GTOreDictUnificator.get(OrePrefixes.stickLong, Materials.NaquadahAlloy, 4), GTOreDictUnificator.get(OrePrefixes.gear, Materials.NaquadahAlloy, 1), @@ -336,7 +336,7 @@ public void run() { // UV Robot Arm GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, ItemList.Robot_Arm_ZPM.get(1)) - .metadata(RESEARCH_TIME, 4 * HOURS) + .metadata(SCANNING, new Scanning(1 * MINUTES, TierEU.RECIPE_LuV)) .itemInputs( GTOreDictUnificator.get(OrePrefixes.stickLong, Materials.Neutronium, 4), GTOreDictUnificator.get(OrePrefixes.gear, Materials.Neutronium, 1), @@ -362,7 +362,7 @@ public void run() { // LuV Emitter GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, ItemList.Emitter_IV.get(1)) - .metadata(RESEARCH_TIME, 2 * HOURS) + .metadata(SCANNING, new Scanning(1 * MINUTES, TierEU.RECIPE_EV)) .itemInputs( GTOreDictUnificator.get(OrePrefixes.frameGt, Materials.HSSS, 1), ItemList.Electric_Motor_LuV.get(1), @@ -382,7 +382,7 @@ public void run() { // ZPM Emitter GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, ItemList.Emitter_LuV.get(1)) - .metadata(RESEARCH_TIME, 2 * HOURS) + .metadata(SCANNING, new Scanning(1 * MINUTES, TierEU.RECIPE_IV)) .itemInputs( GTOreDictUnificator.get(OrePrefixes.frameGt, Materials.NaquadahAlloy, 1), ItemList.Electric_Motor_ZPM.get(1), @@ -402,7 +402,7 @@ public void run() { // UV Emitter GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, ItemList.Emitter_ZPM.get(1)) - .metadata(RESEARCH_TIME, 4 * HOURS) + .metadata(SCANNING, new Scanning(1 * MINUTES, TierEU.RECIPE_LuV)) .itemInputs( GTOreDictUnificator.get(OrePrefixes.frameGt, Materials.Neutronium, 1), ItemList.Electric_Motor_UV.get(1), @@ -425,7 +425,7 @@ public void run() { // LuV Sensor GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, ItemList.Sensor_IV.get(1)) - .metadata(RESEARCH_TIME, 2 * HOURS) + .metadata(SCANNING, new Scanning(1 * MINUTES, TierEU.RECIPE_EV)) .itemInputs( GTOreDictUnificator.get(OrePrefixes.frameGt, Materials.HSSS, 1), ItemList.Electric_Motor_LuV.get(1), @@ -445,7 +445,7 @@ public void run() { // ZPM Sensor GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, ItemList.Sensor_LuV.get(1)) - .metadata(RESEARCH_TIME, 2 * HOURS) + .metadata(SCANNING, new Scanning(1 * MINUTES, TierEU.RECIPE_IV)) .itemInputs( GTOreDictUnificator.get(OrePrefixes.frameGt, Materials.NaquadahAlloy, 1), ItemList.Electric_Motor_ZPM.get(1), @@ -465,7 +465,7 @@ public void run() { // UV Sensor GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, ItemList.Sensor_ZPM.get(1)) - .metadata(RESEARCH_TIME, 4 * HOURS) + .metadata(SCANNING, new Scanning(1 * MINUTES, TierEU.RECIPE_LuV)) .itemInputs( GTOreDictUnificator.get(OrePrefixes.frameGt, Materials.Neutronium, 1), ItemList.Electric_Motor_UV.get(1), @@ -488,7 +488,7 @@ public void run() { // LuV Field Generator GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, ItemList.Field_Generator_IV.get(1)) - .metadata(RESEARCH_TIME, 2 * HOURS) + .metadata(SCANNING, new Scanning(1 * MINUTES, TierEU.RECIPE_EV)) .itemInputs( GTOreDictUnificator.get(OrePrefixes.frameGt, Materials.HSSS, 1), GTOreDictUnificator.get(OrePrefixes.plate, Materials.HSSS, 6), @@ -509,7 +509,7 @@ public void run() { // ZPM Field Generator GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, ItemList.Field_Generator_LuV.get(1)) - .metadata(RESEARCH_TIME, 2 * HOURS) + .metadata(SCANNING, new Scanning(1 * MINUTES, TierEU.RECIPE_IV)) .itemInputs( GTOreDictUnificator.get(OrePrefixes.frameGt, Materials.NaquadahAlloy, 1), GTOreDictUnificator.get(OrePrefixes.plate, Materials.NaquadahAlloy, 6), @@ -530,7 +530,7 @@ public void run() { // UV Field Generator GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, ItemList.Field_Generator_ZPM.get(1)) - .metadata(RESEARCH_TIME, 4 * HOURS) + .metadata(SCANNING, new Scanning(1 * MINUTES, TierEU.RECIPE_LuV)) .itemInputs( GTOreDictUnificator.get(OrePrefixes.frameGt, Materials.Neutronium, 1), GTOreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 6), @@ -556,7 +556,7 @@ public void run() { // LuV Energy Hatch GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, ItemList.Hatch_Energy_IV.get(1)) - .metadata(RESEARCH_TIME, 60 * MINUTES) + .metadata(SCANNING, new Scanning(1 * MINUTES, TierEU.RECIPE_IV)) .itemInputs( ItemList.Hull_LuV.get(1), GTOreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorLuV, 2), @@ -579,7 +579,7 @@ public void run() { // ZPM Energy Hatch GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, ItemList.Hatch_Energy_LuV.get(1)) - .metadata(RESEARCH_TIME, 2 * HOURS) + .metadata(SCANNING, new Scanning(1 * MINUTES, TierEU.RECIPE_LuV)) .itemInputs( ItemList.Hull_ZPM.get(1), GTOreDictUnificator.get(OrePrefixes.wireGt02, Materials.SuperconductorZPM, 2), @@ -602,7 +602,7 @@ public void run() { // UV Energy Hatch GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, ItemList.Hatch_Energy_ZPM.get(1)) - .metadata(RESEARCH_TIME, 4 * HOURS) + .metadata(SCANNING, new Scanning(1 * MINUTES, TierEU.RECIPE_ZPM)) .itemInputs( ItemList.Hull_UV.get(1), GTOreDictUnificator.get(OrePrefixes.wireGt02, Materials.SuperconductorUV, 2), @@ -632,7 +632,7 @@ public void run() { // LuV Dynamo Hatch GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, ItemList.Hatch_Dynamo_IV.get(1)) - .metadata(RESEARCH_TIME, 60 * MINUTES) + .metadata(SCANNING, new Scanning(1 * MINUTES, TierEU.RECIPE_IV)) .itemInputs( ItemList.Hull_LuV.get(1), GTOreDictUnificator.get( @@ -658,7 +658,7 @@ public void run() { // ZPM Dynamo Hatch GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, ItemList.Hatch_Dynamo_LuV.get(1)) - .metadata(RESEARCH_TIME, 2 * HOURS) + .metadata(SCANNING, new Scanning(1 * MINUTES, TierEU.RECIPE_LuV)) .itemInputs( ItemList.Hull_ZPM.get(1), GTOreDictUnificator.get(OrePrefixes.spring, Materials.Tetranaquadahdiindiumhexaplatiumosminid, 4), @@ -681,7 +681,7 @@ public void run() { // UV Dynamo Hatch GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, ItemList.Hatch_Dynamo_ZPM.get(1)) - .metadata(RESEARCH_TIME, 4 * HOURS) + .metadata(SCANNING, new Scanning(1 * MINUTES, TierEU.RECIPE_ZPM)) .itemInputs( ItemList.Hull_UV.get(1), GTOreDictUnificator.get(OrePrefixes.spring, Materials.Longasssuperconductornameforuvwire, 4), @@ -711,7 +711,7 @@ public void run() { // mkI GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, GTOreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorLuV, 1)) - .metadata(RESEARCH_TIME, 2 * HOURS) + .metadata(SCANNING, new Scanning(2 * MINUTES, TierEU.RECIPE_IV)) .itemInputs( ItemList.Casing_Fusion_Coil.get(1), new Object[] { OrePrefixes.circuit.get(Materials.ZPM), 1 }, @@ -732,7 +732,7 @@ public void run() { // mkII GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, GTOreDictUnificator.get(OrePrefixes.block, Materials.Europium, 1)) - .metadata(RESEARCH_TIME, 4 * HOURS) + .metadata(SCANNING, new Scanning(2 * MINUTES, TierEU.RECIPE_LuV)) .itemInputs( ItemList.Casing_Fusion_Coil.get(1), new Object[] { OrePrefixes.circuit.get(Materials.UV), 1 }, @@ -752,7 +752,7 @@ public void run() { // mkIII GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, GTOreDictUnificator.get(OrePrefixes.block, Materials.Americium, 1)) - .metadata(RESEARCH_TIME, 6 * HOURS) + .metadata(SCANNING, new Scanning(2 * MINUTES, TierEU.RECIPE_ZPM)) .itemInputs( ItemList.Casing_Fusion_Coil.get(1), new Object[] { OrePrefixes.circuit.get(Materials.UHV), 1 }, @@ -772,7 +772,7 @@ public void run() { // Energy Module GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, ItemList.Energy_LapotronicOrb2.get(1)) - .metadata(RESEARCH_TIME, 4 * HOURS) + .metadata(SCANNING, new Scanning(40 * SECONDS, TierEU.RECIPE_LuV)) .itemInputs( GTOreDictUnificator.get(OrePrefixes.plate, Materials.Europium, 16), new Object[] { OrePrefixes.circuit.get(Materials.ZPM), 1 }, @@ -796,7 +796,7 @@ public void run() { // Energy Cluster GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, ItemList.Energy_Module.get(1)) - .metadata(RESEARCH_TIME, 4 * HOURS) + .metadata(SCANNING, new Scanning(40 * SECONDS, TierEU.RECIPE_ZPM)) .itemInputs( GTOreDictUnificator.get(OrePrefixes.plate, Materials.Americium, 32), new Object[] { OrePrefixes.circuit.get(Materials.UV), 1 }, @@ -820,7 +820,7 @@ public void run() { // Integrated Ore Factory GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, ItemList.Machine_IV_OreWasher.get(1)) - .metadata(RESEARCH_TIME, 6 * HOURS) + .metadata(SCANNING, new Scanning(2 * MINUTES + 30 * SECONDS, TierEU.RECIPE_ZPM)) .itemInputs( ItemList.Hull_MAX.get(1), ItemList.Electric_Motor_UHV.get(32), @@ -845,7 +845,7 @@ public void run() { // Drone T2 GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, ItemList.TierdDrone0.get(1)) - .metadata(RESEARCH_TIME, 2 * HOURS) + .metadata(SCANNING, new Scanning(1 * MINUTES + 30 * SECONDS, TierEU.RECIPE_LuV)) .itemInputs( GTOreDictUnificator.get(OrePrefixes.plateDense, Materials.NaquadahAlloy, 16), new Object[] { OrePrefixes.circuit.get(Materials.UV), 4 }, @@ -866,7 +866,7 @@ public void run() { // Drone T3 GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, ItemList.TierdDrone1.get(1)) - .metadata(RESEARCH_TIME, 8 * HOURS) + .metadata(SCANNING, new Scanning(1 * MINUTES + 30 * SECONDS, TierEU.RECIPE_UV)) .itemInputs( GTOreDictUnificator.get(OrePrefixes.plateDense, Materials.Infinity, 16), new Object[] { OrePrefixes.circuit.get(Materials.UEV), 4 }, diff --git a/src/main/java/gregtech/loaders/postload/recipes/CentrifugeRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/CentrifugeRecipes.java index e8b349f2032..da6abe2d6cf 100644 --- a/src/main/java/gregtech/loaders/postload/recipes/CentrifugeRecipes.java +++ b/src/main/java/gregtech/loaders/postload/recipes/CentrifugeRecipes.java @@ -664,17 +664,6 @@ public void run() { .eut(5) .addTo(centrifugeRecipes); - GTValues.RA.stdBuilder() - .itemOutputs( - GTOreDictUnificator.get(OrePrefixes.dust, Materials.Naquadah, 8), - GTOreDictUnificator.get(OrePrefixes.dust, Materials.ElectrumFlux, 8)) - .outputChances(10000, 10000) - .fluidInputs(Materials.EnrichedNaquadria.getFluid(9216)) - .fluidOutputs(Materials.FluidNaquadahFuel.getFluid(4806)) - .duration(30 * SECONDS) - .eut(TierEU.RECIPE_UHV) - .addTo(centrifugeRecipes); - GTValues.RA.stdBuilder() .itemInputs(GTOreDictUnificator.get(OrePrefixes.dust, Materials.DarkAsh, 1)) .itemOutputs( diff --git a/src/main/java/gregtech/loaders/postload/recipes/ChemicalRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/ChemicalRecipes.java index f7a4c4f09a1..bb4b5bb653e 100644 --- a/src/main/java/gregtech/loaders/postload/recipes/ChemicalRecipes.java +++ b/src/main/java/gregtech/loaders/postload/recipes/ChemicalRecipes.java @@ -5603,17 +5603,6 @@ public void multiblockOnly() { .eut(TierEU.RECIPE_HV) .addTo(multiblockChemicalReactorRecipes); - GTValues.RA.stdBuilder() - .itemInputs(GTUtility.getIntegratedCircuit(24)) - .fluidInputs( - Materials.Naquadria.getMolten(4608), - Materials.ElectrumFlux.getMolten(4608), - Materials.Radon.getGas(16000)) - .fluidOutputs(Materials.EnrichedNaquadria.getFluid(9216)) - .duration(30 * SECONDS) - .eut(TierEU.RECIPE_UV) - .addTo(multiblockChemicalReactorRecipes); - // CH2O + 2C6H7N + HCl = C13H14N2(HCl) + H2O GTValues.RA.stdBuilder() diff --git a/src/main/java/gtPlusPlus/core/config/Configuration.java b/src/main/java/gtPlusPlus/core/config/Configuration.java index 45ba7df8a3b..d19d04cbf38 100644 --- a/src/main/java/gtPlusPlus/core/config/Configuration.java +++ b/src/main/java/gtPlusPlus/core/config/Configuration.java @@ -12,7 +12,6 @@ public class Configuration { public static final Debug debug = new Debug(); public static final Machines machines = new Machines(); - public static final Gregtech gregtech = new Gregtech(); public static final Features features = new Features(); public static final Visual visual = new Visual(); public static final Worldgen worldgen = new Worldgen(); @@ -49,14 +48,6 @@ public static class Machines { public int boilerSteamPerSecond; } - @Config.Comment("GregTech section") - public static class Gregtech { - - @Config.Comment("Rotors below this durability will be removed, prevents NEI clutter. Minimum Durability is N * x, where N is the new value set and x is the turbine size, where 1 is Tiny and 4 is Huge. Set to 0 to disable.") - @Config.DefaultInt(25_500) - public int turbineCutoffBase; - } - @Config.Comment("Features section") public static class Features { diff --git a/src/main/java/gtPlusPlus/core/handler/CompatIntermodStaging.java b/src/main/java/gtPlusPlus/core/handler/CompatIntermodStaging.java index 7d08318c551..47626fd0747 100644 --- a/src/main/java/gtPlusPlus/core/handler/CompatIntermodStaging.java +++ b/src/main/java/gtPlusPlus/core/handler/CompatIntermodStaging.java @@ -45,6 +45,5 @@ public static void postInit(FMLPostInitializationEvent postinit) { public static void onLoadComplete(FMLLoadCompleteEvent event) { HandlerGT.onLoadComplete(event); - RecipeRemovals.onLoadComplete(); } } diff --git a/src/main/java/gtPlusPlus/core/material/nuclear/MaterialsNuclides.java b/src/main/java/gtPlusPlus/core/material/nuclear/MaterialsNuclides.java index 0e5c1592dfc..eaf031e48c7 100644 --- a/src/main/java/gtPlusPlus/core/material/nuclear/MaterialsNuclides.java +++ b/src/main/java/gtPlusPlus/core/material/nuclear/MaterialsNuclides.java @@ -267,48 +267,6 @@ public final class MaterialsNuclides { new MaterialStack(MaterialsFluorides.URANIUM_HEXAFLUORIDE, 1), new MaterialStack(MaterialsElements.getInstance().FLUORINE, 2)); - // Secondary material is molten metal - public static final Material NAQ_FUEL_T1 = new Material( - "Naquadah Fuel", - MaterialState.PURE_LIQUID, // State - null, // Material Colour - -1, // Melting Point in C - -1, // Boiling Point in C - -1, // Protons - -1, - false, // Uses Blast furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack(MaterialsElements.getInstance().NAQUADAH, 2), - new MaterialStack(MaterialsElements.getInstance().TANTALUM, 3)); - - // Secondary material is a plasma - public static final Material NAQ_FUEL_T2 = new Material( - "Enriched Naquadah Fuel", - MaterialState.PURE_LIQUID, // State - null, // Material Colour - -1, // Melting Point in C - -1, // Boiling Point in C - -1, // Protons - -1, - false, // Uses Blast furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack(MaterialsElements.getInstance().NAQUADAH_ENRICHED, 2), - new MaterialStack(MaterialsElements.getInstance().TITANIUM, 3)); - - // Secondary material is a plasma - public static final Material NAQ_FUEL_T3 = new Material( - "Naquadria Fuel", - MaterialState.PURE_LIQUID, // State - null, // Material Colour - -1, // Melting Point in C - -1, // Boiling Point in C - -1, // Protons - -1, - false, // Uses Blast furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack(MaterialsElements.getInstance().NAQUADRIA, 2), - new MaterialStack(MaterialsElements.getInstance().AMERICIUM, 3)); - private static final MaterialsNuclides INSTANCE = new MaterialsNuclides(); public static MaterialsNuclides getInstance() { diff --git a/src/main/java/gtPlusPlus/core/recipe/RecipesGeneral.java b/src/main/java/gtPlusPlus/core/recipe/RecipesGeneral.java index 7d6e0bf22ca..18470881f96 100644 --- a/src/main/java/gtPlusPlus/core/recipe/RecipesGeneral.java +++ b/src/main/java/gtPlusPlus/core/recipe/RecipesGeneral.java @@ -463,18 +463,6 @@ private static void migratedRecipes() { MaterialsAlloy.MARAGING250.getPlate(1), GregtechItemList.Hatch_Input_Pyrotheum.get(1L)); - RecipeUtils.addShapedGregtechRecipe( - CI.component_Plate[8], - MaterialsAlloy.PIKYONIUM.getGear(1), - CI.component_Plate[9], - CI.getTieredCircuitOreDictName(7), - GregtechItemList.Casing_Naq_Reactor_A.get(1), - CI.getTieredCircuitOreDictName(7), - CI.component_Plate[9], - ItemList.Hatch_Input_ZPM.get(1), - CI.component_Plate[8], - GregtechItemList.Hatch_Input_Naquadah.get(1L)); - if (GTMod.gregtechproxy.mPollution) { GTModHandler.addCraftingRecipe( GregtechItemList.Hatch_Muffler_Adv_LV.get(1L), diff --git a/src/main/java/gtPlusPlus/core/recipe/RecipesGregTech.java b/src/main/java/gtPlusPlus/core/recipe/RecipesGregTech.java index 9705b68da92..b6bd8ba0e35 100644 --- a/src/main/java/gtPlusPlus/core/recipe/RecipesGregTech.java +++ b/src/main/java/gtPlusPlus/core/recipe/RecipesGregTech.java @@ -35,7 +35,7 @@ import static gregtech.api.util.GTRecipeConstants.FUEL_VALUE; import static gregtech.api.util.GTRecipeConstants.FUSION_THRESHOLD; import static gregtech.api.util.GTRecipeConstants.RESEARCH_ITEM; -import static gregtech.api.util.GTRecipeConstants.RESEARCH_TIME; +import static gregtech.api.util.GTRecipeConstants.SCANNING; import static gregtech.api.util.GTRecipeConstants.UniversalChemical; import static gtPlusPlus.api.recipe.GTPPRecipeMaps.alloyBlastSmelterRecipes; import static gtPlusPlus.api.recipe.GTPPRecipeMaps.chemicalDehydratorRecipes; @@ -67,6 +67,7 @@ import gregtech.api.util.GTOreDictUnificator; import gregtech.api.util.GTRecipeConstants; import gregtech.api.util.GTUtility; +import gregtech.api.util.recipe.Scanning; import gtPlusPlus.api.objects.Logger; import gtPlusPlus.core.block.ModBlocks; import gtPlusPlus.core.item.ModItems; @@ -329,7 +330,7 @@ private static void assemblyLineRecipes() { .metadata( RESEARCH_ITEM, ItemDummyResearch.getResearchStack(ASSEMBLY_LINE_RESEARCH.RESEARCH_1_CONTAINMENT, 1)) - .metadata(RESEARCH_TIME, 30 * MINUTES) + .metadata(SCANNING, new Scanning(50 * SECONDS, TierEU.RECIPE_IV)) .itemInputs( ItemList.Field_Generator_IV.get(32), ItemList.Electric_Motor_EV.get(64), @@ -360,7 +361,7 @@ private static void assemblyLineRecipes() { .metadata( RESEARCH_ITEM, ItemDummyResearch.getResearchStack(ASSEMBLY_LINE_RESEARCH.RESEARCH_8_TURBINE_AUTOMATION, 1)) - .metadata(RESEARCH_TIME, 24 * HOURS) + .metadata(SCANNING, new Scanning(1 * MINUTES, TierEU.RECIPE_ZPM)) .itemInputs( CI.getTieredMachineHull(8, 4), CI.getConveyor(8, 24), @@ -401,7 +402,7 @@ private static void assemblyLineRecipes() { for (int j = 6; j < 10; j++) { RA.stdBuilder() .metadata(RESEARCH_ITEM, aResearch[aCasingSlot]) - .metadata(RESEARCH_TIME, 1 * HOURS) + .metadata(SCANNING, new Scanning(50 * SECONDS, GTValues.VP[aCasingSlot + 5])) .itemInputs( CI.getTieredComponent(OrePrefixes.plate, j - 1, 16), CI.getTieredComponent(OrePrefixes.cableGt08, j + 1, 32), @@ -432,7 +433,7 @@ private static void assemblyLineRecipes() { for (int j = 6; j < 10; j++) { RA.stdBuilder() .metadata(RESEARCH_ITEM, aExoticInputs[aCasingSlot]) - .metadata(RESEARCH_TIME, 5 * HOURS) + .metadata(SCANNING, new Scanning(1 * MINUTES, GTValues.VP[aCasingSlot + 7])) .itemInputs( aGemCasings[aCasingSlot], ItemUtils.getSimpleStack(aExoticInputs[aCasingSlot], 16), @@ -456,7 +457,7 @@ private static void assemblyLineRecipes() { // Nano Healer RA.stdBuilder() .metadata(RESEARCH_ITEM, ItemUtils.simpleMetaStack(Items.golden_apple, 1, 1)) - .metadata(RESEARCH_TIME, 10 * MINUTES) + .metadata(SCANNING, new Scanning(2 * MINUTES, TierEU.RECIPE_LuV)) .itemInputs( ItemUtils.getSimpleStack(aGemCasings[2], 4), CI.getTieredComponent(OrePrefixes.plate, 8, 32), @@ -491,10 +492,10 @@ private static void assemblyLineRecipes() { ItemUtils.getSimpleStack(ModItems.itemChargePack_High_4, 1), }; int aCurrSlot = 0; - for (int h = 6; h < 10; h++) { + for (int h = 6; h < 9; h++) { RA.stdBuilder() .metadata(RESEARCH_ITEM, aChargeResearch[aCurrSlot]) - .metadata(RESEARCH_TIME, 10 * (aCurrSlot + 1) * MINUTES) + .metadata(SCANNING, new Scanning(30 * SECONDS, GTValues.VP[aCurrSlot + 5])) .itemInputs( ItemUtils.getSimpleStack(aGemBatteries[aCurrSlot], 2), aCoilWire[aCurrSlot], @@ -517,12 +518,34 @@ private static void assemblyLineRecipes() { aCurrSlot++; } + RA.stdBuilder() + .metadata(RESEARCH_ITEM, aChargeResearch[aCurrSlot]) + .metadata(SCANNING, new Scanning(30 * SECONDS, GTValues.VP[aCurrSlot + 5])) + .itemInputs( + ItemUtils.getSimpleStack(aGemBatteries[aCurrSlot], 2), + aCoilWire[aCurrSlot], + CI.getTieredComponent(OrePrefixes.plate, 9, 8), + new Object[] { CI.getTieredCircuitOreDictName(9), 4 }, + new Object[] { CI.getTieredCircuitOreDictName(8), 8 }, + CI.getTieredComponent(OrePrefixes.cableGt12, 8, 16), + CI.getTieredComponent(OrePrefixes.screw, 9, 16), + CI.getTieredComponent(OrePrefixes.bolt, 7, 32), + CI.getFieldGenerator(8, 1)) + .fluidInputs( + CI.getTieredFluid(9, 144 * 4 * 8), + CI.getTertiaryTieredFluid(8, 144 * 4 * 8 * 2), + CI.getAlternativeTieredFluid(7, 144 * 4 * 8)) + .itemOutputs(aChargeOutputs[aCurrSlot]) + .eut(GTValues.VP[9]) + .duration((aCurrSlot + 1) * HOURS) + .addTo(AssemblyLine); + // Cloaking device RA.stdBuilder() .metadata( RESEARCH_ITEM, ItemDummyResearch.getResearchStack(ASSEMBLY_LINE_RESEARCH.RESEARCH_9_CLOAKING, 1)) - .metadata(RESEARCH_TIME, 10 * MINUTES) + .metadata(SCANNING, new Scanning(1 * MINUTES + 40 * SECONDS, TierEU.RECIPE_ZPM)) .itemInputs( ItemUtils.getSimpleStack(aGemCasings[3], 4), CI.getTieredComponent(OrePrefixes.plate, 8, 32), @@ -544,9 +567,10 @@ private static void assemblyLineRecipes() { .addTo(AssemblyLine); } + // Mega Alloy Blast Smelter RA.stdBuilder() .metadata(RESEARCH_ITEM, GregtechItemList.Industrial_AlloyBlastSmelter.get(1, new Object() {})) - .metadata(RESEARCH_TIME, 30 * MINUTES) + .metadata(SCANNING, new Scanning(2 * MINUTES + 20 * SECONDS, TierEU.RECIPE_ZPM)) .itemInputs( GregtechItemList.Industrial_AlloyBlastSmelter.get(64L, new Object() {}), GregtechItemList.Industrial_AlloyBlastSmelter.get(64L, new Object() {}), @@ -571,7 +595,7 @@ private static void assemblyLineRecipes() { // Expandable Hand Pump RA.stdBuilder() .metadata(RESEARCH_ITEM, ItemUtils.simpleMetaStack(ModItems.itemGenericToken, 4, 1)) - .metadata(RESEARCH_TIME, 30 * MINUTES) + .metadata(SCANNING, new Scanning(1 * MINUTES + 30 * SECONDS, TierEU.RECIPE_IV)) .itemInputs( ItemList.Electric_Pump_LuV.get(4), ItemList.Electric_Motor_LuV.get(4), diff --git a/src/main/java/gtPlusPlus/core/recipe/RecipesMachines.java b/src/main/java/gtPlusPlus/core/recipe/RecipesMachines.java index 81485d01760..ec1713b62a0 100644 --- a/src/main/java/gtPlusPlus/core/recipe/RecipesMachines.java +++ b/src/main/java/gtPlusPlus/core/recipe/RecipesMachines.java @@ -16,7 +16,7 @@ import static gregtech.api.util.GTRecipeConstants.AssemblyLine; import static gregtech.api.util.GTRecipeConstants.CHEMPLANT_CASING_TIER; import static gregtech.api.util.GTRecipeConstants.RESEARCH_ITEM; -import static gregtech.api.util.GTRecipeConstants.RESEARCH_TIME; +import static gregtech.api.util.GTRecipeConstants.SCANNING; import static gtPlusPlus.api.recipe.GTPPRecipeMaps.chemicalPlantRecipes; import java.util.List; @@ -42,6 +42,7 @@ import gregtech.api.util.GTModHandler; import gregtech.api.util.GTOreDictUnificator; import gregtech.api.util.GTUtility; +import gregtech.api.util.recipe.Scanning; import gtPlusPlus.api.objects.Logger; import gtPlusPlus.core.block.ModBlocks; import gtPlusPlus.core.item.ModItems; @@ -349,11 +350,12 @@ private static void multiMolecularTransformer() { .eut(TierEU.RECIPE_IV) .addTo(assemblerRecipes); + // Molecular Transformer GTValues.RA.stdBuilder() .metadata( RESEARCH_ITEM, ItemDummyResearch.getResearchStack(ASSEMBLY_LINE_RESEARCH.RESEARCH_11_MOLECULAR_TRANSFORMER, 1)) - .metadata(RESEARCH_TIME, 30 * MINUTES) + .metadata(SCANNING, new Scanning(50 * SECONDS, TierEU.RECIPE_IV)) .itemInputs( MaterialsAlloy.HG1223.getFineWire(64), MaterialsAlloy.HG1223.getFineWire(64), @@ -641,9 +643,10 @@ private static void multiSolarTower() { private static void multiElementalDuplicator() { + // Elemental Duplicator GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, ItemList.Machine_IV_Replicator.get(1)) - .metadata(RESEARCH_TIME, 12 * HOURS) + .metadata(SCANNING, new Scanning(2 * MINUTES + 30 * SECONDS, TierEU.RECIPE_LuV)) .itemInputs( CI.getTieredMachineHull(7, 4), CI.getFieldGenerator(5, 16), @@ -667,9 +670,10 @@ private static void multiElementalDuplicator() { .duration(10 * MINUTES) .addTo(AssemblyLine); + // Data Orb Repository GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, GregtechItemList.Modulator_III.get(1)) - .metadata(RESEARCH_TIME, 4 * HOURS) + .metadata(SCANNING, new Scanning(1 * MINUTES + 30 * SECONDS, TierEU.RECIPE_LuV)) .itemInputs( CI.getTieredGTPPMachineCasing(7, 2), CI.getFieldGenerator(4, 4), @@ -690,9 +694,10 @@ private static void multiElementalDuplicator() { .duration(2 * HOURS) .addTo(AssemblyLine); + // Elemental Confinement Shell GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, GregtechItemList.ResonanceChamber_III.get(1)) - .metadata(RESEARCH_TIME, 2 * HOURS) + .metadata(SCANNING, new Scanning(1 * MINUTES + 30 * SECONDS, TierEU.RECIPE_LuV)) .itemInputs( CI.getTieredMachineHull(6, 5), CI.getFieldGenerator(3, 16), @@ -3040,7 +3045,7 @@ private static void milling() { // Isa Mill Controller GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, ItemList.Machine_IV_Macerator.get(1)) - .metadata(RESEARCH_TIME, 20 * MINUTES) + .metadata(SCANNING, new Scanning(40 * SECONDS, TierEU.RECIPE_IV)) .itemInputs( GregtechItemList.Casing_IsaMill_Gearbox.get(4), CI.getTieredGTPPMachineCasing(6, 4), @@ -3110,7 +3115,7 @@ private static void milling() { // Flotation Cell Controller GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, ItemList.Distillation_Tower.get(1)) - .metadata(RESEARCH_TIME, 20 * MINUTES) + .metadata(SCANNING, new Scanning(40 * SECONDS, TierEU.RECIPE_IV)) .itemInputs( GregtechItemList.Casing_Flotation_Cell.get(4), CI.getTieredGTPPMachineCasing(5, 4), @@ -3183,7 +3188,7 @@ private static void sparging() { // Sparge Tower Controller GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, ItemDummyResearch.getResearchStack(ASSEMBLY_LINE_RESEARCH.RESEARCH_10_SPARGING, 1)) - .metadata(RESEARCH_TIME, 20 * MINUTES) + .metadata(SCANNING, new Scanning(1 * MINUTES + 20 * SECONDS, TierEU.RECIPE_IV)) .itemInputs( GregtechItemList.Casing_Sparge_Tower_Exterior.get(4), CI.getTieredGTPPMachineCasing(4, 4), diff --git a/src/main/java/gtPlusPlus/recipes/RecipeRemovals.java b/src/main/java/gtPlusPlus/recipes/RecipeRemovals.java index 1a5ea35070f..cb66bb2ed8f 100644 --- a/src/main/java/gtPlusPlus/recipes/RecipeRemovals.java +++ b/src/main/java/gtPlusPlus/recipes/RecipeRemovals.java @@ -1,23 +1,7 @@ package gtPlusPlus.recipes; -import static gtPlusPlus.core.util.minecraft.MaterialUtils.getMaterialName; - -import java.util.Collection; - -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; - -import org.apache.commons.lang3.ArrayUtils; - import advsolar.common.AdvancedSolarPanel; -import gregtech.api.enums.Materials; import gregtech.api.enums.Mods; -import gregtech.api.items.MetaGeneratedTool; -import gregtech.api.recipe.RecipeMaps; -import gregtech.api.util.GTRecipe; -import gregtech.common.items.MetaGeneratedTool01; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.core.config.Configuration; import gtPlusPlus.core.util.minecraft.ItemUtils; import gtPlusPlus.core.util.minecraft.RecipeUtils; @@ -28,80 +12,4 @@ public static void postInit() { RecipeUtils.removeRecipeByOutput(ItemUtils.getSimpleStack(AdvancedSolarPanel.blockMolecularTransformer)); } } - - public static void onLoadComplete() { - removeCrudeTurbineRotors(); - } - - // Doesn't actually remove recipes, just hide them - private static void removeCrudeTurbineRotors() { - int aRemoved = 0; - int CUT = Configuration.gregtech.turbineCutoffBase; - Item aU; - Collection aAssRecipes = RecipeMaps.assemblerRecipes.getAllRecipes(); - // 170, 172, 174, 176 - if (!aAssRecipes.isEmpty()) { - for (GTRecipe aG : aAssRecipes) { - if (ArrayUtils.isNotEmpty(aG.mOutputs)) { - for (ItemStack aI : aG.mOutputs) { - if (aI == null) { - continue; - } - aU = aI.getItem(); - if (aU == null) { - continue; - } - if (aU instanceof MetaGeneratedTool01) { - int aMeta = aI.getItemDamage(); - // Found a Turbine - if (aMeta >= 170 && aMeta <= 176) { - int aCutoff; - String aType; - switch (aMeta) { - case 170 -> { - aCutoff = CUT; - aType = "Small "; - } - case 172 -> { - aCutoff = 2 * CUT; - aType = ""; - } - case 174 -> { - aCutoff = 3 * CUT; - aType = "Large "; - } - default -> { // 176 - aCutoff = 4 * CUT; - aType = "Huge "; - } - } - Materials aMainMaterial = MetaGeneratedTool.getPrimaryMaterial(aI); - Materials aSecondaryMaterial = MetaGeneratedTool.getSecondaryMaterial(aI); - long rotorDurabilityMax = MetaGeneratedTool.getToolMaxDamage(aI); - if (rotorDurabilityMax < aCutoff) { - Logger.WARNING( - "[Turbine Cleanup] " + getMaterialName(aMainMaterial) - + " " - + aType - + "Turbines have " - + rotorDurabilityMax - + ", which is below the cutoff durability of " - + aCutoff - + ", disabling."); - aG.mEnabled = false; - aG.mHidden = true; - aG.mCanBeBuffered = false; - aRemoved++; - } else { - break; - } - } - } - } - } - } - } - - Logger.INFO("Removed " + aRemoved + " useless Turbines."); - } } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/api/enums/GregtechItemList.java b/src/main/java/gtPlusPlus/xmod/gregtech/api/enums/GregtechItemList.java index 1ed9a735594..92b173a7e84 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/api/enums/GregtechItemList.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/api/enums/GregtechItemList.java @@ -370,11 +370,7 @@ public enum GregtechItemList implements IGregtechItemContainer { // large mixer Industrial_Mixer, - // Naq Reactor - Casing_Naq_Reactor_A, - Casing_Naq_Reactor_B, - Casing_Naq_Reactor_C, - /* Controller_Naq_Reactor, */ + // Containment Casing Casing_Containment, // Arc Furnace @@ -519,7 +515,6 @@ public enum GregtechItemList implements IGregtechItemContainer { // Custom Fluid Hatches Hatch_Input_Cryotheum, Hatch_Input_Pyrotheum, - Hatch_Input_Naquadah, Hatch_Input_Steam, // Steam Multi Buses diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/MTESteamMultiBase.java b/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/MTESteamMultiBase.java index a9076840858..d9235d5e1d6 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/MTESteamMultiBase.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/MTESteamMultiBase.java @@ -393,8 +393,12 @@ public void getWailaBody(ItemStack itemStack, List currentTip, IWailaDat .translateToLocalFormatted("GTPP.waila.steam.use", formatNumbers(actualEnergyUsage * 20))); } } - currentTip - .add(GTWaila.getMachineProgressString(isActive, tag.getInteger("maxProgress"), tag.getInteger("progress"))); + currentTip.add( + GTWaila.getMachineProgressString( + isActive, + tag.getBoolean("isAllowedToWork"), + tag.getInteger("maxProgress"), + tag.getInteger("progress"))); // Show ns on the tooltip if (GTMod.gregtechproxy.wailaAverageNS && tag.hasKey("averageNS")) { int tAverageTime = tag.getInteger("averageNS"); diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaCasingBlocks4.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaCasingBlocks4.java index 63b0357d1b2..421b35e9a0b 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaCasingBlocks4.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaCasingBlocks4.java @@ -25,18 +25,12 @@ public GregtechMetaCasingBlocks4() { } TAE.registerTexture(3, i, new GTPPCopiedBlockTexture(this, 6, i)); } - GTLanguageManager.addStringLocalization(this.getUnlocalizedName() + ".0.name", "Naquadah Reactor Base"); - GTLanguageManager.addStringLocalization(this.getUnlocalizedName() + ".1.name", "Reactor Piping"); - GTLanguageManager.addStringLocalization(this.getUnlocalizedName() + ".2.name", "Naquadah Containment Chamber"); GTLanguageManager.addStringLocalization(this.getUnlocalizedName() + ".3.name", "Tempered Arc Furnace Casing"); GTLanguageManager .addStringLocalization(this.getUnlocalizedName() + ".4.name", "Quantum Force Transformer Coil Casings"); GTLanguageManager.addStringLocalization(this.getUnlocalizedName() + ".10.name", "Vacuum Casing"); GTLanguageManager.addStringLocalization(this.getUnlocalizedName() + ".11.name", "Turbodyne Casing"); - GregtechItemList.Casing_Naq_Reactor_A.set(new ItemStack(this, 1, 0)); - GregtechItemList.Casing_Naq_Reactor_B.set(new ItemStack(this, 1, 1)); - GregtechItemList.Casing_Naq_Reactor_C.set(new ItemStack(this, 1, 2)); GregtechItemList.Casing_Industrial_Arc_Furnace.set(new ItemStack(this, 1, 3)); GregtechItemList.Casing_Coil_QuantumForceTransformer.set(new ItemStack(this, 1, 4)); GregtechItemList.Casing_Vacuum_Furnace.set(new ItemStack(this, 1, 10)); diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/MTEIndustrialExtruder.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/MTEIndustrialExtruder.java index 51a22386112..e20ac521088 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/MTEIndustrialExtruder.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/MTEIndustrialExtruder.java @@ -118,7 +118,7 @@ public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack a @Override protected SoundResource getProcessStartSound() { - return SoundResource.IC2_MACHINES_COMPRESSOR_OP; + return SoundResource.IC2_MACHINES_INDUCTION_LOOP; } @Override diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/MTEIsaMill.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/MTEIsaMill.java index c576feebff8..f09d57236ba 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/MTEIsaMill.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/MTEIsaMill.java @@ -24,6 +24,7 @@ import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.DamageSource; +import net.minecraft.util.StatCollector; import net.minecraft.world.World; import net.minecraft.world.chunk.Chunk; import net.minecraftforge.common.util.ForgeDirection; @@ -86,7 +87,7 @@ protected MultiblockTooltipBuilder createTooltip() { MultiblockTooltipBuilder tt = new MultiblockTooltipBuilder(); tt.addMachineType(getMachineType()) .addInfo("Grind ores.") - .addInfo("Performs perfect overclocks") + .addInfo(StatCollector.translateToLocal("GT5U.machines.perfectoc.tooltip")) .addPollutionAmount(getPollutionPerSecond(null)) .beginStructureBlock(3, 3, 7, false) .addController("Front Center") diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/MTEElementalDuplicator.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/MTEElementalDuplicator.java index e5db1f585d8..28299f937be 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/MTEElementalDuplicator.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/MTEElementalDuplicator.java @@ -18,6 +18,7 @@ import net.minecraft.block.Block; import net.minecraft.item.ItemStack; +import net.minecraft.util.StatCollector; import net.minecraftforge.common.util.ForgeDirection; import com.gtnewhorizon.structurelib.alignment.IAlignmentLimits; @@ -73,7 +74,7 @@ protected MultiblockTooltipBuilder createTooltip() { tt.addMachineType(getMachineType()) .addInfo("Produces Elemental Material from UU Matter") .addInfo("Speed: +100% | EU Usage: 100% | Parallel: 8 * Tier") - .addInfo("Performs perfect overclocks") + .addInfo(StatCollector.translateToLocal("GT5U.machines.perfectoc.tooltip")) .addInfo("Maximum 1x of each bus/hatch.") .addInfo("Requires circuit 1-16 in your Data Orb Repository") .addInfo("depending on what Data Orb you want to prioritize") diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/MTEFrothFlotationCell.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/MTEFrothFlotationCell.java index d8986bc4331..b7963b6cc94 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/MTEFrothFlotationCell.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/MTEFrothFlotationCell.java @@ -77,7 +77,7 @@ protected MultiblockTooltipBuilder createTooltip() { MultiblockTooltipBuilder tt = new MultiblockTooltipBuilder(); tt.addMachineType(getMachineType()) .addInfo("Process that milled ore!") - .addInfo("Performs perfect overclocks") + .addInfo(StatCollector.translateToLocal("GT5U.machines.perfectoc.tooltip")) .addInfo("You can only ever process one type of material per controller") .addPollutionAmount(getPollutionPerSecond(null)) .beginStructureBlock(7, 9, 7, true) diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/MTEMassFabricator.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/MTEMassFabricator.java index b71347f8cad..88a65e85b47 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/MTEMassFabricator.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/MTEMassFabricator.java @@ -106,7 +106,7 @@ protected MultiblockTooltipBuilder createTooltip() { tt.addMachineType(getMachineType()) .addInfo("Speed: +0% | EU Usage: 80%") .addInfo("Parallel: Scrap = 64 | UU = 8 * Tier") - .addInfo("Performs perfect overclocks") + .addInfo(StatCollector.translateToLocal("GT5U.machines.perfectoc.tooltip")) .addInfo("Produces UU-A, UU-M & Scrap") .addInfo("Change mode with screwdriver") .addPollutionAmount(getPollutionPerSecond(null)) diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/chemplant/MTEChemicalPlant.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/chemplant/MTEChemicalPlant.java index 41075e8d583..31d184b6b45 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/chemplant/MTEChemicalPlant.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/chemplant/MTEChemicalPlant.java @@ -148,7 +148,7 @@ protected MultiblockTooltipBuilder createTooltip() { .addOutputHatch("Bottom Casing", 1) .addEnergyHatch("Bottom Casing", 1) .addMaintenanceHatch("Bottom Casing", 1) - .addSubChannelUsage("casing", "metal machine casing") + .addSubChannelUsage("casing", "metal machine casing (minimum 70)") .addSubChannelUsage("machine", "tier machine casing") .addSubChannelUsage("coil", "heating coil blocks") .addSubChannelUsage("pipe", "pipe casing blocks") diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGenShapedCrafting.java b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGenShapedCrafting.java index 3fd856e801b..cf6dc14a8d6 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGenShapedCrafting.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGenShapedCrafting.java @@ -39,13 +39,6 @@ private void generateRecipes(final Material material) { GTModHandler.RecipeBits.DO_NOT_CHECK_FOR_COLLISIONS | GTModHandler.RecipeBits.BUFFERED, new Object[] { "h", "B", "I", 'I', material.getIngot(1), 'B', material.getIngot(1) }); - if (ItemUtils.checkForInvalidItems(material.getPlate(1)) - && ItemUtils.checkForInvalidItems(material.getIngot(1))) - GTModHandler.addShapelessCraftingRecipe( - material.getPlate(1), - new Object[] { gregtech.api.enums.ToolDictNames.craftingToolForgeHammer, material.getIngot(1), - material.getIngot(1) }); - // Double Plate Shaped/Shapeless if (ItemUtils.checkForInvalidItems(material.getPlateDouble(1)) && ItemUtils.checkForInvalidItems(material.getPlate(1))) @@ -54,13 +47,6 @@ private void generateRecipes(final Material material) { GTModHandler.RecipeBits.DO_NOT_CHECK_FOR_COLLISIONS | GTModHandler.RecipeBits.BUFFERED, new Object[] { "I", "B", "h", 'I', material.getPlate(1), 'B', material.getPlate(1) }); - if (ItemUtils.checkForInvalidItems(material.getPlateDouble(1)) - && ItemUtils.checkForInvalidItems(material.getPlate(1))) - GTModHandler.addShapelessCraftingRecipe( - material.getPlateDouble(1), - new Object[] { gregtech.api.enums.ToolDictNames.craftingToolForgeHammer, material.getPlate(1), - material.getPlate(1) }); - // Ring Recipe if (!material.isRadioactive && ItemUtils.checkForInvalidItems(material.getRing(1)) && ItemUtils.checkForInvalidItems(material.getRod(1))) { diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechCustomHatches.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechCustomHatches.java index 58d1abc73b7..e13f7d761e8 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechCustomHatches.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechCustomHatches.java @@ -10,7 +10,6 @@ import static gregtech.api.enums.MetaTileEntityIDs.Hatch_Air_Intake; import static gregtech.api.enums.MetaTileEntityIDs.Hatch_Air_Intake_Extreme; import static gregtech.api.enums.MetaTileEntityIDs.Hatch_Input_Cryotheum; -import static gregtech.api.enums.MetaTileEntityIDs.Hatch_Input_Naquadah; import static gregtech.api.enums.MetaTileEntityIDs.Hatch_Input_Pyrotheum; import static gregtech.api.enums.MetaTileEntityIDs.Hatch_Input_Steam; import static gregtech.api.enums.MetaTileEntityIDs.Hatch_Input_TurbineHousing; @@ -52,7 +51,6 @@ import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.MTEHatchAirIntakeExtreme; import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.MTEHatchChiselBus; import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.MTEHatchMufflerAdvanced; -import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.MTEHatchNaquadah; import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.MTEHatchReservoir; import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.MTEHatchSolidifier; import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.MTEHatchSuperBusInput; @@ -97,13 +95,6 @@ private static void run1() { 5 // Casing texture ).getStackForm(1L)); - GregtechItemList.Hatch_Input_Naquadah.set( - new MTEHatchNaquadah( - Hatch_Input_Naquadah.ID, // ID - "hatch.naquadah.input.tier.00", // unlocal name - "Naquadah Reactor Input hatch" // Local name - ).getStackForm(1L)); - GregtechItemList.Hatch_Input_TurbineHousing.set( new MTEHatchTurbineProvider( Hatch_Input_TurbineHousing.ID, // ID diff --git a/src/main/java/gtnhlanth/common/tileentity/MTEDigester.java b/src/main/java/gtnhlanth/common/tileentity/MTEDigester.java index fce9adffcf2..7e09587fdbf 100644 --- a/src/main/java/gtnhlanth/common/tileentity/MTEDigester.java +++ b/src/main/java/gtnhlanth/common/tileentity/MTEDigester.java @@ -20,6 +20,7 @@ import javax.annotation.Nonnull; import net.minecraft.item.ItemStack; +import net.minecraft.util.StatCollector; import net.minecraftforge.common.util.ForgeDirection; import com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructable; @@ -207,7 +208,7 @@ protected MultiblockTooltipBuilder createTooltip() { final MultiblockTooltipBuilder tt = new MultiblockTooltipBuilder(); tt.addMachineType("Digester") .addInfo("Input ores and fluid, output water.") - .addInfo("Performs perfect overclocks") + .addInfo(StatCollector.translateToLocal("GT5U.machines.perfectoc.tooltip")) .addPollutionAmount(getPollutionPerSecond(null)) .beginStructureBlock(7, 7, 4, true) .addController("Front bottom") diff --git a/src/main/java/gtnhlanth/loader/RecipeLoader.java b/src/main/java/gtnhlanth/loader/RecipeLoader.java index e26a318bc20..5adae818bd2 100644 --- a/src/main/java/gtnhlanth/loader/RecipeLoader.java +++ b/src/main/java/gtnhlanth/loader/RecipeLoader.java @@ -30,6 +30,7 @@ import static gregtech.api.util.GTRecipeConstants.AssemblyLine; import static gregtech.api.util.GTRecipeConstants.COIL_HEAT; import static gregtech.api.util.GTRecipeConstants.DISSOLUTION_TANK_RATIO; +import static gregtech.api.util.GTRecipeConstants.SCANNING; import static gregtech.api.util.GTRecipeConstants.UniversalChemical; import static gregtech.api.util.GTRecipeConstants.WaferEngravingRecipes; import static gregtech.common.items.MetaGeneratedItem01.registerCauldronCleaningFor; @@ -146,6 +147,7 @@ import gregtech.api.util.GTRecipeBuilder; import gregtech.api.util.GTRecipeConstants; import gregtech.api.util.GTUtility; +import gregtech.api.util.recipe.Scanning; import gregtech.mixin.interfaces.accessors.IRecipeMutableAccess; import gtPlusPlus.core.item.ModItems; import gtnhlanth.Tags; @@ -293,7 +295,7 @@ public static void loadAccelerator() { .fluidInputs(Materials.SolderingAlloy.getMolten(288), Materials.Lubricant.getFluid(1152)) .itemOutputs(new ItemStack(LanthItemList.COOLANT_DELIVERY_CASING)) .metadata(GTRecipeConstants.RESEARCH_ITEM, ItemList.Casing_Pipe_TungstenSteel.get(1L)) - .metadata(GTRecipeConstants.RESEARCH_TIME, 72000) + .metadata(SCANNING, new Scanning(30 * SECONDS, TierEU.RECIPE_IV)) .duration(50 * SECONDS) .eut(TierEU.RECIPE_LuV) .addTo(AssemblyLine); @@ -314,10 +316,8 @@ public static void loadAccelerator() { GTOreDictUnificator.get(OrePrefixes.wireFine, Materials.Gold, 32), GTOreDictUnificator.get(OrePrefixes.plateDense, Materials.Electrum, 6)) .itemOutputs(new ItemStack(LanthItemList.ANTENNA_CASING_T1)) - .metadata(GTRecipeConstants.RESEARCH_ITEM, Materials.Niobium.getBlocks(1)) - .metadata(GTRecipeConstants.RESEARCH_TIME, 30 * GTRecipeBuilder.MINUTES) - + .metadata(SCANNING, new Scanning(1 * MINUTES, TierEU.RECIPE_IV)) .duration(30 * GTRecipeBuilder.SECONDS) .eut(TierEU.RECIPE_LuV) .addTo(AssemblyLine); @@ -339,7 +339,7 @@ public static void loadAccelerator() { GTOreDictUnificator.get(OrePrefixes.plateDense, Materials.Electrum, 6)) .itemOutputs(new ItemStack(LanthItemList.ANTENNA_CASING_T2)) .metadata(GTRecipeConstants.RESEARCH_ITEM, new ItemStack(LanthItemList.ANTENNA_CASING_T1)) - .metadata(GTRecipeConstants.RESEARCH_TIME, 40 * GTRecipeBuilder.MINUTES) + .metadata(SCANNING, new Scanning(1 * MINUTES + 10 * SECONDS, TierEU.RECIPE_LuV)) .duration(60 * GTRecipeBuilder.SECONDS) .eut(TierEU.RECIPE_ZPM) .addTo(AssemblyLine); @@ -371,7 +371,7 @@ public static void loadAccelerator() { GTOreDictUnificator.get(OrePrefixes.wireGt01, Materials.Tungsten, 2)) .itemOutputs(new ItemStack(LanthItemList.FOCUS_MANIPULATION_CASING)) .metadata(GTRecipeConstants.RESEARCH_ITEM, new ItemStack(LanthItemList.maskMap.get(MaskList.BLANK1))) - .metadata(GTRecipeConstants.RESEARCH_TIME, 20 * GTRecipeBuilder.MINUTES) + .metadata(SCANNING, new Scanning(1 * MINUTES, TierEU.RECIPE_IV)) .duration(60 * GTRecipeBuilder.SECONDS) .eut(TierEU.RECIPE_LuV) .addTo(AssemblyLine); @@ -433,7 +433,7 @@ public static void loadAccelerator() { GTOreDictUnificator.get(OrePrefixes.wireGt01, Materials.Tungsten, 2)) .itemOutputs(new ItemStack(LanthItemList.TARGET_RECEPTACLE_CASING)) .metadata(GTRecipeConstants.RESEARCH_ITEM, ItemList.Circuit_Silicon_Wafer.get(1)) - .metadata(GTRecipeConstants.RESEARCH_TIME, 20 * GTRecipeBuilder.MINUTES) + .metadata(SCANNING, new Scanning(1 * MINUTES, TierEU.RECIPE_IV)) .duration(60 * GTRecipeBuilder.SECONDS) .eut(TierEU.RECIPE_LuV) .addTo(AssemblyLine); @@ -506,7 +506,7 @@ public static void loadAccelerator() { ) .itemOutputs(LanthItemList.LUV_BEAMLINE_INPUT_HATCH) .metadata(GTRecipeConstants.RESEARCH_ITEM, ItemList.Hatch_Input_LuV.get(1)) - .metadata(GTRecipeConstants.RESEARCH_TIME, 30 * GTRecipeBuilder.MINUTES) + .metadata(SCANNING, new Scanning(1 * MINUTES + 20 * SECONDS, TierEU.RECIPE_IV)) .duration(2 * GTRecipeBuilder.MINUTES) .eut(TierEU.RECIPE_LuV) .addTo(AssemblyLine); @@ -532,7 +532,7 @@ public static void loadAccelerator() { ) .itemOutputs(LanthItemList.LUV_BEAMLINE_OUTPUT_HATCH) .metadata(GTRecipeConstants.RESEARCH_ITEM, ItemList.Hatch_Output_LuV.get(1)) - .metadata(GTRecipeConstants.RESEARCH_TIME, 40 * GTRecipeBuilder.MINUTES) + .metadata(SCANNING, new Scanning(1 * MINUTES + 20 * SECONDS, TierEU.RECIPE_IV)) .duration(4 * GTRecipeBuilder.MINUTES) .eut(TierEU.RECIPE_LuV) .addTo(AssemblyLine); diff --git a/src/main/java/kekztech/common/recipeLoaders/AssemblyLine.java b/src/main/java/kekztech/common/recipeLoaders/AssemblyLine.java index f189f23add9..23db117d2b6 100644 --- a/src/main/java/kekztech/common/recipeLoaders/AssemblyLine.java +++ b/src/main/java/kekztech/common/recipeLoaders/AssemblyLine.java @@ -5,12 +5,11 @@ import static gregtech.api.enums.Mods.EternalSingularity; import static gregtech.api.enums.Mods.NewHorizonsCoreMod; import static gregtech.api.enums.Mods.UniversalSingularities; -import static gregtech.api.util.GTRecipeBuilder.HOURS; import static gregtech.api.util.GTRecipeBuilder.MINUTES; import static gregtech.api.util.GTRecipeBuilder.SECONDS; import static gregtech.api.util.GTRecipeConstants.AssemblyLine; import static gregtech.api.util.GTRecipeConstants.RESEARCH_ITEM; -import static gregtech.api.util.GTRecipeConstants.RESEARCH_TIME; +import static gregtech.api.util.GTRecipeConstants.SCANNING; import static gtPlusPlus.core.material.MaterialsElements.STANDALONE.HYPOGEN; import net.minecraft.item.ItemStack; @@ -26,6 +25,7 @@ import gregtech.api.enums.TierEU; import gregtech.api.util.GTModHandler; import gregtech.api.util.GTOreDictUnificator; +import gregtech.api.util.recipe.Scanning; import kekztech.common.Blocks; public class AssemblyLine implements Runnable { @@ -43,7 +43,7 @@ public void run() { // TFFTStorageField6 GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, new ItemStack(Blocks.tfftStorageField, 1, 5)) - .metadata(RESEARCH_TIME, 1 * HOURS + 6 * MINUTES + 40 * SECONDS) + .metadata(SCANNING, new Scanning(1 * MINUTES + 30 * SECONDS, TierEU.RECIPE_IV)) .itemInputs( ItemList.Casing_Tank_7.get(4), GTOreDictUnificator.get(OrePrefixes.plateQuadruple, Materials.CrystallinePinkSlime, 6), @@ -62,7 +62,7 @@ public void run() { // TFFTStorageField7 GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, new ItemStack(Blocks.tfftStorageField, 1, 6)) - .metadata(RESEARCH_TIME, 1 * HOURS + 6 * MINUTES + 40 * SECONDS) + .metadata(SCANNING, new Scanning(1 * MINUTES + 30 * SECONDS, TierEU.RECIPE_ZPM)) .itemInputs( ItemList.Casing_Tank_10.get(16), GTOreDictUnificator.get(OrePrefixes.plateQuadruple, Materials.MelodicAlloy, 6), @@ -82,7 +82,7 @@ public void run() { // TFFTStorageField8 GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, new ItemStack(Blocks.tfftStorageField, 1, 7)) - .metadata(RESEARCH_TIME, 2 * HOURS + 40 * MINUTES) + .metadata(SCANNING, new Scanning(1 * MINUTES + 30 * SECONDS, TierEU.RECIPE_ZPM)) .itemInputs( ItemList.Quantum_Tank_IV.get(1), ItemList.Machine_Multi_NeutroniumCompressor.get(1), @@ -101,9 +101,10 @@ public void run() { .eut(TierEU.RECIPE_UEV) .addTo(AssemblyLine); + // TFFTStorageField9 GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, new ItemStack(Blocks.tfftStorageField, 1, 8)) - .metadata(RESEARCH_TIME, 2 * HOURS + 13 * MINUTES + 20 * SECONDS) + .metadata(SCANNING, new Scanning(1 * MINUTES + 30 * SECONDS, TierEU.RECIPE_UHV)) .itemInputs( ItemList.Quantum_Tank_IV.get(4), ItemList.Machine_Multi_NeutroniumCompressor.get(2), @@ -125,7 +126,7 @@ public void run() { // TFFTStorageField10 GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, new ItemStack(Blocks.tfftStorageField, 1, 9)) - .metadata(RESEARCH_TIME, 2 * HOURS + 46 * MINUTES + 40 * SECONDS) + .metadata(SCANNING, new Scanning(1 * MINUTES + 30 * SECONDS, TierEU.RECIPE_UIV)) .itemInputs( ItemList.Quantum_Tank_IV.get(16), ItemList.Machine_Multi_NeutroniumCompressor.get(4), @@ -149,7 +150,7 @@ public void run() { // LuV Capacitor GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 1)) - .metadata(RESEARCH_TIME, 4 * HOURS) + .metadata(SCANNING, new Scanning(40 * SECONDS, TierEU.RECIPE_IV)) .itemInputs( GTOreDictUnificator.get(OrePrefixes.frameGt, Materials.Osmiridium, 4), GTOreDictUnificator.get(OrePrefixes.screw, Materials.Osmiridium, 24), @@ -173,7 +174,7 @@ public void run() { // ZPM Capacitor GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 2)) - .metadata(RESEARCH_TIME, 4 * HOURS) + .metadata(SCANNING, new Scanning(40 * SECONDS, TierEU.RECIPE_LuV)) .itemInputs( GTOreDictUnificator.get(OrePrefixes.frameGt, Materials.NaquadahAlloy, 4), GTOreDictUnificator.get(OrePrefixes.screw, Materials.NaquadahAlloy, 24), @@ -199,7 +200,7 @@ public void run() { // UV Capacitor GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 3)) - .metadata(RESEARCH_TIME, 4 * HOURS) + .metadata(SCANNING, new Scanning(40 * SECONDS, TierEU.RECIPE_ZPM)) .itemInputs( GTOreDictUnificator.get(OrePrefixes.frameGt, Materials.Neutronium, 4), GTOreDictUnificator.get(OrePrefixes.screw, Materials.Neutronium, 24), diff --git a/src/main/java/kubatech/loaders/RecipeLoader.java b/src/main/java/kubatech/loaders/RecipeLoader.java index cf6a598c5e6..57b2eccda17 100644 --- a/src/main/java/kubatech/loaders/RecipeLoader.java +++ b/src/main/java/kubatech/loaders/RecipeLoader.java @@ -41,7 +41,7 @@ import static gregtech.api.util.GTRecipeBuilder.TICKS; import static gregtech.api.util.GTRecipeConstants.AssemblyLine; import static gregtech.api.util.GTRecipeConstants.RESEARCH_ITEM; -import static gregtech.api.util.GTRecipeConstants.RESEARCH_TIME; +import static gregtech.api.util.GTRecipeConstants.SCANNING; import static gregtech.api.util.GTRecipeConstants.UniversalChemical; import static gtPlusPlus.api.recipe.GTPPRecipeMaps.chemicalDehydratorRecipes; import static kubatech.api.enums.ItemList.BlackTea; @@ -88,6 +88,7 @@ import gregtech.api.enums.TierEU; import gregtech.api.util.GTModHandler; import gregtech.api.util.GTUtility; +import gregtech.api.util.recipe.Scanning; import ic2.core.Ic2Items; import kubatech.api.enums.ItemList; import kubatech.tileentity.gregtech.multiblock.MTEDEFusionCrafter; @@ -145,9 +146,10 @@ public static void addRecipes() { } if (Forestry.isModLoaded()) { + // Industrial Apicultural Acclimatiser and Drone Domestication Station GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, gregtech.api.enums.ItemList.Machine_IndustrialApiary.get(1)) - .metadata(RESEARCH_TIME, 8 * MINUTES + 20 * SECONDS) + .metadata(SCANNING, new Scanning(2 * MINUTES + 50 * SECONDS, TierEU.RECIPE_ZPM)) .itemInputs( gregtech.api.enums.ItemList.Machine_IndustrialApiary.get(64L), gregtech.api.enums.ItemList.IndustrialApiary_Upgrade_Acceleration_8_Upgraded.get(64L), @@ -333,9 +335,10 @@ private static void RegisterTeaLine() { GameRegistry.addSmelting(YellowTeaLeaf.get(1), YellowTea.get(1), 10); } if (Avaritia.isModLoaded() && NewHorizonsCoreMod.isModLoaded()) { + // Tea Acceptor GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, TeaAcceptorResearchNote.get(1)) - .metadata(RESEARCH_TIME, 8 * MINUTES + 20 * SECONDS) + .metadata(SCANNING, new Scanning(1 * MINUTES + 40 * SECONDS, TierEU.RECIPE_UV)) .itemInputs( LegendaryUltimateTea.get(0), gregtech.api.enums.ItemList.Machine_Multi_NeutroniumCompressor.get(1), diff --git a/src/main/java/tectech/loader/recipe/AssemblyLine.java b/src/main/java/tectech/loader/recipe/AssemblyLine.java index 3850025927b..28f4b50cfea 100644 --- a/src/main/java/tectech/loader/recipe/AssemblyLine.java +++ b/src/main/java/tectech/loader/recipe/AssemblyLine.java @@ -1,11 +1,10 @@ package tectech.loader.recipe; -import static gregtech.api.util.GTRecipeBuilder.HOURS; import static gregtech.api.util.GTRecipeBuilder.MINUTES; import static gregtech.api.util.GTRecipeBuilder.SECONDS; import static gregtech.api.util.GTRecipeConstants.AssemblyLine; import static gregtech.api.util.GTRecipeConstants.RESEARCH_ITEM; -import static gregtech.api.util.GTRecipeConstants.RESEARCH_TIME; +import static gregtech.api.util.GTRecipeConstants.SCANNING; import net.minecraft.item.ItemStack; import net.minecraftforge.fluids.FluidRegistry; @@ -15,7 +14,9 @@ import gregtech.api.enums.ItemList; import gregtech.api.enums.Materials; import gregtech.api.enums.OrePrefixes; +import gregtech.api.enums.TierEU; import gregtech.api.util.GTOreDictUnificator; +import gregtech.api.util.recipe.Scanning; import tectech.thing.CustomItemList; public class AssemblyLine implements Runnable { @@ -25,7 +26,7 @@ public void run() { // Data Bank GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, ItemList.Hatch_DataAccess_EV.get(1)) - .metadata(RESEARCH_TIME, 16 * MINUTES + 20 * SECONDS) + .metadata(SCANNING, new Scanning(1 * MINUTES + 30 * SECONDS, TierEU.RECIPE_LuV)) .itemInputs( CustomItemList.Machine_Multi_Switch.get(1), new Object[] { OrePrefixes.circuit.get(Materials.LuV), 2 }, @@ -40,7 +41,7 @@ public void run() { // Hollow Casing GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, CustomItemList.eM_Containment.get(1)) - .metadata(RESEARCH_TIME, 6 * MINUTES + 15 * SECONDS) + .metadata(SCANNING, new Scanning(50 * SECONDS, TierEU.RECIPE_LuV)) .itemInputs( CustomItemList.eM_Containment.get(1), GTOreDictUnificator.get(OrePrefixes.plateDense, Materials.Europium, 2), @@ -63,7 +64,7 @@ public void run() { // EM Coil GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, CustomItemList.eM_Hollow.get(1)) - .metadata(RESEARCH_TIME, 6 * MINUTES + 15 * SECONDS) + .metadata(SCANNING, new Scanning(50 * SECONDS, TierEU.RECIPE_LuV)) .itemInputs( CustomItemList.eM_Hollow.get(1), ItemList.Casing_Fusion_Coil.get(2), @@ -84,7 +85,7 @@ public void run() { // Object Holder GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, ItemList.Hatch_Input_Bus_ZPM.get(1)) - .metadata(RESEARCH_TIME, 8 * MINUTES + 20 * SECONDS) + .metadata(SCANNING, new Scanning(1 * MINUTES + 20 * SECONDS, TierEU.RECIPE_LuV)) .itemInputs( ItemList.Hatch_Input_Bus_ZPM.get(1), CustomItemList.eM_Computer_Bus.get(1), @@ -107,7 +108,7 @@ public void run() { // Quantum Computer GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, ItemList.Tool_DataOrb.get(1)) - .metadata(RESEARCH_TIME, 16 * MINUTES + 40 * SECONDS) + .metadata(SCANNING, new Scanning(2 * MINUTES, TierEU.RECIPE_LuV)) .itemInputs( CustomItemList.Machine_Multi_Switch.get(1), new Object[] { OrePrefixes.circuit.get(Materials.UV), 2 }, @@ -130,7 +131,7 @@ public void run() { // Research Station GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, ItemList.ScannerZPM.get(1)) - .metadata(RESEARCH_TIME, 1 * HOURS + 6 * MINUTES + 40 * SECONDS) + .metadata(SCANNING, new Scanning(1 * MINUTES + 30 * SECONDS, TierEU.RECIPE_LuV)) .itemInputs( CustomItemList.Machine_Multi_Switch.get(1), ItemList.Sensor_ZPM.get(8), @@ -153,7 +154,7 @@ public void run() { // Multi Infuser GTValues.RA.stdBuilder() .metadata(RESEARCH_ITEM, CustomItemList.Machine_Multi_Transformer.get(1)) - .metadata(RESEARCH_TIME, 6 * MINUTES + 15 * SECONDS) + .metadata(SCANNING, new Scanning(1 * MINUTES, TierEU.RECIPE_LuV)) .itemInputs( CustomItemList.Machine_Multi_Transformer.get(1), CustomItemList.eM_Coil.get(8), diff --git a/src/main/java/tectech/recipe/TTRecipeAdder.java b/src/main/java/tectech/recipe/TTRecipeAdder.java index 2e3d2336953..07eef7bd158 100644 --- a/src/main/java/tectech/recipe/TTRecipeAdder.java +++ b/src/main/java/tectech/recipe/TTRecipeAdder.java @@ -56,6 +56,7 @@ public static boolean addResearchableAssemblylineRecipe(ItemStack aResearchItem, GTRecipe.RecipeAssemblyLine recipeGT = new GTRecipe.RecipeAssemblyLine( CustomItemList.UnusedStuff.get(1), totalComputationRequired / computationRequiredPerSec, + 0, aInputs, aFluidInputs, aOutput, @@ -64,6 +65,7 @@ public static boolean addResearchableAssemblylineRecipe(ItemStack aResearchItem, RecipeAssemblyLine recipeTT = new GTRecipe.RecipeAssemblyLine( aResearchItem, totalComputationRequired / computationRequiredPerSec, + 0, aInputs, aFluidInputs, aOutput, @@ -192,6 +194,7 @@ public static boolean addResearchableAssemblylineRecipe(ItemStack aResearchItem, GTRecipe.RecipeAssemblyLine recipeGT = new GTRecipe.RecipeAssemblyLine( CustomItemList.UnusedStuff.get(1), totalComputationRequired / computationRequiredPerSec, + 0, tInputs, aFluidInputs, aOutput, @@ -203,6 +206,7 @@ public static boolean addResearchableAssemblylineRecipe(ItemStack aResearchItem, GTRecipe.RecipeAssemblyLine recipeTT = new GTRecipe.RecipeAssemblyLine( aResearchItem, totalComputationRequired / computationRequiredPerSec, + 0, tInputs, aFluidInputs, aOutput, diff --git a/src/main/java/tectech/thing/item/ItemParametrizerMemoryCard.java b/src/main/java/tectech/thing/item/ItemParametrizerMemoryCard.java index 5039871764f..3ba18d07d32 100644 --- a/src/main/java/tectech/thing/item/ItemParametrizerMemoryCard.java +++ b/src/main/java/tectech/thing/item/ItemParametrizerMemoryCard.java @@ -200,6 +200,27 @@ public void addInformation(ItemStack aStack, EntityPlayer ep, List aList "Value 1B: " + EnumChatFormatting.AQUA + TTUtility.longBitsToShortString(Double.doubleToLongBits(temp))); aList.add("Value 1s: " + EnumChatFormatting.AQUA + tNBT.getString("value1s")); + } else if (tNBT != null && tNBT.hasKey("paramList", Constants.NBT.TAG_LIST)) { + NBTTagList tagList = tNBT.getTagList("paramList", Constants.NBT.TAG_COMPOUND); + for (int hatch = 0; hatch < 10; hatch++) { + NBTTagCompound tag = tagList.getCompoundTagAt(hatch); + if (tag.hasKey("value0D", Constants.NBT.TAG_DOUBLE) + || tag.hasKey("value1D", Constants.NBT.TAG_DOUBLE)) { + double zeroD = tag.getDouble("value0D"); + double oneD = tag.getDouble("value1D"); + aList.add( + "Hatch ID: " + EnumChatFormatting.AQUA + + hatch + + EnumChatFormatting.GRAY + + " - Value 0D: " + + EnumChatFormatting.AQUA + + zeroD + + EnumChatFormatting.GRAY + + ", Value 1D: " + + EnumChatFormatting.AQUA + + oneD); + } + } } } diff --git a/src/main/java/tectech/thing/metaTileEntity/hatch/MTEHatchWirelessMulti.java b/src/main/java/tectech/thing/metaTileEntity/hatch/MTEHatchWirelessMulti.java index 2c2ed36bc35..cc533e2623d 100644 --- a/src/main/java/tectech/thing/metaTileEntity/hatch/MTEHatchWirelessMulti.java +++ b/src/main/java/tectech/thing/metaTileEntity/hatch/MTEHatchWirelessMulti.java @@ -16,10 +16,19 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; import net.minecraftforge.common.util.ForgeDirection; import com.google.common.math.LongMath; - +import com.gtnewhorizons.modularui.api.math.Alignment; +import com.gtnewhorizons.modularui.api.math.Color; +import com.gtnewhorizons.modularui.api.screen.ModularWindow; +import com.gtnewhorizons.modularui.api.screen.UIBuildContext; +import com.gtnewhorizons.modularui.common.widget.TextWidget; +import com.gtnewhorizons.modularui.common.widget.textfield.NumericWidget; + +import gregtech.api.gui.modularui.GTUIInfos; +import gregtech.api.gui.modularui.GTUITextures; import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.interfaces.tileentity.IWirelessEnergyHatchInformation; @@ -57,6 +66,7 @@ public MTEHatchWirelessMulti(int aID, String aName, String aNameRegional, int aT 0, new String[] { GRAY + "Stores energy globally in a network, up to 2^(2^31) EU.", GRAY + "Does not connect to wires. This block withdraws EU from the network.", + translateToLocal("gt.blockmachines.hatch.screwdrivertooltip"), AuthorColen + GRAY + BOLD + " & " + BLUE + BOLD + "Cloud", translateToLocal("gt.blockmachines.hatch.energytunnel.desc.1") + ": " + YELLOW @@ -236,4 +246,50 @@ private void tryFetchingEnergy() { if (!addEUToGlobalEnergyMap(owner_uuid, -euToTransfer)) return; setEUVar(currentEU + euToTransfer); } + + @Override + public void saveNBTData(NBTTagCompound aNBT) { + super.saveNBTData(aNBT); + if (Amperes != maxAmperes) { + aNBT.setInteger("amperes", Amperes); + } + } + + @Override + public void loadNBTData(NBTTagCompound aNBT) { + super.loadNBTData(aNBT); + int savedAmperes = aNBT.getInteger("amperes"); + if (savedAmperes != 0) { + Amperes = savedAmperes; + } + } + + @Override + public void onScrewdriverRightClick(ForgeDirection side, EntityPlayer aPlayer, float aX, float aY, float aZ, + ItemStack aTool) { + GTUIInfos.openGTTileEntityUI(this.getBaseMetaTileEntity(), aPlayer); + super.onScrewdriverRightClick(side, aPlayer, aX, aY, aZ, aTool); + } + + @Override + public void addUIWidgets(ModularWindow.Builder builder, UIBuildContext buildContext) { + builder.setBackground(GTUITextures.BACKGROUND_SINGLEBLOCK_DEFAULT); + builder.setGuiTint(getGUIColorization()); + final int x = getGUIWidth() / 2 - 37; + final int y = getGUIHeight() / 5 - 7; + builder.widget( + TextWidget.localised("GT5U.machines.laser_hatch.amperage") + .setPos(x, y) + .setSize(74, 14)) + .widget( + new NumericWidget().setSetter(val -> Amperes = (int) val) + .setGetter(() -> Amperes) + .setBounds(1, maxAmperes) + .setScrollValues(1, 4, 64) + .setTextAlignment(Alignment.Center) + .setTextColor(Color.WHITE.normal) + .setSize(70, 18) + .setPos(x, y + 16) + .setBackground(GTUITextures.BACKGROUND_TEXT_FIELD)); + } } diff --git a/src/main/java/tectech/thing/metaTileEntity/multi/MTEResearchStation.java b/src/main/java/tectech/thing/metaTileEntity/multi/MTEResearchStation.java index 136451fb0fb..b9cae48c234 100644 --- a/src/main/java/tectech/thing/metaTileEntity/multi/MTEResearchStation.java +++ b/src/main/java/tectech/thing/metaTileEntity/multi/MTEResearchStation.java @@ -221,7 +221,10 @@ protected CheckRecipeResult checkProcessing_EM() { } this.tRecipe = assRecipe; // Set property - computationRequired = computationRemaining = assRecipe.mResearchTime; + computationRequired = computationRemaining = (long) assRecipe.mResearchTime + * assRecipe.mResearchVoltage + / 30; + mMaxProgresstime = 20; mEfficiencyIncrease = 10000; eRequiredData = 1; @@ -276,42 +279,34 @@ public void outputAfterRecipe_EM() { @Override public MultiblockTooltipBuilder createTooltip() { final MultiblockTooltipBuilder tt = new MultiblockTooltipBuilder(); - tt.addMachineType(translateToLocal("gt.blockmachines.multimachine.em.research.type")) // Machine Type: Research - // Station, Scanner - .addInfo(translateToLocal("gt.blockmachines.multimachine.em.research.desc.1")) // Used to scan Data - // Sticks for - // Assembling Line Recipes - .addInfo(translateToLocal("gt.blockmachines.multimachine.em.research.desc.2")) // Needs to be fed with - // computation to work - .addInfo(translateToLocal("gt.blockmachines.multimachine.em.research.desc.3")) // Does not consume the - // item until - // the Data Stick is written - .addInfo(translateToLocal("gt.blockmachines.multimachine.em.research.desc.4")) // Use screwdriver to change - // mode + // Machine Type: Research Station, Scanner + tt.addMachineType(translateToLocal("gt.blockmachines.multimachine.em.research.type")) + // Used to scan Data Sticks for Assembling Line Recipes + .addInfo(translateToLocal("gt.blockmachines.multimachine.em.research.desc.1")) + // Needs to be fed with computation to work + .addInfo(translateToLocal("gt.blockmachines.multimachine.em.research.desc.2")) + // Does not consume the item until the Data Stick is written + .addInfo(translateToLocal("gt.blockmachines.multimachine.em.research.desc.3")) + // Use screwdriver to change mode + .addInfo(translateToLocal("gt.blockmachines.multimachine.em.research.desc.4")) + .addInfo(translateToLocal("gt.blockmachines.multimachine.em.research.desc.5")) + .addInfo(translateToLocal("gt.blockmachines.multimachine.em.research.desc.6")) .addTecTechHatchInfo() .beginStructureBlock(3, 7, 7, false) + // Object Holder: Center of the front pillar .addOtherStructurePart( translateToLocal("gt.blockmachines.hatch.holder.tier.09.name"), translateToLocal("tt.keyword.Structure.CenterPillar"), - 2) // Object Holder: Center of the front pillar + 2) + // Optical Connector: Any Computer Casing on the backside of the main body .addOtherStructurePart( translateToLocal("tt.keyword.Structure.DataConnector"), translateToLocal("tt.keyword.Structure.AnyComputerCasingBackMain"), - 1) // Optical Connector: Any Computer Casing on the backside of the main body - .addEnergyHatch(translateToLocal("tt.keyword.Structure.AnyComputerCasingBackMain"), 1) // Energy Hatch: - // Any Computer - // Casing on the - // backside of - // the main body - .addMaintenanceHatch(translateToLocal("tt.keyword.Structure.AnyComputerCasingBackMain"), 1) // Maintenance - // Hatch: - // Any - // Computer - // Casing on - // the - // backside - // of the - // main body + 1) + // Energy Hatch: Any Computer Casing on the backside of the main body + .addEnergyHatch(translateToLocal("tt.keyword.Structure.AnyComputerCasingBackMain"), 1) + // Maintenance Hatch: Any Computer Casing on the backside of the main body + .addMaintenanceHatch(translateToLocal("tt.keyword.Structure.AnyComputerCasingBackMain"), 1) .toolTipFinisher(); return tt; } diff --git a/src/main/resources/assets/bartworks/lang/en_US.lang b/src/main/resources/assets/bartworks/lang/en_US.lang index fea705b7131..c497adb991f 100644 --- a/src/main/resources/assets/bartworks/lang/en_US.lang +++ b/src/main/resources/assets/bartworks/lang/en_US.lang @@ -203,7 +203,7 @@ nei.biovat.output.tooltip=Outputs up to 1,001x amount, depending on the amount o tile.diode.name=Cable Diode tile.energydistributor.name=Energy Distributor tile.acidgenerator.name=Acid Generator -tile.bw.mbf.name=Mega Blast Furnace +tile.bw.mbf.name=Mega Electric Blast Furnace tile.bw.mvf.name=Mega Vacuum Freezer tile.biolab.name=Bio Lab tile.biovat.name=Bacterial Vat diff --git a/src/main/resources/assets/gregtech/lang/en_US.lang b/src/main/resources/assets/gregtech/lang/en_US.lang index db2397df1d6..2478fdc8188 100644 --- a/src/main/resources/assets/gregtech/lang/en_US.lang +++ b/src/main/resources/assets/gregtech/lang/en_US.lang @@ -376,6 +376,7 @@ GT5U.machines.stalled_vent.tooltip=§4Stalled: Cannot vent steam! GT5U.machines.stalled_vent.tooltip.1=§7Right-click with a wrench to GT5U.machines.stalled_vent.tooltip.2=§7point this machine's steam GT5U.machines.stalled_vent.tooltip.3=§7vent towards an empty space. +GT5U.machines.perfectoc.tooltip=Performs perfect overclocks GT5U.GTPP_MULTI_ARC_FURNACE.mode.0=Electric GT5U.GTPP_MULTI_ARC_FURNACE.mode.1=Plasma GT5U.GTPP_MULTI_CUTTING_MACHINE.mode.0=Cutting diff --git a/src/main/resources/assets/miscutils/lang/en_US.lang b/src/main/resources/assets/miscutils/lang/en_US.lang index 8dd51ff728a..dbf21e27d6b 100644 --- a/src/main/resources/assets/miscutils/lang/en_US.lang +++ b/src/main/resources/assets/miscutils/lang/en_US.lang @@ -3694,9 +3694,6 @@ item.BasicMetaFood.6.name=Raw Ocelot Meat item.BasicMetaFood.7.name=Cooked Ocelot Meat item.BasicMetaFood.8.name=Blaze Flesh -item.itemCellNaquadahFuel.name=Naquadah Fuel Cell -item.itemCellEnrichedNaquadahFuel.name=Enriched Naquadah Fuel Cell -item.itemCellNaquadriaFuel.name=Naquadria Fuel Cell item.boricacid.name=Boric Acid Cell item.hydrochloricacid.name=Hydrochloric Acid Cell diff --git a/src/main/resources/assets/miscutils/lang/ru_RU.lang b/src/main/resources/assets/miscutils/lang/ru_RU.lang index 807de0ef724..e4d77619a83 100644 --- a/src/main/resources/assets/miscutils/lang/ru_RU.lang +++ b/src/main/resources/assets/miscutils/lang/ru_RU.lang @@ -1350,7 +1350,7 @@ item.crushedCentrifugedLanthaniteNd.name=Centrifuged Crushed Lanthanite (Nd) Ore item.crushedPurifiedLanthaniteNd.name=Purified Crushed Lanthanite (Nd) Ore item.dustImpureLanthaniteNd.name=Impure Lanthanite (Nd) Dust item.dustPureLanthaniteNd.name=Purified Lanthanite (Nd) Dust -item.itemDustAgarditeY.name=Пыль Агардита Y +item.itemDustAgarditeY.name=Пыль Агардита Y item.itemDustTinyAgarditeY.name=Tiny Pile of Agardite (Y) Dust item.itemDustSmallAgarditeY.name=Small Pile of Agardite (Y) Dust item.crushedAgarditeY.name=Crushed Agardite (Y) Ore @@ -1784,7 +1784,7 @@ tile.Block of Actinium.name=Блок Актиния tile.Block of Protactinium.name=Блок Протактиния tile.Block of Neptunium.name=Блок Нептуния tile.Block of Curium.name=Блок Кюрия -tile.Block of Berkelium.name=Блок Беркилия +tile.Block of Berkelium.name=Блок Беркилия tile.Block of Californium.name=Блок Калифорния tile.Block of Einsteinium.name=Блок Эйнштейния tile.Block of Fermium.name=Блок Фермия @@ -1835,7 +1835,7 @@ tile.Tantalloy-61 Frame Box.name=Каркас Из Сплава Тантала 6 tile.Block of Inconel-625.name=Блок Инконеля 625 tile.Inconel-625 Frame Box.name=Каркас Из Инконеля 625 tile.Block of Inconel-690.name=Блок Инконеля 690 -tile.Inconel-690 Frame Box.name=Каркас Из Инконеля 690 +tile.Inconel-690 Frame Box.name=Каркас Из Инконеля 690 tile.Block of Inconel-792.name=Блок Инконеля 792 tile.Inconel-792 Frame Box.name=Каркас Из Инконеля 792 tile.Block of Eglin Steel.name=Блок Эглиновой Стали @@ -1856,12 +1856,12 @@ tile.Block of Hastelloy-X.name=Блок Хастеллоя X tile.Hastelloy-X Frame Box.name=Каркас Из Хастеллоя X tile.Block of Hastelloy-C276.name=Блок Хастеллоя C276 tile.Hastelloy-C276 Frame Box.name=Каркас Из Хастеллоя C276 -tile.Block of Hastelloy-N.name=Блок Хастеллоя N -tile.Hastelloy-N Frame Box.name=Каркас Из Хастеллоя N +tile.Block of Hastelloy-N.name=Блок Хастеллоя N +tile.Hastelloy-N Frame Box.name=Каркас Из Хастеллоя N tile.Block of Incoloy-020.name=Блок Инколоя 020 tile.Incoloy-020 Frame Box.name=Каркас Из Инколоя 020 tile.Block of Incoloy-DS.name=Блок Инколоя DS -tile.Incoloy-DS Frame Box.name=Каркас Из Инколоя DS +tile.Incoloy-DS Frame Box.name=Каркас Из Инколоя DS tile.Block of Incoloy-MA956.name=Блок Инколоя MA956 tile.Incoloy-MA956 Frame Box.name=Каркас Из Инколоя MA956 tile.Block of Grisium.name=Блок Грисиума @@ -1887,7 +1887,7 @@ tile.OreZirconolite.name=Руда Цирконолита tile.OreGadoliniteCe.name=Руда Гадолинита Ce tile.OreGadoliniteY.name=Руда Гадолинита Y tile.OreLepersonnite.name=Руда Леперсоннита -tile.OreSamarskiteY.name=Руда Самарскита Y +tile.OreSamarskiteY.name=Руда Самарскита Y tile.OreSamarskiteYb.name=Руда Самарскита Yb tile.OreXenotime.name=Руда Ксенотима tile.OreYttriaite.name=Руда Иттриайта @@ -1900,7 +1900,7 @@ tile.OreZirkelite.name=Руда Циркелита tile.OreLanthaniteLa.name=Руда Лантанита La tile.OreLanthaniteCe.name=Руда Лантанита Ce tile.OreLanthaniteNd.name=Руда Лантанита Nd -tile.OreAgarditeY.name=Руда Агардита Y +tile.OreAgarditeY.name=Руда Агардита Y tile.OreAgarditeCd.name=Руда Агардита Cd tile.OreAgarditeLa.name=Руда Агардита La tile.OreAgarditeNd.name=Руда Агардита Nd @@ -3090,9 +3090,6 @@ item.BasicMetaFood.6.name=Raw Ocelot Meat item.BasicMetaFood.7.name=Cooked Ocelot Meat item.BasicMetaFood.8.name=Blaze Flesh -item.itemCellNaquadahFuel.name=Naquadah Fuel Cell -item.itemCellEnrichedNaquadahFuel.name=Enriched Naquadah Fuel Cell -item.itemCellNaquadriaFuel.name=Naquadria Fuel Cell item.boricacid.name=Boric Acid Cell item.hydrochloricacid.name=Hydrochloric Acid Cell @@ -3348,4 +3345,4 @@ item.miscutils:magicfeather.name=Magical Feather item.BasicGenericChemItem.14.name=Solid-Acid Catalyst //Added 30/05/22 -item.BasicGenericChemItem.15.name=Infinite Mutation Catalyst \ No newline at end of file +item.BasicGenericChemItem.15.name=Infinite Mutation Catalyst diff --git a/src/main/resources/assets/miscutils/lang/zh_CN.lang b/src/main/resources/assets/miscutils/lang/zh_CN.lang index 83304b86972..dd21e51aad8 100644 --- a/src/main/resources/assets/miscutils/lang/zh_CN.lang +++ b/src/main/resources/assets/miscutils/lang/zh_CN.lang @@ -2741,7 +2741,7 @@ item.itemDustNylon.name=尼龙粉 item.itemDustTinyNylon.name=小撮尼龙粉 item.itemDustSmallNylon.name=小堆尼龙粉 item.itemNuggetNylon.name=尼龙粒 -item.itemPlateNylon.name=尼龙板 +item.itemPlateNylon.name=尼龙板 item.itemPlateDoubleNylon.name=双重尼龙板 item.itemCellNylon.name=尼龙单元 tile.Block of Nylon.name=尼龙块 @@ -3090,9 +3090,6 @@ item.BasicMetaFood.6.name=生猫肉 item.BasicMetaFood.7.name=熟猫肉 item.BasicMetaFood.8.name=烈焰人肉 -item.itemCellNaquadahFuel.name=硅岩燃料单元 -item.itemCellEnrichedNaquadahFuel.name=富集硅岩燃料单元 -item.itemCellNaquadriaFuel.name=超能硅岩燃料单元 item.boricacid.name=硼酸单元 item.hydrochloricacid.name=盐酸单元 @@ -3348,4 +3345,4 @@ item.miscutils:magicfeather.name=魔法羽毛 item.BasicGenericChemItem.14.name=固体酸催化剂 //Added 30/05/22 -item.BasicGenericChemItem.15.name=无尽突变催化剂 \ No newline at end of file +item.BasicGenericChemItem.15.name=无尽突变催化剂 diff --git a/src/main/resources/assets/tectech/lang/en_US.lang b/src/main/resources/assets/tectech/lang/en_US.lang index 64d7f2b145d..2b4bb5fa485 100644 --- a/src/main/resources/assets/tectech/lang/en_US.lang +++ b/src/main/resources/assets/tectech/lang/en_US.lang @@ -785,6 +785,8 @@ gt.blockmachines.multimachine.em.research.desc.1=Used to scan Data Sticks for As gt.blockmachines.multimachine.em.research.desc.2=Needs to be fed with computation to work gt.blockmachines.multimachine.em.research.desc.3=Does not consume the item until the Data Stick is written gt.blockmachines.multimachine.em.research.desc.4=Use screwdriver to change mode +gt.blockmachines.multimachine.em.research.desc.5=Computation required in scanner mode follows the formula: +gt.blockmachines.multimachine.em.research.desc.6=(Recipe duration in seconds * Recipe voltage) / 30 gt.blockmachines.multimachine.em.research.mode.Assembly_line=Mode: Research Station gt.blockmachines.multimachine.em.research.mode.Scanner=Mode: Scanner