diff --git a/dependencies.gradle b/dependencies.gradle index 5018f5d95..f80db5d27 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -1,16 +1,16 @@ // Add your dependencies here dependencies { - api("com.github.GTNewHorizons:GT5-Unofficial:5.09.51.75:dev") + api("com.github.GTNewHorizons:GT5-Unofficial:5.09.51.83: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.6.2:dev") + implementation("com.github.GTNewHorizons:GTNHLib:0.6.3:dev") compileOnly("com.github.GTNewHorizons:AkashicTome:1.2.0:dev") { transitive = false } compileOnly("com.github.GTNewHorizons:Avaritia:1.59:dev") { transitive = false } - compileOnly("com.github.GTNewHorizons:twilightforest:2.7.3:dev") { transitive = false } - compileOnly("com.github.GTNewHorizons:GTNH-Intergalactic:1.5.22:dev") { transitive = false } + compileOnly("com.github.GTNewHorizons:twilightforest:2.7.4:dev") { transitive = false } + compileOnly("com.github.GTNewHorizons:GTNH-Intergalactic:1.5.26:dev") { transitive = false } compileOnly("com.github.GTNewHorizons:Mantle:0.5.0:dev") { transitive = false } compileOnly("com.github.GTNewHorizons:TinkersConstruct:1.13.4-GTNH:dev") { transitive = false } compileOnly("com.github.GTNewHorizons:WitcheryExtras:1.3.0:dev") { transitive = false } @@ -18,7 +18,7 @@ dependencies { compileOnly rfg.deobf("curse.maven:witchery-69673:2234410") compileOnly("com.github.GTNewHorizons:Chisel:2.16.2-GTNH:dev") { transitive = false } compileOnly("com.github.GTNewHorizons:Botania:1.12.5-GTNH:dev") { transitive = false } - compileOnly("com.github.GTNewHorizons:BloodMagic:1.7.0:dev") { transitive = false } + compileOnly("com.github.GTNewHorizons:BloodMagic:1.7.3: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.8.0:dev") { transitive = false } diff --git a/src/main/java/com/dreammaster/gthandler/GT_CraftingRecipeLoader.java b/src/main/java/com/dreammaster/gthandler/GT_CraftingRecipeLoader.java index 4af8a0c5d..a40197fb3 100644 --- a/src/main/java/com/dreammaster/gthandler/GT_CraftingRecipeLoader.java +++ b/src/main/java/com/dreammaster/gthandler/GT_CraftingRecipeLoader.java @@ -262,25 +262,25 @@ public void run() { bits, new Object[] { "DPD", "PMP", "DGD", 'M', ItemList.Automation_ChestBuffer_LV, 'G', OrePrefixes.plate.get(Materials.PulsatingIron), 'D', OrePrefixes.circuit.get(Materials.LV), 'P', - OrePrefixes.plateDense.get(Materials.Iron) }); + OrePrefixes.plateQuadruple.get(Materials.Iron) }); GTModHandler.addCraftingRecipe( ItemList.Super_Chest_MV.get(1L), bits, new Object[] { "DPD", "PMP", "DGD", 'M', ItemList.Automation_ChestBuffer_MV, 'G', OrePrefixes.plate.get(Materials.VibrantAlloy), 'D', OrePrefixes.circuit.get(Materials.MV), 'P', - OrePrefixes.plateDense.get(Materials.Steel) }); + OrePrefixes.plateQuadruple.get(Materials.Steel) }); GTModHandler.addCraftingRecipe( ItemList.Super_Chest_HV.get(1L), bits, new Object[] { "DPD", "PMP", "DGD", 'M', ItemList.Automation_ChestBuffer_HV, 'G', ItemList.Field_Generator_LV, 'D', OrePrefixes.circuit.get(Materials.HV), 'P', - OrePrefixes.plateQuintuple.get(Materials.Aluminium) }); + OrePrefixes.plateQuadruple.get(Materials.Aluminium) }); GTModHandler.addCraftingRecipe( ItemList.Super_Chest_EV.get(1L), bits, new Object[] { "DPD", "PMP", "DGD", 'M', ItemList.Automation_ChestBuffer_EV, 'G', ItemList.Field_Generator_MV, 'D', OrePrefixes.circuit.get(Materials.EV), 'P', - OrePrefixes.plateQuintuple.get(Materials.StainlessSteel) }); + OrePrefixes.plateQuadruple.get(Materials.StainlessSteel) }); GTModHandler.addCraftingRecipe( ItemList.Super_Chest_IV.get(1L), bits, @@ -299,25 +299,25 @@ public void run() { bits, new Object[] { "DPD", "PMP", "DGD", 'M', ItemList.Automation_ChestBuffer_ZPM, 'G', ItemList.Field_Generator_IV, 'D', OrePrefixes.circuit.get(Materials.ZPM), 'P', - OrePrefixes.plateTriple.get(Materials.HSSG) }); + OrePrefixes.plateQuadruple.get(Materials.HSSG) }); GTModHandler.addCraftingRecipe( ItemList.Quantum_Chest_HV.get(1L), bits, new Object[] { "DPD", "PMP", "DGD", 'M', ItemList.Automation_ChestBuffer_UV, 'G', ItemList.Field_Generator_LuV, 'D', OrePrefixes.circuit.get(Materials.UV), 'P', - OrePrefixes.plateTriple.get(Materials.HSSS) }); + OrePrefixes.plateQuadruple.get(Materials.HSSS) }); GTModHandler.addCraftingRecipe( ItemList.Quantum_Chest_EV.get(1L), bits, new Object[] { "DPD", "PMP", "DGD", 'M', ItemList.Automation_ChestBuffer_UHV, 'G', ItemList.Field_Generator_ZPM, 'D', OrePrefixes.circuit.get(Materials.UHV), 'P', - OrePrefixes.plateDouble.get(Materials.Europium) }); + OrePrefixes.plateQuadruple.get(Materials.Europium) }); GTModHandler.addCraftingRecipe( ItemList.Quantum_Chest_IV.get(1L), bits, new Object[] { "DPD", "PMP", "DGD", 'M', ItemList.Automation_ChestBuffer_UEV, 'G', ItemList.Field_Generator_UV, 'D', OrePrefixes.circuit.get(Materials.UEV), 'P', - OrePrefixes.plate.get(Materials.Americium) }); + OrePrefixes.plateQuadruple.get(Materials.Americium) }); // Hermetic casings GTModHandler.addCraftingRecipe( diff --git a/src/main/java/com/dreammaster/gthandler/recipes/AssemblerRecipes.java b/src/main/java/com/dreammaster/gthandler/recipes/AssemblerRecipes.java index 61fe1a08f..200b73d89 100644 --- a/src/main/java/com/dreammaster/gthandler/recipes/AssemblerRecipes.java +++ b/src/main/java/com/dreammaster/gthandler/recipes/AssemblerRecipes.java @@ -2053,7 +2053,7 @@ public void run() { GTValues.RA.stdBuilder() .itemInputs( GTOreDictUnificator.get(OrePrefixes.circuit.get(Materials.UEV), 4), - Materials.Americium.getPlates(3), + GTOreDictUnificator.get(OrePrefixes.plateQuadruple.get(Materials.Americium), 3), ItemList.Field_Generator_UV.get(1), ItemList.Automation_ChestBuffer_UEV.get(1L)) .itemOutputs(ItemList.Quantum_Chest_IV.get(1)).duration(5 * SECONDS).eut(TierEU.RECIPE_HV) @@ -4859,6 +4859,12 @@ private void makeAE2Recipes() { GTUtility.getIntegratedCircuit(2)) .itemOutputs(getModItem(AE2Stuff.ID, "Wireless", 1)).duration(5 * SECONDS).eut(TierEU.RECIPE_HV) .addTo(assemblerRecipes); + + // Wireless Hub + GTValues.RA.stdBuilder() + .itemInputs(getModItem(AE2Stuff.ID, "Wireless", 8, 0, missing), ItemList.Emitter_LuV.get(1)) + .itemOutputs(getModItem(AE2Stuff.ID, "Wireless", 1, 17, missing)).duration(10 * SECONDS) + .eut(TierEU.RECIPE_IV).addTo(assemblerRecipes); } if (TinkerConstruct.isModLoaded()) { 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 b979e0f61..af4b3cb09 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 @@ -10,16 +10,18 @@ import net.minecraft.util.StatCollector; import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Shadow; import org.spongepowered.asm.mixin.Unique; import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; import com.dreammaster.client.util.IconLoader; import com.dreammaster.coremod.DreamCoreMod; import com.dreammaster.lib.Refstrings; -import com.llamalad7.mixinextras.injector.ModifyExpressionValue; @Mixin(Minecraft.class) -public class MixinMinecraft_ConfirmExit { +public abstract class MixinMinecraft_ConfirmExit { @Unique private boolean dreamcraft$isCloseRequested; @@ -27,19 +29,16 @@ public class MixinMinecraft_ConfirmExit { @Unique private boolean dreamcraft$waitingDialogQuit; - @ModifyExpressionValue( - method = "runGameLoop", - at = @At(value = "INVOKE", target = "Lorg/lwjgl/opengl/Display;isCloseRequested()Z", remap = false)) - private boolean dreamcraft$confirmGameShutdown(boolean isCloseRequested) { - if (!DreamCoreMod.showConfirmExitWindow) { - return isCloseRequested; - } - if (this.dreamcraft$isCloseRequested) { - return true; + @Shadow + public abstract void shutdown(); + + @Inject(method = "shutdown", at = @At(value = "HEAD"), cancellable = true) + private void dreamcraft$confirmGameShutdown(CallbackInfo ci) { + if (!DreamCoreMod.showConfirmExitWindow || this.dreamcraft$isCloseRequested) { + return; } - if (dreamcraft$waitingDialogQuit) return false; - if (isCloseRequested) { - dreamcraft$waitingDialogQuit = true; + if (!this.dreamcraft$waitingDialogQuit) { + this.dreamcraft$waitingDialogQuit = true; new Thread(() -> { final JFrame frame = new JFrame(); frame.setAlwaysOnTop(true); @@ -60,12 +59,11 @@ public class MixinMinecraft_ConfirmExit { imageIcon); if (result == JOptionPane.YES_OPTION) { this.dreamcraft$isCloseRequested = true; + this.shutdown(); } - dreamcraft$waitingDialogQuit = false; + this.dreamcraft$waitingDialogQuit = false; }).start(); - return false; } - return false; + ci.cancel(); } - } diff --git a/src/main/java/com/dreammaster/scripts/ScriptAppliedEnergistics2.java b/src/main/java/com/dreammaster/scripts/ScriptAppliedEnergistics2.java index 7777b11cd..d3e62d33a 100644 --- a/src/main/java/com/dreammaster/scripts/ScriptAppliedEnergistics2.java +++ b/src/main/java/com/dreammaster/scripts/ScriptAppliedEnergistics2.java @@ -1853,6 +1853,40 @@ public void loadRecipes() { "plateNetherQuartz", "gemNetherQuartz", "craftingToolFile"); + // Creative Energy Anchor + addShapedRecipe( + getModItem(AppliedEnergistics2.ID, "item.ItemMultiPart", 1, 690, missing), + getModItem(AppliedEnergistics2.ID, "item.ItemMultiPart", 1, 120, missing), // Cable Anchor + getModItem(AppliedEnergistics2.ID, "tile.BlockCreativeEnergyCell", 1, 0, missing), + getModItem(AppliedEnergistics2.ID, "item.ItemMultiPart", 1, 140, missing)); // Quartz Fiber + // Fake Crafting Card + addShapedRecipe( + getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 1, 66, missing), + getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 1, 28, missing), // Advanced Card + getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 1, 24, missing), // Engineering Proc. + getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 1, 22, missing), // Logic Proc. + ItemList.Cover_Crafting.get(1)); + // Superliminal Acceleration Card + addShapedRecipe( + getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 1, 67, missing), + getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 1, 28, missing), // Advanced Card + getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 1, 24, missing), // Engineering Proc. + GTOreDictUnificator.get(OrePrefixes.gem, Materials.Dilithium, 1), + ItemList.AcceleratorUV.get(1)); + // Overflow Void Card + addShapedRecipe( + getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 1, 68, missing), + getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 1, 25, missing), // Basic Card + getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 1, 23, missing), // Calculation Proc. + getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 1, 23, missing), // Calculation Proc. + getModItem(AppliedEnergistics2.ID, "item.ItemVoidStorageCell", 1, 0, missing)); + // Equal Distribution Card + addShapedRecipe( + getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 1, 69, missing), + getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 1, 28, missing), // Advanced Card + getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 1, 24, missing), // Engineering Proc. + getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 1, 22, missing), // Logic Proc. + ItemList.Automation_ItemDistributor_EV.get(1)); GTValues.RA.stdBuilder() .itemInputs(