mirror of
https://github.com/HbmMods/Hbm-s-Nuclear-Tech-GIT.git
synced 2026-01-25 10:32:49 +00:00
525 lines
21 KiB
Java
525 lines
21 KiB
Java
package com.hbm.inventory.recipes;
|
|
|
|
import java.io.IOException;
|
|
import java.util.ArrayList;
|
|
import java.util.HashMap;
|
|
import java.util.List;
|
|
|
|
import static com.hbm.inventory.OreDictManager.*;
|
|
|
|
import com.google.gson.JsonArray;
|
|
import com.google.gson.JsonElement;
|
|
import com.google.gson.JsonObject;
|
|
import com.google.gson.stream.JsonWriter;
|
|
import com.hbm.inventory.OreDictManager.DictFrame;
|
|
import com.hbm.inventory.RecipesCommon.AStack;
|
|
import com.hbm.inventory.RecipesCommon.ComparableStack;
|
|
import com.hbm.inventory.RecipesCommon.OreDictStack;
|
|
import com.hbm.inventory.fluid.Fluids;
|
|
import com.hbm.inventory.recipes.loader.SerializableRecipe;
|
|
import com.hbm.items.ItemEnums.EnumCasingType;
|
|
import com.hbm.items.ModItems;
|
|
import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmo;
|
|
|
|
import net.minecraft.init.Items;
|
|
import net.minecraft.item.ItemStack;
|
|
|
|
public class AmmoPressRecipes extends SerializableRecipe {
|
|
|
|
public static List<AmmoPressRecipe> recipes = new ArrayList();
|
|
|
|
@Override
|
|
public void registerDefaults() {
|
|
|
|
OreDictStack lead = new OreDictStack(PB.ingot());
|
|
OreDictStack nugget = new OreDictStack(PB.nugget());
|
|
OreDictStack flechette = new OreDictStack(PB.bolt());
|
|
OreDictStack steel = new OreDictStack(STEEL.ingot());
|
|
OreDictStack wSteel = new OreDictStack(WEAPONSTEEL.ingot());
|
|
OreDictStack copper = new OreDictStack(CU.ingot());
|
|
OreDictStack plastic = new OreDictStack(ANY_PLASTIC.ingot());
|
|
OreDictStack uranium = new OreDictStack(U238.ingot());
|
|
OreDictStack ferro = new OreDictStack(FERRO.ingot());
|
|
OreDictStack nb = new OreDictStack(NB.ingot());
|
|
OreDictStack smokeless = new OreDictStack(ANY_SMOKELESS.dust());
|
|
OreDictStack he = new OreDictStack(ANY_HIGHEXPLOSIVE.ingot());
|
|
OreDictStack wp = new OreDictStack(P_WHITE.ingot());
|
|
OreDictStack rp = new OreDictStack(P_RED.dust());
|
|
OreDictStack pipe = new OreDictStack(STEEL.pipe());
|
|
ComparableStack smokeful = new ComparableStack(Items.gunpowder);
|
|
ComparableStack rocket = new ComparableStack(ModItems.rocket_fuel);
|
|
ComparableStack cSmall = new ComparableStack(ModItems.casing, 1, EnumCasingType.SMALL);
|
|
ComparableStack cBig = new ComparableStack(ModItems.casing, 1, EnumCasingType.LARGE);
|
|
ComparableStack sSmall = new ComparableStack(ModItems.casing, 1, EnumCasingType.SMALL_STEEL);
|
|
ComparableStack sBig = new ComparableStack(ModItems.casing, 1, EnumCasingType.LARGE_STEEL);
|
|
ComparableStack bpShell = new ComparableStack(ModItems.casing, 1, EnumCasingType.SHOTSHELL);
|
|
ComparableStack pShell = new ComparableStack(ModItems.casing, 1, EnumCasingType.BUCKSHOT);
|
|
ComparableStack sShell = new ComparableStack(ModItems.casing, 1, EnumCasingType.BUCKSHOT_ADVANCED);
|
|
|
|
recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.M357_BP, 16),
|
|
null, lead.copy(2), null,
|
|
null, smokeful, null,
|
|
null, cSmall, null));
|
|
recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.M357_SP, 8),
|
|
null, lead, null,
|
|
null, smokeless, null,
|
|
null, cSmall, null));
|
|
recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.M357_FMJ, 8),
|
|
null, steel, null,
|
|
null, smokeless, null,
|
|
null, cSmall, null));
|
|
recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.M357_JHP, 8),
|
|
plastic, copper, null,
|
|
null, smokeless, null,
|
|
null, cSmall, null));
|
|
recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.M357_AP, 8),
|
|
null, wSteel, null,
|
|
null, smokeless.copy(2), null,
|
|
null, sSmall, null));
|
|
recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.M357_EXPRESS, 8),
|
|
null, steel, null,
|
|
null, smokeless.copy(3), null,
|
|
null, cSmall, null));
|
|
|
|
recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.M44_BP, 12),
|
|
null, lead.copy(2), null,
|
|
null, smokeful, null,
|
|
null, cSmall, null));
|
|
recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.M44_SP, 6),
|
|
null, lead, null,
|
|
null, smokeless, null,
|
|
null, cSmall, null));
|
|
recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.M44_FMJ, 6),
|
|
null, steel, null,
|
|
null, smokeless, null,
|
|
null, cSmall, null));
|
|
recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.M44_JHP, 6),
|
|
plastic, copper, null,
|
|
null, smokeless, null,
|
|
null, cSmall, null));
|
|
recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.M44_AP, 6),
|
|
null, wSteel, null,
|
|
null, smokeless.copy(2), null,
|
|
null, sSmall, null));
|
|
recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.M44_EXPRESS, 6),
|
|
null, steel, null,
|
|
null, smokeless.copy(3), null,
|
|
null, cSmall, null));
|
|
|
|
recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.P22_SP, 24),
|
|
null, lead, null,
|
|
null, smokeless, null,
|
|
null, cSmall, null));
|
|
recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.P22_FMJ, 24),
|
|
null, steel, null,
|
|
null, smokeless, null,
|
|
null, cSmall, null));
|
|
recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.P22_JHP, 24),
|
|
plastic, copper, null,
|
|
null, smokeless, null,
|
|
null, cSmall, null));
|
|
recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.P22_AP, 24),
|
|
null, wSteel, null,
|
|
null, smokeless.copy(2), null,
|
|
null, sSmall, null));
|
|
|
|
recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.P9_SP, 12),
|
|
null, lead, null,
|
|
null, smokeless, null,
|
|
null, cSmall, null));
|
|
recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.P9_FMJ, 12),
|
|
null, steel, null,
|
|
null, smokeless, null,
|
|
null, cSmall, null));
|
|
recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.P9_JHP, 12),
|
|
plastic, copper, null,
|
|
null, smokeless, null,
|
|
null, cSmall, null));
|
|
recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.P9_AP, 12),
|
|
null, wSteel, null,
|
|
null, smokeless.copy(2), null,
|
|
null, sSmall, null));
|
|
|
|
recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.P45_SP, 8),
|
|
null, lead, null,
|
|
null, smokeless, null,
|
|
null, cSmall, null));
|
|
recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.P45_FMJ, 8),
|
|
null, steel, null,
|
|
null, smokeless, null,
|
|
null, cSmall, null));
|
|
recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.P45_JHP, 8),
|
|
plastic, copper, null,
|
|
null, smokeless, null,
|
|
null, cSmall, null));
|
|
recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.P45_AP, 8),
|
|
null, wSteel, null,
|
|
null, smokeless.copy(2), null,
|
|
null, sSmall, null));
|
|
recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.P45_DU, 8),
|
|
null, uranium, null,
|
|
null, smokeless.copy(2), null,
|
|
null, sSmall, null));
|
|
|
|
recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.R556_SP, 16),
|
|
null, lead.copy(2), null,
|
|
null, smokeless.copy(2), null,
|
|
null, cSmall.copy(2), null));
|
|
recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.R556_FMJ, 16),
|
|
null, steel.copy(2), null,
|
|
null, smokeless.copy(2), null,
|
|
null, cSmall.copy(2), null));
|
|
recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.R556_JHP, 16),
|
|
plastic, copper.copy(2), null,
|
|
null, smokeless.copy(2), null,
|
|
null, cSmall.copy(2), null));
|
|
recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.R556_AP, 16),
|
|
null, wSteel.copy(2), null,
|
|
null, smokeless.copy(4), null,
|
|
null, sSmall.copy(2), null));
|
|
|
|
recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.R762_SP, 12),
|
|
null, lead.copy(2), null,
|
|
null, smokeless.copy(2), null,
|
|
null, cSmall.copy(2), null));
|
|
recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.R762_FMJ, 12),
|
|
null, steel.copy(2), null,
|
|
null, smokeless.copy(2), null,
|
|
null, cSmall.copy(2), null));
|
|
recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.R762_JHP, 12),
|
|
plastic, copper.copy(2), null,
|
|
null, smokeless.copy(2), null,
|
|
null, cSmall.copy(2), null));
|
|
recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.R762_AP, 12),
|
|
null, wSteel.copy(2), null,
|
|
null, smokeless.copy(4), null,
|
|
null, sSmall.copy(2), null));
|
|
recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.R762_DU, 12),
|
|
null, uranium.copy(2), null,
|
|
null, smokeless.copy(4), null,
|
|
null, sSmall.copy(2), null));
|
|
recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.R762_HE, 12),
|
|
he, ferro, null,
|
|
null, smokeless.copy(4), null,
|
|
null, sSmall.copy(2), null));
|
|
|
|
recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.BMG50_SP, 12),
|
|
null, lead.copy(2), null,
|
|
null, smokeless.copy(3), null,
|
|
null, cBig, null));
|
|
recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.BMG50_FMJ, 12),
|
|
null, steel.copy(2), null,
|
|
null, smokeless.copy(3), null,
|
|
null, cBig, null));
|
|
recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.BMG50_JHP, 12),
|
|
plastic, copper.copy(2), null,
|
|
null, smokeless.copy(3), null,
|
|
null, cBig, null));
|
|
recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.BMG50_AP, 12),
|
|
null, wSteel.copy(2), null,
|
|
null, smokeless.copy(6), null,
|
|
null, sBig, null));
|
|
recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.BMG50_DU, 12),
|
|
null, uranium.copy(2), null,
|
|
null, smokeless.copy(6), null,
|
|
null, sBig, null));
|
|
recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.BMG50_HE, 12),
|
|
he, ferro, null,
|
|
null, smokeless.copy(6), null,
|
|
null, sBig, null));
|
|
|
|
recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.G12_BP, 6),
|
|
null, nugget.copy(6), null,
|
|
null, smokeful, null,
|
|
null, bpShell, null));
|
|
recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.G12_BP_MAGNUM, 6),
|
|
null, nugget.copy(8), null,
|
|
null, smokeful, null,
|
|
null, bpShell, null));
|
|
recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.G12_BP_SLUG, 6),
|
|
null, lead, null,
|
|
null, smokeful, null,
|
|
null, bpShell, null));
|
|
|
|
recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.G12, 6),
|
|
null, nugget.copy(6), null,
|
|
null, smokeless, null,
|
|
null, pShell, null));
|
|
recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.G12_SLUG, 6),
|
|
null, lead, null,
|
|
null, smokeless, null,
|
|
null, pShell, null));
|
|
recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.G12_FLECHETTE, 6),
|
|
null, flechette.copy(12), null,
|
|
null, smokeless, null,
|
|
null, pShell, null));
|
|
recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.G12_MAGNUM, 6),
|
|
null, nugget.copy(8), null,
|
|
null, smokeless, null,
|
|
null, sShell, null));
|
|
recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.G12_EXPLOSIVE, 6),
|
|
null, he, null,
|
|
null, smokeless, null,
|
|
null, sShell, null));
|
|
recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.G12_PHOSPHORUS, 6),
|
|
null, wp, null,
|
|
null, smokeless, null,
|
|
null, sShell, null));
|
|
|
|
recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.G10, 4),
|
|
null, nugget.copy(8), null,
|
|
null, smokeless.copy(2), null,
|
|
null, sShell, null));
|
|
recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.G10_SHRAPNEL, 4),
|
|
plastic, nugget.copy(8), null,
|
|
null, smokeless.copy(2), null,
|
|
null, sShell, null));
|
|
recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.G10_DU, 4),
|
|
null, uranium, null,
|
|
null, smokeless.copy(2), null,
|
|
null, sShell, null));
|
|
recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.G10_SLUG, 4),
|
|
null, lead, null,
|
|
null, smokeless.copy(2), null,
|
|
null, sShell, null));
|
|
recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.G10_EXPLOSIVE, 4),
|
|
he, ferro, null,
|
|
null, smokeless.copy(2), null,
|
|
null, sShell, null));
|
|
|
|
recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.G26_FLARE, 4),
|
|
null, rp, null,
|
|
null, smokeless, null,
|
|
null, cBig, null));
|
|
|
|
ComparableStack dyn = new ComparableStack(ModItems.ball_dynamite);
|
|
OreDictStack coplate = new OreDictStack(CU.plate());
|
|
OreDictStack diesel = new OreDictStack(Fluids.DIESEL.getDict(1_000));
|
|
recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.G40_HE, 4),
|
|
null, dyn, null,
|
|
null, smokeless, null,
|
|
null, cBig, null));
|
|
recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.G40_HEAT, 4),
|
|
coplate, he, null,
|
|
null, smokeless, null,
|
|
null, cBig, null));
|
|
recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.G40_DEMO, 4),
|
|
null, he.copy(2), null,
|
|
null, smokeless, null,
|
|
null, cBig, null));
|
|
recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.G40_INC, 4),
|
|
diesel, dyn, null,
|
|
null, smokeless, null,
|
|
null, cBig, null));
|
|
recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.G40_PHOSPHORUS, 4),
|
|
wp, he, null,
|
|
null, smokeless, null,
|
|
null, cBig, null));
|
|
|
|
recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.ROCKET_HE, 2),
|
|
null, dyn, null,
|
|
null, cBig, null,
|
|
null, smokeless.copy(3), null));
|
|
recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.ROCKET_HE, 2),
|
|
null, dyn, null,
|
|
null, cBig, null,
|
|
null, rocket, null));
|
|
recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.ROCKET_HEAT, 2),
|
|
coplate, he, null,
|
|
null, cBig, null,
|
|
null, smokeless.copy(3), null));
|
|
recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.ROCKET_HEAT, 2),
|
|
coplate, he, null,
|
|
null, cBig, null,
|
|
null, rocket, null));
|
|
recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.ROCKET_DEMO, 2),
|
|
null, he.copy(2), null,
|
|
null, cBig, null,
|
|
null, smokeless.copy(3), null));
|
|
recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.ROCKET_DEMO, 2),
|
|
null, he.copy(2), null,
|
|
null, cBig, null,
|
|
null, rocket, null));
|
|
recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.ROCKET_INC, 2),
|
|
diesel, dyn, null,
|
|
null, cBig, null,
|
|
null, smokeless.copy(3), null));
|
|
recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.ROCKET_INC, 2),
|
|
diesel, dyn, null,
|
|
null, cBig, null,
|
|
null, rocket, null));
|
|
recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.ROCKET_PHOSPHORUS, 2),
|
|
wp, he, null,
|
|
null, cBig, null,
|
|
null, smokeless.copy(3), null));
|
|
recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.ROCKET_PHOSPHORUS, 2),
|
|
wp, he, null,
|
|
null, cBig, null,
|
|
null, rocket, null));
|
|
|
|
OreDictStack sPlate = new OreDictStack(STEEL.plate());
|
|
ComparableStack napalm = new ComparableStack(ModItems.canister_napalm);
|
|
OreDictStack gas = new OreDictStack(Fluids.GAS.getDict(1000));
|
|
OreDictStack bf = new OreDictStack(Fluids.BALEFIRE.getDict(1000));
|
|
recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.FLAME_DIESEL, 1),
|
|
null, sPlate, null,
|
|
null, diesel, null,
|
|
null, sPlate, null));
|
|
recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.FLAME_NAPALM, 1),
|
|
null, sPlate, null,
|
|
null, napalm, null,
|
|
null, sPlate, null));
|
|
recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.FLAME_GAS, 1),
|
|
null, sPlate, null,
|
|
null, gas, null,
|
|
null, sPlate, null));
|
|
recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.FLAME_BALEFIRE, 1),
|
|
null, sPlate, null,
|
|
null, bf, null,
|
|
null, sPlate, null));
|
|
|
|
OreDictStack silicon = new OreDictStack(SI.billet());
|
|
recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.CAPACITOR, 4),
|
|
null, plastic, null,
|
|
null, silicon.copy(4), null,
|
|
null, plastic, null));
|
|
recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.CAPACITOR_OVERCHARGE, 4),
|
|
null, plastic, null,
|
|
null, silicon.copy(6), null,
|
|
null, plastic, null));
|
|
recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.CAPACITOR_IR, 4),
|
|
null, plastic, null,
|
|
null, nb, null,
|
|
null, plastic, null));
|
|
|
|
OreDictStack lPlate = new OreDictStack(PB.plate());
|
|
recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.TAU_URANIUM, 16),
|
|
null, lPlate, null,
|
|
null, uranium, null,
|
|
null, lPlate , null));
|
|
|
|
OreDictStack tungsten = new OreDictStack(W.ingot());
|
|
recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.COIL_TUNGSTEN, 4),
|
|
null, null, null,
|
|
null, tungsten, null,
|
|
null, null , null));
|
|
recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.COIL_FERROURANIUM, 4),
|
|
null, null, null,
|
|
null, ferro, null,
|
|
null, null , null));
|
|
|
|
ComparableStack shell = new ComparableStack(ModItems.assembly_nuke);
|
|
ComparableStack tatb = new ComparableStack(ModItems.ball_tatb);
|
|
OreDictStack plutonium = new OreDictStack(PU239.nugget());
|
|
recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.NUKE_STANDARD, 1),
|
|
null, plutonium, null,
|
|
null, shell, null,
|
|
null, null , null));
|
|
recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.NUKE_DEMO, 1),
|
|
null, plutonium.copy(2), null,
|
|
null, shell, null,
|
|
null, null , null));
|
|
recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.NUKE_HIGH, 1),
|
|
null, plutonium.copy(4), null,
|
|
null, shell, null,
|
|
null, null , null));
|
|
recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.NUKE_TOTS, 1),
|
|
null, plutonium.copy(2), null,
|
|
null, tatb.copy(2), null,
|
|
null, sPlate.copy(4) , null));
|
|
recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.NUKE_HIVE, 1),
|
|
null, he.copy(8), null,
|
|
null, sBig.copy(2), null,
|
|
null, sPlate.copy(4), null));
|
|
|
|
recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.CT_HOOK, 16),
|
|
null, steel, null,
|
|
null, pipe, null,
|
|
null, smokeless, null));
|
|
recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.CT_MORTAR, 4),
|
|
null, he.copy(4), null,
|
|
null, pipe, null,
|
|
null, smokeless, null));
|
|
}
|
|
|
|
public static HashMap getRecipes() {
|
|
HashMap<Object, Object> recipes = new HashMap<Object, Object>();
|
|
|
|
for(AmmoPressRecipe recipe : AmmoPressRecipes.recipes) {
|
|
List<AStack> inputs = new ArrayList();
|
|
for(AStack stack : recipe.input) if(stack != null) inputs.add(stack);
|
|
recipes.put(inputs.toArray(new AStack[0]), recipe.output.copy());
|
|
}
|
|
|
|
return recipes;
|
|
}
|
|
|
|
@Override
|
|
public String getFileName() {
|
|
return "hbmAmmoPress.json";
|
|
}
|
|
|
|
@Override
|
|
public String getComment() {
|
|
return "Input array describes slots from left to right, top to bottom. Make sure the input array is exactly 9 elements long, empty slots are represented by null.";
|
|
}
|
|
|
|
@Override
|
|
public Object getRecipeObject() {
|
|
return recipes;
|
|
}
|
|
|
|
@Override
|
|
public void deleteRecipes() {
|
|
recipes.clear();
|
|
}
|
|
|
|
@Override
|
|
public void readRecipe(JsonElement recipe) {
|
|
JsonObject obj = (JsonObject) recipe;
|
|
|
|
ItemStack output = this.readItemStack(obj.get("output").getAsJsonArray());
|
|
JsonArray inputArray = obj.get("input").getAsJsonArray();
|
|
AStack[] input = new AStack[9];
|
|
|
|
for(int i = 0; i < 9; i++) {
|
|
JsonElement element = inputArray.get(i);
|
|
if(element.isJsonNull()) {
|
|
input[i] = null;
|
|
} else {
|
|
input[i] = this.readAStack(element.getAsJsonArray());
|
|
}
|
|
}
|
|
|
|
this.recipes.add(new AmmoPressRecipe(output, input));
|
|
}
|
|
|
|
@Override
|
|
public void writeRecipe(Object recipe, JsonWriter writer) throws IOException {
|
|
AmmoPressRecipe rec = (AmmoPressRecipe) recipe;
|
|
|
|
writer.name("output");
|
|
this.writeItemStack(rec.output, writer);
|
|
|
|
writer.name("input").beginArray();
|
|
for(int i = 0; i < rec.input.length; i++) {
|
|
if(rec.input[i] == null) {
|
|
writer.nullValue();
|
|
} else {
|
|
this.writeAStack(rec.input[i], writer);
|
|
}
|
|
}
|
|
writer.endArray();
|
|
}
|
|
|
|
public static class AmmoPressRecipe {
|
|
public ItemStack output;
|
|
public AStack[] input;
|
|
|
|
public AmmoPressRecipe(ItemStack output, AStack... input) {
|
|
this.output = output;
|
|
this.input = input;
|
|
}
|
|
}
|
|
}
|