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

Beamline fixes 4 #3504

Merged
merged 40 commits into from
Nov 23, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
c4492db
Add hot super coolant fluid for Synchrotron and LINAC coolant output
Elisis Oct 7, 2024
5f209db
Rename 'Input amount too low' Synchrotron error message, fix LINAC po…
Elisis Oct 7, 2024
9714aa6
Add Prepared Mask step to mask recipes, add textures for Prepared Masks
Elisis Oct 7, 2024
740a6d3
Remove todo comments
Elisis Oct 7, 2024
6b9ad17
Add crystal chip masks, TC recipes, make QPIC attainable at ZPM
Elisis Oct 8, 2024
4ed45eb
Reduce UHPIC minimum TC energy, add recipe for blank crystal mask
Elisis Oct 12, 2024
ba36e91
Add LuAG CC recipe, make focus for CC recipes more reasonable
Elisis Oct 21, 2024
6ba5d43
Fix LINAC amperage usage, make math take into account 4x amperage wit…
Elisis Oct 21, 2024
eb05fad
Add subticking to TC, fix focus input IIOB
Elisis Oct 21, 2024
8b25275
Reduce NPIC max energy from 3 million eV
Elisis Oct 21, 2024
7901797
Fix LINAC coolant usage, no longer consumes 1kL less than expected
Elisis Oct 29, 2024
f8a5901
Fix OBOE with focus durability, add maximum number of uses to focus t…
Elisis Oct 29, 2024
078d890
Improve the TC recipe time save per increase in wafer tier by ~20%, f…
Elisis Nov 2, 2024
c5052d4
Add exotic energy hatch support to Synchrotron, fix tricorder NPE iss…
Elisis Nov 4, 2024
b50a829
Fix wrong masks having 'Max Uses' tooltip
Elisis Nov 10, 2024
80f1fc2
Add cblank, temporary ccpu textures
Elisis Nov 15, 2024
5f2c537
Add crystal Masks, Better mask and casing textures
BlueHero233 Nov 15, 2024
14ee504
Merge remote-tracking branch 'origin/beamline-fixes-4' into beamline-…
BlueHero233 Nov 15, 2024
07a3c6c
Update fake GT shielded acc. machine casing texture
Elisis Nov 16, 2024
b925b8e
Spotless, as always
Elisis Nov 16, 2024
838f8ef
Merge branch 'master' into beamline-fixes-4
Elisis Nov 16, 2024
1234593
Merge branch 'master' into beamline-fixes-4
Dream-Master Nov 16, 2024
65a1cae
Merge branch 'master' into beamline-fixes-4
Dream-Master Nov 16, 2024
bc77340
Merge branch 'master' into beamline-fixes-4
Dream-Master Nov 16, 2024
18c7f3c
Merge branch 'master' into beamline-fixes-4
Dream-Master Nov 17, 2024
0d5eb05
Merge branch 'master' into beamline-fixes-4
Dream-Master Nov 17, 2024
7ba3d84
Merge branch 'master' into beamline-fixes-4
Elisis Nov 17, 2024
1acbad4
Merge branch 'master' into beamline-fixes-4
Dream-Master Nov 18, 2024
f0269e1
Fix empty Fluoroform Mix centrifuge recipe
Elisis Nov 19, 2024
5448e3c
Merge branch 'beamline-fixes-4' of https://github.com/GTNewHorizons/G…
Elisis Nov 19, 2024
9359098
Spotless apply for branch beamline-fixes-4 for #3504 (#3523)
github-actions[bot] Nov 19, 2024
7964ba7
Merge branch 'master' into beamline-fixes-4
Dream-Master Nov 20, 2024
7913a23
Merge branch 'master' into beamline-fixes-4
Elisis Nov 22, 2024
92fd5d1
Merge branch 'master' into beamline-fixes-4
Dream-Master Nov 22, 2024
cf3f6b9
Merge branch 'master' into beamline-fixes-4
Ethryan Nov 23, 2024
eeb8989
Purge commented code
Elisis Nov 23, 2024
4d9fa6e
Spotless
Elisis Nov 23, 2024
5b3b4ac
Merge branch 'master' into beamline-fixes-4
Dream-Master Nov 23, 2024
1aaa677
Spotless apply for branch beamline-fixes-4 for #3504 (#3546)
github-actions[bot] Nov 23, 2024
b3f7c60
Merge branch 'master' into beamline-fixes-4
Dream-Master Nov 23, 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: 1 addition & 3 deletions src/main/java/gtnhlanth/common/beamline/BeamLinePacket.java
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,7 @@ public BeamLinePacket(NBTTagCompound compound) {

@Override
protected BeamInformation contentFromNBT(NBTTagCompound nbt) {
/*
* NBTTagCompound compound = nbt.getCompoundTag("beamline");
*/

return new BeamInformation(
nbt.getFloat("energy"),
nbt.getInteger("rate"),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,16 +23,17 @@ public ItemPhotolithographicMask(String name, int maxDamage, String descSpectrum
this.setTextureName(Tags.MODID + ":photomask/" + name);
}

/*
* @Override public String getUnlocalizedName() { return "item.photomask." + this.name; }
*/
@SuppressWarnings({ "rawtypes", "unchecked" })
@Override
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) {

if (!this.descSpectrum.isEmpty())
list.add("Suitable for the " + this.descSpectrum + " segment of the electromagnetic spectrum and lower");

if (this.getMaxDamage() > 0) // Not a precursor.
list.add("Max Uses: " + (this.getMaxDamage() + 1)); // maximum uses = max damage + 1 in general, as
// 0-durability masks still function

}

public String getDescSpectrum() {
Expand Down
131 changes: 86 additions & 45 deletions src/main/java/gtnhlanth/common/item/MaskList.java
Original file line number Diff line number Diff line change
Expand Up @@ -13,60 +13,94 @@ public enum MaskList {
// Use Dyes._NULL to indicate a wafer's lack of a dedicated lens instead of null, if the wafer's mask is to be
// generated
// Ignore last argument if using all wafers
ERROR("error", "ERROR", 0, "", null, null, 0, 0, 0, 0, 0, null),
BLANK1("blank1", "T1 Blank", 0, "VISIBLE", null, null, 0, 0, 0, 0, 0, null),
BLANK2("blank2", "T2 Blank", 0, "UV", null, null, 0, 0, 0, 0, 0, null),
BLANK3("blank3", "T3 Blank", 0, "X-RAY", null, null, 0, 0, 0, 0, 0, null),
// tcTargetItem specifies the target item used for non-wafer mask+TC recipes, e.g. crystal chips, set to null for
// wafer masks
ERROR("error", "ERROR", 0, "", null, null, 0, 0, 0, 0, 0, null, null),
BLANK1("blank1", "T1 Blank", 0, "VISIBLE", null, null, 0, 0, 0, 0, 0, null, null),
BLANK2("blank2", "T2 Blank", 0, "UV", null, null, 0, 0, 0, 0, 0, null, null),
BLANK3("blank3", "T3 Blank", 0, "X-RAY", null, null, 0, 0, 0, 0, 0, null, null),

CBLANK("cblank", "Crystal", 0, "X-RAY", null, null, 0, 0, 0, 0, 0, null, null), // Better at resolving smaller
// features, in theory

ILC("ilc", "Integrated Logic Circuit", 100, "", BLANK1, Dyes.dyeRed, TierEU.RECIPE_MV, 0.5e-3f, 4e-3f, 35, 1,
ItemList.Circuit_Wafer_ILC.get(1)),
ItemList.Circuit_Wafer_ILC.get(1), null),
RAM("ram", "Random Access Memory", 200, "", BLANK1, Dyes.dyeCyan, TierEU.RECIPE_MV, 2e-3f, 4e-3f, 40, 2,
ItemList.Circuit_Wafer_Ram.get(1), ItemList.Circuit_Silicon_Wafer),
ItemList.Circuit_Wafer_Ram.get(1), null, ItemList.Circuit_Silicon_Wafer),
NAND("nand", "NAND", 200, "", BLANK2, Dyes._NULL, TierEU.RECIPE_HV, 7e-3f, 12e-3f, 40, 1,
ItemList.Circuit_Wafer_NAND.get(1), ItemList.Circuit_Silicon_Wafer), // NAND uses only Ender Pearl lens, don't
// ask me why
NOR("nor", "NOR", 100, "", BLANK2, Dyes._NULL, TierEU.RECIPE_LuV, 8e-3f, 10e-3f, 40, 1,
ItemList.Circuit_Wafer_NOR.get(1), ItemList.Circuit_Silicon_Wafer, ItemList.Circuit_Silicon_Wafer2), // Same as
// above,
// but with
// ender
// eye
ItemList.Circuit_Wafer_NAND.get(1), null, ItemList.Circuit_Silicon_Wafer), // NAND uses only Ender Pearl lens,
// don't
// ask me why
NOR("nor", "NOR", 100, "", BLANK2, Dyes._NULL, TierEU.RECIPE_HV, 8e-3f, 10e-3f, 40, 1,
ItemList.Circuit_Wafer_NOR.get(1), null, ItemList.Circuit_Silicon_Wafer, ItemList.Circuit_Silicon_Wafer2), // Same
// as
// above,
// but with
// ender
// eye
CPU("cpu", "Central Processing Unit", 10, "", BLANK2, Dyes.dyeWhite, TierEU.RECIPE_MV, 6e-3f, 12e-3f, 45, 2,
ItemList.Circuit_Wafer_CPU.get(1)),
ItemList.Circuit_Wafer_CPU.get(1), null),
PrCPU("prcpu", "Prepared Central Processing Unit", 0, "", CPU, null, TierEU.RECIPE_EV, 0, 0, 0, 0, null, null),

SOC("soc", "SoC", 150, "", BLANK2, Dyes.dyeYellow, TierEU.RECIPE_EV, 3e-3f, 10e-3f, 45, 2,
ItemList.Circuit_Wafer_SoC.get(1), ItemList.Circuit_Silicon_Wafer, ItemList.Circuit_Silicon_Wafer2),
ItemList.Circuit_Wafer_SoC.get(1), null, ItemList.Circuit_Silicon_Wafer, ItemList.Circuit_Silicon_Wafer2),
ASOC("asoc", "Advanced SoC", 120, "", BLANK2, Dyes.dyeGreen, TierEU.RECIPE_EV, 100e-3f, 200e-3f, 50, 2,
ItemList.Circuit_Wafer_SoC2.get(1), ItemList.Circuit_Silicon_Wafer, ItemList.Circuit_Silicon_Wafer2),
ItemList.Circuit_Wafer_SoC2.get(1), null, ItemList.Circuit_Silicon_Wafer, ItemList.Circuit_Silicon_Wafer2),

PIC("pic", "Power IC", 100, "", BLANK2, Dyes.dyeBlue, TierEU.RECIPE_HV, 5e-3f, 10e-3f, 50, 4,
ItemList.Circuit_Wafer_PIC.get(1), ItemList.Circuit_Silicon_Wafer),
HPIC("hpic", "High Power IC", 80, "", BLANK3, null, TierEU.RECIPE_IV, 100e-3f, 200e-3f, 50, 6,
ItemList.Circuit_Wafer_HPIC.get(1), ItemList.Circuit_Silicon_Wafer), // Different, made in chemical reactor.
// Figure out something for
// this later?
NCPU("ncpu", "NanoCPU", 60, "", BLANK2, null, TierEU.RECIPE_EV, 5e-3f, 10e-3f, 50, 4,
ItemList.Circuit_Wafer_NanoCPU.get(1), ItemList.Circuit_Silicon_Wafer), // Same as above
QBIT("qbit", "QBit", 50, "", BLANK2, null, TierEU.RECIPE_EV, 3e-3f, 10e-3f, 50, 4,
ItemList.Circuit_Wafer_QuantumCPU.get(1), ItemList.Circuit_Silicon_Wafer), // ^
UHPIC("uhpic", "Ultra High Power IC", 60, "", BLANK3, null, TierEU.RECIPE_LuV, 200e-3f, 400e-3f, 50, 8,
ItemList.Circuit_Wafer_UHPIC.get(1), ItemList.Circuit_Silicon_Wafer, ItemList.Circuit_Silicon_Wafer2), // You
// get
// the
// gist
ItemList.Circuit_Wafer_PIC.get(1), null, ItemList.Circuit_Silicon_Wafer),
PrPIC("prpic", "Prepared Power IC", 0, "", PIC, null, TierEU.RECIPE_IV, 0, 0, 0, 0, null, null), // Made in CR from
// PIC

HPIC("hpic", "High Power IC", 80, "", PrPIC, Dyes.dyeBlue, TierEU.RECIPE_IV, 100e-3f, 200e-3f, 50, 6,
ItemList.Circuit_Wafer_HPIC.get(1), null, ItemList.Circuit_Silicon_Wafer),
PrHPIC("prhpic", "Prepared High Power IC", 0, "", HPIC, null, TierEU.RECIPE_LuV, 0, 0, 0, 0, null, null), // Made in
// CR from
// HPIC

NCPU("ncpu", "NanoCPU", 60, "", PrCPU, Dyes.dyeWhite, TierEU.RECIPE_EV, 5e-3f, 10e-3f, 50, 4,
ItemList.Circuit_Wafer_NanoCPU.get(1), null, ItemList.Circuit_Silicon_Wafer),
PrNCPU("prncpu", "Prepared NanoCPU", 0, "", NCPU, null, TierEU.RECIPE_EV, 0, 0, 0, 0, null, null),

QBIT("qbit", "QBit", 50, "", PrNCPU, Dyes.dyeWhite, TierEU.RECIPE_EV, 3e-3f, 10e-3f, 50, 4,
ItemList.Circuit_Wafer_QuantumCPU.get(1), null, ItemList.Circuit_Silicon_Wafer), // ^
UHPIC("uhpic", "Ultra High Power IC", 60, "", PrHPIC, Dyes.dyeBlue, TierEU.RECIPE_LuV, 190e-3f, 400e-3f, 50, 8,
ItemList.Circuit_Wafer_UHPIC.get(1), null, ItemList.Circuit_Silicon_Wafer, ItemList.Circuit_Silicon_Wafer2),
SSOC("ssoc", "Simple SoC", 150, "", BLANK1, Dyes.dyeOrange, TierEU.RECIPE_MV, 2e-3f, 4e-3f, 25, 1,
ItemList.Circuit_Wafer_Simple_SoC.get(1)),
ItemList.Circuit_Wafer_Simple_SoC.get(1), null),
ULPIC("ulpic", "Ultra Low Power IC", 200, "", BLANK1, Dyes.dyeGreen, TierEU.RECIPE_LV, 2e-3f, 4e-3f, 30, 1,
ItemList.Circuit_Wafer_ULPIC.get(1)), // Can use green for this as well as asoc, given
ItemList.Circuit_Wafer_ULPIC.get(1), null), // Can use green for this as well as asoc, given
// the latter uses a different base mask
LPIC("lpic", "Low Power IC", 150, "", BLANK1, Dyes.dyeYellow, TierEU.RECIPE_MV, 2e-3f, 4e-3f, 30, 2,
ItemList.Circuit_Wafer_LPIC.get(1)), // Same as above, except for yellow
NPIC("npic", "Nano Power IC", 70, "", BLANK3, Dyes.dyeRed, TierEU.RECIPE_LuV, 1, 3000, 50, 4,
ItemList.Circuit_Wafer_NPIC.get(1), ItemList.Circuit_Silicon_Wafer, ItemList.Circuit_Silicon_Wafer2,
ItemList.Circuit_Wafer_LPIC.get(1), null), // Same as above, except for yellow

NPIC("npic", "Nano Power IC", 70, "", BLANK2, Dyes.dyeRed, TierEU.RECIPE_LuV, 1, 4, 50, 4,
ItemList.Circuit_Wafer_NPIC.get(1), null, ItemList.Circuit_Silicon_Wafer, ItemList.Circuit_Silicon_Wafer2,
ItemList.Circuit_Silicon_Wafer3), // Same
PPIC("ppic", "PPIC", 50, "", BLANK3, null, TierEU.RECIPE_ZPM, 1.5f, 10, 50, 6, ItemList.Circuit_Wafer_PPIC.get(1),
ItemList.Circuit_Silicon_Wafer, ItemList.Circuit_Silicon_Wafer2, ItemList.Circuit_Silicon_Wafer3), // CR
// recipe
QPIC("qpic", "QPIC", 50, "", BLANK3, Dyes.dyeBlue, TierEU.RECIPE_UV, 5, 9, 50, 6,
ItemList.Circuit_Wafer_QPIC.get(1), ItemList.Circuit_Silicon_Wafer, ItemList.Circuit_Silicon_Wafer2,
ItemList.Circuit_Silicon_Wafer3, ItemList.Circuit_Silicon_Wafer4); // Different base mask to PIC
PrNPIC("prnpic", "Prepared Nano Power IC", 0, "", NPIC, null, TierEU.RECIPE_ZPM, 0, 0, 0, 0, null, null), // Made in
// CR from
// NPIC

PPIC("ppic", "PPIC", 50, "", PrNPIC, Dyes.dyeRed, TierEU.RECIPE_ZPM, 1.5f, 10, 50, 6,
ItemList.Circuit_Wafer_PPIC.get(1), null, ItemList.Circuit_Silicon_Wafer, ItemList.Circuit_Silicon_Wafer2,
ItemList.Circuit_Silicon_Wafer3),

QPIC("qpic", "QPIC", 50, "", BLANK3, Dyes.dyeBlue, TierEU.RECIPE_UV, 3.2f, 9, 50, 6,
ItemList.Circuit_Wafer_QPIC.get(1), null, ItemList.Circuit_Silicon_Wafer, ItemList.Circuit_Silicon_Wafer2,
ItemList.Circuit_Silicon_Wafer3, ItemList.Circuit_Silicon_Wafer4), // Different base mask to PIC

CCPU("ccpu", "Crystal Central Processing Unit", 100, "", CBLANK, Dyes.dyeGreen, 10_000, 1, 3, 50, 6,
ItemList.Circuit_Chip_CrystalCPU.get(1), ItemList.Circuit_Parts_Crystal_Chip_Elite.get(1)), // For producing
// Crystal CPUs from
// Engraved CCs
CSOC("csoc", "Crystal SoC", 100, "", CBLANK, Dyes.dyeBlue, 40_000, 2, 7, 50, 8,
ItemList.Circuit_Chip_CrystalSoC.get(1), ItemList.Circuit_Chip_CrystalCPU.get(1)),
ACC("acc", "Advanced Crystal Chip", 100, "", CBLANK, Dyes.dyeLime, 80_000, 3, 9, 55, 12,
ItemList.Circuit_Chip_CrystalSoC2.get(1), ItemList.Circuit_Chip_CrystalSoC.get(1)),
LCC("lcc", "Living Crystal Chip", 75, "", CBLANK, Dyes.dyeWhite, 160_000, 5, 12, 60, 16,
ItemList.Circuit_Parts_Crystal_Chip_Wetware.get(1), ItemList.Circuit_Chip_CrystalSoC2.get(1))

;

String name;
String englishName;
Expand All @@ -85,24 +119,27 @@ public enum MaskList {
float minFocus;
int baselineAmount;

ItemStack tcTargetItem;
ItemStack producedItem;

ItemList[] forbiddenWafers;

MaskList(String name, String englishName, int maxDamage, String spectrum, MaskList precursor, Dyes lensColour,
MaskList(String name, String englishName, int maxUses, String spectrum, MaskList precursor, Dyes lensColour,
long engraverEUt, float minEnergy, float maxEnergy, float minFocus, int baselineAmount, ItemStack producedItem,
ItemList... forbiddenWafers) {
ItemStack tcTargetItem, ItemList... forbiddenWafers) {
this.name = name;
this.englishName = englishName;
this.spectrum = spectrum;
this.maxDamage = maxDamage;
this.maxDamage = maxUses - 1; // 0-durability masks still function, so e.g. maxUses = 100 corresponds to
// durability levels 0-99
this.precursor = precursor;
this.lensColour = lensColour;
this.engraverEUt = engraverEUt;
this.minFocus = minFocus;
this.minEnergy = minEnergy;
this.maxEnergy = maxEnergy;
this.baselineAmount = baselineAmount;
this.tcTargetItem = tcTargetItem;
this.producedItem = producedItem;
this.forbiddenWafers = forbiddenWafers;
}
Expand Down Expand Up @@ -151,6 +188,10 @@ public int getBaselineAmount() {
return this.baselineAmount;
}

public ItemStack getTCTargetItem() {
return this.tcTargetItem;
}

public ItemStack getProducedItem() {
return this.producedItem;
}
Expand Down
1 change: 0 additions & 1 deletion src/main/java/gtnhlanth/common/register/LanthItemList.java
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,6 @@ public final class LanthItemList {

public static final Block COOLANT_DELIVERY_CASING = new BlockCasing("coolant_delivery");

// public static final Block ANTENNA_CASING_T1 = new Casing("antenna_t1");
public static final Block ANTENNA_CASING_T1 = new BlockAntennaCasing(1);
public static final Block ANTENNA_CASING_T2 = new BlockAntennaCasing(2);

Expand Down
14 changes: 11 additions & 3 deletions src/main/java/gtnhlanth/common/register/WerkstoffMaterialPool.java
Original file line number Diff line number Diff line change
Expand Up @@ -1945,7 +1945,7 @@ public class WerkstoffMaterialPool implements Runnable {
new short[] { 0, 0, 0 },
"Reactive-Ion Etching Mixture",
subscriptNumbers("CHF3/O2"),
new Werkstoff.Stats().setCentrifuge(true),
new Werkstoff.Stats(),
Werkstoff.Types.MIXTURE,
new Werkstoff.GenerationFeatures().disable()
.addCells(),
Expand Down Expand Up @@ -2015,14 +2015,22 @@ public class WerkstoffMaterialPool implements Runnable {
offsetID3b + 10,
TextureSet.SET_FLUID);

public static final Werkstoff HotSuperCoolant = new Werkstoff(
new short[] { 155, 17, 30 },
"Hot Super Coolant",
new Werkstoff.Stats(),
Werkstoff.Types.MIXTURE,
new Werkstoff.GenerationFeatures().disable()
.addCells(),
offsetID3b + 11,
TextureSet.SET_FLUID);

public static void runInit() {
addSubTags();
}

private static void addSubTags() {

// WerkstoffMaterialPool.PTMEGElastomer.add(SubTag.BOUNCY, SubTag.STRETCHY);

}

@Override
Expand Down
Loading