Skip to content
This repository has been archived by the owner on May 24, 2024. It is now read-only.

Forge of the Gods #225

Merged
merged 176 commits into from
Mar 11, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
176 commits
Select commit Hold shift + click to select a range
8e81429
Initial commit
GDCloudstrike Mar 15, 2023
1a75eab
Graviton Modulation Casings
GDCloudstrike Mar 15, 2023
926f869
It forms
GDCloudstrike Mar 16, 2023
8e4dcc8
testing cursed things, will rework soon
GDCloudstrike Mar 19, 2023
0a1fee9
test better recipe check
GDCloudstrike Mar 19, 2023
8e31d93
get rid of cursed stuff
GDCloudstrike Mar 19, 2023
74f4297
fix OC
GDCloudstrike Mar 21, 2023
8d34172
parameter shenanigans
GDCloudstrike Mar 26, 2023
13af4e7
fuel input hatch
GDCloudstrike Mar 26, 2023
9d1beca
redo fuel drain
GDCloudstrike Mar 28, 2023
514113f
fluid output
GDCloudstrike Apr 11, 2023
38d356c
Merge remote-tracking branch 'origin/master' into GodForge
GDCloudstrike Apr 27, 2023
141f351
Merge branch 'master' into GodForge
GDCloudstrike May 2, 2023
ba6f393
Merge branch 'master' into GodForge
GDCloudstrike May 2, 2023
f6878fc
add blocks
GDCloudstrike May 5, 2023
b71c8fe
run on preload
GDCloudstrike May 5, 2023
6cde9e2
dependency bump
GDCloudstrike May 5, 2023
e2bbfca
preliminary structure works
GDCloudstrike May 5, 2023
d7d75ac
fix some misc things
GDCloudstrike Jun 14, 2023
e13496e
New class
TheEpicGamer274 Jun 15, 2023
c25606f
Fix build issue
GTNH-Colen Jun 15, 2023
fcb312f
1 hatch
GDCloudstrike Jun 15, 2023
5e34d42
Cleaning up code with seperate class for structure string
TheEpicGamer274 Jun 16, 2023
372474c
start on modules
GDCloudstrike Jun 16, 2023
2ee1ef3
Merge remote-tracking branch 'origin/GodForge' into GodForge
GDCloudstrike Jun 16, 2023
3f1edf2
Spotless + Smelting Module Class + BaseModule Changes
TheEpicGamer274 Jun 17, 2023
7d4d104
Remove useless import
TheEpicGamer274 Jun 18, 2023
71d890a
...
TheEpicGamer274 Jun 19, 2023
fe85ad0
protected
GDCloudstrike Jun 19, 2023
33299be
trying module things
GDCloudstrike Jun 19, 2023
cd61a1e
add checkRecipe, remove some redundant stuff
GDCloudstrike Jun 19, 2023
528a080
Merge remote-tracking branch 'origin/GodForge' into GodForge
GDCloudstrike Jun 19, 2023
86d5c06
Initial commit
GDCloudstrike Mar 15, 2023
8a17786
Graviton Modulation Casings
GDCloudstrike Mar 15, 2023
4e5453e
It forms
GDCloudstrike Mar 16, 2023
a128f51
testing cursed things, will rework soon
GDCloudstrike Mar 19, 2023
5f35f89
test better recipe check
GDCloudstrike Mar 19, 2023
7676c40
get rid of cursed stuff
GDCloudstrike Mar 19, 2023
b8563c6
fix OC
GDCloudstrike Mar 21, 2023
e2ff845
parameter shenanigans
GDCloudstrike Mar 26, 2023
2535abe
fuel input hatch
GDCloudstrike Mar 26, 2023
f4976b7
redo fuel drain
GDCloudstrike Mar 28, 2023
8c583d6
fluid output
GDCloudstrike Apr 11, 2023
5546023
add blocks
GDCloudstrike May 5, 2023
8ced422
run on preload
GDCloudstrike May 5, 2023
6279594
preliminary structure works
GDCloudstrike May 5, 2023
ff92fbf
fix some misc things
GDCloudstrike Jun 14, 2023
f82d586
New class
TheEpicGamer274 Jun 15, 2023
e5431bb
1 hatch
GDCloudstrike Jun 15, 2023
9e72901
start on modules
GDCloudstrike Jun 16, 2023
909e599
Fix build issue
GTNH-Colen Jun 15, 2023
1548697
Cleaning up code with seperate class for structure string
TheEpicGamer274 Jun 16, 2023
ae5521a
Spotless + Smelting Module Class + BaseModule Changes
TheEpicGamer274 Jun 17, 2023
f94c416
Remove useless import
TheEpicGamer274 Jun 18, 2023
3bc8b4b
protected
GDCloudstrike Jun 19, 2023
8bc2978
trying module things
GDCloudstrike Jun 19, 2023
8958e55
add checkRecipe, remove some redundant stuff
GDCloudstrike Jun 19, 2023
4da2917
...
TheEpicGamer274 Jun 19, 2023
9af8aba
New Classes + Modules
TheEpicGamer274 Jun 19, 2023
b81275b
Merge remote-tracking branch 'origin/GodForge' into GodForge
TheEpicGamer274 Jun 19, 2023
9d1e6fd
Recipe Maps
TheEpicGamer274 Jun 20, 2023
62d8683
fix deps
TheEpicGamer274 Jun 20, 2023
8fd49d6
recipe map fixes
TheEpicGamer274 Jun 20, 2023
69186af
make modules connect
GDCloudstrike Jun 21, 2023
5163bcd
spotless
GDCloudstrike Jun 21, 2023
e32e445
remove recipe functionality + misc cleanup
GDCloudstrike Jun 22, 2023
20cfc01
parallel parameter
GDCloudstrike Jun 22, 2023
9fdbb8f
remove unneeded check
GDCloudstrike Jun 22, 2023
0b0cc32
fix item to fluid conversion + remove parameter
GDCloudstrike Jun 22, 2023
ca7cb6b
outputs appear now
GDCloudstrike Jun 22, 2023
4282f5f
remove parallel param
GDCloudstrike Jun 22, 2023
dab9e77
improve scanner info
GDCloudstrike Jun 22, 2023
13819a3
parameter adjustment + add onRemoval
GDCloudstrike Jun 22, 2023
20659e1
parameter followup
GDCloudstrike Jun 22, 2023
df9ba98
plasma module (almost) fully works
GDCloudstrike Jun 23, 2023
a584826
attempt at fixing param
GDCloudstrike Jun 23, 2023
9dfa790
Fixes & stuff
TheEpicGamer274 Jun 23, 2023
44d93b2
Recommendation fixes
TheEpicGamer274 Jun 23, 2023
89d9ad7
tooltip upgrade
TheEpicGamer274 Jun 23, 2023
586ba1b
Spotless for clean
TheEpicGamer274 Jun 23, 2023
ac4c858
plasma recipe map
GDCloudstrike Jun 23, 2023
5bb9086
recipe adder
GDCloudstrike Jun 23, 2023
0c8eab8
first recipes
GDCloudstrike Jun 23, 2023
6fe107c
use new recipe map
GDCloudstrike Jun 23, 2023
353082f
Recipe map change stuff
TheEpicGamer274 Jun 23, 2023
c7fd3ef
recipe map fixes
TheEpicGamer274 Jun 24, 2023
8a9a60c
some quick fixes
TheEpicGamer274 Jun 24, 2023
57c74d3
Spotless
TheEpicGamer274 Jun 24, 2023
6cede20
fix null checks
GDCloudstrike Jun 27, 2023
98965e0
batch size
GDCloudstrike Jun 27, 2023
36e1ede
add input separation
GDCloudstrike Jun 27, 2023
e243a21
add batch mode parameter and functionality
GDCloudstrike Jun 27, 2023
04e9e69
spotless
GDCloudstrike Jun 27, 2023
e8f1a19
first recipe addition loops
GDCloudstrike Jun 29, 2023
ac7d534
start on ui (add button)
GDCloudstrike Jul 10, 2023
df6c707
spotless
GDCloudstrike Jul 10, 2023
9945506
add rendering block
GDCloudstrike Jul 10, 2023
1554966
render tile
GDCloudstrike Jul 10, 2023
1ab889d
more rendering
GDCloudstrike Jul 10, 2023
358b8f1
summon render block
GDCloudstrike Jul 10, 2023
ceadf65
spotless again
GDCloudstrike Jul 10, 2023
07900f2
greyscale
GDCloudstrike Jul 10, 2023
88a250e
lighter
GDCloudstrike Jul 10, 2023
d6fe23d
why is rendering a pain
BlueWeabo Jul 10, 2023
16260a4
fix merge conflicts
GDCloudstrike Jul 23, 2023
480fe2e
is this the conflict?
GDCloudstrike Jul 23, 2023
e5176c4
spotless
GDCloudstrike Jul 23, 2023
8d09b55
merge conflict again :pensib:
GDCloudstrike Jul 25, 2023
5cb3c82
start on upgrade gui
GDCloudstrike Jul 25, 2023
6101ccd
more upgrade gui things
GDCloudstrike Aug 2, 2023
38eb8f2
saving
TheEpicGamer274 Aug 3, 2023
a2ea9ca
Merge remote-tracking branch 'origin/GodForge' into GodForge
TheEpicGamer274 Aug 3, 2023
c460651
Merge branch 'master' into GodForge
GDCloudstrike Dec 4, 2023
2e190ae
resolve merge conflicts & crashes
GDCloudstrike Dec 5, 2023
6d4c33d
redo added blocks + add new ones + some tooltip stuff
GDCloudstrike Dec 10, 2023
cc2f27e
more tooltip stuff
GDCloudstrike Dec 11, 2023
9d47670
one more casing
GDCloudstrike Jan 24, 2024
b72ff08
forgot this
GDCloudstrike Jan 24, 2024
6a68ff1
redo module processing logic
GDCloudstrike Jan 24, 2024
ad38060
migrate to wirelessNetworkManager
GDCloudstrike Jan 25, 2024
403e56d
quark gluon -> exotic
GDCloudstrike Jan 25, 2024
2cb409f
forgot achievements
GDCloudstrike Jan 25, 2024
f063105
adjust plasma module recipemap to prepare for upgrades
GDCloudstrike Jan 27, 2024
fe044ab
migrate to nice mui gui
GDCloudstrike Jan 27, 2024
378dbaa
some more plasma recipemap changes
GDCloudstrike Jan 27, 2024
35e8967
eve more plasma recipemap changes, yay
GDCloudstrike Jan 27, 2024
231159d
everyone loves plasma recipemap changes
GDCloudstrike Jan 27, 2024
057c311
they never end, do they
GDCloudstrike Jan 27, 2024
e290601
exotic module recipes (wip)
GDCloudstrike Feb 5, 2024
ee63113
exotic module recipe processing (mostly works)
GDCloudstrike Feb 5, 2024
db47f48
prevent duplicate materials
GDCloudstrike Feb 6, 2024
0e0c73d
make input sizes random
GDCloudstrike Feb 6, 2024
9d71c0b
fix gt++ material conversions
GDCloudstrike Feb 6, 2024
03cf036
nbt data things
GDCloudstrike Feb 6, 2024
87ff4f7
start on magmatter mode + misc stuff
GDCloudstrike Feb 11, 2024
5a41fe4
more magmatter work
GDCloudstrike Feb 11, 2024
522f143
no need for putIfAbsent + added awdr and runite
GDCloudstrike Feb 13, 2024
a0a5cbf
load recipemap from nbt
GDCloudstrike Feb 13, 2024
0fb3b72
getFluidsStored -> inputFluids
GDCloudstrike Feb 14, 2024
f68751e
add upgrades and make them scrollable
GDCloudstrike Feb 20, 2024
c4da032
assign window colors to upgrades
GDCloudstrike Feb 20, 2024
92f11e4
green background
GDCloudstrike Feb 21, 2024
dfe75cb
green background
GDCloudstrike Feb 21, 2024
9f6ecb6
redo upgrade IDs and add boolean array for storing whether they are a…
GDCloudstrike Feb 23, 2024
a6246df
implement system to restrict the order which upgrades can be bought in
GDCloudstrike Feb 24, 2024
1025ba0
add split functionality
GDCloudstrike Feb 25, 2024
ba5fc7c
switch to constants
GDCloudstrike Feb 25, 2024
aaa7696
reset button tooltip + change texture of upgrade if active
GDCloudstrike Feb 27, 2024
e2e4fb7
some cleanup + new fuel config
GDCloudstrike Mar 4, 2024
153be36
button BGs, altered power switch + localisation
GDCloudstrike Mar 4, 2024
a34a427
fuel config window + save everything to nbt + random stuff
GDCloudstrike Mar 7, 2024
466c8de
new helper class + fuel calculations
GDCloudstrike Mar 7, 2024
fb628cd
heat calculations + some molten module logic adjustments
GDCloudstrike Mar 7, 2024
3be3c2f
more calculations, fuel hatch removal, transfer values to modules, in…
GDCloudstrike Mar 9, 2024
906b735
use values in module processing
GDCloudstrike Mar 9, 2024
8bfd6a1
switch to UUID
GDCloudstrike Mar 9, 2024
f94209c
switch to numericWidget
GDCloudstrike Mar 9, 2024
8e5e172
fix speedbonus being infinite sometimes
GDCloudstrike Mar 10, 2024
1cd36df
move method over to godforgeMath + very minor exotic module changes
GDCloudstrike Mar 10, 2024
073a8b7
remove this so it actually loads
GDCloudstrike Mar 10, 2024
1b7b6ba
new texture
GDCloudstrike Mar 10, 2024
742acbf
switch to processInitialSettings
GDCloudstrike Mar 10, 2024
c1ad728
remove wireless energy things
GDCloudstrike Mar 10, 2024
e4bd4ad
add furnace mode
GDCloudstrike Mar 10, 2024
fcb1dc7
mode localisation
GDCloudstrike Mar 10, 2024
0f34c30
remove author tag
GDCloudstrike Mar 11, 2024
f75f8e2
scala bad (switch away from scala arrays)
GDCloudstrike Mar 11, 2024
8093126
nuke all star imports (& godforge recipemap)
GDCloudstrike Mar 11, 2024
563268a
minor wording changes
GDCloudstrike Mar 11, 2024
d23f1c1
add mod checks
GDCloudstrike Mar 11, 2024
1545d4f
mod check
GDCloudstrike Mar 11, 2024
5227f7d
revert star textures
GDCloudstrike Mar 11, 2024
e6feb17
return widget
GDCloudstrike Mar 11, 2024
1f7f36a
dont return object types
GDCloudstrike Mar 11, 2024
b8d3a97
forgot I even enabled debug, whoops
GDCloudstrike Mar 11, 2024
8bf4d95
remove unnecessary GL11 calls
GDCloudstrike Mar 11, 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
2 changes: 2 additions & 0 deletions src/main/java/com/github/technus/tectech/TecTech.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
import com.github.technus.tectech.loader.MainLoader;
import com.github.technus.tectech.loader.TecTechConfig;
import com.github.technus.tectech.loader.gui.CreativeTabTecTech;
import com.github.technus.tectech.loader.thing.MuTeLoader;
import com.github.technus.tectech.mechanics.enderStorage.EnderWorldSavedData;
import com.github.technus.tectech.proxy.CommonProxy;
import com.github.technus.tectech.recipe.EyeOfHarmonyRecipeStorage;
Expand Down Expand Up @@ -87,6 +88,7 @@ public void PreLoad(FMLPreInitializationEvent PreEvent) {

TecTechRecipeMaps.init();
MainLoader.preLoad();
new MuTeLoader().run();
}

@Mod.EventHandler
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ public static Materials getOrDefault(String name, Materials def) {
}

public void run() {

new Godforge().run();
// todo: Move those recipes in NHCore
if (NewHorizonsCoreMod.isModLoaded()) {
new Assembler().run();
Expand All @@ -44,6 +44,5 @@ public void run() {
new Extractor().run();
new ResearchStationAssemblyLine().run();
}

}
}
428 changes: 428 additions & 0 deletions src/main/java/com/github/technus/tectech/loader/recipe/Godforge.java

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,14 @@
import static com.github.technus.tectech.thing.CustomItemList.Machine_Multi_Computer;
import static com.github.technus.tectech.thing.CustomItemList.Machine_Multi_DataBank;
import static com.github.technus.tectech.thing.CustomItemList.Machine_Multi_EyeOfHarmony;
import static com.github.technus.tectech.thing.CustomItemList.Machine_Multi_ForgeOfGods;
import static com.github.technus.tectech.thing.CustomItemList.Machine_Multi_Infuser;
import static com.github.technus.tectech.thing.CustomItemList.Machine_Multi_Microwave;
import static com.github.technus.tectech.thing.CustomItemList.Machine_Multi_MoltenModule;
import static com.github.technus.tectech.thing.CustomItemList.Machine_Multi_PlasmaModule;
import static com.github.technus.tectech.thing.CustomItemList.Machine_Multi_QuarkGluonPlasmaModule;
import static com.github.technus.tectech.thing.CustomItemList.Machine_Multi_Research;
import static com.github.technus.tectech.thing.CustomItemList.Machine_Multi_SmeltingModule;
import static com.github.technus.tectech.thing.CustomItemList.Machine_Multi_Switch;
import static com.github.technus.tectech.thing.CustomItemList.Machine_Multi_TeslaCoil;
import static com.github.technus.tectech.thing.CustomItemList.Machine_Multi_Transformer;
Expand Down Expand Up @@ -312,6 +317,7 @@
import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_Uncertainty;
import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_WirelessMulti;
import com.github.technus.tectech.thing.metaTileEntity.multi.GT_MetaTileEntity_EM_EyeOfHarmony;
import com.github.technus.tectech.thing.metaTileEntity.multi.GT_MetaTileEntity_EM_ForgeOfGods;
import com.github.technus.tectech.thing.metaTileEntity.multi.GT_MetaTileEntity_EM_computer;
import com.github.technus.tectech.thing.metaTileEntity.multi.GT_MetaTileEntity_EM_dataBank;
import com.github.technus.tectech.thing.metaTileEntity.multi.GT_MetaTileEntity_EM_infuser;
Expand All @@ -320,6 +326,10 @@
import com.github.technus.tectech.thing.metaTileEntity.multi.GT_MetaTileEntity_EM_transformer;
import com.github.technus.tectech.thing.metaTileEntity.multi.GT_MetaTileEntity_TM_microwave;
import com.github.technus.tectech.thing.metaTileEntity.multi.GT_MetaTileEntity_TM_teslaCoil;
import com.github.technus.tectech.thing.metaTileEntity.multi.godforge_modules.GT_MetaTileEntity_EM_ExoticModule;
import com.github.technus.tectech.thing.metaTileEntity.multi.godforge_modules.GT_MetaTileEntity_EM_MoltenModule;
import com.github.technus.tectech.thing.metaTileEntity.multi.godforge_modules.GT_MetaTileEntity_EM_PlasmaModule;
import com.github.technus.tectech.thing.metaTileEntity.multi.godforge_modules.GT_MetaTileEntity_EM_SmeltingModule;
import com.github.technus.tectech.thing.metaTileEntity.pipe.GT_MetaTileEntity_PipeBlock_Data;
import com.github.technus.tectech.thing.metaTileEntity.pipe.GT_MetaTileEntity_PipeBlock_Energy;
import com.github.technus.tectech.thing.metaTileEntity.pipe.GT_MetaTileEntity_Pipe_Data;
Expand Down Expand Up @@ -2023,6 +2033,21 @@ public void run() {
Machine_Multi_EyeOfHarmony.set(
new GT_MetaTileEntity_EM_EyeOfHarmony(15410, "multimachine.em.eye_of_harmony", "Eye of Harmony")
.getStackForm(1L));
Machine_Multi_ForgeOfGods.set(
new GT_MetaTileEntity_EM_ForgeOfGods(15411, "multimachine.em.forge_of_gods", "Forge of the Gods")
.getStackForm(1L));
Machine_Multi_SmeltingModule.set(
new GT_MetaTileEntity_EM_SmeltingModule(15412, "multimachine.em.smelting_module", "Smelting Module")
.getStackForm(1L));
Machine_Multi_MoltenModule.set(
new GT_MetaTileEntity_EM_MoltenModule(15413, "multimachine.em.molten_module", "Molten Module")
.getStackForm(1L));
Machine_Multi_PlasmaModule.set(
new GT_MetaTileEntity_EM_PlasmaModule(15414, "multimachine.em.plasma_module", "Plasma Module")
.getStackForm(1L));
Machine_Multi_QuarkGluonPlasmaModule.set(
new GT_MetaTileEntity_EM_ExoticModule(15415, "multimachine.em.exotic_module", "Exotic Matter Module")
.getStackForm(1L));

// ===================================================================================================
// Hatches
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
package com.github.technus.tectech.loader.thing;

import com.github.technus.tectech.TecTech;

public class MuTeLoader implements Runnable {

@Override
public void run() {
TecTech.LOGGER.info("TecTech: Registering MultiTileEntities");
registerMachines();
registerCasings();
}

private static void registerMachines() {

}

private static void registerCasings() {

}
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,14 @@
import static com.github.technus.tectech.TecTech.tectechTexturePage1;

import com.github.technus.tectech.TecTech;
import com.github.technus.tectech.thing.block.GodforgeGlassBlock;
import com.github.technus.tectech.thing.block.QuantumGlassBlock;
import com.github.technus.tectech.thing.block.ReactorSimBlock;
import com.github.technus.tectech.thing.block.TileEyeOfHarmony;
import com.github.technus.tectech.thing.block.TileForgeOfGods;
import com.github.technus.tectech.thing.casing.GT_Block_CasingsBA0;
import com.github.technus.tectech.thing.casing.GT_Block_CasingsTT;
import com.github.technus.tectech.thing.casing.GodforgeCasings;
import com.github.technus.tectech.thing.casing.SpacetimeCompressionFieldCasing;
import com.github.technus.tectech.thing.casing.StabilisationFieldCasing;
import com.github.technus.tectech.thing.casing.TT_Container_Casings;
Expand Down Expand Up @@ -36,6 +39,7 @@ public class ThingsLoader implements Runnable {
public void run() {

GameRegistry.registerTileEntity(TileEyeOfHarmony.class, MODID + ":EyeOfHarmonyRenderBlock");
GameRegistry.registerTileEntity(TileForgeOfGods.class, MODID + ":ForgeOfGodsRenderBlock");

if (Textures.BlockIcons.casingTexturePages[tectechTexturePage1] == null) {
Textures.BlockIcons.casingTexturePages[tectechTexturePage1] = new ITexture[128];
Expand All @@ -60,6 +64,12 @@ public void run() {

TT_Container_Casings.StabilisationFieldGenerators = new StabilisationFieldCasing();

TT_Container_Casings.GodforgeCasings = new GodforgeCasings();
TecTech.LOGGER.info("Godforge blocks registered.");

GodforgeGlassBlock.run();
TecTech.LOGGER.info("Godforge Glass registered");

QuantumGlassBlock.run();
TecTech.LOGGER.info("Quantum Glass registered");

Expand Down
11 changes: 11 additions & 0 deletions src/main/java/com/github/technus/tectech/proxy/ClientProxy.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import static com.github.technus.tectech.TecTech.RANDOM;
import static com.github.technus.tectech.thing.casing.TT_Container_Casings.eyeOfHarmonyRenderBlock;
import static com.github.technus.tectech.thing.casing.TT_Container_Casings.forgeOfGodsRenderBlock;

import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.GuiNewChat;
Expand All @@ -17,9 +18,14 @@
import com.github.technus.tectech.Reference;
import com.github.technus.tectech.rendering.EOH.EOH_ItemRenderer;
import com.github.technus.tectech.rendering.EOH.EOH_TESR;
import com.github.technus.tectech.thing.block.GodforgeGlassBlock;
import com.github.technus.tectech.thing.block.GodforgeGlassRender;
import com.github.technus.tectech.thing.block.QuantumGlassBlock;
import com.github.technus.tectech.thing.block.QuantumGlassRender;
import com.github.technus.tectech.thing.block.RenderForgeOfGods;
import com.github.technus.tectech.thing.block.TileEyeOfHarmony;
import com.github.technus.tectech.thing.block.TileForgeOfGods;
import com.github.technus.tectech.thing.item.RenderForgeOfGodsItem;
import com.gtnewhorizon.structurelib.entity.fx.WeightlessParticleFX;

import cpw.mods.fml.client.FMLClientHandler;
Expand All @@ -33,11 +39,16 @@ public class ClientProxy extends CommonProxy {
public void registerRenderInfo() {
QuantumGlassBlock.renderID = RenderingRegistry.getNextAvailableRenderId();
RenderingRegistry.registerBlockHandler(QuantumGlassBlock.renderID, new QuantumGlassRender());
GodforgeGlassBlock.renderID = RenderingRegistry.getNextAvailableRenderId();
RenderingRegistry.registerBlockHandler(GodforgeGlassBlock.renderID, new GodforgeGlassRender());

MinecraftForgeClient
.registerItemRenderer(Item.getItemFromBlock(eyeOfHarmonyRenderBlock), new EOH_ItemRenderer());
MinecraftForgeClient
.registerItemRenderer(Item.getItemFromBlock(forgeOfGodsRenderBlock), new RenderForgeOfGodsItem());

ClientRegistry.bindTileEntitySpecialRenderer(TileEyeOfHarmony.class, new EOH_TESR());
ClientRegistry.bindTileEntitySpecialRenderer(TileForgeOfGods.class, new RenderForgeOfGods());
}

@Override
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
package com.github.technus.tectech.recipe;

import static gregtech.api.util.GT_Utility.trans;

import java.util.Collections;
import java.util.List;

import javax.annotation.ParametersAreNonnullByDefault;

import com.gtnewhorizons.modularui.api.math.Pos2d;

import gregtech.api.recipe.BasicUIPropertiesBuilder;
import gregtech.api.recipe.NEIRecipePropertiesBuilder;
import gregtech.api.recipe.RecipeMapFrontend;
import gregtech.api.util.GT_Utility;
import gregtech.api.util.MethodsReturnNonnullByDefault;
import gregtech.nei.RecipeDisplayInfo;

@ParametersAreNonnullByDefault
@MethodsReturnNonnullByDefault
public class GodforgeExoticFrontend extends RecipeMapFrontend {

public GodforgeExoticFrontend(BasicUIPropertiesBuilder uiPropertiesBuilder,
NEIRecipePropertiesBuilder neiPropertiesBuilder) {
super(uiPropertiesBuilder, neiPropertiesBuilder);
}

@Override
public List<Pos2d> getItemInputPositions(int itemInputCount) {
return Collections.singletonList(new Pos2d(52, 33));
}

@Override
public List<Pos2d> getItemOutputPositions(int itemOutputCount) {
return Collections.singletonList(new Pos2d(106, 33));
}

@Override
protected void drawEnergyInfo(RecipeDisplayInfo recipeInfo) {
long eut = recipeInfo.recipe.mEUt;
long duration = recipeInfo.recipe.mDuration;
recipeInfo.drawText(trans("152", "Total: ") + GT_Utility.formatNumbers(eut * duration) + " EU");
recipeInfo.drawText(trans("153", "Usage: ") + GT_Utility.formatNumbers(eut) + " EU/t");
recipeInfo.drawText(trans("158", "Time: ") + GT_Utility.formatNumbers(duration / 20) + " secs");

}

@Override
protected void drawDurationInfo(RecipeDisplayInfo recipeInfo) {}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
package com.github.technus.tectech.recipe;

import static gregtech.api.util.GT_Utility.trans;
import static net.minecraft.util.StatCollector.translateToLocal;

import java.util.Collections;
import java.util.List;

import javax.annotation.ParametersAreNonnullByDefault;

import com.gtnewhorizons.modularui.api.math.Pos2d;

import gregtech.api.recipe.BasicUIPropertiesBuilder;
import gregtech.api.recipe.NEIRecipePropertiesBuilder;
import gregtech.api.recipe.RecipeMapFrontend;
import gregtech.api.util.GT_Utility;
import gregtech.api.util.MethodsReturnNonnullByDefault;
import gregtech.nei.RecipeDisplayInfo;

@ParametersAreNonnullByDefault
@MethodsReturnNonnullByDefault
public class GodforgePlasmaFrontend extends RecipeMapFrontend {

public GodforgePlasmaFrontend(BasicUIPropertiesBuilder uiPropertiesBuilder,
NEIRecipePropertiesBuilder neiPropertiesBuilder) {
super(uiPropertiesBuilder, neiPropertiesBuilder);
}

@Override
public List<Pos2d> getItemInputPositions(int itemInputCount) {
return Collections.singletonList(new Pos2d(52, 33));
}

@Override
public List<Pos2d> getItemOutputPositions(int itemOutputCount) {
return Collections.singletonList(new Pos2d(106, 33));
}

@Override
protected void drawEnergyInfo(RecipeDisplayInfo recipeInfo) {
long eut = recipeInfo.recipe.mEUt;
long duration = recipeInfo.recipe.mDuration;
String multistep = "No";
if (recipeInfo.recipe.mSpecialItems.toString().equals("true")) {
multistep = "Yes";
}
String requiredUpgrade = switch (recipeInfo.recipe.mSpecialValue) {
case 1 -> "T4-T5";
case 2 -> "Exotic";
default -> "T1-T3";
};

recipeInfo.drawText(trans("152", "Total: ") + GT_Utility.formatNumbers(eut * duration) + " EU");
recipeInfo.drawText(trans("153", "Usage: ") + GT_Utility.formatNumbers(eut) + " EU/t");
recipeInfo.drawText(trans("158", "Time: ") + GT_Utility.formatNumbers(duration / 20) + " secs");
recipeInfo.drawText(translateToLocal("gt.blockmachines.multimachine.FOG.plasmamultistep") + ": " + multistep);
recipeInfo.drawText(
translateToLocal("gt.blockmachines.multimachine.FOG.plasmarecipetier") + ": " + requiredUpgrade);
}

@Override
protected void drawDurationInfo(RecipeDisplayInfo recipeInfo) {}

}
Original file line number Diff line number Diff line change
Expand Up @@ -227,4 +227,91 @@ public static boolean addResearchableAssemblylineRecipe(ItemStack aResearchItem,
return true;
}

public static boolean addFOGPlasmaRecipe(ItemStack[] itemInputs, FluidStack[] fluidOutputs, int machineDuration,
int machineEUt, boolean multiStep, int recipeTier) {
if (itemInputs == null) {
itemInputs = nullItem;
}

TecTechRecipeMaps.godforgePlasmaRecipes.addRecipe(
false,
itemInputs,
null,
multiStep,
null,
fluidOutputs,
machineDuration,
machineEUt,
recipeTier);
return true;
}

public static boolean addFOGPlasmaRecipe(FluidStack[] fluidInputs, FluidStack[] fluidOutputs, int machineDuration,
int machineEUt, boolean multiStep, int recipeTier) {

if (fluidInputs == null) {
fluidInputs = nullFluid;
}

TecTechRecipeMaps.godforgePlasmaRecipes.addRecipe(
false,
null,
null,
multiStep,
fluidInputs,
fluidOutputs,
machineDuration,
machineEUt,
recipeTier);
return true;
}

public static boolean addFOGExoticFakeRecipe(Object[] itemInputs, Object[] fluidInputs, FluidStack[] fluidOutputs,
int machineDuration, int machineEUt, int recipeTier) {

if (itemInputs == null) {
itemInputs = nullItem;
}

if (fluidInputs == null) {
fluidInputs = nullFluid;
}

ItemStack[] inputItems = new ItemStack[itemInputs.length];
ItemStack[][] itemAlts = new ItemStack[itemInputs.length][];
for (int i = 0; i < itemInputs.length; i++) {
Object obj = itemInputs[i];
if (obj instanceof ItemStack) {
inputItems[i] = (ItemStack) obj;
itemAlts[i] = null;
} else if (obj instanceof ItemStack[]stacks) {
if (stacks.length > 0) {
inputItems[i] = stacks[0];
itemAlts[i] = Arrays.copyOf(stacks, stacks.length);
}
}
}

FluidStack[] inputFluids = new FluidStack[fluidInputs.length];
for (int i = 0; i < fluidInputs.length; i++) {
Object obj = fluidInputs[i];
if (obj instanceof FluidStack[]stacks) {
inputFluids[i] = stacks[0];
}
}

TecTechRecipeMaps.godforgeExoticMatterRecipes.addFakeRecipe(
false,
inputItems,
null,
null,
inputFluids,
fluidOutputs,
machineDuration,
machineEUt,
recipeTier,
itemAlts,
false);
return true;
}
}
Loading