Skip to content

Commit

Permalink
recipes
Browse files Browse the repository at this point in the history
  • Loading branch information
HbmMods committed May 29, 2024
1 parent 19c9de4 commit 02b56d2
Show file tree
Hide file tree
Showing 10 changed files with 62 additions and 9 deletions.
12 changes: 12 additions & 0 deletions changelog
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
## Changed
* Updated russian localization
* The powder combination recipe for steel powder now yields steel scraps instead, meaning that it has to be smelted either via crucible or arc furnace
* In addition, there is now an alternate recipe combining four times the material, yielding larger steel scraps, allowing for higher throughput
* The recipes for magnetized tungsten and technetium steel also now output scraps, although they lack the quadruple yield recipes
* Red copper got its powder mixing recipe back, also yielding scraps instead of powder
* The new autogen wire items now use texture overrides, restoring the original textures
* Arc furnaces now start burning on the inside as the electrodes are inserted, making the process look a lot more violent
* Arc furnaces in liquid mode will now immediately start draining their contents as soon as the lid starts lifting, instead of waiting until the lid is fully lifted
Expand All @@ -10,6 +13,15 @@
* The autocrafter now uses vacuum tubes instead of microchips
* Buoyant items (fish spawned by fishing dynamite) now sink in flowing water (i.e. in a tank of non-source blocks)
* Retextured all explosive sticks
* Added an extra digit to the CCGT's power gauge, allowing it to have even higher outputs
* Doubled the reformate gas consumption rate
* Asbestos and flint are now arc smeltable, having the same silicon yields as fiberglass
* The quartz glass recipe has been moved to the arc furnace
* Borax can now also be smelted in the arc furnace, yielding the same 33% boron that the ore acidizer does
* Silicon boules can now be mixed with liquid oxygen in an acidizer to make nether quartz
* Silicon shards from bedrock ore processing now yield 3 silicon nuggets instead of nether quartz
* The soldering station should now have a working recipe config instead of just generating an empty template file
* Removed the old stinger rocket recipe

## Fixed
* Removed sand to silicon AE2 compat recipe which caused sand to be shreddable into the new silicon wafers, skipping the arc furnace entirely
Expand Down
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
mod_version=1.0.27
# Empty build number makes a release type
mod_build_number=4977
mod_build_number=4980

credits=HbMinecraft,\
\ rodolphito (explosion algorithms),\
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/com/hbm/crafting/MineralRecipes.java
Original file line number Diff line number Diff line change
Expand Up @@ -457,7 +457,7 @@ public static void register() {
add9To1(DictFrame.fromOne(ModItems.ore_byproduct, EnumByproduct.B_IRON), new ItemStack(ModItems.powder_iron));
add9To1(DictFrame.fromOne(ModItems.ore_byproduct, EnumByproduct.B_COPPER), new ItemStack(ModItems.powder_copper));
add9To1(DictFrame.fromOne(ModItems.ore_byproduct, EnumByproduct.B_LITHIUM), new ItemStack(ModItems.powder_lithium));
add9To1(DictFrame.fromOne(ModItems.ore_byproduct, EnumByproduct.B_SILICON), new ItemStack(ModItems.powder_quartz));
add9To1(DictFrame.fromOne(ModItems.ore_byproduct, EnumByproduct.B_SILICON), new ItemStack(ModItems.nugget_silicon, 3));
add9To1(DictFrame.fromOne(ModItems.ore_byproduct, EnumByproduct.B_LEAD), new ItemStack(ModItems.powder_lead));
add9To1(DictFrame.fromOne(ModItems.ore_byproduct, EnumByproduct.B_TITANIUM), new ItemStack(ModItems.powder_titanium));
add9To1(DictFrame.fromOne(ModItems.ore_byproduct, EnumByproduct.B_ALUMINIUM), new ItemStack(ModItems.powder_aluminium));
Expand Down
6 changes: 3 additions & 3 deletions src/main/java/com/hbm/crafting/PowderRecipes.java
Original file line number Diff line number Diff line change
Expand Up @@ -57,9 +57,9 @@ public static void register() {
CraftingManager.addShapelessAuto(new ItemStack(ModItems.powder_desh_ready, 1), new Object[] { ModItems.powder_desh_mix, ModItems.ingot_mercury, ModItems.ingot_mercury, COAL.dust() });

//Metal powders
CraftingManager.addShapelessAuto(new ItemStack(ModItems.powder_magnetized_tungsten, 1), new Object[] { W.dust(), SA326.nugget() });
CraftingManager.addShapelessAuto(new ItemStack(ModItems.powder_tcalloy, 1), new Object[] { STEEL.dust(), TC99.nugget() });

CraftingManager.addShapelessAuto(ItemScraps.create(new MaterialStack(Mats.MAT_MINGRADE, MaterialShapes.INGOT.q(2))), new Object[] { CU.dust(), REDSTONE.dust() });
CraftingManager.addShapelessAuto(ItemScraps.create(new MaterialStack(Mats.MAT_MAGTUNG, MaterialShapes.INGOT.q(1))), new Object[] { W.dust(), SA326.nugget() });
CraftingManager.addShapelessAuto(ItemScraps.create(new MaterialStack(Mats.MAT_TCALLOY, MaterialShapes.INGOT.q(1))), new Object[] { STEEL.dust(), TC99.nugget() });
CraftingManager.addShapelessAuto(ItemScraps.create(new MaterialStack(Mats.MAT_STEEL, MaterialShapes.INGOT.q(1))), new Object[] { IRON.dust(), COAL.dust() });
CraftingManager.addShapelessAuto(ItemScraps.create(new MaterialStack(Mats.MAT_STEEL, MaterialShapes.INGOT.q(4))), new Object[] { IRON.dust(), IRON.dust(), IRON.dust(), IRON.dust(), COAL.dust(), COAL.dust(), COAL.dust(), COAL.dust() });

Expand Down
1 change: 0 additions & 1 deletion src/main/java/com/hbm/crafting/SmeltingRecipes.java
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,6 @@ public static void AddSmeltingRec()
GameRegistry.addSmelting(new ItemStack(ModBlocks.gravel_diamond), new ItemStack(Items.diamond), 3.0F);
GameRegistry.addSmelting(new ItemStack(ModBlocks.sand_uranium), new ItemStack(ModBlocks.glass_uranium), 0.25F);
GameRegistry.addSmelting(new ItemStack(ModBlocks.sand_polonium), new ItemStack(ModBlocks.glass_polonium), 0.75F);
GameRegistry.addSmelting(new ItemStack(ModBlocks.sand_quartz), new ItemStack(ModBlocks.glass_quartz), 0.75F);
GameRegistry.addSmelting(new ItemStack(ModBlocks.waste_trinitite), new ItemStack(ModBlocks.glass_trinitite), 0.25F);
GameRegistry.addSmelting(new ItemStack(ModBlocks.waste_trinitite_red), new ItemStack(ModBlocks.glass_trinitite), 0.25F);
GameRegistry.addSmelting(new ItemStack(ModBlocks.sand_boron), new ItemStack(ModBlocks.glass_boron), 0.25F);
Expand Down
1 change: 0 additions & 1 deletion src/main/java/com/hbm/crafting/WeaponRecipes.java
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,6 @@ public static void register() {
CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_hk69, 1), new Object[] { "SSI", " MB", 'S', STEEL.shell(), 'I', IRON.ingot(), 'M', ModItems.mechanism_launcher_1, 'B', STEEL.bolt() });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_congolake, 1), new Object[] { "HHR", "WLW", 'H', AL.shell(), 'R', ModItems.mechanism_rifle_1, 'W', KEY_LOG, 'L', ModItems.mechanism_launcher_1 });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_stinger, 1), new Object[] { "SSW", "CMW", 'S', STEEL.plate(), 'W', TI.plate(), 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.ADVANCED), 'M', ModItems.mechanism_launcher_2 });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_stinger_rocket, 4), new Object[] { "SS ", "STI", " IR", 'S', STEEL.plate(), 'T', Item.getItemFromBlock(Blocks.tnt), 'I', AL.plate(), 'R', REDSTONE.dust() });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_revolver, 1), new Object[] { "SSM", " RW", 'S', STEEL.plate(), 'W', KEY_PLANKS, 'R', AL.wireFine(), 'M', ModItems.mechanism_revolver_1 });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_revolver_saturnite, 1), new Object[] { "SSM", " RW", 'S', BIGMT.plate(), 'W', KEY_PLANKS, 'R', W.wireFine(), 'M', ModItems.mechanism_revolver_2 });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_revolver_gold, 1), new Object[] { "SSM", " RW", 'S', GOLD.plate(), 'W', W.ingot(), 'R', GOLD.wireFine(), 'M', ModItems.mechanism_revolver_1 });
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.stream.JsonWriter;
import com.hbm.blocks.ModBlocks;
import com.hbm.inventory.OreDictManager;
import com.hbm.inventory.RecipesCommon.AStack;
import com.hbm.inventory.RecipesCommon.ComparableStack;
Expand All @@ -25,6 +26,7 @@
import com.hbm.items.ModItems;
import com.hbm.items.machine.ItemScraps;

import net.minecraft.init.Items;
import net.minecraft.item.ItemStack;
import net.minecraft.item.crafting.FurnaceRecipes;
import net.minecraftforge.oredict.OreDictionary;
Expand All @@ -37,11 +39,17 @@ public class ArcFurnaceRecipes extends SerializableRecipe {
public void registerDefaults() {

recipes.put(new OreDictStack(KEY_SAND), new ArcFurnaceRecipe().solid(new ItemStack(ModItems.nugget_silicon)) .fluid(new MaterialStack(Mats.MAT_SILICON, MaterialShapes.NUGGET.q(1))));
recipes.put(new ComparableStack(Items.flint), new ArcFurnaceRecipe().solid(new ItemStack(ModItems.nugget_silicon, 4)) .fluid(new MaterialStack(Mats.MAT_SILICON, MaterialShapes.INGOT.q(1, 2))));
recipes.put(new OreDictStack(QUARTZ.gem()), new ArcFurnaceRecipe().solid(new ItemStack(ModItems.nugget_silicon, 3)) .fluid(new MaterialStack(Mats.MAT_SILICON, MaterialShapes.NUGGET.q(3))));
recipes.put(new OreDictStack(QUARTZ.dust()), new ArcFurnaceRecipe().solid(new ItemStack(ModItems.nugget_silicon, 3)) .fluid(new MaterialStack(Mats.MAT_SILICON, MaterialShapes.NUGGET.q(3))));
recipes.put(new OreDictStack(QUARTZ.block()), new ArcFurnaceRecipe().solid(new ItemStack(ModItems.nugget_silicon, 12)) .fluid(new MaterialStack(Mats.MAT_SILICON, MaterialShapes.NUGGET.q(12))));
recipes.put(new OreDictStack(FIBER.ingot()), new ArcFurnaceRecipe().solid(new ItemStack(ModItems.nugget_silicon, 4)) .fluid(new MaterialStack(Mats.MAT_SILICON, MaterialShapes.INGOT.q(1, 2))));
recipes.put(new OreDictStack(FIBER.block()), new ArcFurnaceRecipe().solid(new ItemStack(ModItems.nugget_silicon, 40)) .fluid(new MaterialStack(Mats.MAT_SILICON, MaterialShapes.INGOT.q(9, 2))));
recipes.put(new OreDictStack(ASBESTOS.ingot()), new ArcFurnaceRecipe().solid(new ItemStack(ModItems.nugget_silicon, 4)) .fluid(new MaterialStack(Mats.MAT_SILICON, MaterialShapes.INGOT.q(1, 2))));
recipes.put(new OreDictStack(ASBESTOS.block()), new ArcFurnaceRecipe().solid(new ItemStack(ModItems.nugget_silicon, 40)) .fluid(new MaterialStack(Mats.MAT_SILICON, MaterialShapes.INGOT.q(9, 2))));

recipes.put(new ComparableStack(ModBlocks.sand_quartz), new ArcFurnaceRecipe().solid(new ItemStack(ModBlocks.glass_quartz)));
recipes.put(new OreDictStack(BORAX.dust()), new ArcFurnaceRecipe().solid(new ItemStack(ModItems.powder_boron_tiny, 3)).fluid(new MaterialStack(Mats.MAT_BORON, MaterialShapes.NUGGET.q(3))));

// Autogen for simple single type items
for(NTMMaterial material : Mats.orderedList) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -82,8 +82,9 @@ public void registerDefaults() {
registerRecipe(new ComparableStack(ModBlocks.ore_tikite), new CrystallizerRecipe(ModItems.crystal_trixite, baseTime), sulfur);
registerRecipe(new ComparableStack(ModBlocks.gravel_diamond), new CrystallizerRecipe(ModItems.crystal_diamond, baseTime));
registerRecipe(SRN.ingot(), new CrystallizerRecipe(ModItems.crystal_schraranium, baseTime));

registerRecipe("sand", new CrystallizerRecipe(ModItems.ingot_fiberglass, utilityTime));
registerRecipe(SI.ingot(), new CrystallizerRecipe(new ItemStack(Items.quartz, 2), utilityTime), new FluidStack(Fluids.OXYGEN, 250));
registerRecipe(REDSTONE.block(), new CrystallizerRecipe(ModItems.ingot_mercury, baseTime));
registerRecipe(CINNABAR.crystal(), new CrystallizerRecipe(new ItemStack(ModItems.ingot_mercury, 3), baseTime));
registerRecipe(BORAX.dust(), new CrystallizerRecipe(new ItemStack(ModItems.powder_boron_tiny, 3), baseTime), sulfur);
Expand Down
34 changes: 34 additions & 0 deletions src/main/java/com/hbm/inventory/recipes/SolderingRecipes.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,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.inventory.FluidStack;
import com.hbm.inventory.RecipesCommon.AStack;
Expand Down Expand Up @@ -201,12 +202,45 @@ public void deleteRecipes() {

@Override
public void readRecipe(JsonElement recipe) {
JsonObject obj = (JsonObject) recipe;

AStack[] toppings = this.readAStackArray(obj.get("toppings").getAsJsonArray());
AStack[] pcb = this.readAStackArray(obj.get("pcb").getAsJsonArray());
AStack[] solder = this.readAStackArray(obj.get("solder").getAsJsonArray());
FluidStack fluid = obj.has("fluid") ? this.readFluidStack(obj.get("fluid").getAsJsonArray()) : null;
ItemStack output = this.readItemStack(obj.get("output").getAsJsonArray());
int duration = obj.get("duration").getAsInt();
long consumption = obj.get("consumption").getAsLong();

recipes.add(new SolderingRecipe(output, duration, consumption, fluid, toppings, pcb, solder));
}

@Override
public void writeRecipe(Object obj, JsonWriter writer) throws IOException {
SolderingRecipe recipe = (SolderingRecipe) obj;

writer.name("toppings").beginArray();
for(AStack aStack : recipe.toppings) this.writeAStack(aStack, writer);
writer.endArray();

writer.name("pcb").beginArray();
for(AStack aStack : recipe.pcb) this.writeAStack(aStack, writer);
writer.endArray();

writer.name("solder").beginArray();
for(AStack aStack : recipe.solder) this.writeAStack(aStack, writer);
writer.endArray();

if(recipe.fluid != null) {
writer.name("fluid");
this.writeFluidStack(recipe.fluid, writer);
}

writer.name("output");
this.writeItemStack(recipe.output, writer);

writer.name("duration").value(recipe.duration);
writer.name("consumption").value(recipe.consumption);
}

public static HashSet<AStack> toppings = new HashSet();
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/com/hbm/lib/RefStrings.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
public class RefStrings {
public static final String MODID = "hbm";
public static final String NAME = "Hbm's Nuclear Tech Mod";
public static final String VERSION = "1.0.27 BETA (4977)";
public static final String VERSION = "1.0.27 BETA (4980)";
//HBM's Beta Naming Convention:
//V T (X)
//V -> next release version
Expand Down

0 comments on commit 02b56d2

Please sign in to comment.