Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Industrial magic matrix #353

Merged
merged 46 commits into from
Apr 3, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
8bb0335
Test
il2005713 Mar 31, 2024
404f687
Test
il2005713 Mar 31, 2024
b4730bb
Merge remote-tracking branch 'origin/main'
xiaoxing2005 Mar 31, 2024
2205849
IndustrialMagicMatrix
xiaoxing2005 Mar 31, 2024
c4ca24f
IndustrialMagicMatrix
xiaoxing2005 Mar 31, 2024
2453d4f
IndustrialMagicMatrix
xiaoxing2005 Mar 31, 2024
a44bf83
IndustrialMagicMatrix
xiaoxing2005 Mar 31, 2024
c491603
IndustrialMagicMatrix
xiaoxing2005 Mar 31, 2024
a031ef0
IndustrialMagicMatrix
xiaoxing2005 Mar 31, 2024
c42ad14
IndustrialMagicMatrix
xiaoxing2005 Mar 31, 2024
d0b1da3
IndustrialMagicMatrix
xiaoxing2005 Mar 31, 2024
b285cd8
IndustrialMagicMatrix
xiaoxing2005 Mar 31, 2024
4811abc
IndustrialMagicMatrix
xiaoxing2005 Mar 31, 2024
125e3c9
IndustrialMagicMatrix
xiaoxing2005 Mar 31, 2024
5b880de
add Bee Engineer recipe
Nxer Mar 31, 2024
1f9157f
add Space Apiary Module recipes
Nxer Mar 31, 2024
7c7bbf6
add Advanced Nether Star recipe in Crystalline Infinitier
Nxer Mar 31, 2024
dadaa5e
IndustrialMagicMatrix
xiaoxing2005 Mar 31, 2024
0a4ed83
Merge remote-tracking branch 'origin/IndustrialMagicMatrix' into Indu…
xiaoxing2005 Mar 31, 2024
bb3b90d
IndustrialMagicMatrix
xiaoxing2005 Mar 31, 2024
a0019e0
IndustrialMagicMatrix
xiaoxing2005 Mar 31, 2024
e0cf3e9
IndustrialMagicMatrix
xiaoxing2005 Mar 31, 2024
02f1956
IndustrialMagicMatrix
xiaoxing2005 Mar 31, 2024
ea3b27a
IndustrialMagicMatrix
xiaoxing2005 Mar 31, 2024
6e95009
Merge remote-tracking branch 'origin/IndustrialMagicMatrix' into Indu…
xiaoxing2005 Mar 31, 2024
ae62344
IndustrialMagicMatrix
xiaoxing2005 Apr 1, 2024
70baaa6
Merge branch 'Nxer:main' into IndustrialMagicMatrix
xiaoxing2005 Apr 1, 2024
d89ae95
add Bee Engineer recipe
Nxer Mar 31, 2024
ce19d90
add Space Apiary Module recipes
Nxer Mar 31, 2024
e974443
Test
il2005713 Mar 31, 2024
25d3ef7
IndustrialMagicMatrix
xiaoxing2005 Mar 31, 2024
d052bb8
IndustrialMagicMatrix
xiaoxing2005 Mar 31, 2024
ce39b63
IndustrialMagicMatrix
xiaoxing2005 Apr 2, 2024
6b7d0c2
IndustrialMagicMatrix
xiaoxing2005 Apr 2, 2024
8492cd3
IndustrialMagicMatrix
xiaoxing2005 Apr 2, 2024
edba3b0
IndustrialMagicMatrix
xiaoxing2005 Apr 2, 2024
c15cef3
IndustrialMagicMatrix
xiaoxing2005 Apr 2, 2024
5b08b51
IndustrialMagicMatrix
xiaoxing2005 Apr 2, 2024
7f3d925
IndustrialMagicMatrix
xiaoxing2005 Apr 2, 2024
edfc794
IndustrialMagicMatrix
xiaoxing2005 Apr 2, 2024
1868325
Merge branch 'IndustrialMagicMatrix'
xiaoxing2005 Apr 3, 2024
9c562da
IndustrialMagicMatrix
xiaoxing2005 Apr 3, 2024
450aa4c
IndustrialMagicMatrix
xiaoxing2005 Apr 3, 2024
a4a6fde
IndustrialMagicMatrix
xiaoxing2005 Apr 3, 2024
f80e581
fix
xiaoxing2005 Apr 3, 2024
71af783
fix
xiaoxing2005 Apr 3, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions dependencies.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,10 @@ dependencies {
implementation('com.github.GTNewHorizons:GigaGramFab:0.3.17:dev')
// implementation('com.github.GTNewHorizons:Railcraft:9.15.7:dev')
implementation('thaumcraft:Thaumcraft:1.7.10-4.2.3.5:dev')
implementation('com.github.GTNewHorizons:ThaumicBases:1.6.0:dev')
implementation('curse.maven:automagy-222153:2285272')
implementation('com.github.GTNewHorizons:ThaumicHorizons:1.5.1:dev')
implementation('com.github.GTNewHorizons:Gadomancy:1.3.2:dev')
implementation('com.github.GTNewHorizons:Botania:1.10.12-GTNH:dev')
implementation('com.github.GTNewHorizons:twilightforest:2.5.19:dev')
//These 2 deps have conflicts with Amun-Ra by default, see Twist-Space-Technology-Mod#150
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -184,6 +184,8 @@ public enum GTCMItemList {
Scavenger,
MegaEggGenerator,
AstralComputingArray,
IndustrialMagicMatrix,

WirelessUpdateItem,

StellarMaterialSiphon,
Expand Down

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
import com.Nxer.TwistSpaceTechnology.common.recipeMap.NEISpecialInfoFormatters.ArtificialStar_SpecialValueFormatter;
import com.Nxer.TwistSpaceTechnology.common.recipeMap.NEISpecialInfoFormatters.DSP_Receiver_SpecialValueFormatter;
import com.Nxer.TwistSpaceTechnology.common.recipeMap.recipeMapFrontends.TST_GeneralFrontend;
import com.Nxer.TwistSpaceTechnology.common.recipeMap.recipeMapFrontends.TST_IndustrialMagicMatrixFrontend;

import gregtech.api.gui.modularui.GT_UITextures;
import gregtech.api.recipe.RecipeMap;
Expand Down Expand Up @@ -181,4 +182,13 @@ public class GTCMRecipe {
.setMaxRecipesPerPage(1))
.disableOptimize()
.build();
public static final RecipeMap<RecipeMapBackend> IndustrialMagicMatrixRecipe = RecipeMapBuilder
.of("tst.recipe.IndustrialMagicMatrixRecipe")
.maxIO(25, 1, 0, 0)
.neiHandlerInfo(builder -> builder.setDisplayStack(GTCMItemList.IndustrialMagicMatrix.get(1)))
.neiTransferRect(100, 45, 18, 72)
.useSpecialSlot()
.frontend(TST_IndustrialMagicMatrixFrontend::new)
.disableOptimize()
.build();
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
package com.Nxer.TwistSpaceTechnology.common.recipeMap.recipeMapFrontends;

import java.util.List;
import java.util.function.Supplier;

import org.jetbrains.annotations.NotNull;

import com.gtnewhorizons.modularui.api.math.Pos2d;
import com.gtnewhorizons.modularui.api.math.Size;
import com.gtnewhorizons.modularui.api.screen.ModularWindow;

import gregtech.api.recipe.BasicUIPropertiesBuilder;
import gregtech.api.recipe.NEIRecipePropertiesBuilder;
import gregtech.api.recipe.RecipeMapFrontend;
import gregtech.common.gui.modularui.UIHelper;

public class TST_IndustrialMagicMatrixFrontend extends RecipeMapFrontend {

private static final int xDirMaxCount = 5;
private static final int yOrigin = 8;
private final int itemRowCount;

public TST_IndustrialMagicMatrixFrontend(BasicUIPropertiesBuilder uiPropertiesBuilder,
NEIRecipePropertiesBuilder neiPropertiesBuilder) {
super(uiPropertiesBuilder, neiPropertiesBuilder);
this.itemRowCount = getItemRowCount();
neiProperties.recipeBackgroundSize = new Size(170, 10 + (itemRowCount * 18));
}

@Override
public void addProgressBar(ModularWindow.@NotNull Builder builder, @NotNull Supplier<Float> progressSupplier,
@NotNull Pos2d windowOffset) {
super.addProgressBar(builder, progressSupplier, new Pos2d(15, 10));
}

private int getItemRowCount() {
return (Math.max(uiProperties.maxItemInputs, uiProperties.maxItemOutputs) - 1) / xDirMaxCount + 1;
}

@Override
public @NotNull List<Pos2d> getItemInputPositions(int itemInputCount) {
return UIHelper.getGridPositions(itemInputCount, 6, yOrigin, xDirMaxCount);
}

@Override
public @NotNull List<Pos2d> getItemOutputPositions(int itemOutputCount) {
return UIHelper.getGridPositions(itemOutputCount, 125, 45, xDirMaxCount);
}

@Override
public @NotNull Pos2d getSpecialItemPosition() {
return new Pos2d(125, 75);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
import net.minecraft.item.ItemStack;

import com.Nxer.TwistSpaceTechnology.common.GTCMItemList;
import com.Nxer.TwistSpaceTechnology.common.machine.*;
import com.Nxer.TwistSpaceTechnology.common.machine.GTCM_CrystallineInfinitier;
import com.Nxer.TwistSpaceTechnology.common.machine.GTCM_ElvenWorkshop;
import com.Nxer.TwistSpaceTechnology.common.machine.GTCM_HyperSpacetimeTransformer;
Expand Down Expand Up @@ -105,6 +106,7 @@ public class MachineLoader {
public static ItemStack VacuumFilterExtractor;
public static ItemStack LargeSteamForgeHammer;
public static ItemStack LargeSteamAlloySmelter;
public static ItemStack IndustrialMagicMatrix;
public static ItemStack EyeOfWood;
public static ItemStack BeeEngineer;
public static ItemStack MegaMacerator;
Expand Down Expand Up @@ -482,6 +484,15 @@ public static void loadMachines() {
.getStackForm(1);
GTCMItemList.BallLightning.set(BallLightning);
}
//
IndustrialMagicMatrix = new GT_TieEntity_IndustrialMagicMatrix(
19047,
"IndustrialMagicMatrix",
// #tr NameIndustrialMagicMatrix
// # Industrial Magic Matrix
// #zh_CN §0工业注魔矩阵
TextEnums.tr("NameIndustrialMagicMatrix")).getStackForm(1);
GTCMItemList.IndustrialMagicMatrix.set(IndustrialMagicMatrix);
// endregion

// region Single block Machine
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
import com.Nxer.TwistSpaceTechnology.config.Config;
import com.Nxer.TwistSpaceTechnology.recipe.IRecipePool;
import com.Nxer.TwistSpaceTechnology.recipe.commonRecipe.ShapedCraftRecipePool;
import com.Nxer.TwistSpaceTechnology.recipe.machineRecipe.*;
import com.Nxer.TwistSpaceTechnology.recipe.machineRecipe.AssemblyLineWithoutResearchRecipePool;
import com.Nxer.TwistSpaceTechnology.recipe.machineRecipe.CentrifugeRecipePool;
import com.Nxer.TwistSpaceTechnology.recipe.machineRecipe.ChemicalReactorRecipePool;
Expand All @@ -22,7 +23,6 @@
import com.Nxer.TwistSpaceTechnology.recipe.machineRecipe.MiracleTopRecipePool;
import com.Nxer.TwistSpaceTechnology.recipe.machineRecipe.MixerRecipePool;
import com.Nxer.TwistSpaceTechnology.recipe.machineRecipe.NanoForgeRecipePool;
import com.Nxer.TwistSpaceTechnology.recipe.machineRecipe.ParticleColliderRecipePool;
import com.Nxer.TwistSpaceTechnology.recipe.machineRecipe.PreciseHighEnergyPhotonicQuantumMasterRecipePool;
import com.Nxer.TwistSpaceTechnology.recipe.machineRecipe.QFTRecipePool;
import com.Nxer.TwistSpaceTechnology.recipe.machineRecipe.RuneEngraverRecipePool;
Expand Down Expand Up @@ -52,7 +52,7 @@ public static void loadRecipes() {
new CokingFactoryRecipePool(), new StellarForgeRecipePool(), new LanthanidesRecipePool(),
new HyperSpacetimeTransformerRecipePool(), new TSTBufferedEnergyHatchRecipe(), new CentrifugeRecipePool(),
new ShapedCraftRecipePool(), new MixerRecipePool(), new QFTRecipePool(), new NanoForgeRecipePool(),
new FluidHeaterRecipePool(), new ParticleColliderRecipePool() };
new FluidHeaterRecipePool(), new IndustrialMagicMatrixRecipePool() };

new TCResearches().loadResearches();
for (IRecipePool recipePool : recipePools) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2465,6 +2465,160 @@ public void loadRecipes() {

// endregion

// region Bee Engineer
GT_Values.RA
.stdBuilder()
.itemInputs(
GT_Utility.getIntegratedCircuit(10),
GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Bronze, 64),
GT_ModHandler.getModItem(Forestry.ID, "alveary", 64, 0),

ItemList.Field_Generator_LuV.get(4),
ItemList.Electric_Pump_LuV.get(16),
ItemList.Conveyor_Module_LuV.get(16),

GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Plutonium241, 64),
new Object[]{OrePrefixes.circuit.get(Materials.SuperconductorUHV), 16}
)
.fluidInputs(Materials.Honey.getFluid(1000 * 256))
.itemOutputs(GTCMItemList.BeeEngineer.get(1))
.eut(RECIPE_ZPM)
.duration(20 * 300)
.addTo(assembler);
// endregion

// region Space Apiary Module
if (Config.EnableSpaceApiaryModule) {
final IRecipeMap SpaceAssembler = IGRecipeMaps.spaceAssemblerRecipes;

// t1
GT_Values.RA
.stdBuilder()
.itemInputs(
ItemList.Machine_IndustrialApiary.get(64),
ItemList.Machine_IndustrialApiary.get(64),
ItemList.Machine_IndustrialApiary.get(64),
ItemList.Machine_IndustrialApiary.get(64),

ItemList.IndustrialApiary_Upgrade_Acceleration_8_Upgraded.get(64),
ItemList.IndustrialApiary_Upgrade_Acceleration_8_Upgraded.get(64),
ItemList.IndustrialApiary_Upgrade_Acceleration_8_Upgraded.get(64),
ItemList.IndustrialApiary_Upgrade_Acceleration_8_Upgraded.get(64),

ItemList.Field_Generator_UHV.get(16),
ItemList.Conveyor_Module_UHV.get(16),
ItemList.Robot_Arm_UHV.get(16),
ItemList.Electric_Pump_UHV.get(16),

new Object[]{OrePrefixes.circuit.get(Materials.Bio), 64}
)
.fluidInputs(
Materials.UUMatter.getFluid(1000 * 128),
Materials.Honey.getFluid(1000 * 256)
)
.itemOutputs(GTCMItemList.SpaceApiaryT1.get(1))
.specialValue(1)
.eut(RECIPE_UHV)
.duration(20 * 300)
.addTo(SpaceAssembler);

// t2
GT_Values.RA
.stdBuilder()
.itemInputs(
ItemList.Machine_IndustrialApiary.get(64),
ItemList.Machine_IndustrialApiary.get(64),
ItemList.Machine_IndustrialApiary.get(64),
ItemList.Machine_IndustrialApiary.get(64),

ItemList.IndustrialApiary_Upgrade_Acceleration_8_Upgraded.get(64),
ItemList.IndustrialApiary_Upgrade_Acceleration_8_Upgraded.get(64),
ItemList.IndustrialApiary_Upgrade_Acceleration_8_Upgraded.get(64),
ItemList.IndustrialApiary_Upgrade_Acceleration_8_Upgraded.get(64),

ItemList.Field_Generator_UEV.get(16),
ItemList.Conveyor_Module_UEV.get(16),
ItemList.Robot_Arm_UEV.get(16),
ItemList.Electric_Pump_UEV.get(16),

new Object[]{OrePrefixes.circuit.get(Materials.Optical), 64}
)
.fluidInputs(
Materials.UUMatter.getFluid(1000 * 256),
Materials.Honey.getFluid(1000 * 512)
)
.itemOutputs(GTCMItemList.SpaceApiaryT2.get(1))
.specialValue(1)
.eut(RECIPE_UEV)
.duration(20 * 600)
.addTo(SpaceAssembler);

// t3
GT_Values.RA
.stdBuilder()
.itemInputs(
ItemList.Machine_IndustrialApiary.get(64),
ItemList.Machine_IndustrialApiary.get(64),
ItemList.Machine_IndustrialApiary.get(64),
ItemList.Machine_IndustrialApiary.get(64),

ItemList.IndustrialApiary_Upgrade_Acceleration_8_Upgraded.get(64),
ItemList.IndustrialApiary_Upgrade_Acceleration_8_Upgraded.get(64),
ItemList.IndustrialApiary_Upgrade_Acceleration_8_Upgraded.get(64),
ItemList.IndustrialApiary_Upgrade_Acceleration_8_Upgraded.get(64),

ItemList.Field_Generator_UIV.get(16),
ItemList.Conveyor_Module_UIV.get(16),
ItemList.Robot_Arm_UIV.get(16),
ItemList.Electric_Pump_UIV.get(16),

PikoCircuit.get(64)
)
.fluidInputs(
Materials.UUMatter.getFluid(1000 * 512),
Materials.Honey.getFluid(1000 * 1024)
)
.itemOutputs(GTCMItemList.SpaceApiaryT3.get(1))
.specialValue(2)
.eut(RECIPE_UIV)
.duration(20 * 1200)
.addTo(SpaceAssembler);

// t4
GT_Values.RA
.stdBuilder()
.itemInputs(
ItemList.Machine_IndustrialApiary.get(64),
ItemList.Machine_IndustrialApiary.get(64),
ItemList.Machine_IndustrialApiary.get(64),
ItemList.Machine_IndustrialApiary.get(64),

ItemList.IndustrialApiary_Upgrade_Acceleration_8_Upgraded.get(64),
ItemList.IndustrialApiary_Upgrade_Acceleration_8_Upgraded.get(64),
ItemList.IndustrialApiary_Upgrade_Acceleration_8_Upgraded.get(64),
ItemList.IndustrialApiary_Upgrade_Acceleration_8_Upgraded.get(64),

ItemList.Field_Generator_UMV.get(16),
ItemList.Conveyor_Module_UMV.get(16),
ItemList.Robot_Arm_UMV.get(16),
ItemList.Electric_Pump_UMV.get(16),

QuantumCircuit.get(64)
)
.fluidInputs(
Materials.UUMatter.getFluid(1000 * 1024),
Materials.Honey.getFluid(1000 * 2048)
)
.itemOutputs(GTCMItemList.SpaceApiaryT4.get(1))
.specialValue(3)
.eut(RECIPE_UMV)
.duration(20 * 2400)
.addTo(SpaceAssembler);

}

// endregion

}
// spotless:on
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
package com.Nxer.TwistSpaceTechnology.recipe.machineRecipe;

import static com.kentington.thaumichorizons.common.ThaumicHorizons.blockCrystalDeep;
import static gregtech.api.enums.TierEU.RECIPE_LV;
import static gregtech.api.enums.TierEU.RECIPE_LuV;
import static makeo.gadomancy.common.registration.RegisteredItems.itemEtherealFamiliar;
import static tb.init.TBItems.revolver;
import static thaumcraft.common.config.ConfigBlocks.blockCosmeticSolid;
import static thaumcraft.common.config.ConfigItems.*;

import net.minecraft.item.ItemStack;

import com.Nxer.TwistSpaceTechnology.common.recipeMap.GTCMRecipe;
import com.Nxer.TwistSpaceTechnology.recipe.IRecipePool;
import com.Nxer.TwistSpaceTechnology.recipe.specialRecipe.TCRecipeTools;
import com.Nxer.TwistSpaceTechnology.util.TextEnums;

import gregtech.api.enums.GT_Values;
import gregtech.api.enums.Materials;
import gregtech.api.interfaces.IRecipeMap;
import gregtech.api.recipe.RecipeMaps;
import thaumcraft.common.items.ItemEssence;

public class IndustrialMagicMatrixRecipePool implements IRecipePool {

@Override
public void loadRecipes() {
TCRecipeTools.getInfusionCraftingRecipe();

final IRecipeMap IIM = GTCMRecipe.IndustrialMagicMatrixRecipe;
for (TCRecipeTools.InfusionCraftingRecipe Recipe : TCRecipeTools.ICR) {
if (Recipe.getOutput()
.getItem() == revolver
|| Recipe.getOutput()
.getItem() == itemJarNode
|| Recipe.getOutput()
.getItem() == itemEtherealFamiliar) {
continue;
}
ItemStack Essence = new ItemStack(itemEssence);
Essence.setItemDamage(1);
// #tr IndustrialMagicMatrixRecipeInputAspects
// # Recipe required Essentia
// #zh_CN 配方所需源质
Essence.setStackDisplayName(TextEnums.tr("IndustrialMagicMatrixRecipeInputAspects"));
new ItemEssence().setAspects(Essence, Recipe.getInputAspects());
GT_Values.RA.stdBuilder()
.clearInvalid()
.specialItem(Essence)
.itemInputsUnified(Recipe.getInputItem())
.itemOutputs((Recipe.getOutput()))
.fluidInputs()
.fluidOutputs()
.noOptimize()
.duration(200 + Recipe.getInputItem().length * 20 + Math.min(Recipe.getAspectAmount(), 600))
.eut(RECIPE_LuV)
.addTo(IIM);
}
GT_Values.RA.stdBuilder()
.clearInvalid()
.itemInputs(new ItemStack(blockCosmeticSolid, 8, 6), new ItemStack(itemShard, 1, 6))
.itemOutputs(new ItemStack(blockCrystalDeep, 8))
.fluidInputs(Materials.Thaumium.getMolten(144))
.noOptimize()
.duration(20)
.eut(RECIPE_LV)
.addTo(RecipeMaps.assemblerRecipes);
}
}
Loading