diff --git a/dependencies.gradle b/dependencies.gradle index aea39646c6..b8e06648b0 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -1,30 +1,30 @@ // Add your dependencies here dependencies { - api("com.github.GTNewHorizons:GT5-Unofficial:5.09.50.70:dev") + api("com.github.GTNewHorizons:GT5-Unofficial:5.09.51.07:dev") api("com.github.GTNewHorizons:Yamcl:0.6.0:dev") api("com.github.GTNewHorizons:Baubles:1.0.4:dev") - implementation("com.github.GTNewHorizons:GTNHLib:0.5.20:dev") + implementation("com.github.GTNewHorizons:GTNHLib:0.5.22:dev") - compileOnly("com.github.GTNewHorizons:AkashicTome:1.1.8:dev") { transitive = false } - compileOnly("com.github.GTNewHorizons:Avaritia:1.54:dev") { transitive = false } - compileOnly("com.github.GTNewHorizons:twilightforest:2.6.35:dev") { transitive = false } - compileOnly("com.github.GTNewHorizons:GTNH-Intergalactic:1.4.25:dev") { transitive = false } + compileOnly("com.github.GTNewHorizons:AkashicTome:1.1.9:dev") { transitive = false } + compileOnly("com.github.GTNewHorizons:Avaritia:1.56:dev") { transitive = false } + compileOnly("com.github.GTNewHorizons:twilightforest:2.7.0:dev") { transitive = false } + compileOnly("com.github.GTNewHorizons:GTNH-Intergalactic:1.5.0:dev") { transitive = false } compileOnly("com.github.GTNewHorizons:Mantle:0.4.2:dev") { transitive = false } - compileOnly("com.github.GTNewHorizons:TinkersConstruct:1.12.14-GTNH:dev") { transitive = false } + compileOnly("com.github.GTNewHorizons:TinkersConstruct:1.12.16-GTNH:dev") { transitive = false } compileOnly("com.github.GTNewHorizons:WitcheryExtras:1.2.3:dev") { transitive = false } compileOnly("thaumcraft:Thaumcraft:1.7.10-4.2.3.5:dev") { transitive = false } compileOnly rfg.deobf("curse.maven:witchery-69673:2234410") compileOnly("com.github.GTNewHorizons:Chisel:2.15.3-GTNH:dev") { transitive = false } - compileOnly("com.github.GTNewHorizons:Botania:1.11.5-GTNH:dev") { transitive = false } - compileOnly("com.github.GTNewHorizons:BloodMagic:1.6.7:dev") { transitive = false } + compileOnly("com.github.GTNewHorizons:Botania:1.12.1-GTNH:dev") { transitive = false } + compileOnly("com.github.GTNewHorizons:BloodMagic:1.6.9:dev") { transitive = false } compileOnly rfg.deobf("curse.maven:extra-utilities-225561:2264384") compileOnly("TGregworks:TGregworks:1.7.10-GTNH-1.0.26:deobf") { transitive = false } compileOnly("com.github.GTNewHorizons:amunra:0.7.1:dev") { transitive = false } - compileOnly("com.github.GTNewHorizons:Galacticraft:3.2.5-GTNH:dev") { transitive = false } - compileOnly("com.github.GTNewHorizons:ForestryMC:4.9.17:dev") { transitive = false } - compileOnlyApi("com.github.GTNewHorizons:Mobs-Info:0.4.6-GTNH:dev") + compileOnly("com.github.GTNewHorizons:Galacticraft:3.2.8-GTNH:dev") { transitive = false } + compileOnly("com.github.GTNewHorizons:ForestryMC:4.9.19:dev") { transitive = false } + compileOnlyApi("com.github.GTNewHorizons:Mobs-Info:0.4.7-GTNH:dev") runtimeOnlyNonPublishable rfg.deobf("curse.maven:biomes-o-plenty-220318:2499612") runtimeOnlyNonPublishable("com.github.GTNewHorizons:WailaHarvestability:1.2.1-GTNH:dev") diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 2c3521197d..a4b76b9530 100644 Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 09523c0e54..e2847c8200 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/repositories.gradle b/repositories.gradle index 40118b1677..f6e6039e8b 100644 --- a/repositories.gradle +++ b/repositories.gradle @@ -1,6 +1,7 @@ // Add any additional repositories for your dependencies here repositories { + mavenLocal() ivy { url 'https://files.vexatos.com/' patternLayout { diff --git a/settings.gradle b/settings.gradle index aa612ade0c..0147a99449 100644 --- a/settings.gradle +++ b/settings.gradle @@ -17,7 +17,7 @@ pluginManagement { } plugins { - id 'com.gtnewhorizons.gtnhsettingsconvention' version '1.0.29' + id 'com.gtnewhorizons.gtnhsettingsconvention' version '1.0.30' } diff --git a/src/main/java/com/dreammaster/detrav/ScannerTools.java b/src/main/java/com/dreammaster/detrav/ScannerTools.java index d7f65f4ceb..5d31c8a8f8 100644 --- a/src/main/java/com/dreammaster/detrav/ScannerTools.java +++ b/src/main/java/com/dreammaster/detrav/ScannerTools.java @@ -12,9 +12,7 @@ public class ScannerTools implements IOreRecipeRegistrator { - public ScannerTools() { - OrePrefixes.toolHeadPickaxe.add(this); - } + public ScannerTools() {} public void registerOre(OrePrefixes o, Materials material, String s, String s2, ItemStack i) { GTModHandler.addCraftingRecipe( diff --git a/src/main/java/com/dreammaster/gthandler/GT_CraftingRecipeLoader.java b/src/main/java/com/dreammaster/gthandler/GT_CraftingRecipeLoader.java index 004b57489e..37ed961a5f 100644 --- a/src/main/java/com/dreammaster/gthandler/GT_CraftingRecipeLoader.java +++ b/src/main/java/com/dreammaster/gthandler/GT_CraftingRecipeLoader.java @@ -746,14 +746,6 @@ public void run() { GGMaterial.incoloy903.get(OrePrefixes.pipeSmall), 'F', OrePrefixes.gearGt.get(Materials.Titanium) }); - // Neutronium Stabilization Casing - GTModHandler.addCraftingRecipe( - ItemList.Neutronium_Stable_Casing.get(4), - bits, - new Object[] { "PQP", "QFQ", "PQP", 'P', - GTOreDictUnificator.get(OrePrefixes.frameGt, Materials.NaquadahAlloy, 1), 'Q', - ItemList.Field_Generator_ZPM.get(1), 'F', ItemList.Casing_MAX.get(1) }); - // Industrial Precision Lathe GTModHandler.addCraftingRecipe( ItemList.Machine_Multi_Lathe.get(1), @@ -1061,11 +1053,6 @@ public void run() { GTModHandler.RecipeBits.NOT_REMOVABLE | GTModHandler.RecipeBits.REVERSIBLE, new Object[] { " h ", "SSS", "SSS", 'S', GTOreDictUnificator.get(OrePrefixes.stick, Materials.Steel, 1) }); - GTModHandler.addCraftingRecipe( - GTOreDictUnificator.get(OrePrefixes.toolHeadHoe, Materials.Steel, 1L), - GTProxy.tBits, - new Object[] { "PIh", "f ", 'P', OrePrefixes.plate.get(Materials.Steel), 'I', - OrePrefixes.ingot.get(Materials.Steel) }); GTModHandler.addShapelessCraftingRecipe( GTOreDictUnificator.get(OrePrefixes.dust, Materials.Clay, 1L), @@ -1124,14 +1111,6 @@ public void run() { GTModHandler.getModItem(IndustrialCraft2.ID, "itemBatRE", 1, GTValues.W), 'E', GTModHandler.getModItem(IndustrialCraft2.ID, "itemRecipePart", 1, 3), 'C', OrePrefixes.cableGt01.get(Materials.Tin), 'S', screw.get(Materials.Steel) }); - GTModHandler.addCraftingRecipe( - GTModHandler.getModItem(IndustrialCraft2.ID, "itemToolHoe", 1, GTValues.W), - bits, - new Object[] { "dPH", "PGB", "ECS", 'S', screw.get(Materials.Steel), 'H', - OrePrefixes.toolHeadHoe.get(Materials.Steel), 'G', OrePrefixes.gearGtSmall.get(Materials.Steel), - 'B', GTModHandler.getModItem(IndustrialCraft2.ID, "itemBatRE", 1, GTValues.W), 'E', - GTModHandler.getModItem(IndustrialCraft2.ID, "itemRecipePart", 1, 3), 'P', - OrePrefixes.plate.get(Materials.Steel) }); if (OpenComputers.isModLoaded()) GTModHandler.addCraftingRecipe( GTModHandler.getModItem(OpenComputers.ID, "wrench", 1, 0), @@ -2119,24 +2098,14 @@ public void run() { for (int i = 0; i <= 7; i++) { ItemStack modifiedHatch = ItemList.Hatch_Output_ME.get(1L); - NBTTagCompound hatchNBT = modifiedHatch.getTagCompound(); - if (hatchNBT != null) { - hatchNBT.setLong("baseCapacity", capacities[i]); - } else { - hatchNBT = new NBTTagCompound(); - hatchNBT.setLong("baseCapacity", capacities[i] * 256); - modifiedHatch.setTagCompound(hatchNBT); - } + NBTTagCompound hatchNBT = new NBTTagCompound(); + hatchNBT.setLong("baseCapacity", capacities[i] * 256); + modifiedHatch.setTagCompound(hatchNBT); ItemStack modifiedBus = ItemList.Hatch_Output_Bus_ME.get(1L); - NBTTagCompound busNBT = modifiedBus.getTagCompound(); - if (busNBT != null) { - busNBT.setLong("baseCapacity", capacities[i]); - } else { - busNBT = new NBTTagCompound(); - busNBT.setLong("baseCapacity", capacities[i]); - modifiedBus.setTagCompound(busNBT); - } + NBTTagCompound busNBT = new NBTTagCompound(); + busNBT.setLong("baseCapacity", capacities[i]); + modifiedBus.setTagCompound(busNBT); GTModHandler.addShapelessCraftingRecipe( modifiedHatch, @@ -2145,6 +2114,27 @@ public void run() { modifiedBus, new Object[] { ItemList.Hatch_Output_Bus_ME.get(1L), itemComponents[i] }); } + final ItemStack SINGULARITY = GTModHandler + .getModItem(AppliedEnergistics2.ID, "item.ItemExtremeStorageCell.Singularity", 1); + final ItemStack FLUID_SINGULARITY = GTModHandler + .getModItem(AE2FluidCraft.ID, "fluid_storage.singularity", 1, 0); + + ItemStack modifiedHatch = ItemList.Hatch_Output_ME.get(1L); + NBTTagCompound hatchNBT = new NBTTagCompound(); + hatchNBT.setLong("baseCapacity", Long.MAX_VALUE); + modifiedHatch.setTagCompound(hatchNBT); + + ItemStack modifiedBus = ItemList.Hatch_Output_Bus_ME.get(1L); + NBTTagCompound busNBT = new NBTTagCompound(); + busNBT.setLong("baseCapacity", Long.MAX_VALUE); + modifiedBus.setTagCompound(busNBT); + + GTModHandler.addShapelessCraftingRecipe( + modifiedBus, + new Object[] { ItemList.Hatch_Output_Bus_ME.get(1L), SINGULARITY }); + GTModHandler.addShapelessCraftingRecipe( + modifiedHatch, + new Object[] { ItemList.Hatch_Output_ME.get(1L), FLUID_SINGULARITY }); // Pre-add planet block to EOH controller for (String dimAbbreviation : DimensionHelper.DimNameDisplayed) { diff --git a/src/main/java/com/dreammaster/gthandler/GT_Loader_Wires.java b/src/main/java/com/dreammaster/gthandler/GT_Loader_Wires.java index 1aa2d63e65..3991ad6f81 100644 --- a/src/main/java/com/dreammaster/gthandler/GT_Loader_Wires.java +++ b/src/main/java/com/dreammaster/gthandler/GT_Loader_Wires.java @@ -15,30 +15,30 @@ public void run() { private void registerWires() { - // ID Range: 1200 - 4100 - // Free IDs: 2030 - 4100 + // Take a look in gt5u MetaTileEntityIDs for free spaces // =================================================================================================== // Make wires // =================================================================================================== // Takes 20!!! slots per wire - makeWires(Materials.ElectricalSteel, 11490, 1L, 2L, 2L, GTValues.V[2], true, false); - makeWires(Materials.EnergeticAlloy, 11510, 2L, 4L, 2L, gregtech.api.enums.GTValues.V[3], true, false); - makeWires(Materials.VibrantAlloy, 11530, 2L, 4L, 4L, gregtech.api.enums.GTValues.V[4], true, false); - makeWires(Materials.MelodicAlloy, 11550, 2L, 4L, 4L, gregtech.api.enums.GTValues.V[5], true, false); - makeWires(Materials.StellarAlloy, 11570, 4L, 8L, 6L, gregtech.api.enums.GTValues.V[6], true, false); - makeWires(Materials.Trinium, 11450, 4L, 8L, 6L, GTValues.V[7], true, false); - makeWires(Materials.ElectrumFlux, 1900, 1L, 2L, 3L, GTValues.V[8], true, false); - makeWires(Materials.Bedrockium, 11310, 1L, 32L, 2L, GTValues.V[9], true, false); - makeWires(Materials.Osmiridium, 11610, 1L, 2L, 8L, GTValues.V[6], true, false); - makeWires(Materials.HSSE, 11590, 2L, 4L, 6L, GTValues.V[6], true, false); - makeWires(Materials.HSSS, 11470, 4L, 8L, 6L, GTValues.V[9], true, false); - makeWires(Materials.Draconium, 11330, 4L, 32L, 8L, GTValues.V[10], true, false); - makeWires(Materials.NetherStar, 11350, 4L, 16L, 4L, GTValues.V[11], true, false); - makeWires(Materials.Quantium, 11370, 4L, 16L, 2L, GTValues.V[12], true, false); - makeWires(Materials.BlackPlutonium, 11390, 4L, 16L, 1L, GTValues.V[13], false, false); - makeWires(Materials.DraconiumAwakened, 11410, 4L, 16L, 1L, GTValues.V[14], false, false); + makeWires(Materials.ElectricalSteel, 11490, 1L, 2L, 3L, GTValues.V[2], true, false); + makeWires(Materials.EnergeticAlloy, 11510, 1L, 2L, 4L, gregtech.api.enums.GTValues.V[3], true, false); + makeWires(Materials.VibrantAlloy, 11530, 3L, 6L, 6L, gregtech.api.enums.GTValues.V[4], true, false); + makeWires(Materials.EndSteel, 1860, 3L, 6L, 6L, gregtech.api.enums.GTValues.V[5], true, false); + makeWires(Materials.MelodicAlloy, 11550, 2L, 4L, 4L, gregtech.api.enums.GTValues.V[6], true, false); + makeWires(Materials.StellarAlloy, 11570, 12L, 24L, 12L, gregtech.api.enums.GTValues.V[8], true, false); + makeWires(Materials.Trinium, 11450, 3L, 6L, 6L, GTValues.V[7], true, false); + makeWires(Materials.ElectrumFlux, 1900, 3L, 2L, 6L, GTValues.V[8], true, false); + makeWires(Materials.Bedrockium, 11310, 6L, 48L, 3L, GTValues.V[9], true, false); + makeWires(Materials.Osmiridium, 11610, 1L, 2L, 16L, GTValues.V[7], true, false); + makeWires(Materials.HSSE, 11590, 4L, 8L, 6L, GTValues.V[6], true, false); + makeWires(Materials.HSSS, 11470, 4L, 8L, 8L, GTValues.V[9], true, false); + makeWires(Materials.Draconium, 11330, 32L, 64L, 8L, GTValues.V[10], true, false); + makeWires(Materials.NetherStar, 11350, 16L, 32L, 4L, GTValues.V[11], true, false); + makeWires(Materials.Quantium, 11370, 32L, 128L, 4L, GTValues.V[12], true, false); + makeWires(Materials.BlackPlutonium, 11390, 8L, 8L, 8L, GTValues.V[13], false, false); + makeWires(Materials.DraconiumAwakened, 11410, 64L, 64L, 8L, GTValues.V[14], false, false); makeWires(Materials.Infinity, 11430, 0L, 0L, 8192L, GTValues.V[14], false, true); /** diff --git a/src/main/java/com/dreammaster/gthandler/casings/GT_Block_CasingsNH.java b/src/main/java/com/dreammaster/gthandler/casings/GT_Block_CasingsNH.java index c7b340af16..175c4a8721 100644 --- a/src/main/java/com/dreammaster/gthandler/casings/GT_Block_CasingsNH.java +++ b/src/main/java/com/dreammaster/gthandler/casings/GT_Block_CasingsNH.java @@ -2,21 +2,13 @@ import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.item.ItemStack; -import net.minecraft.tileentity.TileEntity; import net.minecraft.util.IIcon; import net.minecraft.world.IBlockAccess; import com.dreammaster.gthandler.CustomItemList; -import com.dreammaster.gthandler.multiAirFilter.GT_MetaTileEntity_AirFilterT1; -import com.dreammaster.gthandler.multiAirFilter.GT_MetaTileEntity_AirFilterT2; -import com.dreammaster.gthandler.multiAirFilter.GT_MetaTileEntity_AirFilterT3; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; import gregtech.api.enums.Dyes; import gregtech.api.enums.Textures; -import gregtech.api.interfaces.metatileentity.IMetaTileEntity; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.objects.GTCopiedBlockTexture; import gregtech.api.util.GTLanguageManager; import gregtech.common.blocks.BlockCasingsAbstract; @@ -95,95 +87,6 @@ public IIcon getIcon(int aSide, int aMeta) { } } - private IIcon getTurbineCasing(int meta, int iconIndex, boolean active) { - switch (meta) { - case 3: - return active ? Textures.BlockIcons.TURBINE_ACTIVE2[iconIndex].getIcon() - : Textures.BlockIcons.TURBINE2[iconIndex].getIcon(); - case 5: - return active ? Textures.BlockIcons.TURBINE_ACTIVE3[iconIndex].getIcon() - : Textures.BlockIcons.TURBINE3[iconIndex].getIcon(); - default: // 0 or undefined turbine meta casing - return active ? Textures.BlockIcons.TURBINE_ACTIVE[iconIndex].getIcon() - : Textures.BlockIcons.TURBINE[iconIndex].getIcon(); - } - } - - public boolean isTurbineMeta(int tMeta) { - return tMeta == 0 || tMeta == 3 || tMeta == 5; - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(IBlockAccess aWorld, int xCoord, int yCoord, int zCoord, int ordinalSide) { - int tMeta = aWorld.getBlockMetadata(xCoord, yCoord, zCoord); - if (!isTurbineMeta(tMeta) && tMeta < 9 || tMeta == 15) { - return getIcon(ordinalSide, tMeta); - } - if (!isTurbineMeta(tMeta) || !mConnectedMachineTextures) { - return getIcon(ordinalSide, tMeta); - } - if (ordinalSide == 1) { - TileEntity tTileEntity; - IMetaTileEntity tMetaTileEntity; - - for (int xi = -2; xi <= 2; xi++) { - for (int zi = -2; zi <= 2; zi++) { - if (null != (tTileEntity = aWorld.getTileEntity(xCoord + xi, Math.max(yCoord - 3, 0), zCoord + zi)) - && tTileEntity instanceof IGregTechTileEntity - && null != (tMetaTileEntity = ((IGregTechTileEntity) tTileEntity).getMetaTileEntity()) - && (tMetaTileEntity instanceof GT_MetaTileEntity_AirFilterT1 - || tMetaTileEntity instanceof GT_MetaTileEntity_AirFilterT2 - || tMetaTileEntity instanceof GT_MetaTileEntity_AirFilterT3)) { - boolean active = false; - if (((IGregTechTileEntity) tTileEntity).isActive()) { - active = true; - } - // check for direction and placement and apply the texture - switch (((IGregTechTileEntity) tTileEntity).getFrontFacing()) { - case NORTH: - if (xi < 2 && xi > -2 && zi < 1) { // if invalid position ignore (aka too far away) - try { - return getTurbineCasing(tMeta, -xi + 1 - zi * 3, active); - } catch (Exception e) { - return getIcon(ordinalSide, tMeta); - } - } - break; - case SOUTH: - if (xi < 2 && xi > -2 && zi > -1) { - try { - return getTurbineCasing(tMeta, -xi + 1 + (2 - zi) * 3, active); - } catch (Exception e) { - return getIcon(ordinalSide, tMeta); - } - } - break; - case WEST: - if (zi < 2 && zi > -2 && xi < 1) { - try { - return getTurbineCasing(tMeta, -xi + (1 - zi) * 3, active); - } catch (Exception e) { - return getIcon(ordinalSide, tMeta); - } - } - break; - case EAST: - if (zi < 2 && zi > -2 && xi > -1) { - try { - return getTurbineCasing(tMeta, -xi + 2 + (1 - zi) * 3, active); - } catch (Exception e) { - return getIcon(ordinalSide, tMeta); - } - } - } - } - } - } - } - return getIcon(ordinalSide, tMeta); - } - @Override public int colorMultiplier(IBlockAccess aWorld, int aX, int aY, int aZ) { return aWorld.getBlockMetadata(aX, aY, aZ) <= 9 ? super.colorMultiplier(aWorld, aX, aY, aZ) diff --git a/src/main/java/com/dreammaster/gthandler/multiAirFilter/GT_MetaTileEntity_AirFilterBase.java b/src/main/java/com/dreammaster/gthandler/multiAirFilter/GT_MetaTileEntity_AirFilterBase.java index 0f4c99ff0c..7964449c76 100644 --- a/src/main/java/com/dreammaster/gthandler/multiAirFilter/GT_MetaTileEntity_AirFilterBase.java +++ b/src/main/java/com/dreammaster/gthandler/multiAirFilter/GT_MetaTileEntity_AirFilterBase.java @@ -1,7 +1,10 @@ package com.dreammaster.gthandler.multiAirFilter; +import static com.dreammaster.gthandler.casings.GT_Container_CasingsNH.sBlockCasingsNH; import static com.gtnewhorizon.structurelib.structure.StructureUtility.*; import static gregtech.api.enums.GTValues.VN; +import static gregtech.api.enums.Textures.BlockIcons.TURBINE_NEW; +import static gregtech.api.enums.Textures.BlockIcons.TURBINE_NEW_ACTIVE; import static gregtech.api.util.GTStructureUtility.ofHatchAdder; import static gregtech.api.util.GTStructureUtility.ofHatchAdderOptional; import static gregtech.api.util.GTUtility.filterValidMTEs; @@ -11,23 +14,27 @@ import java.util.ArrayList; import java.util.Arrays; +import net.minecraft.block.Block; +import net.minecraft.client.renderer.RenderBlocks; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.EnumChatFormatting; +import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; import com.dreammaster.gthandler.CustomItemList; -import com.dreammaster.gthandler.casings.GT_Container_CasingsNH; import com.dreammaster.item.ItemList; import com.dreammaster.main.MainRegistry; import com.gtnewhorizon.structurelib.alignment.IAlignmentLimits; +import com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing; import com.gtnewhorizon.structurelib.structure.IStructureDefinition; import com.gtnewhorizon.structurelib.structure.StructureDefinition; import eu.usrv.yamcore.auxiliary.PlayerChatHelper; import gregtech.api.enums.Textures; +import gregtech.api.interfaces.IIconContainer; import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.items.MetaGeneratedTool; @@ -36,6 +43,7 @@ import gregtech.api.objects.GTRenderedTexture; import gregtech.api.util.GTRecipe; import gregtech.api.util.GTUtility; +import gregtech.api.util.GTUtilityClient; import gregtech.api.util.MultiblockTooltipBuilder; import gregtech.common.items.MetaGeneratedTool01; import gregtech.common.pollution.Pollution; @@ -53,6 +61,7 @@ public abstract class GT_MetaTileEntity_AirFilterBase protected boolean isFilterLoaded = false; protected int filterUsageRemaining = 0; protected int tickCounter = 0; // because we can't trust the world tick, it may be in a dim with eternal day, etc + private boolean mFormed; protected static final String STRUCTURE_PIECE_MAIN = "main"; protected static final ClassValue> STRUCTURE_DEFINITION = new ClassValue>() { @@ -68,7 +77,7 @@ protected IStructureDefinition computeValue(Cla 'c', lazy( x -> ofChain( - ofBlock(GT_Container_CasingsNH.sBlockCasingsNH, x.getCasingMeta()), + ofBlock(sBlockCasingsNH, x.getCasingMeta()), ofHatchAdder( GT_MetaTileEntity_AirFilterBase::addMaintenanceToMachineList, x.getCasingIndex(), @@ -85,8 +94,8 @@ protected IStructureDefinition computeValue(Cla GT_MetaTileEntity_AirFilterBase::addEnergyInputToMachineList, x.getCasingIndex(), 1)))) - .addElement('x', lazy(x -> ofBlock(GT_Container_CasingsNH.sBlockCasingsNH, x.getCasingMeta()))) - .addElement('v', lazy(x -> ofBlock(GT_Container_CasingsNH.sBlockCasingsNH, x.getPipeMeta()))) + .addElement('x', lazy(x -> ofBlock(sBlockCasingsNH, x.getCasingMeta()))) + .addElement('v', lazy(x -> ofBlock(sBlockCasingsNH, x.getPipeMeta()))) .addElement( 'm', lazy( @@ -94,7 +103,7 @@ protected IStructureDefinition computeValue(Cla GT_MetaTileEntity_AirFilterBase::addMufflerToMachineList, x.getCasingIndex(), 2, - GT_Container_CasingsNH.sBlockCasingsNH, + sBlockCasingsNH, x.getCasingMeta()))) .build(); } @@ -435,6 +444,37 @@ public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { super.onPostTick(aBaseMetaTileEntity, aTick); } + @Override + public void onValueUpdate(byte aValue) { + mFormed = aValue == 1; + } + + @Override + public byte getUpdateData() { + return (byte) (mMachine ? 1 : 0); + } + + @Override + public boolean renderInWorld(IBlockAccess aWorld, int aX, int aY, int aZ, Block aBlock, RenderBlocks aRenderer) { + if (!mFormed) return false; + int[] xyz = new int[3]; + ExtendedFacing ext = getExtendedFacing(); + ext.getWorldOffset(new int[] { 0, -3, 1 }, xyz); + IIconContainer[] tTextures = getBaseMetaTileEntity().isActive() ? TURBINE_NEW_ACTIVE : TURBINE_NEW; + // we know this multi can only ever face upwards, so just use +y directly + ExtendedFacing direction = ExtendedFacing.of(ForgeDirection.UP); + GTUtilityClient.renderTurbineOverlay( + aWorld, + xyz[0] + aX, + xyz[1] + aY, + xyz[2] + aZ, + aRenderer, + direction, + sBlockCasingsNH, + tTextures); + return false; + } + @Override public boolean onRunningTick(ItemStack aStack) { if (tickCounter == 19 && hasPollution) { diff --git a/src/main/java/com/dreammaster/gthandler/recipes/AssemblerRecipes.java b/src/main/java/com/dreammaster/gthandler/recipes/AssemblerRecipes.java index e01664853e..5ec4dd0ec7 100644 --- a/src/main/java/com/dreammaster/gthandler/recipes/AssemblerRecipes.java +++ b/src/main/java/com/dreammaster/gthandler/recipes/AssemblerRecipes.java @@ -2343,11 +2343,12 @@ public void run() { // Neutronium Stabilization Casing GTValues.RA.stdBuilder() .itemInputs( - ItemList.Field_Generator_ZPM.get(4), - GTOreDictUnificator.get(OrePrefixes.frameGt, Materials.NaquadahAlloy, 4), ItemList.Casing_MAX.get(1), + ItemList.Field_Generator_ZPM.get(1), + GTOreDictUnificator.get(OrePrefixes.frameGt, Materials.NaquadahAlloy, 4), + GTOreDictUnificator.get(OrePrefixes.screw, Materials.NaquadahAlloy, 24), GTUtility.getIntegratedCircuit(16)) - .itemOutputs(ItemList.Neutronium_Stable_Casing.get(4)).duration(2 * SECONDS + 10 * TICKS).eut(16) + .itemOutputs(ItemList.Neutronium_Stable_Casing.get(4)).duration(10 * SECONDS).eut(TierEU.RECIPE_UV) .addTo(assemblerRecipes); // Neutronium Compressor conversion @@ -2646,7 +2647,7 @@ public void run() { GTOreDictUnificator.get(OrePrefixes.frameGt, Materials.Steel, 1), GTOreDictUnificator.get(OrePrefixes.stick, Materials.Steel, 4), GTOreDictUnificator.get(OrePrefixes.plate, Materials.Steel, 4), - GTUtility.getIntegratedCircuit(3)) + GTUtility.getIntegratedCircuit(13)) .itemOutputs(ItemList.Casing_Firebox_Steel.get(1)).duration(5 * SECONDS).eut(TierEU.RECIPE_LV) .addTo(assemblerRecipes); @@ -2655,7 +2656,7 @@ public void run() { GTOreDictUnificator.get(OrePrefixes.frameGt, Materials.Titanium, 1), GTOreDictUnificator.get(OrePrefixes.stick, Materials.Titanium, 4), GTOreDictUnificator.get(OrePrefixes.plate, Materials.Titanium, 4), - GTUtility.getIntegratedCircuit(3)) + GTUtility.getIntegratedCircuit(13)) .itemOutputs(ItemList.Casing_Firebox_Titanium.get(1)).duration(5 * SECONDS).eut(TierEU.RECIPE_LV) .addTo(assemblerRecipes); @@ -2664,7 +2665,7 @@ public void run() { GTOreDictUnificator.get(OrePrefixes.frameGt, Materials.TungstenSteel, 1), GTOreDictUnificator.get(OrePrefixes.stick, Materials.TungstenSteel, 4), GTOreDictUnificator.get(OrePrefixes.plate, Materials.TungstenSteel, 4), - GTUtility.getIntegratedCircuit(3)) + GTUtility.getIntegratedCircuit(13)) .itemOutputs(ItemList.Casing_Firebox_TungstenSteel.get(1)).duration(5 * SECONDS).eut(TierEU.RECIPE_LV) .addTo(assemblerRecipes); diff --git a/src/main/java/com/dreammaster/gthandler/recipes/AssemblingLineRecipes.java b/src/main/java/com/dreammaster/gthandler/recipes/AssemblingLineRecipes.java index 908cbd7d0a..530b0db735 100644 --- a/src/main/java/com/dreammaster/gthandler/recipes/AssemblingLineRecipes.java +++ b/src/main/java/com/dreammaster/gthandler/recipes/AssemblingLineRecipes.java @@ -1447,7 +1447,7 @@ public void run() { GTOreDictUnificator.get(OrePrefixes.pipeMedium, Materials.NiobiumTitanium, 1L), WerkstoffMaterialPool.MuMetal.get(OrePrefixes.stickLong, 8), GTOreDictUnificator.get(OrePrefixes.plateDouble, Materials.HSSS, 2L), - ItemList.Reactor_Coolant_Sp_6.get(1), + ItemList.Reactor_Coolant_Sp_3.get(2), ItemList.Electric_Pump_LuV.get(1)) .fluidInputs(new FluidStack(solderIndalloy, (int) (L * 4))) .itemOutputs(ItemList.Superconducting_Magnet_Solenoid_LuV.get(1)).duration(20 * SECONDS) diff --git a/src/main/java/com/dreammaster/gthandler/recipes/CircuitAssemblerRecipes.java b/src/main/java/com/dreammaster/gthandler/recipes/CircuitAssemblerRecipes.java index 88cd9b6555..e0dbe583c7 100644 --- a/src/main/java/com/dreammaster/gthandler/recipes/CircuitAssemblerRecipes.java +++ b/src/main/java/com/dreammaster/gthandler/recipes/CircuitAssemblerRecipes.java @@ -604,7 +604,7 @@ public void solderingMaterials() { GTValues.RA.stdBuilder() .itemInputs( ItemList.Circuit_Board_Phenolic_Good.get(1L), - GTModHandler.getModItem(IndustrialCraft2.ID, "itemPartCircuit", 1L, 0), + GTModHandler.getModItem(IndustrialCraft2.ID, "itemPartCircuit", 2L, 0), ItemList.Circuit_Parts_Diode.get(2L), GTOreDictUnificator.get(OrePrefixes.wireGt01, Materials.Copper, 2)) .itemOutputs(ItemList.Circuit_Good.get(1L)).fluidInputs(tMat.getMolten(144L * tMultiplier / 2L)) diff --git a/src/main/java/com/dreammaster/gthandler/recipes/MixerRecipes.java b/src/main/java/com/dreammaster/gthandler/recipes/MixerRecipes.java index 84b0e51c76..e4c36f71d8 100644 --- a/src/main/java/com/dreammaster/gthandler/recipes/MixerRecipes.java +++ b/src/main/java/com/dreammaster/gthandler/recipes/MixerRecipes.java @@ -1198,5 +1198,33 @@ public void run() { MaterialsUEVplus.ExcitedDTEC.getFluid(128000)) .duration(3 * SECONDS).eut(TierEU.RECIPE_UIV).addTo(mixerNonCellRecipes); } + if (EnderIO.isModLoaded() && BiomesOPlenty.isModLoaded() && Witchery.isModLoaded()) { + GTValues.RA.stdBuilder() + .itemInputs( + kubatech.api.enums.ItemList.EarlGrayTea.get(1), + kubatech.api.enums.ItemList.LemonTea.get(1), + kubatech.api.enums.ItemList.MilkTea.get(1), + kubatech.api.enums.ItemList.PeppermintTea.get(1), + GTModHandler.getModItem(EnderIO.ID, "bucketVapor_of_levity", 1L), + ItemList.ThermosCan_Ice_Tea.get(1L), + GTModHandler.getModItem(BiomesOPlenty.ID, "food", 1L, 10), + GTModHandler.getModItem(Witchery.ID, "potion", 1L), + GTModHandler.getModItem(Witchery.ID, "ingredient", 1L, 40)) + .itemOutputs( + new ItemStack(Items.glass_bottle, 2, 0), + new ItemStack(Items.bucket, 1, 0), + ItemList.ThermosCan_Empty.get(1L)) + .fluidInputs( + FluidRegistry.getFluidStack("potion.diablosauce", 7500), + FluidRegistry.getFluidStack("potion.piratebrew", 2500), + FluidRegistry.getFluidStack("potion.jagi", 2500), + FluidRegistry.getFluidStack("potion.alcopops", 2500), + FluidRegistry.getFluidStack("potion.goldencider", 2500), + FluidRegistry.getFluidStack("potion.chocolatemilk", 7500)) + .fluidOutputs( + FluidRegistry.getFluidStack("potion.diablosauce.strong", 12000), + FluidRegistry.getFluidStack("potion.mundane", 22000)) + .duration(200 * SECONDS).eut(TierEU.RECIPE_ZPM).addTo(mixerNonCellRecipes); + } } } diff --git a/src/main/java/com/dreammaster/gthandler/recipes/SpaceAssemblerRecipes.java b/src/main/java/com/dreammaster/gthandler/recipes/SpaceAssemblerRecipes.java index 007b0b5e3c..b0c5945d68 100644 --- a/src/main/java/com/dreammaster/gthandler/recipes/SpaceAssemblerRecipes.java +++ b/src/main/java/com/dreammaster/gthandler/recipes/SpaceAssemblerRecipes.java @@ -349,11 +349,11 @@ public void run() { ItemList.Field_Generator_UXV.get(1L), filledUMVCell, new ItemStack(TTCasingsContainer.SpacetimeCompressionFieldGenerators, 4, 8), - com.dreammaster.item.ItemList.CircuitUXV.getIS(4), + GTOreDictUnificator.get(OrePrefixes.circuit, Materials.UXV, 4), MaterialsUEVplus.Eternity.getNanite(4)) .fluidInputs(MaterialsUEVplus.Eternity.getMolten(36864)) .itemOutputs(getModItem(AppliedEnergistics2.ID, "item.ItemExtremeStorageCell.Universe", 1)) - .specialValue(3).duration(1 * MINUTES).eut(TierEU.RECIPE_UXV) + .specialValue(3).nbtSensitive().duration(1 * MINUTES).eut(TierEU.RECIPE_UXV) .addTo(IGRecipeMaps.spaceAssemblerRecipes); // Digital Singularity ME Storage Cell @@ -381,11 +381,12 @@ public void run() { new ItemStack(Loaders.yottaFluidTankCell, 2, 9), new ItemStack(tfftStorageField, 2, 10), new ItemStack(TTCasingsContainer.SpacetimeCompressionFieldGenerators, 4, 8), - com.dreammaster.item.ItemList.CircuitUXV.getIS(4), + GTOreDictUnificator.get(OrePrefixes.circuit, Materials.UXV, 4), MaterialsUEVplus.Eternity.getNanite(4)) .fluidInputs(MaterialsUEVplus.Eternity.getMolten(36864)) .itemOutputs(getModItem(AE2FluidCraft.ID, "fluid_storage.Universe", 1)).specialValue(3) - .duration(1 * MINUTES).eut(TierEU.RECIPE_UXV).addTo(IGRecipeMaps.spaceAssemblerRecipes); + .nbtSensitive().duration(1 * MINUTES).eut(TierEU.RECIPE_UXV) + .addTo(IGRecipeMaps.spaceAssemblerRecipes); // ME Fluid Digital Singularity Storage Cell GTValues.RA.stdBuilder() diff --git a/src/main/java/com/dreammaster/mixin/mixins/early/MixinMinecraft_ConfirmExit.java b/src/main/java/com/dreammaster/mixin/mixins/early/MixinMinecraft_ConfirmExit.java index 52ce8eeb89..b979e0f61b 100644 --- a/src/main/java/com/dreammaster/mixin/mixins/early/MixinMinecraft_ConfirmExit.java +++ b/src/main/java/com/dreammaster/mixin/mixins/early/MixinMinecraft_ConfirmExit.java @@ -7,7 +7,7 @@ import javax.swing.JOptionPane; import net.minecraft.client.Minecraft; -import net.minecraft.client.resources.I18n; +import net.minecraft.util.StatCollector; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Unique; @@ -48,7 +48,12 @@ public class MixinMinecraft_ConfirmExit { final ImageIcon imageIcon = resource == null ? null : new ImageIcon(resource); final int result = JOptionPane.showConfirmDialog( frame, - I18n.format("dreamcraft.gui.quitmessage"), + // When FML encounters an error, the only way to close the window is through the close button, + // which will show this message, unfortunately at this point, no localisations will have been + // loaded, so we add a hardcoded fallback message here. + StatCollector.canTranslate("dreamcraft.gui.quitmessage") + ? StatCollector.translateToLocal("dreamcraft.gui.quitmessage") + : "Are you sure you want to exit the game?", Refstrings.NAME, JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE, diff --git a/src/main/java/com/dreammaster/modcustomdrops/CustomDropsHandler.java b/src/main/java/com/dreammaster/modcustomdrops/CustomDropsHandler.java index 09232195f2..2f8ff7dcc0 100644 --- a/src/main/java/com/dreammaster/modcustomdrops/CustomDropsHandler.java +++ b/src/main/java/com/dreammaster/modcustomdrops/CustomDropsHandler.java @@ -236,8 +236,8 @@ public void provideExtraDropsInformation(@NotNull String entityString, @NotNull stack.stackSize = drop.getAmount(); } MobDrop mobDrop = MobDrop.create(stack).withChance(chance).withHardPlayerRestriction(); + mobDrop.clampChance(); if (drop.getLimitedDropCount() > 0) { - mobDrop.clampChance(); mobDrop.withChanceModifiers( new IChanceModifier.NormalChance(mobDrop.chance / 100d), new LimitedDropCountModifier(drop.getLimitedDropCount())); diff --git a/src/main/java/com/dreammaster/recipes/RecipeRemover.java b/src/main/java/com/dreammaster/recipes/RecipeRemover.java index 8462213b22..77b7e169d5 100644 --- a/src/main/java/com/dreammaster/recipes/RecipeRemover.java +++ b/src/main/java/com/dreammaster/recipes/RecipeRemover.java @@ -328,10 +328,7 @@ public static void run() { GTModHandler.removeFurnaceSmelting(GTOreDictUnificator.get(OrePrefixes.plate, Materials.Sunnarium, 1L)); GTModHandler.removeFurnaceSmelting(GTOreDictUnificator.get(OrePrefixes.stickLong, Materials.Sunnarium, 1L)); - GTModHandler - .removeFurnaceSmelting(GTOreDictUnificator.get(OrePrefixes.toolHeadShovel, Materials.Sunnarium, 1L)); - GTModHandler.removeFurnaceSmelting( - GTOreDictUnificator.get(OrePrefixes.toolHeadUniversalSpade, Materials.Sunnarium, 1L)); + GTModHandler.removeFurnaceSmelting(GTOreDictUnificator.get(OrePrefixes.spring, Materials.Sunnarium, 1L)); GTModHandler.removeFurnaceSmelting(GTOreDictUnificator.get(OrePrefixes.gearGtSmall, Materials.Sunnarium, 1L)); GTModHandler.removeFurnaceSmelting(getModItem(Backpack.ID, "boundLeather", 1, wildcard, missing)); @@ -1240,11 +1237,6 @@ public static void run() { removeRecipeByOutputDelayed(getModItem(GraviSuite.ID, "graviTool", 1, 0, missing)); removeRecipeByOutputDelayed(getModItem(GraviSuite.ID, "ultimateLappack", 1, 0, missing)); removeRecipeByOutputDelayed(getModItem(GraviSuiteNEO.ID, "epicLappack", 1, wildcard, missing)); - removeRecipeByOutputDelayed(GTOreDictUnificator.get(OrePrefixes.toolHeadSword, Materials.Diamond, 1L)); - removeRecipeByOutputDelayed(GTOreDictUnificator.get(OrePrefixes.toolHeadPickaxe, Materials.Diamond, 1L)); - removeRecipeByOutputDelayed(GTOreDictUnificator.get(OrePrefixes.toolHeadShovel, Materials.Diamond, 1L)); - removeRecipeByOutputDelayed(GTOreDictUnificator.get(OrePrefixes.toolHeadAxe, Materials.Diamond, 1L)); - removeRecipeByOutputDelayed(GTOreDictUnificator.get(OrePrefixes.toolHeadHoe, Materials.Diamond, 1L)); removeRecipeByOutputDelayed(getModItem(IndustrialCraft2.ID, "itemRTGPellet", 1, 0, missing)); removeRecipeByOutputDelayed(getModItem(IndustrialCraft2.ID, "itemOreIridium", 1, 0, missing)); removeRecipeByOutputDelayed(getModItem(ThaumicBases.ID, "resource", 1, 0, missing)); @@ -1558,14 +1550,7 @@ public static void run() { removeRecipeByOutputDelayed(getModItem(IndustrialCraft2.ID, "blockMiningPipe", 1, 0, missing)); removeRecipeByOutputDelayed(getModItem(IndustrialCraft2.ID, "blockGenerator", 1, 5, missing)); removeRecipeByOutputDelayed(GTOreDictUnificator.get(OrePrefixes.plate, Materials.Iridium, 1L)); - removeRecipeByOutputDelayed(GTOreDictUnificator.get(OrePrefixes.toolHeadAxe, Materials.Iridium, 1L)); - removeRecipeByOutputDelayed(GTOreDictUnificator.get(OrePrefixes.toolHeadHoe, Materials.Iridium, 1L)); - removeRecipeByOutputDelayed(GTOreDictUnificator.get(OrePrefixes.toolHeadSense, Materials.Iridium, 1L)); - removeRecipeByOutputDelayed(GTOreDictUnificator.get(OrePrefixes.toolHeadPickaxe, Materials.Iridium, 1L)); - removeRecipeByOutputDelayed(GTOreDictUnificator.get(OrePrefixes.toolHeadPlow, Materials.Iridium, 1L)); - removeRecipeByOutputDelayed(GTOreDictUnificator.get(OrePrefixes.toolHeadSword, Materials.Iridium, 1L)); removeRecipeByOutputDelayed(GTOreDictUnificator.get(OrePrefixes.toolHeadSaw, Materials.Iridium, 1L)); - removeRecipeByOutputDelayed(GTOreDictUnificator.get(OrePrefixes.toolHeadShovel, Materials.Iridium, 1L)); removeRecipeByOutputDelayed(getModItem(IndustrialCraft2.ID, "itemBatLamaCrystal", 1, 0, missing)); removeRecipeByOutputDelayed(getModItem(IndustrialCraft2.ID, "itemDust2", 1, 2, missing)); removeRecipeByOutputDelayed(getModItem(IndustrialCraft2.ID, "itemPartCFPowder", 1, 0, missing)); diff --git a/src/main/java/com/dreammaster/scripts/ScriptAE2FC.java b/src/main/java/com/dreammaster/scripts/ScriptAE2FC.java index b4ee998394..62cbddac9a 100644 --- a/src/main/java/com/dreammaster/scripts/ScriptAE2FC.java +++ b/src/main/java/com/dreammaster/scripts/ScriptAE2FC.java @@ -22,6 +22,7 @@ import net.minecraft.init.Blocks; import net.minecraft.init.Items; import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; import net.minecraftforge.oredict.OreDictionary; import net.minecraftforge.oredict.ShapedOreRecipe; @@ -437,6 +438,19 @@ public void loadRecipes() { .itemOutputs(AE2FC_FLUID_STORAGE_BUS).duration(15 * SECONDS).eut(TierEU.RECIPE_MV) .addTo(assemblerRecipes); + // preconfigurated priorities for storage buses + ItemStack preconfiguredStorageBus = AE2FC_FLUID_STORAGE_BUS.copy(); + for (int i = 1; i < 25; i++) { + NBTTagCompound tag = new NBTTagCompound(); + tag.setInteger("priority", i); + preconfiguredStorageBus.setTagCompound(tag); + GTValues.RA.stdBuilder().itemInputs(AE2FC_FLUID_STORAGE_BUS, GTUtility.getIntegratedCircuit(i)) + .itemOutputs(preconfiguredStorageBus).duration(5 * SECONDS).eut(TierEU.RECIPE_HV) + .addTo(circuitAssemblerRecipes); + + addShapelessRecipe(preconfiguredStorageBus, AE2FC_FLUID_STORAGE_BUS, GTUtility.getIntegratedCircuit(i)); + } + // Big Long But: Components in Circuit Assembler // 1k ME Storage Component GTValues.RA.stdBuilder() diff --git a/src/main/java/com/dreammaster/scripts/ScriptAppliedEnergistics2.java b/src/main/java/com/dreammaster/scripts/ScriptAppliedEnergistics2.java index e2051752ad..6ecc8b9ac6 100644 --- a/src/main/java/com/dreammaster/scripts/ScriptAppliedEnergistics2.java +++ b/src/main/java/com/dreammaster/scripts/ScriptAppliedEnergistics2.java @@ -27,6 +27,7 @@ import java.util.List; import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; import net.minecraftforge.fluids.FluidRegistry; import net.minecraftforge.fluids.FluidStack; @@ -90,7 +91,20 @@ public void loadRecipes() { ItemStack[] FluixSmartCableColor = new ItemStack[16]; ItemStack[] FluixDenseSmartCableColor = new ItemStack[16]; ItemStack[] FluixGlassCableColor = new ItemStack[16]; + final ItemStack storageBus = getModItem(AppliedEnergistics2.ID, "item.ItemMultiPart", 1, 220, missing); + // preconfigurated priorities for storage buses + ItemStack preconfiguredStorageBus = storageBus.copy(); + for (int i = 1; i < 25; i++) { + NBTTagCompound tag = new NBTTagCompound(); + tag.setInteger("priority", i); + preconfiguredStorageBus.setTagCompound(tag); + GTValues.RA.stdBuilder().itemInputs(storageBus, GTUtility.getIntegratedCircuit(i)) + .itemOutputs(preconfiguredStorageBus).duration(5 * SECONDS).eut(TierEU.RECIPE_HV) + .addTo(circuitAssemblerRecipes); + + addShapelessRecipe(preconfiguredStorageBus, storageBus, GTUtility.getIntegratedCircuit(i)); + } // Hyper-Acceleration Card addShapelessRecipe( SuperSpeedCard, @@ -1411,7 +1425,7 @@ public void loadRecipes() { GTOreDictUnificator.get(OrePrefixes.plate, Materials.NetherQuartz, 1L)); // ME storage bus addShapedRecipe( - getModItem(AppliedEnergistics2.ID, "item.ItemMultiPart", 1, 220, missing), + storageBus, "craftingToolScrewdriver", "chestWood", "craftingToolHardHammer", @@ -1911,8 +1925,7 @@ public void loadRecipes() { getModItem(AppliedEnergistics2.ID, "item.ItemMultiPart", 1, 440, missing), GTOreDictUnificator.get(OrePrefixes.plate, Materials.NetherQuartz, 2), ItemList.Electric_Piston_LV.get(1L)) - .itemOutputs(getModItem(AppliedEnergistics2.ID, "item.ItemMultiPart", 1, 220, missing)) - .duration(10 * SECONDS).eut(TierEU.RECIPE_MV).addTo(assemblerRecipes); + .itemOutputs(storageBus).duration(10 * SECONDS).eut(TierEU.RECIPE_MV).addTo(assemblerRecipes); GTValues.RA.stdBuilder() .itemInputs( GTOreDictUnificator.get(OrePrefixes.plate, Materials.Titanium, 1), diff --git a/src/main/java/com/dreammaster/scripts/ScriptAvaritia.java b/src/main/java/com/dreammaster/scripts/ScriptAvaritia.java index c2312ecbbe..7faa7904de 100644 --- a/src/main/java/com/dreammaster/scripts/ScriptAvaritia.java +++ b/src/main/java/com/dreammaster/scripts/ScriptAvaritia.java @@ -472,13 +472,7 @@ public void loadRecipes() { 'j', getModItem(Avaritia.ID, "Resource", 1, 5, missing)); ExtremeCraftingManager.getInstance().addExtremeShapedOreRecipe( - createItemStack( - Avaritia.ID, - "Infinity_Pickaxe", - 1, - 0, - "{ench:[0:{lvl:10s,id:35s}],hammer:0b}", - missing), + createItemStack(Avaritia.ID, "Infinity_Pickaxe", 1, 0, "{ench:[0:{lvl:10s,id:35s}]}", missing), "-aaaaaaa-", "abbcdebba", "aa-fgh-aa", @@ -511,7 +505,7 @@ public void loadRecipes() { 'k', getModItem(Avaritia.ID, "Resource", 1, 5, missing)); ExtremeCraftingManager.getInstance().addExtremeShapedOreRecipe( - createItemStack(Avaritia.ID, "Infinity_Shovel", 1, 0, "{destroyer:0b}", missing), + getModItem(Avaritia.ID, "Infinity_Shovel", 1, 0, missing), "------aaa", "-----abca", "------dea", diff --git a/src/main/java/com/dreammaster/scripts/ScriptBiomesOPlenty.java b/src/main/java/com/dreammaster/scripts/ScriptBiomesOPlenty.java index f181729796..43a388f5f9 100644 --- a/src/main/java/com/dreammaster/scripts/ScriptBiomesOPlenty.java +++ b/src/main/java/com/dreammaster/scripts/ScriptBiomesOPlenty.java @@ -2,11 +2,14 @@ import static com.dreammaster.main.MainRegistry.Module_CustomFuels; import static gregtech.api.enums.Mods.BiomesOPlenty; +import static gregtech.api.enums.Mods.Botany; import static gregtech.api.enums.Mods.Forestry; import static gregtech.api.enums.Mods.GTPlusPlus; +import static gregtech.api.enums.Mods.HardcoreEnderExpansion; import static gregtech.api.enums.Mods.IguanaTweaksTinkerConstruct; import static gregtech.api.enums.Mods.Minecraft; import static gregtech.api.enums.Mods.PamsHarvestCraft; +import static gregtech.api.enums.Mods.RandomThings; import static gregtech.api.recipe.RecipeMaps.assemblerRecipes; import static gregtech.api.recipe.RecipeMaps.centrifugeRecipes; import static gregtech.api.recipe.RecipeMaps.extractorRecipes; @@ -14,6 +17,7 @@ import static gregtech.api.recipe.RecipeMaps.fluidExtractionRecipes; import static gregtech.api.recipe.RecipeMaps.fluidSolidifierRecipes; import static gregtech.api.recipe.RecipeMaps.maceratorRecipes; +import static gregtech.api.recipe.RecipeMaps.mixerRecipes; import static gregtech.api.util.GTModHandler.getModItem; import static gregtech.api.util.GTRecipeBuilder.MINUTES; import static gregtech.api.util.GTRecipeBuilder.SECONDS; @@ -29,6 +33,7 @@ import gregtech.api.enums.ItemList; import gregtech.api.enums.Materials; import gregtech.api.enums.OrePrefixes; +import gregtech.api.enums.TierEU; import gregtech.api.util.GTModHandler; import gregtech.api.util.GTOreDictUnificator; import gregtech.api.util.GTUtility; @@ -283,6 +288,24 @@ public void loadRecipes() { GTOreDictUnificator.get(OrePrefixes.dustSmall, Materials.Gypsum, 1L), GTOreDictUnificator.get(OrePrefixes.dustSmall, Materials.Calcite, 1L)) .outputChances(10000, 7500, 2500, 2500).duration(10 * SECONDS).eut(8).addTo(maceratorRecipes); + GTValues.RA.stdBuilder() + .itemInputs( + getModItem(HardcoreEnderExpansion.ID, "end_powder", 8L), + getModItem(RandomThings.ID, "ingredient", 1L, 6)) + .itemOutputs(GTModHandler.getModItem(BiomesOPlenty.ID, "misc", 1L, 4)) + .fluidInputs(FluidRegistry.getFluidStack("endergoo", 1000)).duration(15 * SECONDS).eut(TierEU.RECIPE_HV) + .addTo(mixerRecipes); + GTValues.RA.stdBuilder() + .itemInputs( + GTOreDictUnificator.get(OrePrefixes.dust, Materials.Salt, 1L), + getModItem(PamsHarvestCraft.ID, "seaweedItem", 32L), + getModItem(Botany.ID, "misc", 1L, 7)) + .itemOutputs(GTModHandler.getModItem(BiomesOPlenty.ID, "coral1", 32L, 11)) + .fluidInputs(FluidRegistry.getFluidStack("weedex9000", 100)).duration(15 * SECONDS) + .eut(TierEU.RECIPE_MV).addTo(mixerRecipes); + GTValues.RA.stdBuilder().itemInputs(getModItem(BiomesOPlenty.ID, "jarEmpty", 1L)) + .itemOutputs(getModItem(BiomesOPlenty.ID, "jarFilled", 1L)).fluidInputs(Materials.Honey.getFluid(1000L)) + .duration(2 * SECONDS).eut(1).addTo(fluidCannerRecipes); } } diff --git a/src/main/java/com/dreammaster/scripts/ScriptCoreMod.java b/src/main/java/com/dreammaster/scripts/ScriptCoreMod.java index 34ddf3d3bc..7551772917 100644 --- a/src/main/java/com/dreammaster/scripts/ScriptCoreMod.java +++ b/src/main/java/com/dreammaster/scripts/ScriptCoreMod.java @@ -57,6 +57,7 @@ import gregtech.api.enums.Materials; import gregtech.api.enums.OrePrefixes; import gregtech.api.enums.TierEU; +import gregtech.api.objects.ItemData; import gregtech.api.util.GTModHandler; import gregtech.api.util.GTOreDictUnificator; import gregtech.api.util.GTUtility; @@ -1061,6 +1062,7 @@ public void loadRecipes() { GTOreDictUnificator.get(OrePrefixes.plate, Materials.Bedrockium, 18)) .itemOutputs(com.dreammaster.item.ItemList.EnrichedXSunnariumAlloy.getIS(1)) .duration(2 * MINUTES + 20 * SECONDS).eut(TierEU.RECIPE_UEV).addTo(assemblerRecipes); + GTValues.RA.stdBuilder() .itemInputs( getModItem(IndustrialCraft2.ID, "blockAlloy", 1, 0, missing), @@ -1103,6 +1105,47 @@ public void loadRecipes() { .itemOutputs(BlockList.NeutroniumPlatedReinforcedStone.getIS()) .fluidInputs(FluidRegistry.getFluidStack("molten.naquadria", 144)).duration(25 * SECONDS).eut(480) .addTo(assemblerRecipes); + GTOreDictUnificator.addItemData( + BlockList.BronzePlatedReinforcedStone.getIS(), + new ItemData( + new ItemData(Materials.Bronze, 6 * GTValues.M), + new ItemData(Materials.Steel, 3 * GTValues.M), + new ItemData(Materials.Concrete, 1 * GTValues.M))); + GTOreDictUnificator.addItemData( + BlockList.SteelPlatedReinforcedStone.getIS(), + new ItemData( + new ItemData(Materials.Steel, 8 * GTValues.M), + new ItemData(Materials.Aluminium, 1 * GTValues.M), + new ItemData(Materials.Concrete, 1 * GTValues.M))); + GTOreDictUnificator.addItemData( + BlockList.TitaniumPlatedReinforcedStone.getIS(), + new ItemData( + new ItemData(Materials.Titanium, 6 * GTValues.M), + new ItemData(Materials.Platinum, 1 * GTValues.M), + new ItemData(Materials.Steel, 2 * GTValues.M), + new ItemData(Materials.Concrete, 1 * GTValues.M))); + GTOreDictUnificator.addItemData( + BlockList.TungstensteelPlatedReinforcedStone.getIS(), + new ItemData( + new ItemData(Materials.TungstenSteel, 6 * GTValues.M), + new ItemData(Materials.Iridium, 1 * GTValues.M), + new ItemData(Materials.Steel, 2 * GTValues.M), + new ItemData(Materials.Concrete, 1 * GTValues.M))); + GTOreDictUnificator.addItemData( + BlockList.NaquadahPlatedReinforcedStone.getIS(), + new ItemData( + new ItemData(Materials.Naquadah, 6 * GTValues.M), + new ItemData(Materials.Osmium, 1 * GTValues.M), + new ItemData(Materials.Steel, 2 * GTValues.M), + new ItemData(Materials.Concrete, 1 * GTValues.M))); + GTOreDictUnificator.addItemData( + BlockList.NeutroniumPlatedReinforcedStone.getIS(), + new ItemData( + new ItemData(Materials.Neutronium, 6 * GTValues.M), + new ItemData(Materials.Naquadria, 1 * GTValues.M), + new ItemData(Materials.Steel, 2 * GTValues.M), + new ItemData(Materials.Concrete, 1 * GTValues.M))); + GTValues.RA.stdBuilder() .itemInputs( getModItem(GalacticraftMars.ID, "item.itemBasicAsteroids", 2, 6, missing), diff --git a/src/main/java/com/dreammaster/scripts/ScriptEnderIO.java b/src/main/java/com/dreammaster/scripts/ScriptEnderIO.java index ee1d95e40e..64675ad418 100644 --- a/src/main/java/com/dreammaster/scripts/ScriptEnderIO.java +++ b/src/main/java/com/dreammaster/scripts/ScriptEnderIO.java @@ -1737,6 +1737,19 @@ public void loadRecipes() { .itemOutputs(getModItem(EnderIO.ID, "itemExtractSpeedUpgrade", 1, 1, missing)) .fluidInputs(FluidRegistry.getFluidStack("molten.rubber", 144)).duration(15 * SECONDS).eut(64) .addTo(assemblerRecipes); + GTValues.RA.stdBuilder() + .itemInputs( + getModItem(EnderIO.ID, "itemExtractSpeedUpgrade", 1, 0, missing), + GTUtility.getIntegratedCircuit(1)) + .itemOutputs(getModItem(EnderIO.ID, "itemExtractSpeedUpgrade", 1, 1, missing)) + .fluidInputs(Materials.Silicone.getMolten(144)).duration(15 * SECONDS).eut(64).addTo(assemblerRecipes); + GTValues.RA.stdBuilder() + .itemInputs( + getModItem(EnderIO.ID, "itemExtractSpeedUpgrade", 1, 0, missing), + GTUtility.getIntegratedCircuit(1)) + .itemOutputs(getModItem(EnderIO.ID, "itemExtractSpeedUpgrade", 1, 1, missing)) + .fluidInputs(Materials.StyreneButadieneRubber.getMolten(144)).duration(15 * SECONDS).eut(64) + .addTo(assemblerRecipes); GTValues.RA.stdBuilder() .itemInputs( getModItem(EnderIO.ID, "blockFusedQuartz", 3, 0, missing), diff --git a/src/main/java/com/dreammaster/scripts/ScriptExtraTrees.java b/src/main/java/com/dreammaster/scripts/ScriptExtraTrees.java index e1eba286de..4c4774145d 100644 --- a/src/main/java/com/dreammaster/scripts/ScriptExtraTrees.java +++ b/src/main/java/com/dreammaster/scripts/ScriptExtraTrees.java @@ -7476,5 +7476,27 @@ public void recipes2() { "stickWood", getModItem(Minecraft.ID, "planks", 1, 5, missing), "stickWood"); + addShapedRecipe( + createItemStack(ExtraTrees.ID, "food", 1, 23, "{meta:23}", missing), + "dustSugar", + getModItem(Minecraft.ID, "sand", 1, 1, missing), + "dustSugar", + getModItem(Minecraft.ID, "sand", 1, 1, missing), + "cropPear", + getModItem(Minecraft.ID, "sand", 1, 1, missing), + "dustSugar", + getModItem(Minecraft.ID, "sand", 1, 1, missing), + "dustSugar"); + addShapedRecipe( + createItemStack(ExtraTrees.ID, "food", 1, 40, "{meta:40}", missing), + "dustLazurite", + "gemChippedOlivine", + "dustLapis", + "dustSugar", + getModItem(Forestry.ID, "fruits", 1, 6, missing), + "gemChippedOlivine", + "dustSodalite", + "dustSugar", + "dustLazurite"); } } diff --git a/src/main/java/com/dreammaster/scripts/ScriptGregtech.java b/src/main/java/com/dreammaster/scripts/ScriptGregtech.java index 63267cd57e..d246231dee 100644 --- a/src/main/java/com/dreammaster/scripts/ScriptGregtech.java +++ b/src/main/java/com/dreammaster/scripts/ScriptGregtech.java @@ -98,61 +98,6 @@ public void loadRecipes() { getModItem(SGCraft.ID, "ic2Capacitor", 1, 0, missing), getModItem(SGCraft.ID, "ocInterface", 1, 0, missing), getModItem(SGCraft.ID, "ic2Capacitor", 1, 0, missing)); - addShapedRecipe( - GTOreDictUnificator.get(OrePrefixes.toolHeadSword, Materials.Diamond, 1L), - null, - GTOreDictUnificator.get(OrePrefixes.plate, Materials.Diamond, 1L), - null, - "craftingToolFile", - GTOreDictUnificator.get(OrePrefixes.plate, Materials.Diamond, 1L), - "craftingToolHardHammer", - null, - null, - null); - addShapedRecipe( - GTOreDictUnificator.get(OrePrefixes.toolHeadPickaxe, Materials.Diamond, 1L), - GTOreDictUnificator.get(OrePrefixes.plate, Materials.Diamond, 1L), - "gemDiamond", - "gemDiamond", - "craftingToolFile", - null, - "craftingToolHardHammer", - null, - null, - null); - addShapedRecipe( - GTOreDictUnificator.get(OrePrefixes.toolHeadShovel, Materials.Diamond, 1L), - "craftingToolFile", - GTOreDictUnificator.get(OrePrefixes.plate, Materials.Diamond, 1L), - "craftingToolHardHammer", - null, - null, - null, - null, - null, - null); - addShapedRecipe( - GTOreDictUnificator.get(OrePrefixes.toolHeadAxe, Materials.Diamond, 1L), - GTOreDictUnificator.get(OrePrefixes.plate, Materials.Diamond, 1L), - "gemDiamond", - "craftingToolHardHammer", - GTOreDictUnificator.get(OrePrefixes.plate, Materials.Diamond, 1L), - null, - null, - "craftingToolFile", - null, - null); - addShapedRecipe( - GTOreDictUnificator.get(OrePrefixes.toolHeadHoe, Materials.Diamond, 1L), - GTOreDictUnificator.get(OrePrefixes.plate, Materials.Diamond, 1L), - "gemDiamond", - "craftingToolHardHammer", - "craftingToolFile", - null, - null, - null, - null, - null); addShapedRecipe( GTOreDictUnificator.get(OrePrefixes.ring, Materials.Wood, 1L), "craftingToolKnife", diff --git a/src/main/java/com/dreammaster/scripts/ScriptIndustrialCraft.java b/src/main/java/com/dreammaster/scripts/ScriptIndustrialCraft.java index 210c116aea..3a24e2258c 100644 --- a/src/main/java/com/dreammaster/scripts/ScriptIndustrialCraft.java +++ b/src/main/java/com/dreammaster/scripts/ScriptIndustrialCraft.java @@ -47,6 +47,7 @@ import gregtech.api.enums.ItemList; import gregtech.api.enums.Materials; import gregtech.api.enums.OrePrefixes; +import gregtech.api.objects.ItemData; import gregtech.api.util.GTOreDictUnificator; import gregtech.api.util.GTUtility; import gtPlusPlus.xmod.ic2.item.IC2Items; @@ -1018,33 +1019,7 @@ public void loadRecipes() { GTOreDictUnificator.get(OrePrefixes.ingotDouble, Materials.Iridium, 1L), null, null); - addShapedRecipe( - GTOreDictUnificator.get(OrePrefixes.toolHeadAxe, Materials.Iridium, 1L), - "plateIridium", - "ingotIridium", - "craftingToolHardHammer", - "plateIridium", - null, - null, - "craftingToolFile", - null, - null); - addShapedRecipe( - GTOreDictUnificator.get(OrePrefixes.toolHeadHoe, Materials.Iridium, 1L), - "plateIridium", - "ingotIridium", - "craftingToolHardHammer", - "craftingToolFile", - null, - null); - addShapedRecipe( - GTOreDictUnificator.get(OrePrefixes.toolHeadSense, Materials.Iridium, 1L), - "plateIridium", - "plateIridium", - "ingotIridium", - "craftingToolHardHammer", - "craftingToolFile", - null); + addShapedRecipe( createItemStack( GregTech.ID, @@ -1062,39 +1037,6 @@ public void loadRecipes() { "ingotIridium", "ingotIridium", null); - addShapedRecipe( - GTOreDictUnificator.get(OrePrefixes.toolHeadPickaxe, Materials.Iridium, 1L), - "plateIridium", - "ingotIridium", - "ingotIridium", - "craftingToolFile", - null, - "craftingToolHardHammer", - null, - null, - null); - addShapedRecipe( - GTOreDictUnificator.get(OrePrefixes.toolHeadPlow, Materials.Iridium, 1L), - "plateIridium", - "plateIridium", - null, - "plateIridium", - "plateIridium", - null, - "craftingToolHardHammer", - "craftingToolFile", - null); - addShapedRecipe( - GTOreDictUnificator.get(OrePrefixes.toolHeadSword, Materials.Iridium, 1L), - null, - "plateIridium", - null, - "craftingToolFile", - "plateIridium", - "craftingToolHardHammer", - null, - null, - null); addShapedRecipe( GTOreDictUnificator.get(OrePrefixes.toolHeadSaw, Materials.Iridium, 1L), "plateIridium", @@ -1106,11 +1048,6 @@ public void loadRecipes() { null, null, null); - addShapedRecipe( - GTOreDictUnificator.get(OrePrefixes.toolHeadShovel, Materials.Iridium, 1L), - "craftingToolFile", - "plateIridium", - "craftingToolHardHammer"); addShapedRecipe( getModItem(IndustrialCraft2.ID, "itemWeedingTrowel", 1, 0, missing), "screwSteel", @@ -1620,6 +1557,11 @@ public void loadRecipes() { GTOreDictUnificator.get(OrePrefixes.plate, Materials.Lead, 2L)) .itemOutputs(getModItem(IndustrialCraft2.ID, "blockreactorvessel", 1, 0, missing)) .duration(10 * SECONDS).eut(120).addTo(assemblerRecipes); + GTOreDictUnificator.addItemData( + getModItem(IndustrialCraft2.ID, "blockAlloy", 1, 0, missing), + new ItemData( + new ItemData(Materials.Steel, 2 * GTValues.M), + new ItemData(Materials.Concrete, 1 * GTValues.M))); GTValues.RA.stdBuilder() .itemInputs( getModItem(IndustrialCraft2.ID, "blockreactorvessel", 1, 0, missing), diff --git a/src/main/java/com/dreammaster/scripts/ScriptThaumicExploration.java b/src/main/java/com/dreammaster/scripts/ScriptThaumicExploration.java index 149e28ba58..b163478816 100644 --- a/src/main/java/com/dreammaster/scripts/ScriptThaumicExploration.java +++ b/src/main/java/com/dreammaster/scripts/ScriptThaumicExploration.java @@ -2,7 +2,9 @@ import static gregtech.api.enums.Mods.BiomesOPlenty; import static gregtech.api.enums.Mods.ExtraUtilities; +import static gregtech.api.enums.Mods.ForbiddenMagic; import static gregtech.api.enums.Mods.Minecraft; +import static gregtech.api.enums.Mods.Natura; import static gregtech.api.enums.Mods.PamsHarvestCraft; import static gregtech.api.enums.Mods.Thaumcraft; import static gregtech.api.enums.Mods.ThaumicExploration; @@ -1888,6 +1890,23 @@ public void loadRecipes() { TCHelper.findInfusionRecipe(getModItem(ThaumicExploration.ID, "talismanFood", 1, 0, missing)))); TCHelper.addResearchPrereq("THINKTANK", "BraincureGTNH", false); ThaumcraftApi.addWarpToResearch("THINKTANK", 2); + ThaumcraftApi.addArcaneCraftingRecipe( + "TalismanfoodtGTNH", + getModItem(ThaumicExploration.ID, "taintBerry", 1, 0, missing), + new AspectList().add(Aspect.getAspect("aer"), 20).add(Aspect.getAspect("aqua"), 20) + .add(Aspect.getAspect("ignis"), 20).add(Aspect.getAspect("terra"), 20) + .add(Aspect.getAspect("ordo"), 25).add(Aspect.getAspect("perditio"), 25), + "tft", + "gbg", + "ggg", + 't', + getModItem(Thaumcraft.ID, "ItemResource", 1, 12, missing), + 'g', + getModItem(Thaumcraft.ID, "ItemResource", 1, 11, missing), + 'b', + getModItem(Natura.ID, "berry.nether", 1, missing), + 'f', + getModItem(ForbiddenMagic.ID, "TaintFruit", 1, missing)); TCHelper.orphanResearch("DREAMCATCHER"); TCHelper.removeResearch("DREAMCATCHER"); new ResearchItem( diff --git a/src/main/java/com/dreammaster/scripts/ScriptThaumicHorizons.java b/src/main/java/com/dreammaster/scripts/ScriptThaumicHorizons.java index 5d891abaf6..3a3a519885 100644 --- a/src/main/java/com/dreammaster/scripts/ScriptThaumicHorizons.java +++ b/src/main/java/com/dreammaster/scripts/ScriptThaumicHorizons.java @@ -1,8 +1,12 @@ package com.dreammaster.scripts; +import static gregtech.api.enums.Mods.BiomesOPlenty; import static gregtech.api.enums.Mods.Thaumcraft; import static gregtech.api.enums.Mods.ThaumicHorizons; +import static gregtech.api.recipe.RecipeMaps.compressorRecipes; +import static gregtech.api.recipe.RecipeMaps.extractorRecipes; import static gregtech.api.util.GTModHandler.getModItem; +import static gregtech.api.util.GTRecipeBuilder.SECONDS; import java.util.Arrays; import java.util.List; @@ -11,6 +15,7 @@ import com.dreammaster.thaumcraft.TCHelper; +import gregtech.api.enums.GTValues; import gregtech.api.enums.Materials; import gregtech.api.enums.Mods; import gregtech.api.enums.OrePrefixes; @@ -195,5 +200,11 @@ public void loadRecipes() { TCHelper.refreshResearchPages("transductionAmplifier"); TCHelper.refreshResearchPages("vortexStabilizer"); TCHelper.refreshResearchPages("recombinator"); + GTValues.RA.stdBuilder().itemInputs(getModItem(BiomesOPlenty.ID, "flesh", 2, missing)) + .itemOutputs(getModItem(ThaumicHorizons.ID, "meatTH", 1, missing)).duration(15 * SECONDS).eut(2) + .addTo(compressorRecipes); + GTValues.RA.stdBuilder().itemInputs(getModItem(ThaumicHorizons.ID, "meatCookedTH", 1, missing)) + .itemOutputs(getModItem(ThaumicHorizons.ID, "meatNuggetTH", 4, missing)).duration(15 * SECONDS).eut(2) + .addTo(extractorRecipes); } } diff --git a/src/main/java/com/dreammaster/scripts/ScriptWarpTheory.java b/src/main/java/com/dreammaster/scripts/ScriptWarpTheory.java index ce5d0ceaaa..958baa7bf9 100644 --- a/src/main/java/com/dreammaster/scripts/ScriptWarpTheory.java +++ b/src/main/java/com/dreammaster/scripts/ScriptWarpTheory.java @@ -4,8 +4,11 @@ import static gregtech.api.enums.Mods.BiomesOPlenty; import static gregtech.api.enums.Mods.BloodMagic; import static gregtech.api.enums.Mods.Minecraft; +import static gregtech.api.enums.Mods.OpenBlocks; import static gregtech.api.enums.Mods.Thaumcraft; import static gregtech.api.enums.Mods.ThaumicBases; +import static gregtech.api.enums.Mods.ThaumicExploration; +import static gregtech.api.enums.Mods.ThaumicTinkerer; import static gregtech.api.enums.Mods.WarpTheory; import static gregtech.api.enums.Mods.Witchery; import static gregtech.api.util.GTModHandler.getModItem; @@ -52,6 +55,7 @@ public void loadRecipes() { TCHelper.removeInfusionRecipe(getModItem(WarpTheory.ID, "item.warptheory.cleanserminor", 1, 0, missing)); TCHelper.removeInfusionRecipe(getModItem(WarpTheory.ID, "item.warptheory.cleanser", 1, 0, missing)); TCHelper.removeInfusionRecipe(getModItem(WarpTheory.ID, "item.warptheory.amulet", 1, 0, missing)); + TCHelper.removeInfusionRecipe(getModItem(WarpTheory.ID, "item.warptheory.portableshower", 1, 0, missing)); TCHelper.clearPrereq("warptheory.paper"); TCHelper.addResearchPrereq("warptheory.paper", "RESEARCHER2", false); TCHelper.clearPages("warptheory.paper"); @@ -202,8 +206,38 @@ public void loadRecipes() { .add(Aspect.getAspect("potentia"), 12).add(Aspect.getAspect("praecantatio"), 9) .add(Aspect.getAspect("permutatio"), 6).add(Aspect.getAspect("terra"), 3)); TCHelper.setResearchComplexity("warptheory.amulet", 4); + + TCHelper.orphanResearch("warptheory.portableshower"); + TCHelper.clearPrereq("warptheory.portableshower"); + TCHelper.addResearchPrereq("warptheory.portableshower", "PURETEAR", false); + ThaumcraftApi.addInfusionCraftingRecipe( + "warptheory.portableshower", + getModItem(WarpTheory.ID, "item.warptheory.portableshower", 1, 0, missing), + 64, + new AspectList().add(Aspect.getAspect("custom1"), 16).add(Aspect.getAspect("custom5"), 16) + .add(Aspect.getAspect("aer"), 1024).add(Aspect.getAspect("aqua"), 1024) + .add(Aspect.getAspect("praecantatio"), 256).add(Aspect.getAspect("tutamen"), 256) + .add(Aspect.getAspect("cognitio"), 256).add(Aspect.getAspect("tutamen"), 256) + .add(Aspect.getAspect("sano"), 1024), + getModItem(WarpTheory.ID, "item.warptheory.amulet", 1, 0, missing), + new ItemStack[] { getModItem(ThaumicTinkerer.ID, "kamiResource", 1, 1, missing), + getModItem(Thaumcraft.ID, "blockStoneDevice", 1, 12, missing), + getModItem(ThaumicExploration.ID, "everfullUrn", 1, 0, missing), + getModItem(Thaumcraft.ID, "ItemGolemCore", 1, 0, missing), + getModItem(OpenBlocks.ID, "sprinkler", 1, 0, missing), + GTOreDictUnificator.get(OrePrefixes.pipeTiny, Materials.Neutronium, 1L), + getModItem(OpenBlocks.ID, "xpshower", 1, 0, missing), + getModItem(Thaumcraft.ID, "ItemEldritchObject", 1L, 3), + GTOreDictUnificator.get(OrePrefixes.plateSuperdense, Materials.Ichorium, 1L) }); + TCHelper.setResearchAspects( + "warptheory.portableshower", + new AspectList().add(Aspect.getAspect("custom1"), 5).add(Aspect.getAspect("custom3"), 5) + .add(Aspect.getAspect("potentia"), 32).add(Aspect.getAspect("praecantatio"), 20) + .add(Aspect.getAspect("aqua"), 32).add(Aspect.getAspect("aer"), 32)); + TCHelper.setResearchComplexity("warptheory.portableshower", 4); TCHelper.refreshResearchPages("warptheory.paper"); TCHelper.refreshResearchPages("warptheory.something"); TCHelper.refreshResearchPages("warptheory.amulet"); + TCHelper.refreshResearchPages("warptheory.portableshower"); } } diff --git a/src/main/resources/assets/dreamcraft/lang/en_US.lang b/src/main/resources/assets/dreamcraft/lang/en_US.lang index a66c5719d1..23eda1af32 100644 --- a/src/main/resources/assets/dreamcraft/lang/en_US.lang +++ b/src/main/resources/assets/dreamcraft/lang/en_US.lang @@ -636,6 +636,7 @@ item.HarmonicChevron.name=Stargate Chevron of Harmonic Breakthrough item.HarmonicFramePart.name=Stargate Frame Part of Harmonic Breakthrough item.StargateDustAncients.name=Stargate-Crystal Dust of the Ancients item.StargateCrystalAncients.name=Stargate Core Crystal of the Ancients +item.warptheory.portableshower.name=Portable Shower tc.aspect.custom1=Equality, Balance, Uniformity tc.aspect.custom2=Insanity, Madness, Craziness @@ -1739,7 +1740,7 @@ item.tconstruct.manual.weaponry.part_materials=\n\nValid Shaft Materials:\n* Sti item.tconstruct.manual.weaponry.bolts=\n\nBolts:\nCrafting bolts is a delicate process. First you need a core in the form of a tool rod.\nTake this tool rod to a smeltery and put it into a Casting Table. Pour some metal onto it to coat the tip with a more damaging material.\nAfter this process, add a fletching and your bolts are ready to be used.\n\nSince the bolts consist of a harder core and tip they carry more weight than regular arrows, making them perfect to fight armored targets. dreamcraft.mobsinfocompat.limitedropcount=Drops only %s times per person -dreamcraft.gui.quitmessage=Are you sure you want to exit the game ? +dreamcraft.gui.quitmessage=Are you sure you want to exit the game? dreamcraft.welcome.welcome=Welcome to Gregtech: New Horizons dreamcraft.welcome.questbook=The Quest Book has a shortcut key, check your keybindings. @@ -1751,4 +1752,4 @@ dreamcraft.welcome.visitdiscord=Visit our discord at dreamcraft.welcome.click_discord=Click to open discord! dreamcraft.pausemenu.bug=Report a Bug -dreamcraft.pausemenu.wiki=Open the Wiki \ No newline at end of file +dreamcraft.pausemenu.wiki=Open the Wiki