the soldering

This commit is contained in:
Boblet 2024-06-06 15:42:51 +02:00
parent bc1a6e17d3
commit ad45288d5f
7 changed files with 36 additions and 15 deletions

View File

@ -21,7 +21,7 @@
* Microwaves are no longer electric furnace copies, instead their recipes are restricted to things considered food
* Electric furnaces now cause minor pollution (does not connect to smoke stacks!)
* Increased the arc furnace's liquid buffer to 128 blocks (from 24)
* The arc furnace can now accepts more items depending on the speed upgrade, extending all the way to 16 with speed 3 (effective cap might be lower to prevent outputs from exceeding 64 items)
* The arc furnace can now accept more items depending on the speed upgrade, extending all the way to 16 with speed 3 (effective cap might be lower to prevent outputs from exceeding 64 items)
* Due to technical limitations, clicking into a slot once will only place a single item, however after the item is present, the slot's capacity extends to the upgraded size
* This is especially apparent when clicking items into slots by hand, and still noticeable when shift clicking by how the items spread out
* This does not affect automation at all, items will stack up nicely without spreading out unnecessarily
@ -29,6 +29,13 @@
* The way soot spreads has been changed
* The spreading threshold has been decreased from 15 to 10
* Every update, soot will decrease by regardless of whether it can spread or not (instead of only if it cannot spread)
* Batteries no longer transmit in all directions, instead they transmit to their own power node (since they are also considered cables), eliminating any direction-based bias when transmitting
* The base fuel consumption for the soyuz in cargo mode is now only 5,000mB
* The soyuz' fuel consumption in cargo mode is now limited to its max capacity, meaning it can now fly infinitely far
* Less bullshit mode's simple crafting now extends to the soldering station, all circuits, upgrades and control units are substantially cheaper
* There is now an alternate recipe for standard capacitors, using one aluminium dust for two capacitors (i.e. 4.5 aluminium nuggets, vs the standard 1 niobium nugget)
* Shift-clicking steel grates onto the top/bottom of a block now shifts the grate into that block (if there is space, for example for cables or ducts). The effect is only visual, and the block still occupies the position above the block that the grate has been placed at
* This allows for making pipes with grates over them which are flush with the floor
## Fixed
* Fixed dupe regarding conveyor grabbers

View File

@ -176,6 +176,9 @@ public class Fluids {
public static FluidType FULLERENE;
public static FluidType STELLAR_FLUX;
/* Lagacy names for compatibility purposes */
@Deprecated public static FluidType ACID; //JAOPCA uses this, apparently
public static final HashBiMap<String, FluidType> renameMapping = HashBiMap.create();
public static List<FluidType> customFluids = new ArrayList();
@ -547,6 +550,9 @@ public class Fluids {
renameMapping.put("ACID", PEROXIDE);
// LEGACY
ACID = PEROXIDE;
for(FluidType custom : customFluids) metaOrder.add(custom);
CHLORINE.addTraits(new FT_Toxin().addEntry(new ToxinDirectDamage(ModDamageSource.cloud, 2F, 20, HazardClass.GAS_LUNG, false)));

View File

@ -10,6 +10,7 @@ import static com.hbm.inventory.OreDictManager.*;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.stream.JsonWriter;
import com.hbm.config.GeneralConfig;
import com.hbm.inventory.FluidStack;
import com.hbm.inventory.RecipesCommon.AStack;
import com.hbm.inventory.RecipesCommon.ComparableStack;
@ -30,6 +31,8 @@ public class SolderingRecipes extends SerializableRecipe {
@Override
public void registerDefaults() {
boolean lbsm = GeneralConfig.enableLBSM && GeneralConfig.enableLBSMSimpleCrafting;
/*
* CIRCUITS
*/
@ -56,7 +59,7 @@ public class SolderingRecipes extends SerializableRecipe {
recipes.add(new SolderingRecipe(new ItemStack(ModItems.circuit, 1, EnumCircuitType.ADVANCED.ordinal()), 300, 1_000,
new FluidStack(Fluids.SULFURIC_ACID, 1_000),
new AStack[] {
new ComparableStack(ModItems.circuit, 16, EnumCircuitType.CHIP),
new ComparableStack(ModItems.circuit, lbsm ? 4 : 16, EnumCircuitType.CHIP),
new ComparableStack(ModItems.circuit, 4, EnumCircuitType.CAPACITOR)},
new AStack[] {
new ComparableStack(ModItems.circuit, 8, EnumCircuitType.PCB),
@ -79,8 +82,8 @@ public class SolderingRecipes extends SerializableRecipe {
new FluidStack(Fluids.SOLVENT, 1_000),
new AStack[] {
new ComparableStack(ModItems.circuit, 4, EnumCircuitType.CHIP_BISMOID),
new ComparableStack(ModItems.circuit, 16, EnumCircuitType.CHIP),
new ComparableStack(ModItems.circuit, 24, EnumCircuitType.CAPACITOR)},
new ComparableStack(ModItems.circuit, lbsm ? 4 : 16, EnumCircuitType.CHIP),
new ComparableStack(ModItems.circuit, lbsm ? 8 : 24, EnumCircuitType.CAPACITOR)},
new AStack[] {
new ComparableStack(ModItems.circuit, 12, EnumCircuitType.PCB),
new OreDictStack(ANY_HARDPLASTIC.ingot(), 2)},
@ -95,9 +98,9 @@ public class SolderingRecipes extends SerializableRecipe {
// a very, very vague guess on what the recipes should be. testing still needed, upgrade requirements are likely to change. maybe inclusion of caesium?
recipes.add(new SolderingRecipe(new ItemStack(ModItems.circuit, 1, EnumCircuitType.CONTROLLER.ordinal()), 400, 15_000,
new AStack[] {
new ComparableStack(ModItems.circuit, 32, EnumCircuitType.CHIP),
new ComparableStack(ModItems.circuit, 32, EnumCircuitType.CAPACITOR),
new ComparableStack(ModItems.circuit, 16, EnumCircuitType.CAPACITOR_TANTALIUM)},
new ComparableStack(ModItems.circuit, lbsm ? 8 : 32, EnumCircuitType.CHIP),
new ComparableStack(ModItems.circuit, lbsm ? 8 : 32, EnumCircuitType.CAPACITOR),
new ComparableStack(ModItems.circuit, lbsm ? 8 : 16, EnumCircuitType.CAPACITOR_TANTALIUM)},
new AStack[] {
new ComparableStack(ModItems.circuit, 1, EnumCircuitType.CONTROLLER_CHASSIS),
new ComparableStack(ModItems.upgrade_speed_1)},
@ -106,9 +109,9 @@ public class SolderingRecipes extends SerializableRecipe {
));
recipes.add(new SolderingRecipe(new ItemStack(ModItems.circuit, 1, EnumCircuitType.CONTROLLER_ADVANCED.ordinal()), 600, 25_000,
new AStack[] {
new ComparableStack(ModItems.circuit, 16, EnumCircuitType.CHIP_BISMOID),
new ComparableStack(ModItems.circuit, 48, EnumCircuitType.CAPACITOR),
new ComparableStack(ModItems.circuit, 32, EnumCircuitType.CAPACITOR_TANTALIUM)},
new ComparableStack(ModItems.circuit, lbsm ? 8 : 16, EnumCircuitType.CHIP_BISMOID),
new ComparableStack(ModItems.circuit, lbsm ? 16 : 48, EnumCircuitType.CAPACITOR),
new ComparableStack(ModItems.circuit, lbsm ? 8 : 32, EnumCircuitType.CAPACITOR_TANTALIUM)},
new AStack[] {
new ComparableStack(ModItems.circuit, 1, EnumCircuitType.CONTROLLER_CHASSIS),
new ComparableStack(ModItems.upgrade_speed_3)},
@ -169,17 +172,19 @@ public class SolderingRecipes extends SerializableRecipe {
}
public static void addFirstUpgrade(Item lower, Item higher) {
boolean lbsm = GeneralConfig.enableLBSM && GeneralConfig.enableLBSMSimpleCrafting;
recipes.add(new SolderingRecipe(new ItemStack(higher), 300, 10_000,
new AStack[] {new ComparableStack(ModItems.circuit, 8, EnumCircuitType.CHIP), new ComparableStack(ModItems.circuit, 4, EnumCircuitType.CAPACITOR)},
new AStack[] {new ComparableStack(ModItems.circuit, lbsm ? 4 : 8, EnumCircuitType.CHIP), new ComparableStack(ModItems.circuit, lbsm ? 2 : 4, EnumCircuitType.CAPACITOR)},
new AStack[] {new ComparableStack(lower), new OreDictStack(ANY_PLASTIC.ingot(), 4)},
new AStack[] {}
));
}
public static void addSecondUpgrade(Item lower, Item higher) {
boolean lbsm = GeneralConfig.enableLBSM && GeneralConfig.enableLBSMSimpleCrafting;
recipes.add(new SolderingRecipe(new ItemStack(higher), 400, 25_000,
new FluidStack(Fluids.SOLVENT, 500),
new AStack[] {new ComparableStack(ModItems.circuit, 16, EnumCircuitType.CHIP), new ComparableStack(ModItems.circuit, 16, EnumCircuitType.CAPACITOR)},
new AStack[] {new ComparableStack(ModItems.circuit, lbsm ? 6 : 16, EnumCircuitType.CHIP), new ComparableStack(ModItems.circuit, lbsm ? 4 : 16, EnumCircuitType.CAPACITOR)},
new AStack[] {new ComparableStack(lower), new OreDictStack(RUBBER.ingot(), 4)},
new AStack[] {}
));

View File

@ -148,6 +148,7 @@ public class AnvilRecipes {
constructionRecipes.add(new AnvilConstructionRecipe(new OreDictStack(SA326.ingot()), new AnvilOutput(new ItemStack(ModItems.plate_schrabidium))).setTier(3));
constructionRecipes.add(new AnvilConstructionRecipe(new OreDictStack(CMB.ingot()), new AnvilOutput(new ItemStack(ModItems.plate_combine_steel))).setTier(3));
constructionRecipes.add(new AnvilConstructionRecipe(new OreDictStack(BIGMT.ingot()), new AnvilOutput(new ItemStack(ModItems.plate_saturnite))).setTier(3));
constructionRecipes.add(new AnvilConstructionRecipe(new OreDictStack(DURA.ingot()), new AnvilOutput(new ItemStack(ModItems.plate_dura_steel))).setTier(3));
for(NTMMaterial mat : Mats.orderedList) {
if(mat.shapes.contains(MaterialShapes.WIRE) && mat.shapes.contains(MaterialShapes.INGOT)) {

View File

@ -114,6 +114,8 @@ public class CraftingManager {
addRecipeAuto(DictFrame.fromOne(ModItems.circuit, EnumCircuitType.VACUUM_TUBE), new Object[] { "G", "W", "I", 'G', KEY_ANYPANE, 'W', CARBON.wireFine(), 'I', ModItems.plate_polymer });
addRecipeAuto(DictFrame.fromOne(ModItems.circuit, EnumCircuitType.CAPACITOR), new Object[] { "I", "N", "W", 'I', ModItems.plate_polymer, 'N', NB.nugget(), 'W', AL.wireFine() });
addRecipeAuto(DictFrame.fromOne(ModItems.circuit, EnumCircuitType.CAPACITOR), new Object[] { "I", "N", "W", 'I', ModItems.plate_polymer, 'N', NB.nugget(), 'W', CU.wireFine() });
addRecipeAuto(DictFrame.fromOne(ModItems.circuit, EnumCircuitType.CAPACITOR, 2), new Object[] { "IAI", "W W", 'I', ModItems.plate_polymer, 'A', AL.dust(), 'W', AL.wireFine() });
addRecipeAuto(DictFrame.fromOne(ModItems.circuit, EnumCircuitType.CAPACITOR, 2), new Object[] { "IAI", "W W", 'I', ModItems.plate_polymer, 'A', AL.dust(), 'W', CU.wireFine() });
addRecipeAuto(DictFrame.fromOne(ModItems.circuit, EnumCircuitType.CAPACITOR_TANTALIUM), new Object[] { "I", "N", "W", 'I', ModItems.plate_polymer, 'N', TA.nugget(), 'W', AL.wireFine() });
addRecipeAuto(DictFrame.fromOne(ModItems.circuit, EnumCircuitType.CAPACITOR_TANTALIUM), new Object[] { "I", "N", "W", 'I', ModItems.plate_polymer, 'N', TA.nugget(), 'W', CU.wireFine() });
addRecipeAuto(DictFrame.fromOne(ModItems.circuit, EnumCircuitType.PCB), new Object[] { "I", "P", 'I', ModItems.plate_polymer, 'P', CU.plate() });

View File

@ -269,9 +269,9 @@ public class TileEntitySoyuzLauncher extends TileEntityMachineBase implements IS
public int getFuelRequired() {
if(mode == 1)
return 20000 + getDist();
return Math.min(5000 + getDist(), 128_000);
return 128000;
return 128_000;
}
public int getDist() {

View File

@ -184,7 +184,7 @@ public class TileEntityMachineBattery extends TileEntityMachineBase implements I
power = Library.chargeItemsFromTE(slots, 1, power, getMaxPower());
if(mode == mode_output || mode == mode_buffer) {
for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) this.tryProvide(worldObj, xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ, dir);
this.tryProvide(worldObj, xCoord, yCoord, zCoord, ForgeDirection.UNKNOWN);
} else {
if(node != null && node.hasValidNet()) node.net.removeProvider(this);
}