mirror of
https://github.com/HbmMods/Hbm-s-Nuclear-Tech-GIT.git
synced 2026-01-25 10:32:49 +00:00
extinguishable tanks, refinery recipes, NEI handlers
This commit is contained in:
parent
469a624966
commit
c4e350ff92
@ -15,7 +15,10 @@ import com.hbm.inventory.fluid.trait.FT_Poison;
|
||||
import com.hbm.inventory.fluid.trait.FT_VentRadiation;
|
||||
import com.hbm.lib.ModDamageSource;
|
||||
import com.hbm.main.MainRegistry;
|
||||
import com.hbm.tileentity.IRepairable;
|
||||
import com.hbm.tileentity.IRepairable.EnumExtinguishType;
|
||||
import com.hbm.util.ArmorUtil;
|
||||
import com.hbm.util.CompatExternal;
|
||||
import com.hbm.util.ContaminationUtil;
|
||||
import com.hbm.util.EnchantmentUtil;
|
||||
import com.hbm.util.ContaminationUtil.ContaminationType;
|
||||
@ -30,6 +33,7 @@ import net.minecraft.init.Blocks;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.potion.Potion;
|
||||
import net.minecraft.potion.PotionEffect;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.DamageSource;
|
||||
import net.minecraft.util.EntityDamageSourceIndirect;
|
||||
import net.minecraft.util.MathHelper;
|
||||
@ -43,7 +47,7 @@ public class EntityChemical extends EntityThrowableNT {
|
||||
/*
|
||||
* TYPE INFO:
|
||||
*
|
||||
* if ANTIMATTER: ignore all other traits, become a gamme beam with no gravity
|
||||
* if ANTIMATTER: ignore all other traits, become a gamma beam with no gravity
|
||||
* if HOT: set fire and deal extra fire damage, scaling with the temperature
|
||||
* if COLD: freeze, duration scaling with temperature, assuming COMBUSTIBLE does not apply
|
||||
* if GAS: short range with the spread going up
|
||||
@ -253,9 +257,15 @@ public class EntityChemical extends EntityThrowableNT {
|
||||
}
|
||||
}
|
||||
|
||||
/* whether this type should extinguish entities */
|
||||
protected boolean isExtinguishing() {
|
||||
return this.getStyle() == ChemicalStyle.LIQUID && this.getType().temperature < 50 && !this.getType().hasTrait(FT_Flammable.class);
|
||||
}
|
||||
|
||||
/* the extinguish type for burning multiblocks, roughly identical to the fire extinguisher */
|
||||
protected EnumExtinguishType getExtinguishingType(FluidType type) {
|
||||
return type == Fluids.CARBONDIOXIDE ? EnumExtinguishType.CO2 : type == Fluids.WATER || type == Fluids.HEAVYWATER || type == Fluids.COOLANT ? EnumExtinguishType.WATER : null;
|
||||
}
|
||||
|
||||
protected DamageSource getDamage(String name) {
|
||||
|
||||
@ -378,6 +388,14 @@ public class EntityChemical extends EntityThrowableNT {
|
||||
}
|
||||
}
|
||||
|
||||
EnumExtinguishType fext = this.getExtinguishingType(type);
|
||||
if(fext != null) {
|
||||
TileEntity core = CompatExternal.getCoreFromPos(worldObj, x, y, z);
|
||||
if(core instanceof IRepairable) {
|
||||
((IRepairable) core).tryExtinguish(worldObj, x, y, z, fext);
|
||||
}
|
||||
}
|
||||
|
||||
Block block = worldObj.getBlock(x, y, z);
|
||||
if(type == Fluids.SEEDSLURRY) {
|
||||
if(block == Blocks.dirt || block == ModBlocks.waste_earth || block == ModBlocks.dirt_dead || block == ModBlocks.dirt_oily) {
|
||||
|
||||
@ -22,6 +22,9 @@ import com.hbm.packet.AuxParticlePacketNT;
|
||||
import com.hbm.packet.PacketDispatcher;
|
||||
import com.hbm.potion.HbmPotion;
|
||||
import com.hbm.render.util.RenderScreenOverlay.Crosshair;
|
||||
import com.hbm.tileentity.IRepairable;
|
||||
import com.hbm.tileentity.IRepairable.EnumExtinguishType;
|
||||
import com.hbm.util.CompatExternal;
|
||||
|
||||
import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint;
|
||||
import net.minecraft.block.Block;
|
||||
@ -30,6 +33,7 @@ import net.minecraft.init.Blocks;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.potion.Potion;
|
||||
import net.minecraft.potion.PotionEffect;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
|
||||
public class GunEnergyFactory {
|
||||
|
||||
@ -366,6 +370,8 @@ public class GunEnergyFactory {
|
||||
bullet.style = BulletConfiguration.STYLE_NONE;
|
||||
bullet.plink = BulletConfiguration.PLINK_NONE;
|
||||
|
||||
bullet.bHurt = (bulletEntity, target) -> { target.extinguish(); };
|
||||
|
||||
bullet.bImpact = new IBulletImpactBehavior() {
|
||||
|
||||
@Override
|
||||
@ -391,6 +397,11 @@ public class GunEnergyFactory {
|
||||
}
|
||||
}
|
||||
|
||||
TileEntity core = CompatExternal.getCoreFromPos(bullet.worldObj, ix, iy, iz);
|
||||
if(core instanceof IRepairable) {
|
||||
((IRepairable) core).tryExtinguish(bullet.worldObj, ix, iy, iz, EnumExtinguishType.WATER);
|
||||
}
|
||||
|
||||
if(fizz)
|
||||
bullet.worldObj.playSoundEffect(bullet.posX, bullet.posY, bullet.posZ, "random.fizz", 1.0F, 1.5F + bullet.worldObj.rand.nextFloat() * 0.5F);
|
||||
}
|
||||
@ -468,6 +479,12 @@ public class GunEnergyFactory {
|
||||
|
||||
Block b = bullet.worldObj.getBlock(ix, iy, iz);
|
||||
|
||||
TileEntity core = CompatExternal.getCoreFromPos(bullet.worldObj, ix, iy, iz);
|
||||
if(core instanceof IRepairable) {
|
||||
((IRepairable) core).tryExtinguish(bullet.worldObj, ix, iy, iz, EnumExtinguishType.FOAM);
|
||||
return;
|
||||
}
|
||||
|
||||
if(b.isReplaceable(bullet.worldObj, ix, iy, iz) && ModBlocks.foam_layer.canPlaceBlockAt(bullet.worldObj, ix, iy, iz)) {
|
||||
|
||||
if(b != ModBlocks.foam_layer) {
|
||||
@ -520,6 +537,8 @@ public class GunEnergyFactory {
|
||||
bullet.ammo = new ComparableStack(ModItems.ammo_fireext.stackFromEnum(AmmoFireExt.SAND));
|
||||
bullet.spread = 0.1F;
|
||||
|
||||
bullet.bHurt = null; // does not extinguish entities
|
||||
|
||||
bullet.bImpact = new IBulletImpactBehavior() {
|
||||
|
||||
@Override
|
||||
@ -533,6 +552,12 @@ public class GunEnergyFactory {
|
||||
|
||||
Block b = bullet.worldObj.getBlock(ix, iy, iz);
|
||||
|
||||
TileEntity core = CompatExternal.getCoreFromPos(bullet.worldObj, ix, iy, iz);
|
||||
if(core instanceof IRepairable) {
|
||||
((IRepairable) core).tryExtinguish(bullet.worldObj, ix, iy, iz, EnumExtinguishType.SAND);
|
||||
return;
|
||||
}
|
||||
|
||||
if((b.isReplaceable(bullet.worldObj, ix, iy, iz) || b == ModBlocks.sand_boron_layer) && ModBlocks.sand_boron_layer.canPlaceBlockAt(bullet.worldObj, ix, iy, iz)) {
|
||||
|
||||
if(b != ModBlocks.sand_boron_layer) {
|
||||
|
||||
16
src/main/java/com/hbm/handler/nei/VacuumRecipeHandler.java
Normal file
16
src/main/java/com/hbm/handler/nei/VacuumRecipeHandler.java
Normal file
@ -0,0 +1,16 @@
|
||||
package com.hbm.handler.nei;
|
||||
|
||||
import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.inventory.recipes.RefineryRecipes;
|
||||
|
||||
public class VacuumRecipeHandler extends NEIUniversalHandler {
|
||||
|
||||
public VacuumRecipeHandler() {
|
||||
super("Vacuum Refinery", ModBlocks.machine_vacuum_distill, RefineryRecipes.getVacuumRecipe());
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getKey() {
|
||||
return "ntmVacuum";
|
||||
}
|
||||
}
|
||||
@ -427,7 +427,7 @@ public class OreDictManager {
|
||||
ANY_GUNPOWDER .dust(Items.gunpowder, ballistite, cordite);
|
||||
ANY_SMOKELESS .dust(ballistite, cordite);
|
||||
ANY_PLASTICEXPLOSIVE .ingot(ingot_semtex, ingot_c4);
|
||||
ANY_HIGHEXPLOSIVE .ingot(ball_tnt);
|
||||
ANY_HIGHEXPLOSIVE .ingot(ball_tnt).ingot(ball_tatb);
|
||||
ANY_CONCRETE .any(concrete, concrete_smooth, concrete_asbestos, ducrete, ducrete_smooth);
|
||||
for(int i = 0; i < 16; i++) { ANY_CONCRETE.any(new ItemStack(ModBlocks.concrete_colored, 1, i)); }
|
||||
ANY_COKE .gem(fromAll(coke, EnumCokeType.class)).block(fromAll(block_coke, EnumCokeType.class));
|
||||
|
||||
@ -365,7 +365,7 @@ public class AssemblerRecipes {
|
||||
makeRecipe(new ComparableStack(ModItems.grenade_zomg, 1), new AStack[] {new ComparableStack(ModItems.plate_paa, 3), new OreDictStack(OreDictManager.getReflector(), 1), new ComparableStack(ModItems.coil_magnetized_tungsten, 3), new ComparableStack(ModItems.powder_power, 3), },300);
|
||||
makeRecipe(new ComparableStack(ModItems.grenade_black_hole, 1), new AStack[] {new OreDictStack(ANY_PLASTIC.ingot(), 6), new OreDictStack(OreDictManager.getReflector(), 3), new ComparableStack(ModItems.coil_magnetized_tungsten, 2), new ComparableStack(ModItems.black_hole, 1), },500);
|
||||
makeRecipe(new ComparableStack(ModItems.early_explosive_lenses, 1), new AStack[] {new OreDictStack(AL.plate(), 8), new ComparableStack(ModItems.wire_gold, 16), new ComparableStack(ModBlocks.det_cord, 8), new OreDictStack(CU.plate(), 2), new OreDictStack(ANY_HIGHEXPLOSIVE.ingot(), 20), new OreDictStack(ANY_PLASTIC.ingot(), 4)},400); //8 HE lenses (polymer inserts since no baratol) w/ bridge-wire detonators, aluminum pushers, & duraluminum shell
|
||||
makeRecipe(new ComparableStack(ModItems.explosive_lenses, 1), new AStack[] {new OreDictStack(AL.plate(), 8), new ComparableStack(ModItems.wire_red_copper, 16), new OreDictStack(ANY_PLASTICEXPLOSIVE.ingot(), 4), new OreDictStack(CU.plate(), 2), new OreDictStack(ANY_HIGHEXPLOSIVE.ingot(), 16), new OreDictStack(RUBBER.ingot(), 2)},500); //8 HE (To use 16 PBX ingots; rubber inserts) lenses w/ improved bridge-wire detonators, thin aluminum pushers, & duraluminum shell
|
||||
makeRecipe(new ComparableStack(ModItems.explosive_lenses, 1), new AStack[] {new OreDictStack(AL.plate(), 8), new ComparableStack(ModItems.wire_red_copper, 16), new OreDictStack(ANY_PLASTICEXPLOSIVE.ingot(), 4), new OreDictStack(CU.plate(), 2), new ComparableStack(ModItems.ball_tatb, 16), new OreDictStack(RUBBER.ingot(), 2)},500); //8 HE (To use 16 PBX ingots; rubber inserts) lenses w/ improved bridge-wire detonators, thin aluminum pushers, & duraluminum shell
|
||||
makeRecipe(new ComparableStack(ModItems.gadget_wireing, 1), new AStack[] {new OreDictStack(IRON.plate(), 1), new ComparableStack(ModItems.wire_gold, 12), },100);
|
||||
makeRecipe(new ComparableStack(ModItems.gadget_core, 1), new AStack[] {new OreDictStack(PU239.nugget(), 7), new OreDictStack(U238.nugget(), 3), },200);
|
||||
makeRecipe(new ComparableStack(ModItems.boy_shielding, 1), new AStack[] {new OreDictStack(OreDictManager.getReflector(), 12), new OreDictStack(STEEL.plate(), 4), },150);
|
||||
|
||||
@ -34,225 +34,6 @@ public class MachineRecipes {
|
||||
return null;
|
||||
}
|
||||
|
||||
public static ItemStack getCyclotronOutput(ItemStack part, ItemStack item) {
|
||||
|
||||
if(part == null || item == null)
|
||||
return null;
|
||||
|
||||
//LITHIUM
|
||||
if (part.getItem() == ModItems.part_lithium) {
|
||||
if(item.getItem() == ModItems.niter)
|
||||
return new ItemStack(ModItems.fluorite, 1);
|
||||
if(item.getItem() == ModItems.powder_coal)
|
||||
return new ItemStack(ModItems.fluorite, 1);
|
||||
if(mODE(item, "dustIron"))
|
||||
return new ItemStack(ModItems.powder_cobalt, 1);
|
||||
if(mODE(item, "dustGold"))
|
||||
return new ItemStack(ModItems.powder_lead, 1);
|
||||
if(mODE(item, "dustNetherQuartz"))
|
||||
return new ItemStack(ModItems.sulfur, 1);
|
||||
if(mODE(item, "dustUranium"))
|
||||
return new ItemStack(ModItems.powder_plutonium, 1);
|
||||
if(mODE(item, "dustAluminum"))
|
||||
return new ItemStack(ModItems.powder_quartz, 1);
|
||||
if(mODE(item, "dustBeryllium"))
|
||||
return new ItemStack(ModItems.powder_coal, 1);
|
||||
if(item.getItem() == ModItems.powder_schrabidium)
|
||||
return new ItemStack(ModItems.powder_reiium, 1);
|
||||
if(item.getItem() == ModItems.powder_lithium)
|
||||
return new ItemStack(ModItems.powder_coal, 1);
|
||||
if(item.getItem() == ModItems.powder_iodine)
|
||||
return new ItemStack(ModItems.powder_caesium, 1);
|
||||
if(item.getItem() == ModItems.powder_thorium)
|
||||
return new ItemStack(ModItems.powder_uranium, 1);
|
||||
if(item.getItem() == ModItems.powder_caesium)
|
||||
return new ItemStack(ModItems.powder_lanthanium, 1);
|
||||
if(item.getItem() == ModItems.powder_reiium)
|
||||
return new ItemStack(ModItems.powder_weidanium, 1);
|
||||
if(mODE(item, "dustCobalt"))
|
||||
return new ItemStack(ModItems.powder_copper, 1);
|
||||
if(item.getItem() == ModItems.powder_cerium)
|
||||
return new ItemStack(ModItems.powder_neodymium, 1);
|
||||
if(item.getItem() == ModItems.powder_actinium)
|
||||
return new ItemStack(ModItems.powder_thorium, 1);
|
||||
if(item.getItem() == ModItems.powder_lanthanium)
|
||||
return new ItemStack(ModItems.powder_cerium, 1);
|
||||
}
|
||||
|
||||
//BERYLLIUM
|
||||
if (part.getItem() == ModItems.part_beryllium) {
|
||||
if(mODE(item, "dustSulfur"))
|
||||
return new ItemStack(ModItems.powder_titanium, 1);
|
||||
if(item.getItem() == ModItems.fluorite)
|
||||
return new ItemStack(ModItems.powder_aluminium, 1);
|
||||
if(mODE(item, "dustIron"))
|
||||
return new ItemStack(ModItems.powder_copper, 1);
|
||||
if(mODE(item, "dustNetherQuartz"))
|
||||
return new ItemStack(ModItems.powder_titanium, 1);
|
||||
if(mODE(item, "dustTitanium"))
|
||||
return new ItemStack(ModItems.powder_iron, 1);
|
||||
if(mODE(item, "dustCopper"))
|
||||
return new ItemStack(ModItems.powder_bromine, 1);
|
||||
if(mODE(item, "dustTungsten"))
|
||||
return new ItemStack(ModItems.powder_gold, 1);
|
||||
if(mODE(item, "dustAluminum"))
|
||||
return new ItemStack(ModItems.sulfur, 1);
|
||||
if(mODE(item, "dustLead"))
|
||||
return new ItemStack(ModItems.powder_astatine, 1);
|
||||
if(mODE(item, "dustBeryllium"))
|
||||
return new ItemStack(ModItems.niter, 1);
|
||||
if(mODE(item, "dustLithium"))
|
||||
return new ItemStack(ModItems.niter, 1);
|
||||
if(item.getItem() == ModItems.powder_iodine)
|
||||
return new ItemStack(ModItems.powder_cerium, 1);
|
||||
if(item.getItem() == ModItems.powder_thorium)
|
||||
return new ItemStack(ModItems.powder_neptunium, 1);
|
||||
if(item.getItem() == ModItems.powder_astatine)
|
||||
return new ItemStack(ModItems.powder_actinium, 1);
|
||||
if(item.getItem() == ModItems.powder_caesium)
|
||||
return new ItemStack(ModItems.powder_neodymium, 1);
|
||||
if(item.getItem() == ModItems.powder_weidanium)
|
||||
return new ItemStack(ModItems.powder_australium, 1);
|
||||
if(item.getItem() == ModItems.powder_strontium)
|
||||
return new ItemStack(ModItems.powder_niobium, 1);
|
||||
if(item.getItem() == ModItems.powder_bromine)
|
||||
return new ItemStack(ModItems.powder_strontium, 1);
|
||||
if(item.getItem() == ModItems.powder_actinium)
|
||||
return new ItemStack(ModItems.powder_uranium, 1);
|
||||
if(item.getItem() == ModItems.powder_lanthanium)
|
||||
return new ItemStack(ModItems.powder_neodymium, 1);
|
||||
}
|
||||
|
||||
//CARBON
|
||||
if (part.getItem() == ModItems.part_carbon) {
|
||||
if(mODE(item, "dustSulfur"))
|
||||
return new ItemStack(ModItems.powder_iron, 1);
|
||||
if(item.getItem() == ModItems.niter)
|
||||
return new ItemStack(ModItems.powder_aluminium, 1);
|
||||
if(item.getItem() == ModItems.fluorite)
|
||||
return new ItemStack(ModItems.sulfur, 1);
|
||||
if(mODE(item, "dustCoal"))
|
||||
return new ItemStack(ModItems.powder_aluminium, 1);
|
||||
if(mODE(item, "dustIron"))
|
||||
return new ItemStack(ModItems.powder_bromine, 1);
|
||||
if(mODE(item, "dustGold"))
|
||||
return new ItemStack(ModItems.powder_astatine, 1);
|
||||
if(mODE(item, "dustNetherQuartz"))
|
||||
return new ItemStack(ModItems.powder_iron, 1);
|
||||
if(item.getItem() == ModItems.powder_plutonium)
|
||||
return new ItemStack(ModItems.powder_tennessine, 1);
|
||||
if(item.getItem() == ModItems.powder_neptunium)
|
||||
return new ItemStack(ModItems.powder_tennessine, 1);
|
||||
if(mODE(item, "dustTitanium"))
|
||||
return new ItemStack(ModItems.powder_bromine, 1);
|
||||
if(mODE(item, "dustCopper"))
|
||||
return new ItemStack(ModItems.powder_strontium, 1);
|
||||
if(mODE(item, "dustTungsten"))
|
||||
return new ItemStack(ModItems.powder_lead, 1);
|
||||
if(mODE(item, "dustAluminum"))
|
||||
return new ItemStack(ModItems.powder_titanium, 1);
|
||||
if(mODE(item, "dustLead"))
|
||||
return new ItemStack(ModItems.powder_thorium, 1);
|
||||
if(mODE(item, "dustBeryllium"))
|
||||
return new ItemStack(ModItems.fluorite, 1);
|
||||
if(mODE(item, "dustLithium"))
|
||||
return new ItemStack(ModItems.fluorite, 1);
|
||||
if(item.getItem() == ModItems.powder_iodine)
|
||||
return new ItemStack(ModItems.powder_tungsten, 1);
|
||||
if(item.getItem() == ModItems.powder_neodymium)
|
||||
return new ItemStack(ModItems.powder_tungsten, 1);
|
||||
if(item.getItem() == ModItems.powder_australium)
|
||||
return new ItemStack(ModItems.powder_verticium, 1);
|
||||
if(item.getItem() == ModItems.powder_strontium)
|
||||
return new ItemStack(ModItems.powder_iodine, 1);
|
||||
if(mODE(item, "dustCobalt"))
|
||||
return new ItemStack(ModItems.powder_strontium, 1);
|
||||
if(item.getItem() == ModItems.powder_bromine)
|
||||
return new ItemStack(ModItems.powder_niobium, 1);
|
||||
if(item.getItem() == ModItems.powder_niobium)
|
||||
return new ItemStack(ModItems.powder_iodine, 1);
|
||||
if(item.getItem() == ModItems.powder_tennessine)
|
||||
return new ItemStack(ModItems.powder_schrabidium, 1);
|
||||
if(item.getItem() == ModItems.powder_cerium)
|
||||
return new ItemStack(ModItems.powder_tungsten, 1);
|
||||
}
|
||||
|
||||
//COPPER
|
||||
if (part.getItem() == ModItems.part_copper) {
|
||||
if(mODE(item, "dustSulfur"))
|
||||
return new ItemStack(ModItems.powder_bromine, 1);
|
||||
if(item.getItem() == ModItems.niter)
|
||||
return new ItemStack(ModItems.powder_cobalt, 1);
|
||||
if(item.getItem() == ModItems.fluorite)
|
||||
return new ItemStack(ModItems.powder_iron, 1);
|
||||
if(mODE(item, "dustCoal"))
|
||||
return new ItemStack(ModItems.powder_iron, 1);
|
||||
if(mODE(item, "dustIron"))
|
||||
return new ItemStack(ModItems.powder_niobium, 1);
|
||||
if(mODE(item, "dustGold"))
|
||||
return new ItemStack(ModItems.powder_lanthanium, 1);
|
||||
if(mODE(item, "dustNetherQuartz"))
|
||||
return new ItemStack(ModItems.powder_bromine, 1);
|
||||
if(mODE(item, "dustUranium"))
|
||||
return new ItemStack(ModItems.powder_tennessine, 1);
|
||||
if(mODE(item, "dustTitanium"))
|
||||
return new ItemStack(ModItems.powder_strontium, 1);
|
||||
if(mODE(item, "dustCopper"))
|
||||
return new ItemStack(ModItems.powder_niobium, 1);
|
||||
if(mODE(item, "dustTungsten"))
|
||||
return new ItemStack(ModItems.powder_actinium, 1);
|
||||
if(mODE(item, "dustAluminum"))
|
||||
return new ItemStack(ModItems.powder_bromine, 1);
|
||||
if(mODE(item, "dustLead"))
|
||||
return new ItemStack(ModItems.powder_tennessine, 1);
|
||||
if(mODE(item, "dustBeryllium"))
|
||||
return new ItemStack(ModItems.powder_bromine, 1);
|
||||
if(mODE(item, "dustLithium"))
|
||||
return new ItemStack(ModItems.powder_bromine, 1);
|
||||
if(item.getItem() == ModItems.powder_iodine)
|
||||
return new ItemStack(ModItems.powder_astatine, 1);
|
||||
if(item.getItem() == ModItems.powder_thorium)
|
||||
return new ItemStack(ModItems.powder_tennessine, 1);
|
||||
if(item.getItem() == ModItems.powder_neodymium)
|
||||
return new ItemStack(ModItems.powder_lead, 1);
|
||||
if(item.getItem() == ModItems.powder_astatine)
|
||||
return new ItemStack(ModItems.powder_plutonium, 1);
|
||||
if(item.getItem() == ModItems.powder_caesium)
|
||||
return new ItemStack(ModItems.powder_tungsten, 1);
|
||||
if(item.getItem() == ModItems.powder_verticium)
|
||||
return new ItemStack(ModItems.powder_unobtainium, 1);
|
||||
if(mODE(item, "dustCobalt"))
|
||||
return new ItemStack(ModItems.powder_iodine, 1);
|
||||
if(item.getItem() == ModItems.powder_bromine)
|
||||
return new ItemStack(ModItems.powder_caesium, 1);
|
||||
if(item.getItem() == ModItems.powder_niobium)
|
||||
return new ItemStack(ModItems.powder_cerium, 1);
|
||||
if(item.getItem() == ModItems.powder_tennessine)
|
||||
return new ItemStack(ModItems.powder_reiium, 1);
|
||||
if(item.getItem() == ModItems.powder_cerium)
|
||||
return new ItemStack(ModItems.powder_lead, 1);
|
||||
if(item.getItem() == ModItems.powder_actinium)
|
||||
return new ItemStack(ModItems.powder_tennessine, 1);
|
||||
if(item.getItem() == ModItems.powder_lanthanium)
|
||||
return new ItemStack(ModItems.powder_astatine, 1);
|
||||
}
|
||||
|
||||
//PLUTONIUM
|
||||
if (part.getItem() == ModItems.part_plutonium) {
|
||||
if(mODE(item, "dustUranium"))
|
||||
return new ItemStack(ModItems.powder_schrabidium, 1);
|
||||
if(item.getItem() == ModItems.powder_plutonium)
|
||||
return new ItemStack(ModItems.powder_schrabidium, 1);
|
||||
if(item.getItem() == ModItems.powder_neptunium)
|
||||
return new ItemStack(ModItems.powder_schrabidium, 1);
|
||||
if(item.getItem() == ModItems.powder_unobtainium)
|
||||
return new ItemStack(ModItems.powder_daffergon, 1);
|
||||
if(item.getItem() == ModItems.cell_antimatter)
|
||||
return new ItemStack(ModItems.cell_anti_schrabidium, 1);
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public ArrayList<ItemStack> getAlloyFuels() {
|
||||
ArrayList<ItemStack> fuels = new ArrayList<ItemStack>();
|
||||
@ -270,324 +51,6 @@ public class MachineRecipes {
|
||||
return fuels;
|
||||
}
|
||||
|
||||
@Spaghetti("why did i do this?")
|
||||
public Map<Object[], Object> getCyclotronRecipes() {
|
||||
Map<Object[], Object> recipes = new HashMap<Object[], Object>();
|
||||
Item part = ModItems.part_lithium;
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.niter) },
|
||||
getCyclotronOutput(new ItemStack(part), new ItemStack(ModItems.niter)));
|
||||
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.powder_coal) },
|
||||
getCyclotronOutput(new ItemStack(part), new ItemStack(ModItems.powder_coal)));
|
||||
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.powder_iron) },
|
||||
getCyclotronOutput(new ItemStack(part), new ItemStack(ModItems.powder_iron)));
|
||||
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.powder_gold) },
|
||||
getCyclotronOutput(new ItemStack(part), new ItemStack(ModItems.powder_gold)));
|
||||
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.powder_quartz) },
|
||||
getCyclotronOutput(new ItemStack(part), new ItemStack(ModItems.powder_quartz)));
|
||||
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.powder_uranium) },
|
||||
getCyclotronOutput(new ItemStack(part), new ItemStack(ModItems.powder_uranium)));
|
||||
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.powder_aluminium) },
|
||||
getCyclotronOutput(new ItemStack(part), new ItemStack(ModItems.powder_aluminium)));
|
||||
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.powder_beryllium) },
|
||||
getCyclotronOutput(new ItemStack(part), new ItemStack(ModItems.powder_beryllium)));
|
||||
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.powder_schrabidium) },
|
||||
getCyclotronOutput(new ItemStack(part), new ItemStack(ModItems.powder_schrabidium)));
|
||||
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.powder_lithium) },
|
||||
getCyclotronOutput(new ItemStack(part), new ItemStack(ModItems.powder_lithium)));
|
||||
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.powder_iodine) },
|
||||
getCyclotronOutput(new ItemStack(part), new ItemStack(ModItems.powder_iodine)));
|
||||
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.powder_thorium) },
|
||||
getCyclotronOutput(new ItemStack(part), new ItemStack(ModItems.powder_thorium)));
|
||||
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.powder_caesium) },
|
||||
getCyclotronOutput(new ItemStack(part), new ItemStack(ModItems.powder_caesium)));
|
||||
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.powder_reiium) },
|
||||
getCyclotronOutput(new ItemStack(part), new ItemStack(ModItems.powder_reiium)));
|
||||
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.powder_cobalt) },
|
||||
getCyclotronOutput(new ItemStack(part), new ItemStack(ModItems.powder_cobalt)));
|
||||
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.powder_cerium) },
|
||||
getCyclotronOutput(new ItemStack(part), new ItemStack(ModItems.powder_cerium)));
|
||||
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.powder_actinium) },
|
||||
getCyclotronOutput(new ItemStack(part), new ItemStack(ModItems.powder_actinium)));
|
||||
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.powder_lanthanium) },
|
||||
getCyclotronOutput(new ItemStack(part), new ItemStack(ModItems.powder_lanthanium)));
|
||||
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.nothing) },
|
||||
new ItemStack(ModItems.cell_antimatter));
|
||||
|
||||
part = ModItems.part_beryllium;
|
||||
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.sulfur) },
|
||||
getCyclotronOutput(new ItemStack(part), new ItemStack(ModItems.sulfur)));
|
||||
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.fluorite) },
|
||||
getCyclotronOutput(new ItemStack(part), new ItemStack(ModItems.fluorite)));
|
||||
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.powder_iron) },
|
||||
getCyclotronOutput(new ItemStack(part), new ItemStack(ModItems.powder_iron)));
|
||||
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.powder_quartz) },
|
||||
getCyclotronOutput(new ItemStack(part), new ItemStack(ModItems.powder_quartz)));
|
||||
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.powder_titanium) },
|
||||
getCyclotronOutput(new ItemStack(part), new ItemStack(ModItems.powder_titanium)));
|
||||
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.powder_copper) },
|
||||
getCyclotronOutput(new ItemStack(part), new ItemStack(ModItems.powder_copper)));
|
||||
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.powder_tungsten) },
|
||||
getCyclotronOutput(new ItemStack(part), new ItemStack(ModItems.powder_tungsten)));
|
||||
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.powder_aluminium) },
|
||||
getCyclotronOutput(new ItemStack(part), new ItemStack(ModItems.powder_aluminium)));
|
||||
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.powder_lead) },
|
||||
getCyclotronOutput(new ItemStack(part), new ItemStack(ModItems.powder_lead)));
|
||||
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.powder_beryllium) },
|
||||
getCyclotronOutput(new ItemStack(part), new ItemStack(ModItems.powder_beryllium)));
|
||||
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.powder_lithium) },
|
||||
getCyclotronOutput(new ItemStack(part), new ItemStack(ModItems.powder_lithium)));
|
||||
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.powder_iodine) },
|
||||
getCyclotronOutput(new ItemStack(part), new ItemStack(ModItems.powder_iodine)));
|
||||
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.powder_thorium) },
|
||||
getCyclotronOutput(new ItemStack(part), new ItemStack(ModItems.powder_thorium)));
|
||||
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.powder_astatine) },
|
||||
getCyclotronOutput(new ItemStack(part), new ItemStack(ModItems.powder_astatine)));
|
||||
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.powder_caesium) },
|
||||
getCyclotronOutput(new ItemStack(part), new ItemStack(ModItems.powder_caesium)));
|
||||
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.powder_weidanium) },
|
||||
getCyclotronOutput(new ItemStack(part), new ItemStack(ModItems.powder_weidanium)));
|
||||
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.powder_strontium) },
|
||||
getCyclotronOutput(new ItemStack(part), new ItemStack(ModItems.powder_strontium)));
|
||||
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.powder_bromine) },
|
||||
getCyclotronOutput(new ItemStack(part), new ItemStack(ModItems.powder_bromine)));
|
||||
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.powder_actinium) },
|
||||
getCyclotronOutput(new ItemStack(part), new ItemStack(ModItems.powder_actinium)));
|
||||
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.powder_lanthanium) },
|
||||
getCyclotronOutput(new ItemStack(part), new ItemStack(ModItems.powder_lanthanium)));
|
||||
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.nothing) },
|
||||
new ItemStack(ModItems.cell_antimatter));
|
||||
|
||||
part = ModItems.part_carbon;
|
||||
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.sulfur) },
|
||||
getCyclotronOutput(new ItemStack(part), new ItemStack(ModItems.sulfur)));
|
||||
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.niter) },
|
||||
getCyclotronOutput(new ItemStack(part), new ItemStack(ModItems.niter)));
|
||||
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.fluorite) },
|
||||
getCyclotronOutput(new ItemStack(part), new ItemStack(ModItems.fluorite)));
|
||||
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.powder_coal) },
|
||||
getCyclotronOutput(new ItemStack(part), new ItemStack(ModItems.powder_coal)));
|
||||
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.powder_iron) },
|
||||
getCyclotronOutput(new ItemStack(part), new ItemStack(ModItems.powder_iron)));
|
||||
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.powder_gold) },
|
||||
getCyclotronOutput(new ItemStack(part), new ItemStack(ModItems.powder_gold)));
|
||||
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.powder_quartz) },
|
||||
getCyclotronOutput(new ItemStack(part), new ItemStack(ModItems.powder_quartz)));
|
||||
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.powder_plutonium) },
|
||||
getCyclotronOutput(new ItemStack(part), new ItemStack(ModItems.powder_plutonium)));
|
||||
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.powder_neptunium) },
|
||||
getCyclotronOutput(new ItemStack(part), new ItemStack(ModItems.powder_neptunium)));
|
||||
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.powder_titanium) },
|
||||
getCyclotronOutput(new ItemStack(part), new ItemStack(ModItems.powder_titanium)));
|
||||
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.powder_copper) },
|
||||
getCyclotronOutput(new ItemStack(part), new ItemStack(ModItems.powder_copper)));
|
||||
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.powder_tungsten) },
|
||||
getCyclotronOutput(new ItemStack(part), new ItemStack(ModItems.powder_tungsten)));
|
||||
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.powder_aluminium) },
|
||||
getCyclotronOutput(new ItemStack(part), new ItemStack(ModItems.powder_aluminium)));
|
||||
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.powder_lead) },
|
||||
getCyclotronOutput(new ItemStack(part), new ItemStack(ModItems.powder_lead)));
|
||||
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.powder_beryllium) },
|
||||
getCyclotronOutput(new ItemStack(part), new ItemStack(ModItems.powder_beryllium)));
|
||||
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.powder_lithium) },
|
||||
getCyclotronOutput(new ItemStack(part), new ItemStack(ModItems.powder_lithium)));
|
||||
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.powder_iodine) },
|
||||
getCyclotronOutput(new ItemStack(part), new ItemStack(ModItems.powder_iodine)));
|
||||
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.powder_neodymium) },
|
||||
getCyclotronOutput(new ItemStack(part), new ItemStack(ModItems.powder_neodymium)));
|
||||
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.powder_australium) },
|
||||
getCyclotronOutput(new ItemStack(part), new ItemStack(ModItems.powder_australium)));
|
||||
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.powder_strontium) },
|
||||
getCyclotronOutput(new ItemStack(part), new ItemStack(ModItems.powder_strontium)));
|
||||
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.powder_cobalt) },
|
||||
getCyclotronOutput(new ItemStack(part), new ItemStack(ModItems.powder_cobalt)));
|
||||
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.powder_bromine) },
|
||||
getCyclotronOutput(new ItemStack(part), new ItemStack(ModItems.powder_bromine)));
|
||||
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.powder_niobium) },
|
||||
getCyclotronOutput(new ItemStack(part), new ItemStack(ModItems.powder_niobium)));
|
||||
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.powder_tennessine) },
|
||||
getCyclotronOutput(new ItemStack(part), new ItemStack(ModItems.powder_tennessine)));
|
||||
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.powder_cerium) },
|
||||
getCyclotronOutput(new ItemStack(part), new ItemStack(ModItems.powder_cerium)));
|
||||
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.nothing) },
|
||||
new ItemStack(ModItems.cell_antimatter));
|
||||
|
||||
part = ModItems.part_copper;
|
||||
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.sulfur) },
|
||||
getCyclotronOutput(new ItemStack(part), new ItemStack(ModItems.sulfur)));
|
||||
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.niter) },
|
||||
getCyclotronOutput(new ItemStack(part), new ItemStack(ModItems.niter)));
|
||||
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.fluorite) },
|
||||
getCyclotronOutput(new ItemStack(part), new ItemStack(ModItems.fluorite)));
|
||||
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.powder_coal) },
|
||||
getCyclotronOutput(new ItemStack(part), new ItemStack(ModItems.powder_coal)));
|
||||
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.powder_iron) },
|
||||
getCyclotronOutput(new ItemStack(part), new ItemStack(ModItems.powder_iron)));
|
||||
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.powder_gold) },
|
||||
getCyclotronOutput(new ItemStack(part), new ItemStack(ModItems.powder_gold)));
|
||||
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.powder_quartz) },
|
||||
getCyclotronOutput(new ItemStack(part), new ItemStack(ModItems.powder_quartz)));
|
||||
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.powder_uranium) },
|
||||
getCyclotronOutput(new ItemStack(part), new ItemStack(ModItems.powder_uranium)));
|
||||
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.powder_titanium) },
|
||||
getCyclotronOutput(new ItemStack(part), new ItemStack(ModItems.powder_titanium)));
|
||||
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.powder_copper) },
|
||||
getCyclotronOutput(new ItemStack(part), new ItemStack(ModItems.powder_copper)));
|
||||
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.powder_tungsten) },
|
||||
getCyclotronOutput(new ItemStack(part), new ItemStack(ModItems.powder_tungsten)));
|
||||
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.powder_aluminium) },
|
||||
getCyclotronOutput(new ItemStack(part), new ItemStack(ModItems.powder_aluminium)));
|
||||
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.powder_lead) },
|
||||
getCyclotronOutput(new ItemStack(part), new ItemStack(ModItems.powder_lead)));
|
||||
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.powder_beryllium) },
|
||||
getCyclotronOutput(new ItemStack(part), new ItemStack(ModItems.powder_beryllium)));
|
||||
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.powder_lithium) },
|
||||
getCyclotronOutput(new ItemStack(part), new ItemStack(ModItems.powder_lithium)));
|
||||
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.powder_iodine) },
|
||||
getCyclotronOutput(new ItemStack(part), new ItemStack(ModItems.powder_iodine)));
|
||||
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.powder_thorium) },
|
||||
getCyclotronOutput(new ItemStack(part), new ItemStack(ModItems.powder_thorium)));
|
||||
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.powder_neodymium) },
|
||||
getCyclotronOutput(new ItemStack(part), new ItemStack(ModItems.powder_neodymium)));
|
||||
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.powder_astatine) },
|
||||
getCyclotronOutput(new ItemStack(part), new ItemStack(ModItems.powder_astatine)));
|
||||
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.powder_caesium) },
|
||||
getCyclotronOutput(new ItemStack(part), new ItemStack(ModItems.powder_caesium)));
|
||||
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.powder_verticium) },
|
||||
getCyclotronOutput(new ItemStack(part), new ItemStack(ModItems.powder_verticium)));
|
||||
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.powder_cobalt) },
|
||||
getCyclotronOutput(new ItemStack(part), new ItemStack(ModItems.powder_cobalt)));
|
||||
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.powder_bromine) },
|
||||
getCyclotronOutput(new ItemStack(part), new ItemStack(ModItems.powder_bromine)));
|
||||
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.powder_niobium) },
|
||||
getCyclotronOutput(new ItemStack(part), new ItemStack(ModItems.powder_niobium)));
|
||||
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.powder_tennessine) },
|
||||
getCyclotronOutput(new ItemStack(part), new ItemStack(ModItems.powder_tennessine)));
|
||||
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.powder_cerium) },
|
||||
getCyclotronOutput(new ItemStack(part), new ItemStack(ModItems.powder_cerium)));
|
||||
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.powder_actinium) },
|
||||
getCyclotronOutput(new ItemStack(part), new ItemStack(ModItems.powder_actinium)));
|
||||
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.powder_lanthanium) },
|
||||
getCyclotronOutput(new ItemStack(part), new ItemStack(ModItems.powder_lanthanium)));
|
||||
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.nothing) },
|
||||
new ItemStack(ModItems.cell_antimatter));
|
||||
|
||||
part = ModItems.part_plutonium;
|
||||
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.powder_uranium) },
|
||||
getCyclotronOutput(new ItemStack(part), new ItemStack(ModItems.powder_uranium)));
|
||||
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.powder_plutonium) },
|
||||
getCyclotronOutput(new ItemStack(part), new ItemStack(ModItems.powder_plutonium)));
|
||||
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.powder_neptunium) },
|
||||
getCyclotronOutput(new ItemStack(part), new ItemStack(ModItems.powder_neptunium)));
|
||||
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.powder_unobtainium) },
|
||||
getCyclotronOutput(new ItemStack(part), new ItemStack(ModItems.powder_unobtainium)));
|
||||
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.cell_antimatter) },
|
||||
getCyclotronOutput(new ItemStack(part), new ItemStack(ModItems.cell_antimatter)));
|
||||
|
||||
recipes.put(new ItemStack[] { new ItemStack(part), new ItemStack(ModItems.nothing) },
|
||||
new ItemStack(ModItems.cell_antimatter));
|
||||
|
||||
return recipes;
|
||||
}
|
||||
|
||||
/*
|
||||
* this is the smoldering crater where once the 2016 shredder recipe code was
|
||||
*/
|
||||
|
||||
@ -28,6 +28,11 @@ public class RefineryRecipes {
|
||||
public static final int crack_frac_aroma = 15;
|
||||
public static final int crack_frac_unsat = 15;
|
||||
|
||||
public static final int vac_frac_heavy = 40;
|
||||
public static final int vac_frac_reform = 25;
|
||||
public static final int vac_frac_light = 20;
|
||||
public static final int vac_frac_sour = 15;
|
||||
|
||||
private static Map<FluidType, Quintet<FluidStack, FluidStack, FluidStack, FluidStack, ItemStack>> refinery = new HashMap();
|
||||
|
||||
public static Map<Object, Object[]> getRefineryRecipe() {
|
||||
@ -50,6 +55,19 @@ public class RefineryRecipes {
|
||||
return recipes;
|
||||
}
|
||||
|
||||
public static HashMap<Object, Object[]> getVacuumRecipe() {
|
||||
|
||||
HashMap<Object, Object[]> recipes = new HashMap<Object, Object[]>();
|
||||
recipes.put(ItemFluidIcon.make(Fluids.OIL, 1000),
|
||||
new ItemStack[] {
|
||||
ItemFluidIcon.make(Fluids.HEAVYOIL_VACUUM, vac_frac_heavy * 10),
|
||||
ItemFluidIcon.make(Fluids.REFORMATE, vac_frac_reform * 10),
|
||||
ItemFluidIcon.make(Fluids.LIGHTOIL_VACUUM, vac_frac_light * 10),
|
||||
ItemFluidIcon.make(Fluids.SOURGAS, vac_frac_sour * 10) });
|
||||
|
||||
return recipes;
|
||||
}
|
||||
|
||||
public static void registerRefinery() {
|
||||
refinery.put(Fluids.HOTOIL, new Quintet(
|
||||
new FluidStack(Fluids.HEAVYOIL, oil_frac_heavy),
|
||||
|
||||
@ -36,6 +36,7 @@ public class NEIConfig implements IConfigureNEI {
|
||||
registerHandler(new CyclotronRecipeHandler());
|
||||
registerHandler(new AssemblerRecipeHandler());
|
||||
registerHandler(new RefineryRecipeHandler());
|
||||
registerHandler(new VacuumRecipeHandler());
|
||||
registerHandler(new BoilerRecipeHandler());
|
||||
registerHandler(new ChemplantRecipeHandler());
|
||||
registerHandler(new FluidRecipeHandler());
|
||||
|
||||
@ -84,4 +84,13 @@ public interface IRepairable {
|
||||
|
||||
ILookOverlay.printGeneric(event, I18nUtil.resolveKey(dummyable.getUnlocalizedName() + ".name"), 0xffff00, 0x404000, text);
|
||||
}
|
||||
|
||||
public void tryExtinguish(World world, int x, int y, int z, EnumExtinguishType type);
|
||||
|
||||
public static enum EnumExtinguishType {
|
||||
WATER,
|
||||
FOAM,
|
||||
SAND,
|
||||
CO2
|
||||
}
|
||||
}
|
||||
|
||||
@ -63,6 +63,7 @@ public class TileEntityMachineRefinery extends TileEntityMachineBase implements
|
||||
public List<IFluidAcceptor> list4 = new ArrayList();
|
||||
|
||||
public boolean hasExploded = false;
|
||||
public boolean onFire = false;
|
||||
public Explosion lastExplosion = null;
|
||||
|
||||
private static final int[] slot_access = new int[] {11};
|
||||
@ -99,6 +100,7 @@ public class TileEntityMachineRefinery extends TileEntityMachineBase implements
|
||||
tanks[4].readFromNBT(nbt, "petroleum");
|
||||
sulfur = nbt.getInteger("sulfur");
|
||||
hasExploded = nbt.getBoolean("exploded");
|
||||
onFire = nbt.getBoolean("onFire");
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -113,6 +115,7 @@ public class TileEntityMachineRefinery extends TileEntityMachineBase implements
|
||||
tanks[4].writeToNBT(nbt, "petroleum");
|
||||
nbt.setInteger("sulfur", sulfur);
|
||||
nbt.setBoolean("exploded", hasExploded);
|
||||
nbt.setBoolean("onFire", onFire);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -175,17 +178,17 @@ public class TileEntityMachineRefinery extends TileEntityMachineBase implements
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
} else if(onFire){
|
||||
|
||||
boolean isBurning = false;
|
||||
boolean hasFuel = false;
|
||||
for(int i = 0; i < 5; i++) {
|
||||
if(tanks[i].getFill() > 0) {
|
||||
tanks[i].setFill(Math.max(tanks[i].getFill() - 10, 0));
|
||||
isBurning = true;
|
||||
hasFuel = true;
|
||||
}
|
||||
}
|
||||
|
||||
if(isBurning) {
|
||||
if(hasFuel) {
|
||||
List<Entity> affected = worldObj.getEntitiesWithinAABB(Entity.class, AxisAlignedBB.getBoundingBox(xCoord - 1.5, yCoord, zCoord - 1.5, xCoord + 2.5, yCoord + 8, zCoord + 2.5));
|
||||
for(Entity e : affected) e.setFire(5);
|
||||
Random rand = worldObj.rand;
|
||||
@ -197,6 +200,7 @@ public class TileEntityMachineRefinery extends TileEntityMachineBase implements
|
||||
data.setLong("power", this.power);
|
||||
for(int i = 0; i < 5; i++) tanks[i].writeToNBT(data, "" + i);
|
||||
data.setBoolean("exploded", hasExploded);
|
||||
data.setBoolean("onFire", onFire);
|
||||
this.networkPack(data, 150);
|
||||
}
|
||||
}
|
||||
@ -206,6 +210,7 @@ public class TileEntityMachineRefinery extends TileEntityMachineBase implements
|
||||
this.power = nbt.getLong("power");
|
||||
for(int i = 0; i < 5; i++) tanks[i].readFromNBT(nbt, "" + i);
|
||||
this.hasExploded = nbt.getBoolean("exploded");
|
||||
this.onFire = nbt.getBoolean("onFire");
|
||||
}
|
||||
|
||||
private void refine() {
|
||||
@ -439,9 +444,30 @@ public class TileEntityMachineRefinery extends TileEntityMachineBase implements
|
||||
if(this.hasExploded) return;
|
||||
|
||||
this.hasExploded = true;
|
||||
this.onFire = true;
|
||||
this.markChanged();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void tryExtinguish(World world, int x, int y, int z, EnumExtinguishType type) {
|
||||
if(!this.hasExploded || !this.onFire) return;
|
||||
|
||||
if(type == EnumExtinguishType.FOAM || type == EnumExtinguishType.CO2) {
|
||||
this.onFire = false;
|
||||
this.markChanged();
|
||||
return;
|
||||
}
|
||||
|
||||
if(type == EnumExtinguishType.WATER) {
|
||||
for(FluidTank tank : tanks) {
|
||||
if(tank.getFill() > 0) {
|
||||
worldObj.newExplosion(null, xCoord + 0.5, yCoord + 1.5, zCoord + 0.5, 5F, true, true);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isDamaged() {
|
||||
return this.hasExploded;
|
||||
@ -471,6 +497,7 @@ public class TileEntityMachineRefinery extends TileEntityMachineBase implements
|
||||
NBTTagCompound data = new NBTTagCompound();
|
||||
for(int i = 0; i < 5; i++) this.tanks[i].writeToNBT(data, "" + i);
|
||||
data.setBoolean("hasExploded", hasExploded);
|
||||
data.setBoolean("onFire", onFire);
|
||||
nbt.setTag(NBT_PERSISTENT_KEY, data);
|
||||
}
|
||||
|
||||
@ -479,6 +506,7 @@ public class TileEntityMachineRefinery extends TileEntityMachineBase implements
|
||||
NBTTagCompound data = nbt.getCompoundTag(NBT_PERSISTENT_KEY);
|
||||
for(int i = 0; i < 5; i++) this.tanks[i].readFromNBT(data, "" + i);
|
||||
this.hasExploded = data.getBoolean("hasExploded");
|
||||
this.onFire = data.getBoolean("onFire");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@ -5,6 +5,7 @@ import com.hbm.inventory.fluid.FluidType;
|
||||
import com.hbm.inventory.fluid.Fluids;
|
||||
import com.hbm.inventory.fluid.tank.FluidTank;
|
||||
import com.hbm.inventory.gui.GUIMachineVacuumDistill;
|
||||
import com.hbm.inventory.recipes.RefineryRecipes;
|
||||
import com.hbm.lib.Library;
|
||||
import com.hbm.tileentity.IGUIProvider;
|
||||
import com.hbm.tileentity.IPersistentNBT;
|
||||
@ -87,17 +88,17 @@ public class TileEntityMachineVacuumDistill extends TileEntityMachineBase implem
|
||||
|
||||
if(power < 10_000) return;
|
||||
if(tanks[0].getFill() < 100) return;
|
||||
if(tanks[1].getFill() + 40 > tanks[1].getMaxFill()) return;
|
||||
if(tanks[2].getFill() + 25 > tanks[2].getMaxFill()) return;
|
||||
if(tanks[3].getFill() + 15 > tanks[3].getMaxFill()) return;
|
||||
if(tanks[4].getFill() + 10 > tanks[4].getMaxFill()) return;
|
||||
if(tanks[1].getFill() + RefineryRecipes.vac_frac_heavy > tanks[1].getMaxFill()) return;
|
||||
if(tanks[2].getFill() + RefineryRecipes.vac_frac_reform > tanks[2].getMaxFill()) return;
|
||||
if(tanks[3].getFill() + RefineryRecipes.vac_frac_light > tanks[3].getMaxFill()) return;
|
||||
if(tanks[4].getFill() + RefineryRecipes.vac_frac_sour > tanks[4].getMaxFill()) return;
|
||||
|
||||
power -= 10_000;
|
||||
tanks[0].setFill(tanks[0].getFill() - 100);
|
||||
tanks[1].setFill(tanks[1].getFill() + 40);
|
||||
tanks[2].setFill(tanks[2].getFill() + 25);
|
||||
tanks[3].setFill(tanks[3].getFill() + 15);
|
||||
tanks[4].setFill(tanks[4].getFill() + 10);
|
||||
tanks[1].setFill(tanks[1].getFill() + RefineryRecipes.vac_frac_heavy);
|
||||
tanks[2].setFill(tanks[2].getFill() + RefineryRecipes.vac_frac_reform);
|
||||
tanks[3].setFill(tanks[3].getFill() + RefineryRecipes.vac_frac_light);
|
||||
tanks[4].setFill(tanks[4].getFill() + RefineryRecipes.vac_frac_sour);
|
||||
}
|
||||
|
||||
private void updateConnections() {
|
||||
@ -127,9 +128,9 @@ public class TileEntityMachineVacuumDistill extends TileEntityMachineBase implem
|
||||
power = nbt.getLong("power");
|
||||
tanks[0].readFromNBT(nbt, "input");
|
||||
tanks[1].readFromNBT(nbt, "heavy");
|
||||
tanks[2].readFromNBT(nbt, "naphtha");
|
||||
tanks[2].readFromNBT(nbt, "reformate");
|
||||
tanks[3].readFromNBT(nbt, "light");
|
||||
tanks[4].readFromNBT(nbt, "petroleum");
|
||||
tanks[4].readFromNBT(nbt, "gas");
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -139,9 +140,9 @@ public class TileEntityMachineVacuumDistill extends TileEntityMachineBase implem
|
||||
nbt.setLong("power", power);
|
||||
tanks[0].writeToNBT(nbt, "input");
|
||||
tanks[1].writeToNBT(nbt, "heavy");
|
||||
tanks[2].writeToNBT(nbt, "naphtha");
|
||||
tanks[2].writeToNBT(nbt, "reformate");
|
||||
tanks[3].writeToNBT(nbt, "light");
|
||||
tanks[4].writeToNBT(nbt, "petroleum");
|
||||
tanks[4].writeToNBT(nbt, "gas");
|
||||
}
|
||||
|
||||
AxisAlignedBB bb = null;
|
||||
|
||||
@ -21,6 +21,7 @@ import com.hbm.inventory.fluid.trait.FT_Flammable;
|
||||
import com.hbm.inventory.fluid.trait.FluidTraitSimple.FT_Amat;
|
||||
import com.hbm.inventory.fluid.trait.FluidTraitSimple.FT_Gaseous;
|
||||
import com.hbm.inventory.fluid.trait.FluidTraitSimple.FT_Gaseous_ART;
|
||||
import com.hbm.inventory.fluid.trait.FluidTraitSimple.FT_Liquid;
|
||||
import com.hbm.inventory.gui.GUIMachineFluidTank;
|
||||
import com.hbm.inventory.fluid.Fluids;
|
||||
import com.hbm.inventory.fluid.tank.FluidTank;
|
||||
@ -56,6 +57,7 @@ public class TileEntityMachineFluidTank extends TileEntityMachineBase implements
|
||||
public static final short modes = 4;
|
||||
public boolean hasExploded = false;
|
||||
protected boolean sendingBrake = false;
|
||||
public boolean onFire = false;
|
||||
|
||||
public Explosion lastExplosion = null;
|
||||
|
||||
@ -149,6 +151,7 @@ public class TileEntityMachineFluidTank extends TileEntityMachineBase implements
|
||||
/** called when the tank breaks due to hazardous materials or external force, can be used to quickly void part of the tank or spawn a mushroom cloud */
|
||||
public void explode() {
|
||||
this.hasExploded = true;
|
||||
this.onFire = tank.getTankType().hasTrait(FT_Flammable.class);
|
||||
this.markChanged();
|
||||
}
|
||||
|
||||
@ -165,13 +168,13 @@ public class TileEntityMachineFluidTank extends TileEntityMachineBase implements
|
||||
if(type.hasTrait(FT_Amat.class)) {
|
||||
new ExplosionVNT(worldObj, xCoord + 0.5, yCoord + 1.5, zCoord + 0.5, 5F).makeAmat().setBlockAllocator(null).setBlockProcessor(null).explode();
|
||||
|
||||
} else if(tank.getTankType().hasTrait(FT_Flammable.class)) {
|
||||
} else if(type.hasTrait(FT_Flammable.class) && onFire) {
|
||||
List<Entity> affected = worldObj.getEntitiesWithinAABB(Entity.class, AxisAlignedBB.getBoundingBox(xCoord - 1.5, yCoord, zCoord - 1.5, xCoord + 2.5, yCoord + 5, zCoord + 2.5));
|
||||
for(Entity e : affected) e.setFire(5);
|
||||
Random rand = worldObj.rand;
|
||||
ParticleUtil.spawnGasFlame(worldObj, xCoord + rand.nextDouble(), yCoord + 0.5 + rand.nextDouble(), zCoord + rand.nextDouble(), rand.nextGaussian() * 0.2, 0.1, rand.nextGaussian() * 0.2);
|
||||
|
||||
} else if(tank.getTankType().hasTrait(FT_Gaseous.class) || tank.getTankType().hasTrait(FT_Gaseous_ART.class)) {
|
||||
} else if(type.hasTrait(FT_Gaseous.class) || type.hasTrait(FT_Gaseous_ART.class)) {
|
||||
|
||||
if(worldObj.getTotalWorldTime() % 5 == 0) {
|
||||
NBTTagCompound data = new NBTTagCompound();
|
||||
@ -190,10 +193,30 @@ public class TileEntityMachineFluidTank extends TileEntityMachineBase implements
|
||||
public void explode(World world, int x, int y, int z) {
|
||||
|
||||
if(this.hasExploded) return;
|
||||
|
||||
this.onFire = tank.getTankType().hasTrait(FT_Flammable.class);
|
||||
this.hasExploded = true;
|
||||
this.markChanged();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void tryExtinguish(World world, int x, int y, int z, EnumExtinguishType type) {
|
||||
if(!this.hasExploded || !this.onFire) return;
|
||||
|
||||
if(type == EnumExtinguishType.WATER) {
|
||||
if(tank.getTankType().hasTrait(FT_Liquid.class)) { // extinguishing oil with water is a terrible idea!
|
||||
worldObj.newExplosion(null, xCoord + 0.5, yCoord + 1.5, zCoord + 0.5, 5F, true, true);
|
||||
} else {
|
||||
this.onFire = false;
|
||||
this.markChanged();
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if(type == EnumExtinguishType.FOAM || type == EnumExtinguishType.CO2) {
|
||||
this.onFire = false;
|
||||
this.markChanged();
|
||||
}
|
||||
}
|
||||
|
||||
protected DirPos[] getConPos() {
|
||||
return new DirPos[] {
|
||||
@ -317,6 +340,7 @@ public class TileEntityMachineFluidTank extends TileEntityMachineBase implements
|
||||
mode = nbt.getShort("mode");
|
||||
tank.readFromNBT(nbt, "tank");
|
||||
hasExploded = nbt.getBoolean("exploded");
|
||||
onFire = nbt.getBoolean("onFire");
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -326,6 +350,7 @@ public class TileEntityMachineFluidTank extends TileEntityMachineBase implements
|
||||
nbt.setShort("mode", mode);
|
||||
tank.writeToNBT(nbt, "tank");
|
||||
nbt.setBoolean("exploded", hasExploded);
|
||||
nbt.setBoolean("onFire", onFire);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -356,6 +381,7 @@ public class TileEntityMachineFluidTank extends TileEntityMachineBase implements
|
||||
this.tank.writeToNBT(data, "tank");
|
||||
data.setShort("mode", mode);
|
||||
data.setBoolean("hasExploded", hasExploded);
|
||||
data.setBoolean("onFire", onFire);
|
||||
nbt.setTag(NBT_PERSISTENT_KEY, data);
|
||||
}
|
||||
|
||||
@ -365,6 +391,7 @@ public class TileEntityMachineFluidTank extends TileEntityMachineBase implements
|
||||
this.tank.readFromNBT(data, "tank");
|
||||
this.mode = data.getShort("mode");
|
||||
this.hasExploded = data.getBoolean("hasExploded");
|
||||
this.onFire = data.getBoolean("onFire");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@ -1051,6 +1051,7 @@ item.balefire_and_steel.name=Balefire-Zeug
|
||||
item.balefire_scrambled.name=Rühr-Balefire-Ei
|
||||
item.ball_dynamite.name=Dynamit
|
||||
item.ball_fireclay.name=Schamott
|
||||
item.ball_tatb.name=TATB
|
||||
item.ball_tnt.name=TNT
|
||||
item.ballistic_gauntlet.name=Ballistischer Panzerhandschuh
|
||||
item.ballistite.name=Ballistit
|
||||
@ -1074,6 +1075,7 @@ item.battery_red_cell_24.name=24-fache Redstone-Energiezelle
|
||||
item.battery_red_cell_6.name=Sechsfache Redstone-Energiezelle
|
||||
item.battery_sc_americium.name=Americium-241-Selbstlader
|
||||
item.battery_sc_gold.name=Gold-198-Selbstlader
|
||||
item.battery_sc_lead.name=Blei-209-Selbstlader
|
||||
item.battery_sc_plutonium.name=Plutonium-238-Selbstlader
|
||||
item.battery_sc_polonium.name=Polonium-210-Selbstlader
|
||||
item.battery_sc_technetium.name=Technerium-99-Selbstlader
|
||||
|
||||
@ -1619,6 +1619,7 @@ item.balefire_and_steel.name=Balefire and Steel
|
||||
item.balefire_scrambled.name=Scrambled Balefire Egg
|
||||
item.ball_dynamite.name=Dynamite
|
||||
item.ball_fireclay.name=Fireclay
|
||||
item.ball_tatb.name=TATB
|
||||
item.ball_tnt.name=TNT
|
||||
item.ballistic_gauntlet.name=Ballistic Gauntlet
|
||||
item.ballistite.name=Ballistite
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user