Skip to content

Commit a68cdec

Browse files
authored
Overhauled how crucibles work (#29)
* All use same Interior to remove code duplication * Heat loss to environment * Made BOF into crucible-like machine, added BOF+Bessemer recipes * Added some vapours, graphene from carbon vapour * Added more plasmas, use them for fusion recipes * Added mortars made out of various bronzes * Changed some recipes, melting points * More tweaks * Fixed solid state reactions for Cement, SiC (Fixes #28)
1 parent 00ba34b commit a68cdec

103 files changed

Lines changed: 3540 additions & 1593 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

dependencies.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
*/
3636
dependencies {
3737
// Of course include the latest/SNAPSHOT version of GT6.
38-
compile "com.gregoriust.gregtech:gregtech_1.7.10:6-SNAPSHOT:dev"
38+
compile "com.gregoriust.gregtech:gregtech_1.7.10:6.17.02:dev"
3939
// These default dependencies are required to use the basics of GT6's API. Some
4040
// other usages may require more dependencies to be enabled.
4141
compile "codechicken:CodeChickenLib:1.7.10-1.1.3.140:dev"

src/main/java/org/altadoon/gt6x/Gt6xMod.java

Lines changed: 32 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import org.altadoon.gt6x.features.GT6XFeature;
1010
import org.altadoon.gt6x.features.basicchem.BasicChemistry;
1111
import org.altadoon.gt6x.features.ceramics.Ceramics;
12+
import org.altadoon.gt6x.features.crucibles.Crucibles;
1213
import org.altadoon.gt6x.features.distillationtowers.DistillationTowers;
1314
import org.altadoon.gt6x.features.electronics.Compat_Recipes_OpenComputersX;
1415
import org.altadoon.gt6x.features.electronics.Electronics;
@@ -59,6 +60,7 @@ public final class Gt6xMod extends gregapi.api.Abstract_Mod {
5960
private static final Class<? extends GT6XFeature>[] allFeatures = new Class[]{
6061
BasicChemistry.class,
6162
Ceramics.class,
63+
Crucibles.class,
6264
DistillationTowers.class,
6365
Electronics.class,
6466
Engines.class,
@@ -70,28 +72,35 @@ public final class Gt6xMod extends gregapi.api.Abstract_Mod {
7072
ThermoOven.class,
7173
VerticalMixers.class,
7274
};
73-
private final ArrayList<GT6XFeature> enabledFeatures;
74-
75-
public Gt6xMod() {
76-
MTx.touch();
75+
private static final ArrayList<GT6XFeature> enabledFeatures;
7776

77+
static {
7878
Config modConfig = new Config(allFeatures);
79-
this.enabledFeatures = modConfig.getEnabledFeatures();
79+
enabledFeatures = modConfig.getEnabledFeatures();
80+
}
81+
82+
public Gt6xMod() {
83+
GT.mBeforePreInit.add(this::preGt6PreInit);
84+
GT.mAfterPreInit.add(this::postGt6PreInit);
85+
GT.mBeforeInit.add(this::preGt6Init);
86+
GT.mAfterInit.add(this::postGt6Init);
87+
GT.mBeforePostInit.add(this::preGt6PostInit);
88+
GT.mAfterPostInit.add(this::postGt6PostInit);
89+
}
8090

81-
final Gt6xMod copy = this;
82-
GT.mBeforePreInit.add(copy::preGt6PreInit);
83-
GT.mAfterPreInit.add(copy::postGt6PreInit);
84-
GT.mBeforeInit.add(copy::preGt6Init);
85-
GT.mAfterInit.add(copy::postGt6Init);
86-
GT.mBeforePostInit.add(copy::preGt6PostInit);
87-
GT.mAfterPostInit.add(copy::postGt6PostInit);
91+
public static boolean isEnabled(Class<? extends GT6XFeature> feature) {
92+
for (GT6XFeature f : enabledFeatures) {
93+
if (f.getClass() == feature) {
94+
return true;
95+
}
96+
}
97+
return false;
8898
}
8999

90100
@Override
91-
public void onModPreInit2(cpw.mods.fml.common.event.FMLPreInitializationEvent aEvent) {
101+
public void onModPreInit2(cpw.mods.fml.common.event.FMLPreInitializationEvent event) {
92102
MTEx.touch();
93103
MTx.touch();
94-
FLx.init();
95104
RMx.init();
96105
MultiItemsX.init(MOD_ID);
97106
MultiItemBottlesX.init(MOD_ID);
@@ -105,14 +114,14 @@ public void onModPreInit2(cpw.mods.fml.common.event.FMLPreInitializationEvent aE
105114
}
106115

107116
@Override
108-
public void onModInit2(cpw.mods.fml.common.event.FMLInitializationEvent aEvent) {
117+
public void onModInit2(cpw.mods.fml.common.event.FMLInitializationEvent event) {
109118
for (GT6XFeature feature : enabledFeatures) {
110119
feature.init();
111120
}
112121
}
113122

114123
@Override
115-
public void onModPostInit2(cpw.mods.fml.common.event.FMLPostInitializationEvent aEvent) {
124+
public void onModPostInit2(cpw.mods.fml.common.event.FMLPostInitializationEvent event) {
116125
for (GT6XFeature feature : enabledFeatures) {
117126
feature.postInit();
118127
}
@@ -125,6 +134,9 @@ private void preGt6PreInit() {
125134
}
126135

127136
private void postGt6PreInit() {
137+
MTx.touch();
138+
FLx.init();
139+
128140
for (GT6XFeature feature : enabledFeatures) {
129141
feature.afterGt6PreInit();
130142
}
@@ -155,22 +167,22 @@ private void postGt6PostInit() {
155167
}
156168

157169
@Override
158-
public void onModServerStarting2(cpw.mods.fml.common.event.FMLServerStartingEvent aEvent) {
170+
public void onModServerStarting2(cpw.mods.fml.common.event.FMLServerStartingEvent event) {
159171
// Insert your ServerStarting Code here and not above
160172
}
161173

162174
@Override
163-
public void onModServerStarted2(cpw.mods.fml.common.event.FMLServerStartedEvent aEvent) {
175+
public void onModServerStarted2(cpw.mods.fml.common.event.FMLServerStartedEvent event) {
164176
// Insert your ServerStarted Code here and not above
165177
}
166178

167179
@Override
168-
public void onModServerStopping2(cpw.mods.fml.common.event.FMLServerStoppingEvent aEvent) {
180+
public void onModServerStopping2(cpw.mods.fml.common.event.FMLServerStoppingEvent event) {
169181
// Insert your ServerStopping Code here and not above
170182
}
171183

172184
@Override
173-
public void onModServerStopped2(cpw.mods.fml.common.event.FMLServerStoppedEvent aEvent) {
185+
public void onModServerStopped2(cpw.mods.fml.common.event.FMLServerStoppedEvent event) {
174186
// Insert your ServerStopped Code here and not above
175187
}
176188
}

src/main/java/org/altadoon/gt6x/common/CRx.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,21 +7,22 @@
77

88
import java.util.ArrayList;
99

10+
import static gregapi.util.CR.DEL_OTHER_RECIPES;
11+
1012
public class CRx {
1113
public static void disableGt6(ItemStack output) {
1214
CR.BUFFER.removeIf(r -> ST.equal(r.getRecipeOutput(), output));
1315
}
1416

1517
public static void overrideShaped(ItemStack output, long bitMask, Object... recipe) {
1618
disableGt6(output);
17-
CR.shaped(output, bitMask, recipe);
19+
CR.shaped(output, bitMask | DEL_OTHER_RECIPES, recipe);
1820
}
1921

2022
public static void overrideShapeless(ItemStack input, ItemStack output) {
2123
CR.BUFFER.removeIf(r -> {
22-
if (r instanceof AdvancedCraftingShapeless) {
23-
AdvancedCraftingShapeless sl = (AdvancedCraftingShapeless)r;
24-
ArrayList<Object> inputs = sl.getInput();
24+
if (r instanceof AdvancedCraftingShapeless sl) {
25+
ArrayList<Object> inputs = sl.getInput();
2526
return inputs.size() == 1 &&
2627
inputs.get(0) instanceof ItemStack &&
2728
ST.equal((ItemStack) inputs.get(0), input);

src/main/java/org/altadoon/gt6x/common/FLx.java

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,12 @@
22

33
import com.google.common.collect.Iterables;
44
import gregapi.data.FL;
5+
import gregapi.data.MT;
56
import gregapi.lang.LanguageHandler;
67
import gregapi.old.Textures;
78
import gregapi.oredict.OreDictMaterial;
9+
import gregapi.render.IIconContainer;
10+
import gregapi.util.UT;
811
import net.minecraft.item.ItemStack;
912
import net.minecraftforge.fluids.Fluid;
1013
import org.altadoon.gt6x.Gt6xMod;
@@ -39,15 +42,18 @@ public class FLx {
3942

4043
public static FL[] BIO_OILS = { FL.Oil_Frying, FL.Oil_Seed, FL.Oil_Plant, FL.Oil_Sunflower, FL.Oil_Olive, FL.Oil_Nut, FL.Oil_Lin, FL.Oil_Hemp, FL.Oil_Fish, FL.Oil_Whale, FL.Oil_Canola, FL.Oil_Plant };
4144

42-
@SafeVarargs public static Fluid createPlasma(OreDictMaterial material, Set<String>... fluidList) {return create("plasma."+material.mNameInternal.toLowerCase(), material.mNameLocal + " Plasma", material, STATE_PLASMA, 2000, material.mPlasmaPoint, fluidList).setLuminosity(15);}
43-
4445
@SafeVarargs public static Fluid create(String name, String localized, OreDictMaterial material, int state, Set<String>... fluidList) {return create(name, localized, material, state, 1000, 300, fluidList);}
45-
@SafeVarargs public static Fluid create(String name, String localized, OreDictMaterial material, int state, long amountPerUnit, long temperatureK, Set<String>... fluidList) {return create(name, localized, material, state, amountPerUnit, temperatureK, null, null, 0, fluidList);}
46-
@SafeVarargs public static Fluid create(String name, String localized, OreDictMaterial material, int state, long amountPerUnit, long temperatureK, ItemStack fullContainer, ItemStack emptyContainer, int fluidAmount, Set<String>... fluidList) {return FL.create(name, new Textures.BlockIcons.CustomIcon(Gt6xMod.MOD_ID + ":fluids/" + name.toLowerCase()), localized, material, null, state, amountPerUnit, temperatureK, fullContainer, emptyContainer, fluidAmount, fluidList);}
46+
@SafeVarargs public static Fluid create(String name, String localized, OreDictMaterial material, int state, long amountPerUnit, long temperatureK, Set<String>... fluidList) {return create(name, localized, material, state, amountPerUnit, temperatureK, new Textures.BlockIcons.CustomIcon(Gt6xMod.MOD_ID + ":fluids/" + name.toLowerCase()), null, null, 0, fluidList);}
47+
@SafeVarargs public static Fluid create(String name, String localized, OreDictMaterial material, int state, long amountPerUnit, long temperatureK, IIconContainer texture, ItemStack fullContainer, ItemStack emptyContainer, int fluidAmount, Set<String>... fluidList) {return FL.create(name, texture, localized, material, null, state, amountPerUnit, temperatureK, fullContainer, emptyContainer, fluidAmount, fluidList);}
4748

4849
public static void init() {
4950
LanguageHandler.set(FL.Fuel.mName, "Heavy Fuel Oil");
5051

52+
// These need to be created here to override the ones in GT6's Loader_Fluids
53+
for (OreDictMaterial mat : new OreDictMaterial[] { MT.He, MT.N }) {
54+
MTx.addPlasma(mat);
55+
}
56+
5157
if (!FL.Resin .exists()) create("resin" , "Resin" , null, STATE_LIQUID).setDensity(900);
5258
if (!FL.Resin_Spruce.exists()) create("spruceresin", "Spruce Resin", null, STATE_LIQUID).setDensity(900);
5359
if (!FL.Turpentine .exists()) create("turpentine" , "Turpentine" , null, STATE_LIQUID);

src/main/java/org/altadoon/gt6x/common/MTEx.java

Lines changed: 22 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
import gregapi.block.multitileentity.MultiTileEntityBlock;
55
import gregapi.block.multitileentity.MultiTileEntityRegistry;
66
import gregapi.data.MD;
7-
import gregapi.util.CR;
87
import gregapi.util.ST;
98
import net.minecraft.block.Block;
109
import net.minecraft.block.material.Material;
@@ -16,11 +15,11 @@
1615
public class MTEx {
1716
public static void touch() {}
1817
public static MultiTileEntityRegistry gt6xMTEReg = new MultiTileEntityRegistry("gt6x.multitileentity");
19-
public static MultiTileEntityRegistry gt6Registry = MultiTileEntityRegistry.getRegistry("gt.multitileentity");
18+
public static MultiTileEntityRegistry gt6MTEReg = MultiTileEntityRegistry.getRegistry("gt.multitileentity");
2019

2120
public static final String NBT_MTE_MULTIBLOCK_PART_REG = "gt6x.mte.part.reg";
2221
public static final int gt6xMTERegId = Block.getIdFromBlock(gt6xMTEReg.mBlock);
23-
public static final int gt6MTERegId = Block.getIdFromBlock(gt6Registry.mBlock);
22+
public static final int gt6MTERegId = Block.getIdFromBlock(gt6MTEReg.mBlock);
2423

2524
public static MultiTileEntityBlock PlasticBlock = MultiTileEntityBlock.getOrCreate(Gt6xMod.MOD_ID, "redstoneLight", Material.redstoneLight, Block.soundTypeWood, TOOL_saw, 0, 0, 15, false, false);
2625
public static MultiTileEntityBlock MachineBlock = MultiTileEntityBlock.getOrCreate(Gt6xMod.MOD_ID, "machine", MaterialMachines.instance, Block.soundTypeMetal, TOOL_wrench, 0, 0, 15, false, false);
@@ -45,20 +44,16 @@ public enum IDs {
4544
AluminaCheckerBricks(101),
4645
SiCBricks(110),
4746
SiCWall(111),
48-
SiCCrucible(112),
49-
SiCCrucibleLarge(113),
50-
SicFaucet(114),
51-
SiCMold(115),
52-
SiCBasin(116),
53-
SiCCrossing(117),
47+
//SiCCrucible(112),
48+
//SiCCrucibleLarge(113),
49+
SiCCrucibleParts(114), // 114-117
5450
MgOCBricks(120),
5551
MgOCWall(121),
56-
MgOCCrucible(122),
57-
MgOCCrucibleLarge(123),
58-
MgOCFaucet(124),
59-
MgOCMold(125),
60-
MgOCBasin(126),
61-
MgOCCrossing(127),
52+
//MgOCCrucible(122),
53+
//MgOCCrucibleLarge(123),
54+
MgOCCrucibleParts(124), // 124-127
55+
FireclayCrucibleParts(130), // 130-135
56+
Mortars(140), // 140-144
6257

6358
// Metallurgy: 200-299
6459
BFPartIron(200),
@@ -176,6 +171,16 @@ public enum IDs {
176171
DenseWallHastelloy(811),
177172
DenseWallTi6Al4V(812),
178173
DenseWallTMS196(813),
174+
175+
// Crucibles: 900-1199
176+
Crucibles(1000),
177+
Molds(1050),
178+
CrucibleFaucets(1700),
179+
Basins(1750),
180+
Crossings(1850),
181+
LargeCrucibles(17300),
182+
Taps(32700),
183+
Funnels(32750),
179184
;
180185

181186
public static final IDs[] Hydrocracker = { null, Hydrocracker1, Hydrocracker2, Hydrocracker3, Hydrocracker4 };
@@ -207,8 +212,8 @@ public int get() {
207212
public static final float[] HARDNESS_ELECTRIC = { 4.0F, 4.0F, 4.0F, 4.0F, 4.0F, 4.0F };
208213

209214
public static void disableGT6MTE(short id) {
210-
if (gt6Registry.mRegistry.containsKey(id)) {
211-
ItemStack it = gt6Registry.getItem(id);
215+
if (gt6MTEReg.mRegistry.containsKey(id)) {
216+
ItemStack it = gt6MTEReg.getItem(id);
212217
ST.hide(it);
213218
CRx.disableGt6(it);
214219
}

0 commit comments

Comments
 (0)