blood floats on blood, nitric acid ore processing chain
@ -62,6 +62,7 @@ public class FluidContainerRegistry {
|
||||
FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(ModItems.particle_amat), new ItemStack(ModItems.particle_empty), Fluids.AMAT, 1000));
|
||||
FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(ModItems.particle_aschrab), new ItemStack(ModItems.particle_empty), Fluids.ASCHRAB, 1000));
|
||||
|
||||
FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(ModItems.iv_blood), new ItemStack(ModItems.iv_empty), Fluids.BLOOD, 100));
|
||||
FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(ModItems.iv_xp), new ItemStack(ModItems.iv_xp_empty), Fluids.XPJUICE, 100));
|
||||
FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(Items.experience_bottle), new ItemStack(Items.glass_bottle), Fluids.XPJUICE, 100));
|
||||
|
||||
|
||||
@ -98,6 +98,8 @@ public class Fluids {
|
||||
public static FluidType SEEDSLURRY;
|
||||
public static FluidType NITRIC_ACID;
|
||||
public static FluidType SOLVENT; //oranic solvent in fact
|
||||
public static FluidType BLOOD; //BLOOD ORB! BLOOD ORB! BLOOD ORB!
|
||||
public static FluidType BLOOD_HOT;
|
||||
|
||||
private static final HashMap<Integer, FluidType> idMapping = new HashMap();
|
||||
private static final HashMap<String, FluidType> nameMapping = new HashMap();
|
||||
@ -211,7 +213,9 @@ public class Fluids {
|
||||
COALCREOSOTE = new FluidType("COALCREOSOTE", 0x51694F, 3, 2, 0, EnumSymbol.NONE).addContainers(0x285A3F, ExtContainer.CANISTER).addTraits(LIQUID);
|
||||
SEEDSLURRY = new FluidType("SEEDSLURRY", 0x7CC35E, 0, 0, 0, EnumSymbol.NONE).addContainers(0x7CC35E, ExtContainer.CANISTER).addTraits(LIQUID);
|
||||
NITRIC_ACID = new FluidType("NITRIC_ACID", 0xBB7A1E, 3, 0, 2, EnumSymbol.OXIDIZER).addTraits(LIQUID, new FT_Corrosive(60));
|
||||
SOLVENT = new FluidType(83, "SOLVENT", 0xE4E3EF, 2, 3, 0, EnumSymbol.NONE).addContainers(0xE4E3EF, ExtContainer.CANISTER).addTraits(LIQUID);
|
||||
SOLVENT = new FluidType("SOLVENT", 0xE4E3EF, 2, 3, 0, EnumSymbol.NONE).addContainers(0xE4E3EF, ExtContainer.CANISTER).addTraits(LIQUID);
|
||||
BLOOD = new FluidType("BLOOD", 0xB22424, 0, 0, 0, EnumSymbol.NONE).addTraits(LIQUID);
|
||||
BLOOD_HOT = new FluidType(85, "BLOOD_HOT", 0xE4E3EF, 3, 0, 0, EnumSymbol.NONE).addTraits(LIQUID).setTemp(666); //it's funny because it's the satan number
|
||||
|
||||
|
||||
// ^ ^ ^ ^ ^ ^ ^ ^
|
||||
@ -238,6 +242,8 @@ public class Fluids {
|
||||
metaOrder.add(CRYOGEL);
|
||||
metaOrder.add(MUG);
|
||||
metaOrder.add(MUG_HOT);
|
||||
metaOrder.add(BLOOD);
|
||||
metaOrder.add(BLOOD_HOT);
|
||||
//pure elements, cyogenic gasses
|
||||
metaOrder.add(HYDROGEN);
|
||||
metaOrder.add(DEUTERIUM);
|
||||
@ -348,6 +354,9 @@ public class Fluids {
|
||||
MUG.addTraits(new FT_Heatable().setEff(HeatingType.HEATEXCHANGER, 1.0D).addStep(400, 1, MUG_HOT, 1));
|
||||
MUG_HOT.addTraits(new FT_Coolable(MUG, 1, 1, 400).setEff(CoolingType.HEATEXCHANGER, 1.0D));
|
||||
|
||||
BLOOD.addTraits(new FT_Heatable().setEff(HeatingType.HEATEXCHANGER, 1.0D).addStep(500, 1, BLOOD_HOT, 1));
|
||||
BLOOD_HOT.addTraits(new FT_Coolable(BLOOD, 1, 1, 500).setEff(CoolingType.HEATEXCHANGER, 1.0D));
|
||||
|
||||
if(idMapping.size() != metaOrder.size()) {
|
||||
throw new IllegalStateException("A severe error has occoured during NTM's fluid registering process! The MetaOrder and Mappings are inconsistent! Mapping size: " + idMapping.size()+ " / MetaOrder size: " + metaOrder.size());
|
||||
}
|
||||
|
||||
@ -12,6 +12,7 @@ import com.google.gson.stream.JsonWriter;
|
||||
import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.config.GeneralConfig;
|
||||
import com.hbm.handler.imc.IMCCentrifuge;
|
||||
import com.hbm.inventory.OreDictManager.DictFrame;
|
||||
import com.hbm.inventory.RecipesCommon;
|
||||
import com.hbm.inventory.RecipesCommon.AStack;
|
||||
import com.hbm.inventory.RecipesCommon.ComparableStack;
|
||||
@ -19,7 +20,9 @@ import com.hbm.inventory.RecipesCommon.OreDictStack;
|
||||
import com.hbm.inventory.recipes.loader.SerializableRecipe;
|
||||
import com.hbm.items.ModItems;
|
||||
import com.hbm.items.special.ItemBedrockOre.EnumBedrockOre;
|
||||
import com.hbm.items.special.ItemByproduct.EnumByproduct;
|
||||
import com.hbm.main.MainRegistry;
|
||||
import com.hbm.util.ItemStackUtil;
|
||||
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.init.Items;
|
||||
@ -319,6 +322,22 @@ public class CentrifugeRecipes extends SerializableRecipe {
|
||||
new ItemStack(ModItems.ore_enriched, 1, i),
|
||||
new ItemStack(ModItems.ore_enriched, 1, i),
|
||||
new ItemStack(ModItems.ore_enriched, 1, i) });
|
||||
|
||||
EnumByproduct tier1 = ore.byproducts[0];
|
||||
ItemStack by1 = tier1 == null ? new ItemStack(ModItems.dust) : DictFrame.fromOne(ModItems.ore_byproduct, tier1, 2);
|
||||
recipes.put(new ComparableStack(ModItems.ore_nitrated, 1, i), new ItemStack[] {
|
||||
new ItemStack(ModItems.ore_nitrocrystalline, 2, i),
|
||||
new ItemStack(ModItems.ore_nitrocrystalline, 2, i),
|
||||
ItemStackUtil.carefulCopy(by1),
|
||||
ItemStackUtil.carefulCopy(by1) });
|
||||
|
||||
EnumByproduct tier2 = ore.byproducts[1];
|
||||
ItemStack by2 = tier2 == null ? new ItemStack(ModItems.dust) : DictFrame.fromOne(ModItems.ore_byproduct, tier2, 2);
|
||||
recipes.put(new ComparableStack(ModItems.ore_deepcleaned, 1, i), new ItemStack[] {
|
||||
new ItemStack(ModItems.ore_enriched, 2, i),
|
||||
new ItemStack(ModItems.ore_enriched, 2, i),
|
||||
ItemStackUtil.carefulCopy(by2),
|
||||
ItemStackUtil.carefulCopy(by2) });
|
||||
}
|
||||
|
||||
List<ItemStack> quartz = OreDictionary.getOres("crystalCertusQuartz");
|
||||
|
||||
@ -96,6 +96,7 @@ public class CrystallizerRecipes {
|
||||
|
||||
FluidStack nitric = new FluidStack(Fluids.NITRIC_ACID, 500);
|
||||
FluidStack organic = new FluidStack(Fluids.SOLVENT, 500);
|
||||
|
||||
int oreTime = 200;
|
||||
|
||||
for(EnumBedrockOre ore : EnumBedrockOre.values()) {
|
||||
|
||||
@ -187,15 +187,17 @@ public class ModItems {
|
||||
public static Item ingot_mercury; //It's to prevent any ambiguity, as it was treated as a full ingot in the past anyway
|
||||
public static Item bottle_mercury;
|
||||
|
||||
public static Item ore_byproduct; //byproduct of variable purity and quantity, can be treated as a nugget, might require shredding or acidizing, depends on the type
|
||||
|
||||
public static Item ore_bedrock;
|
||||
public static Item ore_centrifuged;
|
||||
public static Item ore_cleaned;
|
||||
public static Item ore_separated;
|
||||
public static Item ore_purified;
|
||||
public static Item ore_enriched;
|
||||
public static Item ore_nitrated;
|
||||
public static Item ore_nitrocrystalline;
|
||||
public static Item ore_deepcleaned;
|
||||
public static Item ore_enriched; //final stage
|
||||
|
||||
public static Item billet_uranium;
|
||||
public static Item billet_u233;
|
||||
@ -2836,11 +2838,16 @@ public class ModItems {
|
||||
ingot_mercury = new ItemCustomLore().setUnlocalizedName("nugget_mercury").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_mercury");
|
||||
bottle_mercury = new ItemCustomLore().setUnlocalizedName("bottle_mercury").setContainerItem(Items.glass_bottle).setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":bottle_mercury");
|
||||
|
||||
ore_byproduct = new ItemByproduct().setUnlocalizedName("ore_byproduct").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":byproduct");
|
||||
|
||||
ore_bedrock = new ItemBedrockOre().setUnlocalizedName("ore_bedrock").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ore_bedrock");
|
||||
ore_centrifuged = new ItemBedrockOre().setUnlocalizedName("ore_centrifuged").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ore_centrifuged");
|
||||
ore_cleaned = new ItemBedrockOre().setUnlocalizedName("ore_cleaned").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ore_cleaned");
|
||||
ore_separated = new ItemBedrockOre().setUnlocalizedName("ore_separated").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ore_separated");
|
||||
ore_purified = new ItemBedrockOre().setUnlocalizedName("ore_purified").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ore_purified");
|
||||
ore_nitrated = new ItemBedrockOre().setUnlocalizedName("ore_nitrated").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ore_nitrated");
|
||||
ore_nitrocrystalline = new ItemBedrockOre().setUnlocalizedName("ore_nitrocrystalline").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ore_nitrocrystalline");
|
||||
ore_deepcleaned = new ItemBedrockOre().setUnlocalizedName("ore_deepcleaned").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ore_deepcleaned");
|
||||
ore_enriched = new ItemBedrockOre().setUnlocalizedName("ore_enriched").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ore_enriched");
|
||||
|
||||
ingot_lanthanium = new ItemCustomLore().setUnlocalizedName("ingot_lanthanium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_lanthanium");
|
||||
@ -6139,7 +6146,11 @@ public class ModItems {
|
||||
GameRegistry.registerItem(ore_cleaned, ore_cleaned.getUnlocalizedName());
|
||||
GameRegistry.registerItem(ore_separated, ore_separated.getUnlocalizedName());
|
||||
GameRegistry.registerItem(ore_purified, ore_purified.getUnlocalizedName());
|
||||
GameRegistry.registerItem(ore_nitrated, ore_nitrated.getUnlocalizedName());
|
||||
GameRegistry.registerItem(ore_nitrocrystalline, ore_nitrocrystalline.getUnlocalizedName());
|
||||
GameRegistry.registerItem(ore_deepcleaned, ore_deepcleaned.getUnlocalizedName());
|
||||
GameRegistry.registerItem(ore_enriched, ore_enriched.getUnlocalizedName());
|
||||
GameRegistry.registerItem(ore_byproduct, ore_byproduct.getUnlocalizedName());
|
||||
|
||||
//Crystals
|
||||
GameRegistry.registerItem(crystal_coal, crystal_coal.getUnlocalizedName());
|
||||
|
||||
@ -1,6 +1,8 @@
|
||||
package com.hbm.items.special;
|
||||
|
||||
import com.hbm.items.ItemEnumMulti;
|
||||
import com.hbm.items.special.ItemByproduct.EnumByproduct;
|
||||
import static com.hbm.items.special.ItemByproduct.EnumByproduct.*;
|
||||
import com.hbm.lib.RefStrings;
|
||||
import com.hbm.util.EnumUtil;
|
||||
|
||||
@ -75,21 +77,25 @@ public class ItemBedrockOre extends ItemEnumMulti {
|
||||
*/
|
||||
|
||||
public static enum EnumBedrockOre {
|
||||
IRON("Iron", 0xE2C0AA), //titanium, sulfur from pyrite
|
||||
COPPER("Copper", 0xEC9A63), //sulfur sulfur sulfur sulfur
|
||||
BORAX("Borax", 0xE4BE74), //calcium from ulexite, uhhh lithium?
|
||||
ASBESTOS("Asbestos", 0xBFBFB9), //quartz i guess?
|
||||
NIOBIUM("Niobium", 0xAF58D8), //iron in columbite, often found along tantalite
|
||||
TITANIUM("Titanium", 0xF2EFE2), //titanite is titanium + calcium + silicon with traces of iron and aluminium
|
||||
TUNGSTEN("Tungsten", 0x2C293C), //ferberite has iron, raspite has lead, russelite is bismuth tungsten
|
||||
GOLD("Gold", 0xF9D738); //occours with copper, lead and rare bismuthide
|
||||
//Ore Byproduct 1, 2, 3
|
||||
IRON("Iron", 0xE2C0AA, B_SULFUR, B_TITANIUM, B_TITANIUM), //titanium, sulfur from pyrite
|
||||
COPPER("Copper", 0xEC9A63, B_SULFUR, B_SULFUR, B_SULFUR), //sulfur sulfur sulfur sulfur
|
||||
BORAX("Borax", 0xE4BE74, B_LITHIUM, B_CALCIUM, B_CALCIUM), //calcium from ulexite, uhhh lithium?
|
||||
ASBESTOS("Asbestos", 0xBFBFB9, B_SILICON, B_SILICON, B_SILICON), //quartz i guess?
|
||||
NIOBIUM("Niobium", 0xAF58D8, B_IRON, B_IRON, B_IRON), //iron in columbite, often found along tantalite
|
||||
TITANIUM("Titanium", 0xF2EFE2, B_SILICON, B_CALCIUM, B_ALUMINIUM), //titanite is titanium + calcium + silicon with traces of iron and aluminium
|
||||
TUNGSTEN("Tungsten", 0x2C293C, B_LEAD, B_IRON, B_BISMUTH), //ferberite has iron, raspite has lead, russelite is bismuth tungsten
|
||||
GOLD("Gold", 0xF9D738, B_LEAD, B_COPPER, B_BISMUTH); //occurs with copper, lead and rare bismuthide
|
||||
|
||||
public String oreName;
|
||||
public int color;
|
||||
public EnumByproduct[] byproducts;
|
||||
|
||||
private EnumBedrockOre(String name, int color) {
|
||||
/** Byproduct count must be consistent with current tier count, use NULL if no byproduct should be generated! */
|
||||
private EnumBedrockOre(String name, int color, EnumByproduct... by) {
|
||||
this.oreName = name;
|
||||
this.color = color;
|
||||
this.byproducts = by;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
42
src/main/java/com/hbm/items/special/ItemByproduct.java
Normal file
@ -0,0 +1,42 @@
|
||||
package com.hbm.items.special;
|
||||
|
||||
import com.hbm.items.ItemEnumMulti;
|
||||
import com.hbm.util.EnumUtil;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
public class ItemByproduct extends ItemEnumMulti {
|
||||
|
||||
public ItemByproduct() {
|
||||
super(EnumByproduct.class, true, false);
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public int getColorFromItemStack(ItemStack stack, int pass) {
|
||||
|
||||
EnumByproduct ore = EnumUtil.grabEnumSafely(EnumByproduct.class, stack.getItemDamage());
|
||||
return ore.color;
|
||||
}
|
||||
|
||||
public static enum EnumByproduct {
|
||||
B_IRON(0xE2C0AA),
|
||||
B_COPPER(0xEC9A63),
|
||||
B_LITHIUM(0xEDEDED),
|
||||
B_SILICON(0xFFFBD1),
|
||||
B_LEAD(0x646470),
|
||||
B_TITANIUM(0xF2EFE2),
|
||||
B_ALUMINIUM(0xE8F2F9),
|
||||
B_SULFUR(0xEAD377),
|
||||
B_CALCIUM(0xCFCFA6),
|
||||
B_BISMUTH(0x8D8577);
|
||||
|
||||
public int color;
|
||||
|
||||
private EnumByproduct(int color) {
|
||||
this.color = color;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -459,7 +459,9 @@ public class ItemGunBase extends Item implements IHoldableWeapon, IItemHUD, IEqu
|
||||
list.add(I18nUtil.resolveKey(HbmCollection.durability, dura + " / " + mainConfig.durability));
|
||||
|
||||
list.add("");
|
||||
list.add(I18nUtil.resolveKey(HbmCollection.gunName, I18nUtil.resolveKey("gun.name." + mainConfig.name)));
|
||||
String unloc = "gun.name." + mainConfig.name;
|
||||
String loc = I18nUtil.resolveKey(unloc);
|
||||
list.add(I18nUtil.resolveKey(HbmCollection.gunName, unloc.equals(loc) ? mainConfig.name : loc));
|
||||
list.add(I18nUtil.resolveKey(HbmCollection.gunMaker, I18nUtil.resolveKey(mainConfig.manufacturer.getKey())));
|
||||
|
||||
if(!mainConfig.comment.isEmpty()) {
|
||||
|
||||
@ -13,10 +13,8 @@ import net.minecraftforge.oredict.OreDictionary;
|
||||
public class ItemStackUtil {
|
||||
|
||||
public static ItemStack carefulCopy(ItemStack stack) {
|
||||
if(stack == null)
|
||||
return null;
|
||||
else
|
||||
return stack.copy();
|
||||
if(stack == null) return null;
|
||||
return stack.copy();
|
||||
}
|
||||
|
||||
public static ItemStack carefulCopyWithSize(ItemStack stack, int size) {
|
||||
|
||||
@ -583,6 +583,8 @@ hbmfluid.balefire=BF-Raketentreibstoff
|
||||
hbmfluid.biofuel=Biodiesel
|
||||
hbmfluid.biogas=Biogas
|
||||
hbmfluid.bitumen=Bitumen
|
||||
hbmfluid.blood=Blut
|
||||
hbmfluid.blood_hot=Heißes Blut
|
||||
hbmfluid.carbondioxide=Kohlenstoffdioxid
|
||||
hbmfluid.coalcreosote=Kohleteer-Kreosot
|
||||
hbmfluid.coalgas=Kohlebenzin
|
||||
@ -622,6 +624,7 @@ hbmfluid.mug_hot=Heißes Mug Root Beer
|
||||
hbmfluid.naphtha=Mitteldestillat
|
||||
hbmfluid.naphtha_crack=Crack-Mitteldestillat
|
||||
hbmfluid.nitan=NITAN© 100 Oktan Supertreibstoff
|
||||
hbmfluid.nitric_acid=Salpetersäure
|
||||
hbmfluid.none=Nichts
|
||||
hbmfluid.oil=Rohöl
|
||||
hbmfluid.oxygen=Flüssiger Sauerstoff
|
||||
@ -642,6 +645,7 @@ hbmfluid.sas3=Schrabidiumtrisulfat
|
||||
hbmfluid.schrabidic=Schrabidische Säure
|
||||
hbmfluid.seedslurry=Saatgemisch
|
||||
hbmfluid.smear=Industrieöl
|
||||
hbmfluid.solvent=Lösungsmittel
|
||||
hbmfluid.spentsteam=Niedrigdruckdampf
|
||||
hbmfluid.steam=Dampf
|
||||
hbmfluid.sulfuric_acid=Schwefelsäure
|
||||
|
||||
@ -1177,6 +1177,8 @@ hbmfluid.balefire=BF Rocket Fuel
|
||||
hbmfluid.biofuel=Biofuel
|
||||
hbmfluid.biogas=Biogas
|
||||
hbmfluid.bitumen=Bitumen
|
||||
hbmfluid.blood=Blood
|
||||
hbmfluid.blood_hot=Hot Blood
|
||||
hbmfluid.carbondioxide=Carbon Dioxide
|
||||
hbmfluid.coalcreosote=Coal Tar Creosote
|
||||
hbmfluid.coalgas=Coal Gasoline
|
||||
@ -1216,6 +1218,7 @@ hbmfluid.mug_hot=Hot Mug Root Beer
|
||||
hbmfluid.naphtha=Naphtha
|
||||
hbmfluid.naphtha_crack=Cracked Naphtha
|
||||
hbmfluid.nitan=NITAN© 100 Octane Super Fuel
|
||||
hbmfluid.nitric_acid=Nitric Acid
|
||||
hbmfluid.none=None
|
||||
hbmfluid.oil=Crude Oil
|
||||
hbmfluid.oxygen=Liquid Oxygen
|
||||
@ -1236,6 +1239,7 @@ hbmfluid.sas3=Schrabidium Trisulfide
|
||||
hbmfluid.schrabidic=Schrabidic Acid
|
||||
hbmfluid.seedslurry=Seeding Slurry
|
||||
hbmfluid.smear=Industrial Oil
|
||||
hbmfluid.solvent=Solvent
|
||||
hbmfluid.spentsteam=Low-Pressure Steam
|
||||
hbmfluid.steam=Steam
|
||||
hbmfluid.sulfuric_acid=Sulfuric Acid
|
||||
|
||||
BIN
src/main/resources/assets/hbm/textures/gui/fluids/blood.png
Normal file
|
After Width: | Height: | Size: 451 B |
BIN
src/main/resources/assets/hbm/textures/gui/fluids/hotblood.png
Normal file
|
After Width: | Height: | Size: 451 B |
|
Before Width: | Height: | Size: 280 B After Width: | Height: | Size: 280 B |
|
After Width: | Height: | Size: 268 B |
|
After Width: | Height: | Size: 224 B |
|
Before Width: | Height: | Size: 275 B |
|
Before Width: | Height: | Size: 275 B |
|
Before Width: | Height: | Size: 276 B |
|
Before Width: | Height: | Size: 287 B |
|
Before Width: | Height: | Size: 276 B |
|
Before Width: | Height: | Size: 276 B |
|
Before Width: | Height: | Size: 288 B |
BIN
src/main/resources/assets/hbm/textures/items/ore_deepcleaned.png
Normal file
|
After Width: | Height: | Size: 430 B |
BIN
src/main/resources/assets/hbm/textures/items/ore_nitrated.png
Normal file
|
After Width: | Height: | Size: 446 B |
|
After Width: | Height: | Size: 448 B |
|
After Width: | Height: | Size: 1.2 KiB |
|
After Width: | Height: | Size: 1.1 KiB |