Merge branch 'master' into moige

This commit is contained in:
George Paton 2025-02-03 10:44:17 +11:00
commit c49161ab39
68 changed files with 10195 additions and 10714 deletions

View File

@ -1,8 +1,25 @@
## Added
* Bauxite processing
* Bauxite is now processed by mixing it with lye, and then fractioning it into sodium aluminate and red mud
* Red mud can now be turned into cement
* Sodium aluminate can either be processed directly into aluminium in a rotary furnace, or turned into alumina with fluorite to be used in an electrolyzer
* Standard aluminium ore is now "aluminium-bearing ore" which drops cryolite, which can either be smelted into aluminium like normal or combination smelted into aluminium and lye
* Particle accelerator
* Should be about finished now
* Recipes should now be doable
* Added recipes to all the components
* Changed the dipole mechanic from a momentum penalty to a power draw penalty for smaller accelerator rings
* Added explicit compressor recipes for perfluoromethyl in order to change the standard compression speed of 100 ticks to 50
* All the parts have tooltips, you'll figure it out
## Changed ## Changed
* Blast doors will now pulverize any block that gets in their way during closing * Blast doors will now pulverize any block that gets in their way during closing
* The nuclear and RTG furnaces will be retired, their recipes have been removed but they remain operational for now * The nuclear and RTG furnaces will be retired, their recipes have been removed but they remain operational for now
* Changed the magnetron recipe to be 3 copper plates and 4 tungsten wires
* Added recipes to some secret ammo types
## Fixed ## Fixed
* Fixed the CCGT's steam output breaking as soon as the steam buffer runs full * Fixed the CCGT's steam output breaking as soon as the steam buffer runs full
* Fixed crash caused by mobs holding belt-fed guns * Fixed crash caused by mobs holding belt-fed guns
* Fixed boiler heat input being way too low due to operation order (diffusion was applied AFTER the input heat was capped) * Fixed boiler heat input being way too low due to operation order (diffusion was applied AFTER the input heat was capped)
* Fixed stinger playing its lockon sound on the wrong side

View File

@ -1,6 +1,6 @@
mod_version=1.0.27 mod_version=1.0.27
# Empty build number makes a release type # Empty build number makes a release type
mod_build_number=5224 mod_build_number=5229
credits=HbMinecraft,\ credits=HbMinecraft,\
\ rodolphito (explosion algorithms),\ \ rodolphito (explosion algorithms),\
@ -38,7 +38,7 @@ credits=HbMinecraft,\
\ VT-6/24 (models, textures),\ \ VT-6/24 (models, textures),\
\ Nos (models),\ \ Nos (models),\
\ Minecreep (models),\ \ Minecreep (models),\
\ 70k (textures, glyphid AI, strand caster, electrolyzer changes),\ \ 70k (textures, glyphid AI, strand caster, electrolyzer changes, cryolite),\
\ haru315 (spiral point algorithm),\ \ haru315 (spiral point algorithm),\
\ Sten89 (models),\ \ Sten89 (models),\
\ Pixelguru26 (textures),\ \ Pixelguru26 (textures),\

View File

@ -1,15 +1,20 @@
package com.hbm.blocks.machine.albion; package com.hbm.blocks.machine.albion;
import java.util.List;
import com.hbm.blocks.BlockDummyable; import com.hbm.blocks.BlockDummyable;
import com.hbm.blocks.ITooltipProvider;
import com.hbm.lib.RefStrings; import com.hbm.lib.RefStrings;
import com.hbm.main.MainRegistry; import com.hbm.main.MainRegistry;
import com.hbm.tileentity.machine.albion.TileEntityPABeamline; import com.hbm.tileentity.machine.albion.TileEntityPABeamline;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World; import net.minecraft.world.World;
public class BlockPABeamline extends BlockDummyable { public class BlockPABeamline extends BlockDummyable implements ITooltipProvider {
public BlockPABeamline() { public BlockPABeamline() {
super(Material.iron); super(Material.iron);
@ -25,4 +30,9 @@ public class BlockPABeamline extends BlockDummyable {
@Override public int[] getDimensions() { return new int[] {0, 0, 0, 0, 1, 1}; } @Override public int[] getDimensions() { return new int[] {0, 0, 0, 0, 1, 1}; }
@Override public int getOffset() { return 0; } @Override public int getOffset() { return 0; }
@Override
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) {
addStandardInfo(stack, player, list, ext);
}
} }

View File

@ -1,6 +1,9 @@
package com.hbm.blocks.machine.albion; package com.hbm.blocks.machine.albion;
import java.util.List;
import com.hbm.blocks.BlockDummyable; import com.hbm.blocks.BlockDummyable;
import com.hbm.blocks.ITooltipProvider;
import com.hbm.lib.RefStrings; import com.hbm.lib.RefStrings;
import com.hbm.main.MainRegistry; import com.hbm.main.MainRegistry;
import com.hbm.tileentity.TileEntityProxyCombo; import com.hbm.tileentity.TileEntityProxyCombo;
@ -8,11 +11,12 @@ import com.hbm.tileentity.machine.albion.TileEntityPADetector;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World; import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection; import net.minecraftforge.common.util.ForgeDirection;
public class BlockPADetector extends BlockDummyable { public class BlockPADetector extends BlockDummyable implements ITooltipProvider {
public BlockPADetector() { public BlockPADetector() {
super(Material.iron); super(Material.iron);
@ -48,4 +52,9 @@ public class BlockPADetector extends BlockDummyable {
this.makeExtra(world, x - rot.offsetX * 4 + dir.offsetX, y, z - rot.offsetZ * 4 + dir.offsetZ); this.makeExtra(world, x - rot.offsetX * 4 + dir.offsetX, y, z - rot.offsetZ * 4 + dir.offsetZ);
this.makeExtra(world, x - rot.offsetX * 4 - dir.offsetX, y, z - rot.offsetZ * 4 - dir.offsetZ); this.makeExtra(world, x - rot.offsetX * 4 - dir.offsetX, y, z - rot.offsetZ * 4 - dir.offsetZ);
} }
@Override
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) {
addStandardInfo(stack, player, list, ext);
}
} }

View File

@ -1,6 +1,9 @@
package com.hbm.blocks.machine.albion; package com.hbm.blocks.machine.albion;
import java.util.List;
import com.hbm.blocks.BlockDummyable; import com.hbm.blocks.BlockDummyable;
import com.hbm.blocks.ITooltipProvider;
import com.hbm.lib.RefStrings; import com.hbm.lib.RefStrings;
import com.hbm.main.MainRegistry; import com.hbm.main.MainRegistry;
import com.hbm.tileentity.TileEntityProxyCombo; import com.hbm.tileentity.TileEntityProxyCombo;
@ -8,11 +11,12 @@ import com.hbm.tileentity.machine.albion.TileEntityPADipole;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World; import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection; import net.minecraftforge.common.util.ForgeDirection;
public class BlockPADipole extends BlockDummyable { public class BlockPADipole extends BlockDummyable implements ITooltipProvider {
public BlockPADipole() { public BlockPADipole() {
super(Material.iron); super(Material.iron);
@ -49,4 +53,9 @@ public class BlockPADipole extends BlockDummyable {
this.makeExtra(world, x, y + 1, z + 1); this.makeExtra(world, x, y + 1, z + 1);
this.makeExtra(world, x, y + 1, z - 1); this.makeExtra(world, x, y + 1, z - 1);
} }
@Override
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) {
addStandardInfo(stack, player, list, ext);
}
} }

View File

@ -1,6 +1,9 @@
package com.hbm.blocks.machine.albion; package com.hbm.blocks.machine.albion;
import java.util.List;
import com.hbm.blocks.BlockDummyable; import com.hbm.blocks.BlockDummyable;
import com.hbm.blocks.ITooltipProvider;
import com.hbm.lib.RefStrings; import com.hbm.lib.RefStrings;
import com.hbm.main.MainRegistry; import com.hbm.main.MainRegistry;
import com.hbm.tileentity.TileEntityProxyCombo; import com.hbm.tileentity.TileEntityProxyCombo;
@ -8,11 +11,12 @@ import com.hbm.tileentity.machine.albion.TileEntityPAQuadrupole;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World; import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection; import net.minecraftforge.common.util.ForgeDirection;
public class BlockPAQuadrupole extends BlockDummyable { public class BlockPAQuadrupole extends BlockDummyable implements ITooltipProvider {
public BlockPAQuadrupole() { public BlockPAQuadrupole() {
super(Material.iron); super(Material.iron);
@ -45,4 +49,9 @@ public class BlockPAQuadrupole extends BlockDummyable {
this.makeExtra(world, x, y + 1, z); this.makeExtra(world, x, y + 1, z);
this.makeExtra(world, x, y - 1, z); this.makeExtra(world, x, y - 1, z);
} }
@Override
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) {
addStandardInfo(stack, player, list, ext);
}
} }

View File

@ -1,6 +1,9 @@
package com.hbm.blocks.machine.albion; package com.hbm.blocks.machine.albion;
import java.util.List;
import com.hbm.blocks.BlockDummyable; import com.hbm.blocks.BlockDummyable;
import com.hbm.blocks.ITooltipProvider;
import com.hbm.lib.RefStrings; import com.hbm.lib.RefStrings;
import com.hbm.main.MainRegistry; import com.hbm.main.MainRegistry;
import com.hbm.tileentity.TileEntityProxyCombo; import com.hbm.tileentity.TileEntityProxyCombo;
@ -8,11 +11,12 @@ import com.hbm.tileentity.machine.albion.TileEntityPARFC;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World; import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection; import net.minecraftforge.common.util.ForgeDirection;
public class BlockPARFC extends BlockDummyable { public class BlockPARFC extends BlockDummyable implements ITooltipProvider {
public BlockPARFC() { public BlockPARFC() {
super(Material.iron); super(Material.iron);
@ -48,4 +52,9 @@ public class BlockPARFC extends BlockDummyable {
this.makeExtra(world, x - dir.offsetX * 3, y - 1, z - dir.offsetZ * 3); this.makeExtra(world, x - dir.offsetX * 3, y - 1, z - dir.offsetZ * 3);
this.makeExtra(world, x, y - 1, z); this.makeExtra(world, x, y - 1, z);
} }
@Override
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) {
addStandardInfo(stack, player, list, ext);
}
} }

View File

@ -1,6 +1,9 @@
package com.hbm.blocks.machine.albion; package com.hbm.blocks.machine.albion;
import java.util.List;
import com.hbm.blocks.BlockDummyable; import com.hbm.blocks.BlockDummyable;
import com.hbm.blocks.ITooltipProvider;
import com.hbm.lib.RefStrings; import com.hbm.lib.RefStrings;
import com.hbm.main.MainRegistry; import com.hbm.main.MainRegistry;
import com.hbm.tileentity.TileEntityProxyCombo; import com.hbm.tileentity.TileEntityProxyCombo;
@ -8,11 +11,12 @@ import com.hbm.tileentity.machine.albion.TileEntityPASource;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World; import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection; import net.minecraftforge.common.util.ForgeDirection;
public class BlockPASource extends BlockDummyable { public class BlockPASource extends BlockDummyable implements ITooltipProvider {
public BlockPASource() { public BlockPASource() {
super(Material.iron); super(Material.iron);
@ -50,4 +54,9 @@ public class BlockPASource extends BlockDummyable {
this.makeExtra(world, x - dir.offsetX + rot.offsetX * 2, y, z - dir.offsetZ + rot.offsetZ * 2); this.makeExtra(world, x - dir.offsetX + rot.offsetX * 2, y, z - dir.offsetZ + rot.offsetZ * 2);
this.makeExtra(world, x - dir.offsetX - rot.offsetX * 2, y, z - dir.offsetZ - rot.offsetZ * 2); this.makeExtra(world, x - dir.offsetX - rot.offsetX * 2, y, z - dir.offsetZ - rot.offsetZ * 2);
} }
@Override
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) {
addStandardInfo(stack, player, list, ext);
}
} }

View File

@ -36,7 +36,7 @@ public class SmeltingRecipes {
GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_copper), new ItemStack(ModItems.ingot_copper), 2.5F); GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_copper), new ItemStack(ModItems.ingot_copper), 2.5F);
GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_tungsten), new ItemStack(ModItems.ingot_tungsten), 6.0F); GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_tungsten), new ItemStack(ModItems.ingot_tungsten), 6.0F);
GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_nether_tungsten), new ItemStack(ModItems.ingot_tungsten), 12.0F); GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_nether_tungsten), new ItemStack(ModItems.ingot_tungsten), 12.0F);
GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_aluminium), new ItemStack(ModItems.ingot_aluminium), 2.5F); GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_aluminium), DictFrame.fromOne(ModItems.chunk_ore, EnumChunkType.CRYOLITE, 1), 2.5F);
GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_lead), new ItemStack(ModItems.ingot_lead), 3.0F); GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_lead), new ItemStack(ModItems.ingot_lead), 3.0F);
GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_beryllium), new ItemStack(ModItems.ingot_beryllium), 2.0F); GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_beryllium), new ItemStack(ModItems.ingot_beryllium), 2.0F);
GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_schrabidium), new ItemStack(ModItems.ingot_schrabidium), 128.0F); GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_schrabidium), new ItemStack(ModItems.ingot_schrabidium), 128.0F);
@ -46,7 +46,7 @@ public class SmeltingRecipes {
GameRegistry.addSmelting(DictFrame.fromOne(ModBlocks.ore_meteor, EnumMeteorType.IRON), new ItemStack(Items.iron_ingot, 16), 10.0F); GameRegistry.addSmelting(DictFrame.fromOne(ModBlocks.ore_meteor, EnumMeteorType.IRON), new ItemStack(Items.iron_ingot, 16), 10.0F);
GameRegistry.addSmelting(DictFrame.fromOne(ModBlocks.ore_meteor, EnumMeteorType.COPPER), new ItemStack(ModItems.ingot_copper, 16), 10.0F); GameRegistry.addSmelting(DictFrame.fromOne(ModBlocks.ore_meteor, EnumMeteorType.COPPER), new ItemStack(ModItems.ingot_copper, 16), 10.0F);
GameRegistry.addSmelting(DictFrame.fromOne(ModBlocks.ore_meteor, EnumMeteorType.ALUMINIUM), new ItemStack(ModItems.ingot_aluminium, 16), 10.0F); GameRegistry.addSmelting(DictFrame.fromOne(ModBlocks.ore_meteor, EnumMeteorType.ALUMINIUM), DictFrame.fromOne(ModItems.chunk_ore, EnumChunkType.CRYOLITE, 16), 10.0F);
GameRegistry.addSmelting(DictFrame.fromOne(ModBlocks.ore_meteor, EnumMeteorType.RAREEARTH), DictFrame.fromOne(ModItems.chunk_ore, EnumChunkType.RARE, 16), 10.0F); GameRegistry.addSmelting(DictFrame.fromOne(ModBlocks.ore_meteor, EnumMeteorType.RAREEARTH), DictFrame.fromOne(ModItems.chunk_ore, EnumChunkType.RARE, 16), 10.0F);
GameRegistry.addSmelting(DictFrame.fromOne(ModBlocks.ore_meteor, EnumMeteorType.COBALT), new ItemStack(ModItems.ingot_cobalt, 4), 10.0F); GameRegistry.addSmelting(DictFrame.fromOne(ModBlocks.ore_meteor, EnumMeteorType.COBALT), new ItemStack(ModItems.ingot_cobalt, 4), 10.0F);

View File

@ -158,8 +158,6 @@ public class WeaponRecipes {
//Ammo assemblies //Ammo assemblies
CraftingManager.addRecipeAuto(new ItemStack(ModItems.pellet_flechette, 1), new Object[] { " L ", " L ", "LLL", 'L', PB.nugget() });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.pellet_claws, 1), new Object[] { " X ", "X X", " XX", 'X', STEEL.plate() });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.assembly_nuke, 1), new Object[] { " WP", "SEP", " WP", 'W', GOLD.wireFine(), 'P', STEEL.plate(), 'S', STEEL.shell(), 'E', ModItems.ball_tatb }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.assembly_nuke, 1), new Object[] { " WP", "SEP", " WP", 'W', GOLD.wireFine(), 'P', STEEL.plate(), 'S', STEEL.shell(), 'E', ModItems.ball_tatb });
//240mm Shells //240mm Shells

View File

@ -0,0 +1,37 @@
package com.hbm.handler.nei;
import java.util.Locale;
import com.hbm.blocks.ModBlocks;
import com.hbm.inventory.recipes.ParticleAcceleratorRecipes;
import com.hbm.inventory.recipes.ParticleAcceleratorRecipes.ParticleAcceleratorRecipe;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.FontRenderer;
public class ParticleAcceleratorHandler extends NEIUniversalHandler {
public ParticleAcceleratorHandler() {
super(ModBlocks.pa_detector.getLocalizedName(), ModBlocks.pa_detector, ParticleAcceleratorRecipes.getRecipes());
}
@Override
public String getKey() {
return "ntmParticleAccelerator";
}
@Override
public void drawExtras(int recipe) {
RecipeSet rec = (RecipeSet) this.arecipes.get(recipe);
ParticleAcceleratorRecipe paRecipe = ParticleAcceleratorRecipes.getOutput(rec.input[0].item, rec.input[1].item);
if(paRecipe != null) {
FontRenderer fontRenderer = Minecraft.getMinecraft().fontRenderer;
String momentum = "Momentum: " + String.format(Locale.US, "%,d", paRecipe.momentum);
int side = 8;
fontRenderer.drawString(momentum, side, 52, 0x404040);
}
}
}

View File

@ -241,6 +241,8 @@ public class OreDictManager {
public static final DictFrame MALACHITE = new DictFrame("Malachite"); public static final DictFrame MALACHITE = new DictFrame("Malachite");
public static final DictFrame LIMESTONE = new DictFrame("Limestone"); public static final DictFrame LIMESTONE = new DictFrame("Limestone");
public static final DictFrame SLAG = new DictFrame("Slag"); public static final DictFrame SLAG = new DictFrame("Slag");
public static final DictFrame BAUXITE = new DictFrame("Bauxite");
public static final DictFrame CRYOLITE = new DictFrame("Cryolite");
/* /*
* HAZARDS, MISC * HAZARDS, MISC
*/ */
@ -444,6 +446,8 @@ public class OreDictManager {
HEMATITE .ore(fromOne(stone_resource, EnumStoneType.HEMATITE)); HEMATITE .ore(fromOne(stone_resource, EnumStoneType.HEMATITE));
MALACHITE .ingot(DictFrame.fromOne(chunk_ore, EnumChunkType.MALACHITE)) .ore(fromOne(stone_resource, EnumStoneType.MALACHITE)); MALACHITE .ingot(DictFrame.fromOne(chunk_ore, EnumChunkType.MALACHITE)) .ore(fromOne(stone_resource, EnumStoneType.MALACHITE));
LIMESTONE .dust(powder_limestone) .ore(fromOne(stone_resource, EnumStoneType.LIMESTONE)); LIMESTONE .dust(powder_limestone) .ore(fromOne(stone_resource, EnumStoneType.LIMESTONE));
BAUXITE .gem(fromOne(stone_resource, EnumStoneType.BAUXITE));
CRYOLITE .crystal(fromOne(chunk_ore, EnumChunkType.CRYOLITE));
SLAG .block(block_slag); SLAG .block(block_slag);
/* /*

View File

@ -183,6 +183,10 @@ public class Fluids {
public static FluidType STELLAR_FLUX; public static FluidType STELLAR_FLUX;
public static FluidType VITRIOL; public static FluidType VITRIOL;
public static FluidType SLOP; public static FluidType SLOP;
public static FluidType LYE;
public static FluidType SODIUM_ALUMINATE;
public static FluidType BAUXITE_SOLUTION;
public static FluidType ALUMINA;
/* Lagacy names for compatibility purposes */ /* Lagacy names for compatibility purposes */
@Deprecated public static FluidType ACID; //JAOPCA uses this, apparently @Deprecated public static FluidType ACID; //JAOPCA uses this, apparently
@ -390,7 +394,11 @@ public class Fluids {
LEAD_HOT = new FluidType("LEAD_HOT", 0x776563, 4, 0, 0, EnumSymbol.NONE).setTemp(1500).addTraits(LIQUID, VISCOUS); LEAD_HOT = new FluidType("LEAD_HOT", 0x776563, 4, 0, 0, EnumSymbol.NONE).setTemp(1500).addTraits(LIQUID, VISCOUS);
PERFLUOROMETHYL = new FluidType("PERFLUOROMETHYL", 0xBDC8DC, 1, 0, 1, EnumSymbol.NONE).setTemp(15).addTraits(LIQUID); PERFLUOROMETHYL = new FluidType("PERFLUOROMETHYL", 0xBDC8DC, 1, 0, 1, EnumSymbol.NONE).setTemp(15).addTraits(LIQUID);
PERFLUOROMETHYL_COLD = new FluidType("PERFLUOROMETHYL_COLD",0x99DADE, 1, 0, 1, EnumSymbol.NONE).setTemp(-150).addTraits(LIQUID); PERFLUOROMETHYL_COLD = new FluidType("PERFLUOROMETHYL_COLD",0x99DADE, 1, 0, 1, EnumSymbol.NONE).setTemp(-150).addTraits(LIQUID);
PERFLUOROMETHYL_HOT = new FluidType(146, "PERFLUOROMETHYL_HOT",0xB899DE, 1, 0, 1, EnumSymbol.NONE).setTemp(250).addTraits(LIQUID); PERFLUOROMETHYL_HOT = new FluidType("PERFLUOROMETHYL_HOT",0xB899DE, 1, 0, 1, EnumSymbol.NONE).setTemp(250).addTraits(LIQUID);
LYE = new FluidType("LYE", 0xFFECCC, 3, 0, 1, EnumSymbol.ACID).addTraits(new FT_Corrosive(40), LIQUID);
SODIUM_ALUMINATE = new FluidType("SODIUM_ALUMINATE", 0xFFD191, 3, 0, 1, EnumSymbol.ACID).addTraits(new FT_Corrosive(30), LIQUID);
BAUXITE_SOLUTION = new FluidType("BAUXITE_SOLUTION", 0xE2560F, 3, 0, 3, EnumSymbol.ACID).addTraits(new FT_Corrosive(40), LIQUID, VISCOUS);
ALUMINA = new FluidType(150,"ALUMINA", 0xDDFFFF, 0, 0, 0, EnumSymbol.NONE).addTraits(LIQUID);
// ^ ^ ^ ^ ^ ^ ^ ^ // ^ ^ ^ ^ ^ ^ ^ ^
//ADD NEW FLUIDS HERE //ADD NEW FLUIDS HERE
@ -534,8 +542,12 @@ public class Fluids {
metaOrder.add(POTASSIUM_CHLORIDE); metaOrder.add(POTASSIUM_CHLORIDE);
metaOrder.add(CALCIUM_CHLORIDE); metaOrder.add(CALCIUM_CHLORIDE);
metaOrder.add(CALCIUM_SOLUTION); metaOrder.add(CALCIUM_SOLUTION);
metaOrder.add(SODIUM_ALUMINATE);
metaOrder.add(BAUXITE_SOLUTION);
metaOrder.add(ALUMINA);
//solutions and working fluids //solutions and working fluids
metaOrder.add(FRACKSOL); metaOrder.add(FRACKSOL);
metaOrder.add(LYE);
//the fun guys //the fun guys
metaOrder.add(PHOSGENE); metaOrder.add(PHOSGENE);
metaOrder.add(MUSTARDGAS); metaOrder.add(MUSTARDGAS);

View File

@ -38,7 +38,7 @@ public class GUIPADetector extends GuiInfoContainer {
protected void drawGuiContainerForegroundLayer( int i, int j) { protected void drawGuiContainerForegroundLayer( int i, int j) {
String name = this.source.hasCustomInventoryName() ? this.source.getInventoryName() : I18n.format(this.source.getInventoryName()); String name = this.source.hasCustomInventoryName() ? this.source.getInventoryName() : I18n.format(this.source.getInventoryName());
this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2 - 9, 6, 4210752); this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2 - 9, 4, 4210752);
this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 96 + 2, 4210752); this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 96 + 2, 4210752);
this.fontRendererObj.drawString(EnumChatFormatting.AQUA + "/123K", 136, 22, 4210752); this.fontRendererObj.drawString(EnumChatFormatting.AQUA + "/123K", 136, 22, 4210752);

View File

@ -1,5 +1,7 @@
package com.hbm.inventory.gui; package com.hbm.inventory.gui;
import java.util.ArrayList;
import java.util.List;
import java.util.Locale; import java.util.Locale;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL11;
@ -9,6 +11,7 @@ import com.hbm.lib.RefStrings;
import com.hbm.packet.PacketDispatcher; import com.hbm.packet.PacketDispatcher;
import com.hbm.packet.toserver.NBTControlPacket; import com.hbm.packet.toserver.NBTControlPacket;
import com.hbm.tileentity.machine.albion.TileEntityPASource; import com.hbm.tileentity.machine.albion.TileEntityPASource;
import com.hbm.util.I18nUtil;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import net.minecraft.client.audio.PositionedSoundRecord; import net.minecraft.client.audio.PositionedSoundRecord;
@ -39,7 +42,11 @@ public class GUIPASource extends GuiInfoContainer {
source.tanks[1].renderTankInfo(this, mouseX, mouseY, guiLeft + 152, guiTop + 36, 16, 52); source.tanks[1].renderTankInfo(this, mouseX, mouseY, guiLeft + 152, guiTop + 36, 16, 52);
this.drawElectricityInfo(this, mouseX, mouseY, guiLeft + 8, guiTop + 18, 16, 52, source.power, source.getMaxPower()); this.drawElectricityInfo(this, mouseX, mouseY, guiLeft + 8, guiTop + 18, 16, 52, source.power, source.getMaxPower());
this.drawCustomInfoStat(mouseX, mouseY, guiLeft + 105, guiTop + 18, 10, 10, mouseX, mouseY, "Last momentum: " + source.lastSpeed); List<String> info = new ArrayList();
info.add(EnumChatFormatting.BLUE + "Last momentum: " + EnumChatFormatting.RESET + String.format(Locale.US, "%,d", source.lastSpeed));
String[] message = I18nUtil.resolveKeyArray("pa." + this.source.state.name().toLowerCase(Locale.US) + ".desc");
for(String s : message) info.add(EnumChatFormatting.YELLOW + s);
this.drawCustomInfoStat(mouseX, mouseY, guiLeft + 105, guiTop + 18, 10, 10, mouseX, mouseY, info);
this.drawCustomInfoStat(mouseX, mouseY, guiLeft + 105, guiTop + 30, 10, 10, mouseX, mouseY, EnumChatFormatting.RED + "Cancel operation"); this.drawCustomInfoStat(mouseX, mouseY, guiLeft + 105, guiTop + 30, 10, 10, mouseX, mouseY, EnumChatFormatting.RED + "Cancel operation");
} }
@ -59,7 +66,7 @@ public class GUIPASource extends GuiInfoContainer {
protected void drawGuiContainerForegroundLayer( int i, int j) { protected void drawGuiContainerForegroundLayer( int i, int j) {
String name = this.source.hasCustomInventoryName() ? this.source.getInventoryName() : I18n.format(this.source.getInventoryName()); String name = this.source.hasCustomInventoryName() ? this.source.getInventoryName() : I18n.format(this.source.getInventoryName());
this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2 - 9, 6, 4210752); this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2 - 9, 4, 4210752);
this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 96 + 2, 4210752); this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 96 + 2, 4210752);
this.fontRendererObj.drawString(EnumChatFormatting.AQUA + "/123K", 136, 22, 4210752); this.fontRendererObj.drawString(EnumChatFormatting.AQUA + "/123K", 136, 22, 4210752);

View File

@ -21,6 +21,7 @@ import com.hbm.inventory.RecipesCommon.ComparableStack;
import com.hbm.inventory.RecipesCommon.OreDictStack; import com.hbm.inventory.RecipesCommon.OreDictStack;
import com.hbm.inventory.material.Mats.MaterialStack; import com.hbm.inventory.material.Mats.MaterialStack;
import com.hbm.inventory.recipes.loader.SerializableRecipe; import com.hbm.inventory.recipes.loader.SerializableRecipe;
import com.hbm.items.ItemEnums;
import com.hbm.items.ModItems; import com.hbm.items.ModItems;
import com.hbm.items.ItemEnums.EnumAshType; import com.hbm.items.ItemEnums.EnumAshType;
import com.hbm.items.ItemEnums.EnumCasingType; import com.hbm.items.ItemEnums.EnumCasingType;
@ -62,13 +63,13 @@ public class MatDistribution extends SerializableRecipe {
registerEntry(DictFrame.fromOne(ModItems.casing, EnumCasingType.SMALL_STEEL), MAT_WEAPONSTEEL, PLATE.q(1, 4)); registerEntry(DictFrame.fromOne(ModItems.casing, EnumCasingType.SMALL_STEEL), MAT_WEAPONSTEEL, PLATE.q(1, 4));
registerEntry(DictFrame.fromOne(ModItems.casing, EnumCasingType.LARGE), MAT_GUNMETAL, PLATE.q(1, 2)); registerEntry(DictFrame.fromOne(ModItems.casing, EnumCasingType.LARGE), MAT_GUNMETAL, PLATE.q(1, 2));
registerEntry(DictFrame.fromOne(ModItems.casing, EnumCasingType.LARGE_STEEL), MAT_WEAPONSTEEL, PLATE.q(1, 2)); registerEntry(DictFrame.fromOne(ModItems.casing, EnumCasingType.LARGE_STEEL), MAT_WEAPONSTEEL, PLATE.q(1, 2));
registerEntry(Items.minecart, MAT_IRON, INGOT.q(5));
registerEntry(DictFrame.fromOne(ModItems.chunk_ore, ItemEnums.EnumChunkType.CRYOLITE), MAT_ALUMINIUM, INGOT.q(1), MAT_SODIUM, INGOT.q(1));
//actual ores //actual ores
if(!Compat.isModLoaded(Compat.MOD_GT6)) { if(!Compat.isModLoaded(Compat.MOD_GT6)) {
registerOre(OreDictManager.IRON.ore(), MAT_IRON, INGOT.q(2), MAT_TITANIUM, NUGGET.q(3), MAT_STONE, QUART.q(1)); registerOre(OreDictManager.IRON.ore(), MAT_IRON, INGOT.q(2), MAT_TITANIUM, NUGGET.q(3), MAT_STONE, QUART.q(1));
registerOre(OreDictManager.TI.ore(), MAT_TITANIUM, INGOT.q(2), MAT_IRON, NUGGET.q(3), MAT_STONE, QUART.q(1)); registerOre(OreDictManager.TI.ore(), MAT_TITANIUM, INGOT.q(2), MAT_IRON, NUGGET.q(3), MAT_STONE, QUART.q(1));
registerOre(OreDictManager.W.ore(), MAT_TUNGSTEN, INGOT.q(2), MAT_STONE, QUART.q(1)); registerOre(OreDictManager.W.ore(), MAT_TUNGSTEN, INGOT.q(2), MAT_STONE, QUART.q(1));
registerOre(OreDictManager.AL.ore(), MAT_ALUMINIUM, INGOT.q(2), MAT_STONE, QUART.q(1));
} }
registerOre(OreDictManager.COAL.ore(), MAT_CARBON, GEM.q(3), MAT_STONE, QUART.q(1)); registerOre(OreDictManager.COAL.ore(), MAT_CARBON, GEM.q(3), MAT_STONE, QUART.q(1));

View File

@ -67,6 +67,8 @@ public class Mats {
public static final NTMMaterial MAT_PIGIRON = makeSmeltable(2603, df("PigIron"), 0xFF8B59).m(); public static final NTMMaterial MAT_PIGIRON = makeSmeltable(2603, df("PigIron"), 0xFF8B59).m();
public static final NTMMaterial MAT_METEORICIRON = makeSmeltable(2604, df("MeteoricIron"), 0x715347).m(); public static final NTMMaterial MAT_METEORICIRON = makeSmeltable(2604, df("MeteoricIron"), 0x715347).m();
public static final NTMMaterial MAT_MALACHITE = makeAdditive( 2901, MALACHITE, 0xA2F0C8, 0x227048, 0x61AF87).m(); public static final NTMMaterial MAT_MALACHITE = makeAdditive( 2901, MALACHITE, 0xA2F0C8, 0x227048, 0x61AF87).m();
public static final NTMMaterial MAT_BAUXITE = makeNonSmeltable(2902, BAUXITE, 0xF4BA30, 0xAA320A, 0xE2560F).setAutogen(FRAGMENT).n();
public static final NTMMaterial MAT_CRYOLITE = makeNonSmeltable(2903, CRYOLITE, 0xCBC2A4, 0x8B711F, 0x8B701A).setAutogen(FRAGMENT).n();
//Radioactive //Radioactive
public static final NTMMaterial MAT_URANIUM = makeSmeltable(9200, U, 0xC1C7BD, 0x2B3227, 0x9AA196).setAutogen(FRAGMENT, NUGGET, BILLET, DUST, BLOCK).m(); public static final NTMMaterial MAT_URANIUM = makeSmeltable(9200, U, 0xC1C7BD, 0x2B3227, 0x9AA196).setAutogen(FRAGMENT, NUGGET, BILLET, DUST, BLOCK).m();
@ -99,7 +101,7 @@ public class Mats {
//Base metals //Base metals
public static final NTMMaterial MAT_TITANIUM = makeSmeltable(2200, TI, 0xF7F3F2, 0x4F4C4B, 0xA99E79).setAutogen(FRAGMENT, DUST, PLATE, DENSEWIRE, CASTPLATE, WELDEDPLATE, SHELL, BLOCK, HEAVY_COMPONENT).m(); public static final NTMMaterial MAT_TITANIUM = makeSmeltable(2200, TI, 0xF7F3F2, 0x4F4C4B, 0xA99E79).setAutogen(FRAGMENT, DUST, PLATE, DENSEWIRE, CASTPLATE, WELDEDPLATE, SHELL, BLOCK, HEAVY_COMPONENT).m();
public static final NTMMaterial MAT_COPPER = makeSmeltable(2900, CU, 0xFDCA88, 0x601E0D, 0xC18336).setAutogen(FRAGMENT, WIRE, DUST, PLATE, CASTPLATE, WELDEDPLATE, SHELL, PIPE, BLOCK, HEAVY_COMPONENT).m(); public static final NTMMaterial MAT_COPPER = makeSmeltable(2900, CU, 0xFDCA88, 0x601E0D, 0xC18336).setAutogen(FRAGMENT, WIRE, DUST, PLATE, DENSEWIRE, CASTPLATE, WELDEDPLATE, SHELL, PIPE, BLOCK, HEAVY_COMPONENT).m();
public static final NTMMaterial MAT_TUNGSTEN = makeSmeltable(7400, W, 0x868686, 0x000000, 0x977474).setAutogen(FRAGMENT, WIRE, BOLT, DUST, DENSEWIRE, CASTPLATE, WELDEDPLATE, BLOCK, HEAVY_COMPONENT).m(); public static final NTMMaterial MAT_TUNGSTEN = makeSmeltable(7400, W, 0x868686, 0x000000, 0x977474).setAutogen(FRAGMENT, WIRE, BOLT, DUST, DENSEWIRE, CASTPLATE, WELDEDPLATE, BLOCK, HEAVY_COMPONENT).m();
public static final NTMMaterial MAT_ALUMINIUM = makeSmeltable(1300, AL, 0xFFFFFF, 0x344550, 0xD0B8EB).setAutogen(FRAGMENT, WIRE, DUST, PLATE, CASTPLATE, WELDEDPLATE, SHELL, PIPE, BLOCK, HEAVY_COMPONENT).m(); public static final NTMMaterial MAT_ALUMINIUM = makeSmeltable(1300, AL, 0xFFFFFF, 0x344550, 0xD0B8EB).setAutogen(FRAGMENT, WIRE, DUST, PLATE, CASTPLATE, WELDEDPLATE, SHELL, PIPE, BLOCK, HEAVY_COMPONENT).m();
public static final NTMMaterial MAT_LEAD = makeSmeltable(8200, PB, 0xA6A6B2, 0x03030F, 0x646470).setAutogen(FRAGMENT, NUGGET, WIRE, BOLT, DUST, PLATE, CASTPLATE, PIPE, BLOCK, HEAVY_COMPONENT).m(); public static final NTMMaterial MAT_LEAD = makeSmeltable(8200, PB, 0xA6A6B2, 0x03030F, 0x646470).setAutogen(FRAGMENT, NUGGET, WIRE, BOLT, DUST, PLATE, CASTPLATE, PIPE, BLOCK, HEAVY_COMPONENT).m();

View File

@ -32,6 +32,7 @@ import com.hbm.items.ItemGenericPart.EnumPartType;
import com.hbm.items.machine.ItemAssemblyTemplate; import com.hbm.items.machine.ItemAssemblyTemplate;
import com.hbm.items.machine.ItemCircuit.EnumCircuitType; import com.hbm.items.machine.ItemCircuit.EnumCircuitType;
import com.hbm.items.machine.ItemDrillbit.EnumDrillType; import com.hbm.items.machine.ItemDrillbit.EnumDrillType;
import com.hbm.items.machine.ItemPACoil.EnumCoilType;
import com.hbm.items.machine.ItemPistons.EnumPistonType; import com.hbm.items.machine.ItemPistons.EnumPistonType;
import com.hbm.items.weapon.ItemAmmoHIMARS; import com.hbm.items.weapon.ItemAmmoHIMARS;
import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmo; import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmo;
@ -107,7 +108,7 @@ public class AssemblerRecipes extends SerializableRecipe {
makeRecipe(new ComparableStack(ModItems.tritium_deuterium_cake, 1), new AStack[] {new ComparableStack(ModItems.cell_deuterium, 6), new ComparableStack(ModItems.cell_tritium, 2), new OreDictStack(LI.ingot(), 4), },150); makeRecipe(new ComparableStack(ModItems.tritium_deuterium_cake, 1), new AStack[] {new ComparableStack(ModItems.cell_deuterium, 6), new ComparableStack(ModItems.cell_tritium, 2), new OreDictStack(LI.ingot(), 4), },150);
makeRecipe(new ComparableStack(ModItems.pellet_cluster, 1), new AStack[] {new OreDictStack(STEEL.plate(), 4), new ComparableStack(Blocks.tnt, 1), }, 50); makeRecipe(new ComparableStack(ModItems.pellet_cluster, 1), new AStack[] {new OreDictStack(STEEL.plate(), 4), new ComparableStack(Blocks.tnt, 1), }, 50);
makeRecipe(new ComparableStack(ModItems.pellet_buckshot, 1), new AStack[] {new OreDictStack(PB.nugget(), 6), }, 50); makeRecipe(new ComparableStack(ModItems.pellet_buckshot, 1), new AStack[] {new OreDictStack(PB.nugget(), 6), }, 50);
makeRecipe(new ComparableStack(ModItems.magnetron, 1), new AStack[] {new OreDictStack(ALLOY.plate(), 3), new OreDictStack(W.wireFine(), 1), new ComparableStack(ModItems.coil_tungsten, 1), },100); makeRecipe(new ComparableStack(ModItems.magnetron, 1), new AStack[] {new OreDictStack(CU.plate(), 3), new OreDictStack(W.wireFine(), 4), }, 40);
makeRecipe(new ComparableStack(ModItems.redcoil_capacitor, 1), new AStack[] {new OreDictStack(GOLD.plate(), 3), new ComparableStack(ModItems.fuse, 1), new OreDictStack(ALLOY.wireFine(), 4), new ComparableStack(ModItems.coil_advanced_alloy, 6), new ComparableStack(Blocks.redstone_block, 2), },200); makeRecipe(new ComparableStack(ModItems.redcoil_capacitor, 1), new AStack[] {new OreDictStack(GOLD.plate(), 3), new ComparableStack(ModItems.fuse, 1), new OreDictStack(ALLOY.wireFine(), 4), new ComparableStack(ModItems.coil_advanced_alloy, 6), new ComparableStack(Blocks.redstone_block, 2), },200);
makeRecipe(new ComparableStack(ModItems.part_lithium, 8), new AStack[] {new OreDictStack(ANY_RUBBER.ingot(), 1), new OreDictStack(LI.dust(), 1), },50); makeRecipe(new ComparableStack(ModItems.part_lithium, 8), new AStack[] {new OreDictStack(ANY_RUBBER.ingot(), 1), new OreDictStack(LI.dust(), 1), },50);
makeRecipe(new ComparableStack(ModItems.part_beryllium, 8), new AStack[] {new OreDictStack(ANY_RUBBER.ingot(), 1), new OreDictStack(BE.dust(), 1), },50); makeRecipe(new ComparableStack(ModItems.part_beryllium, 8), new AStack[] {new OreDictStack(ANY_RUBBER.ingot(), 1), new OreDictStack(BE.dust(), 1), },50);
@ -549,14 +550,6 @@ public class AssemblerRecipes extends SerializableRecipe {
new OreDictStack(Fluids.LUBRICANT.getDict(1_000), 4) new OreDictStack(Fluids.LUBRICANT.getDict(1_000), 4)
}, 600); }, 600);
makeRecipe(new ComparableStack(ModItems.pellet_chlorophyte, 2), new AStack[] {
new ComparableStack(ModItems.powder_chlorophyte, 1),
new OreDictStack(PB.nugget(), 12),
}, 50);
makeRecipe(new ComparableStack(ModItems.pellet_canister, 2), new AStack[] {
new OreDictStack(IRON.ingot(), 3),
}, 50);
makeRecipe(new ComparableStack(ModBlocks.machine_cyclotron, 1), new AStack[] { makeRecipe(new ComparableStack(ModBlocks.machine_cyclotron, 1), new AStack[] {
new ComparableStack(ModBlocks.machine_lithium_battery, 3), new ComparableStack(ModBlocks.machine_lithium_battery, 3),
new ComparableStack(ModBlocks.hadron_coil_neodymium, 8), new ComparableStack(ModBlocks.hadron_coil_neodymium, 8),
@ -946,6 +939,50 @@ public class AssemblerRecipes extends SerializableRecipe {
new ComparableStack(ModItems.circuit, 8, EnumCircuitType.BASIC) new ComparableStack(ModItems.circuit, 8, EnumCircuitType.BASIC)
}, 200); }, 200);
makeRecipe(new ComparableStack(ModItems.pa_coil, 1, EnumCoilType.GOLD), new AStack[] { new OreDictStack(GOLD.wireDense(), 128) }, 400);
makeRecipe(new ComparableStack(ModItems.pa_coil, 1, EnumCoilType.NIOBIUM), new AStack[] { new OreDictStack(NB.wireDense(), 64), new OreDictStack(TI.wireDense(), 64) }, 400);
makeRecipe(new ComparableStack(ModItems.pa_coil, 1, EnumCoilType.BSCCO), new AStack[] { new OreDictStack(BSCCO.wireDense(), 64), new OreDictStack(ANY_PLASTIC.ingot(), 64) }, 400);
makeRecipe(new ComparableStack(ModItems.pa_coil, 1, EnumCoilType.CHLOROPHYTE), new AStack[] { new OreDictStack(CU.wireDense(), 128), new ComparableStack(ModItems.powder_chlorophyte, 16) }, 400);
makeRecipe(new ComparableStack(ModBlocks.pa_beamline), new AStack[] {
new OreDictStack(STEEL.plateCast(), 8),
new OreDictStack(CU.plate(), 16),
new OreDictStack(GOLD.wireDense(), 4)
}, 200);
makeRecipe(new ComparableStack(ModBlocks.pa_rfc), new AStack[] {
new ComparableStack(ModBlocks.pa_beamline, 3),
new OreDictStack(STEEL.plateCast(), 16),
new OreDictStack(CU.plate(), 64),
new OreDictStack(ANY_HARDPLASTIC.ingot(), 16),
new ComparableStack(ModItems.magnetron, 16),
}, 400);
makeRecipe(new ComparableStack(ModBlocks.pa_quadrupole), new AStack[] {
new ComparableStack(ModBlocks.pa_beamline, 1),
new OreDictStack(STEEL.plateCast(), 16),
new OreDictStack(ANY_HARDPLASTIC.ingot(), 16),
new ComparableStack(ModItems.circuit, 1, EnumCircuitType.BISMOID),
}, 400);
makeRecipe(new ComparableStack(ModBlocks.pa_dipole), new AStack[] {
new ComparableStack(ModBlocks.pa_beamline, 2),
new OreDictStack(STEEL.plateCast(), 16),
new OreDictStack(ANY_HARDPLASTIC.ingot(), 32),
new ComparableStack(ModItems.circuit, 4, EnumCircuitType.BISMOID),
}, 400);
makeRecipe(new ComparableStack(ModBlocks.pa_source), new AStack[] {
new ComparableStack(ModBlocks.pa_beamline, 3),
new OreDictStack(STEEL.plateCast(), 16),
new OreDictStack(ANY_HARDPLASTIC.ingot(), 16),
new ComparableStack(ModItems.magnetron, 16),
new ComparableStack(ModItems.circuit, 1, EnumCircuitType.QUANTUM),
}, 400);
makeRecipe(new ComparableStack(ModBlocks.pa_detector), new AStack[] {
new ComparableStack(ModBlocks.pa_beamline, 3),
new OreDictStack(STEEL.plateCast(), 24),
new OreDictStack(GOLD.wireDense(), 16),
new OreDictStack(ANY_HARDPLASTIC.ingot(), 16),
new ComparableStack(ModItems.circuit, 4, EnumCircuitType.QUANTUM),
}, 400);
makeRecipe(new ComparableStack(ModBlocks.machine_exposure_chamber, 1), new AStack[] { makeRecipe(new ComparableStack(ModBlocks.machine_exposure_chamber, 1), new AStack[] {
!exp ? new OreDictStack(AL.plateCast(), 12) : new OreDictStack(AL.heavyComp(), 1), !exp ? new OreDictStack(AL.plateCast(), 12) : new OreDictStack(AL.heavyComp(), 1),
new OreDictStack(ANY_RESISTANTALLOY.ingot(), 4), new OreDictStack(ANY_RESISTANTALLOY.ingot(), 4),

View File

@ -22,6 +22,7 @@ import com.hbm.inventory.RecipesCommon.ComparableStack;
import com.hbm.inventory.RecipesCommon.OreDictStack; import com.hbm.inventory.RecipesCommon.OreDictStack;
import com.hbm.inventory.material.MaterialShapes; import com.hbm.inventory.material.MaterialShapes;
import com.hbm.inventory.recipes.loader.SerializableRecipe; import com.hbm.inventory.recipes.loader.SerializableRecipe;
import com.hbm.items.ItemEnums;
import com.hbm.items.ItemEnums.EnumAshType; import com.hbm.items.ItemEnums.EnumAshType;
import com.hbm.items.ItemEnums.EnumChunkType; import com.hbm.items.ItemEnums.EnumChunkType;
import com.hbm.items.ModItems; import com.hbm.items.ModItems;
@ -362,8 +363,8 @@ public class CentrifugeRecipes extends SerializableRecipe {
new ItemStack(Blocks.gravel, 1) }); new ItemStack(Blocks.gravel, 1) });
recipes.put(new OreDictStack(AL.ore()), new ItemStack[] { recipes.put(new OreDictStack(AL.ore()), new ItemStack[] {
new ItemStack(ModItems.powder_aluminium, 1), new ItemStack(ModItems.chunk_ore, 2, ItemEnums.EnumChunkType.CRYOLITE.ordinal()),
new ItemStack(ModItems.powder_aluminium, 1), new ItemStack(ModItems.powder_titanium, 1),
new ItemStack(ModItems.powder_iron, 1), new ItemStack(ModItems.powder_iron, 1),
new ItemStack(Blocks.gravel, 1) }); new ItemStack(Blocks.gravel, 1) });
@ -568,7 +569,7 @@ public class CentrifugeRecipes extends SerializableRecipe {
recipes.put(new ComparableStack(ModItems.crystal_niter), new ItemStack[] { new ItemStack(ModItems.niter, 3), new ItemStack(ModItems.niter, 3), new ItemStack(ModItems.niter, 3), new ItemStack(ModItems.powder_lithium_tiny, 1) }); recipes.put(new ComparableStack(ModItems.crystal_niter), new ItemStack[] { new ItemStack(ModItems.niter, 3), new ItemStack(ModItems.niter, 3), new ItemStack(ModItems.niter, 3), new ItemStack(ModItems.powder_lithium_tiny, 1) });
recipes.put(new ComparableStack(ModItems.crystal_copper), new ItemStack[] { new ItemStack(ModItems.powder_copper, 2), new ItemStack(ModItems.powder_copper, 2), new ItemStack(ModItems.sulfur, 1), new ItemStack(ModItems.powder_cobalt_tiny, 1) }); recipes.put(new ComparableStack(ModItems.crystal_copper), new ItemStack[] { new ItemStack(ModItems.powder_copper, 2), new ItemStack(ModItems.powder_copper, 2), new ItemStack(ModItems.sulfur, 1), new ItemStack(ModItems.powder_cobalt_tiny, 1) });
recipes.put(new ComparableStack(ModItems.crystal_tungsten), new ItemStack[] { new ItemStack(ModItems.powder_tungsten, 2), new ItemStack(ModItems.powder_tungsten, 2), new ItemStack(ModItems.powder_iron, 1), new ItemStack(ModItems.powder_lithium_tiny, 1) }); recipes.put(new ComparableStack(ModItems.crystal_tungsten), new ItemStack[] { new ItemStack(ModItems.powder_tungsten, 2), new ItemStack(ModItems.powder_tungsten, 2), new ItemStack(ModItems.powder_iron, 1), new ItemStack(ModItems.powder_lithium_tiny, 1) });
recipes.put(new ComparableStack(ModItems.crystal_aluminium), new ItemStack[] { new ItemStack(ModItems.powder_aluminium, 2), new ItemStack(ModItems.powder_aluminium, 2), new ItemStack(ModItems.powder_iron, 1), new ItemStack(ModItems.powder_lithium_tiny, 1) }); recipes.put(new ComparableStack(ModItems.crystal_aluminium), new ItemStack[] { new ItemStack(ModItems.chunk_ore, 3, ItemEnums.EnumChunkType.CRYOLITE.ordinal()), new ItemStack(ModItems.powder_titanium, 1), new ItemStack(ModItems.powder_iron, 1), new ItemStack(ModItems.powder_lithium_tiny, 1) });
recipes.put(new ComparableStack(ModItems.crystal_fluorite), new ItemStack[] { new ItemStack(ModItems.fluorite, 4), new ItemStack(ModItems.fluorite, 4), new ItemStack(ModItems.gem_sodalite, 2), new ItemStack(ModItems.powder_lithium_tiny, 1) }); recipes.put(new ComparableStack(ModItems.crystal_fluorite), new ItemStack[] { new ItemStack(ModItems.fluorite, 4), new ItemStack(ModItems.fluorite, 4), new ItemStack(ModItems.gem_sodalite, 2), new ItemStack(ModItems.powder_lithium_tiny, 1) });
recipes.put(new ComparableStack(ModItems.crystal_beryllium), new ItemStack[] { new ItemStack(ModItems.powder_beryllium, 2), new ItemStack(ModItems.powder_beryllium, 2), new ItemStack(ModItems.powder_quartz, 1), new ItemStack(ModItems.powder_lithium_tiny, 1) }); recipes.put(new ComparableStack(ModItems.crystal_beryllium), new ItemStack[] { new ItemStack(ModItems.powder_beryllium, 2), new ItemStack(ModItems.powder_beryllium, 2), new ItemStack(ModItems.powder_quartz, 1), new ItemStack(ModItems.powder_lithium_tiny, 1) });
recipes.put(new ComparableStack(ModItems.crystal_lead), new ItemStack[] { new ItemStack(ModItems.powder_lead, 2), new ItemStack(ModItems.powder_lead, 2), new ItemStack(ModItems.powder_gold, 1), new ItemStack(ModItems.powder_lithium_tiny, 1) }); recipes.put(new ComparableStack(ModItems.crystal_lead), new ItemStack[] { new ItemStack(ModItems.powder_lead, 2), new ItemStack(ModItems.powder_lead, 2), new ItemStack(ModItems.powder_gold, 1), new ItemStack(ModItems.powder_lithium_tiny, 1) });

View File

@ -58,7 +58,7 @@ public class CokerRecipes extends SerializableRecipe {
registerSFAuto(WOODOIL, 340_000L, new ItemStack(Items.coal, 1, 1), GAS_COKER); registerSFAuto(WOODOIL, 340_000L, new ItemStack(Items.coal, 1, 1), GAS_COKER);
registerRecipe(WATZ, 4_000, new ItemStack(ModItems.ingot_mud, 4), null); registerRecipe(WATZ, 4_000, new ItemStack(ModItems.ingot_mud, 4), null);
registerRecipe(REDMUD, 1_000, new ItemStack(Items.iron_ingot, 1), new FluidStack(MERCURY, 50)); registerRecipe(REDMUD, 450, new ItemStack(Items.iron_ingot, 1), new FluidStack(MERCURY, 50));
registerRecipe(BITUMEN, 16_000, DictFrame.fromOne(ModItems.coke, EnumCokeType.PETROLEUM), new FluidStack(OIL_COKER, 1_600)); registerRecipe(BITUMEN, 16_000, DictFrame.fromOne(ModItems.coke, EnumCokeType.PETROLEUM), new FluidStack(OIL_COKER, 1_600));
registerRecipe(LUBRICANT, 12_000, DictFrame.fromOne(ModItems.coke, EnumCokeType.PETROLEUM), new FluidStack(OIL_COKER, 1_200)); registerRecipe(LUBRICANT, 12_000, DictFrame.fromOne(ModItems.coke, EnumCokeType.PETROLEUM), new FluidStack(OIL_COKER, 1_200));
registerRecipe(CALCIUM_SOLUTION, 125, new ItemStack(ModItems.powder_calcium), new FluidStack(SPENTSTEAM, 100)); registerRecipe(CALCIUM_SOLUTION, 125, new ItemStack(ModItems.powder_calcium), new FluidStack(SPENTSTEAM, 100));

View File

@ -9,8 +9,6 @@ import static com.hbm.inventory.OreDictManager.*;
import com.google.gson.JsonElement; import com.google.gson.JsonElement;
import com.google.gson.JsonObject; import com.google.gson.JsonObject;
import com.google.gson.stream.JsonWriter; import com.google.gson.stream.JsonWriter;
import com.hbm.blocks.BlockEnums.EnumStoneType;
import com.hbm.blocks.ModBlocks;
import com.hbm.inventory.FluidStack; import com.hbm.inventory.FluidStack;
import com.hbm.inventory.OreDictManager.DictFrame; import com.hbm.inventory.OreDictManager.DictFrame;
import com.hbm.inventory.RecipesCommon.AStack; import com.hbm.inventory.RecipesCommon.AStack;
@ -18,6 +16,7 @@ import com.hbm.inventory.RecipesCommon.ComparableStack;
import com.hbm.inventory.RecipesCommon.OreDictStack; import com.hbm.inventory.RecipesCommon.OreDictStack;
import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.Fluids;
import com.hbm.inventory.recipes.loader.SerializableRecipe; import com.hbm.inventory.recipes.loader.SerializableRecipe;
import com.hbm.items.ItemEnums;
import com.hbm.items.ItemEnums.EnumAshType; import com.hbm.items.ItemEnums.EnumAshType;
import com.hbm.items.ItemEnums.EnumBriquetteType; import com.hbm.items.ItemEnums.EnumBriquetteType;
import com.hbm.items.ItemEnums.EnumCokeType; import com.hbm.items.ItemEnums.EnumCokeType;
@ -52,7 +51,7 @@ public class CombinationRecipes extends SerializableRecipe {
recipes.put(CINNABAR.crystal(), new Pair(new ItemStack(ModItems.sulfur), new FluidStack(Fluids.MERCURY, 100))); recipes.put(CINNABAR.crystal(), new Pair(new ItemStack(ModItems.sulfur), new FluidStack(Fluids.MERCURY, 100)));
recipes.put(new ComparableStack(Items.glowstone_dust), new Pair(new ItemStack(ModItems.sulfur), new FluidStack(Fluids.CHLORINE, 100))); recipes.put(new ComparableStack(Items.glowstone_dust), new Pair(new ItemStack(ModItems.sulfur), new FluidStack(Fluids.CHLORINE, 100)));
recipes.put(SODALITE.gem(), new Pair(new ItemStack(ModItems.powder_sodium), new FluidStack(Fluids.CHLORINE, 100))); recipes.put(SODALITE.gem(), new Pair(new ItemStack(ModItems.powder_sodium), new FluidStack(Fluids.CHLORINE, 100)));
recipes.put(new ComparableStack(DictFrame.fromOne(ModBlocks.stone_resource, EnumStoneType.BAUXITE)), new Pair(new ItemStack(ModItems.ingot_aluminium, 2), new FluidStack(Fluids.REDMUD, 250))); recipes.put(new ComparableStack(DictFrame.fromOne(ModItems.chunk_ore, ItemEnums.EnumChunkType.CRYOLITE)), new Pair(new ItemStack(ModItems.powder_aluminium, 1), new FluidStack(Fluids.LYE, 150)));
recipes.put(NA.dust(), new Pair(null, new FluidStack(Fluids.SODIUM, 100))); recipes.put(NA.dust(), new Pair(null, new FluidStack(Fluids.SODIUM, 100)));
recipes.put(LIMESTONE.dust(), new Pair(new ItemStack(ModItems.powder_calcium), new FluidStack(Fluids.CARBONDIOXIDE, 50))); recipes.put(LIMESTONE.dust(), new Pair(new ItemStack(ModItems.powder_calcium), new FluidStack(Fluids.CARBONDIOXIDE, 50)));

View File

@ -27,7 +27,8 @@ public class CompressorRecipes extends SerializableRecipe {
recipes.put(new Pair(Fluids.BLOOD, 3), new CompressorRecipe(1_000, new FluidStack(Fluids.HEAVYOIL, 250, 0), 200)); recipes.put(new Pair(Fluids.BLOOD, 3), new CompressorRecipe(1_000, new FluidStack(Fluids.HEAVYOIL, 250, 0), 200));
recipes.put(new Pair(Fluids.PERFLUOROMETHYL, 1), new CompressorRecipe(1_000, new FluidStack(Fluids.PERFLUOROMETHYL_COLD, 1_000, 0), 100)); recipes.put(new Pair(Fluids.PERFLUOROMETHYL, 0), new CompressorRecipe(1_000, new FluidStack(Fluids.PERFLUOROMETHYL, 1_000, 1), 50));
recipes.put(new Pair(Fluids.PERFLUOROMETHYL, 1), new CompressorRecipe(1_000, new FluidStack(Fluids.PERFLUOROMETHYL_COLD, 1_000, 0), 50));
} }
public static HashMap getRecipes() { public static HashMap getRecipes() {

View File

@ -84,6 +84,7 @@ public class CrystallizerRecipes extends SerializableRecipe {
//registerRecipe(STAR.ore(), new CrystallizerRecipe(ModItems.crystal_starmetal, baseTime), sulfur); //registerRecipe(STAR.ore(), new CrystallizerRecipe(ModItems.crystal_starmetal, baseTime), sulfur);
registerRecipe(CO.ore(), new CrystallizerRecipe(ModItems.crystal_cobalt, baseTime), sulfur); registerRecipe(CO.ore(), new CrystallizerRecipe(ModItems.crystal_cobalt, baseTime), sulfur);
registerRecipe(new ComparableStack(ModItems.powder_calcium), new CrystallizerRecipe(new ItemStack(ModItems.powder_cement, 8), utilityTime), new FluidStack(Fluids.REDMUD, 75));
registerRecipe(MALACHITE.ingot(), new CrystallizerRecipe(ItemScraps.create(new MaterialStack(Mats.MAT_COPPER, MaterialShapes.INGOT.q(1))), 300), new FluidStack(Fluids.SULFURIC_ACID, 250)); registerRecipe(MALACHITE.ingot(), new CrystallizerRecipe(ItemScraps.create(new MaterialStack(Mats.MAT_COPPER, MaterialShapes.INGOT.q(1))), 300), new FluidStack(Fluids.SULFURIC_ACID, 250));
registerRecipe("oreRareEarth", new CrystallizerRecipe(ModItems.crystal_rare, baseTime), sulfur); registerRecipe("oreRareEarth", new CrystallizerRecipe(ModItems.crystal_rare, baseTime), sulfur);

View File

@ -28,6 +28,8 @@ public class ElectrolyserFluidRecipes extends SerializableRecipe {
recipes.put(Fluids.HEAVYWATER, new ElectrolysisRecipe(2_000, new FluidStack(Fluids.DEUTERIUM, 200), new FluidStack(Fluids.OXYGEN, 200), 10)); recipes.put(Fluids.HEAVYWATER, new ElectrolysisRecipe(2_000, new FluidStack(Fluids.DEUTERIUM, 200), new FluidStack(Fluids.OXYGEN, 200), 10));
recipes.put(Fluids.VITRIOL, new ElectrolysisRecipe(1_000, new FluidStack(Fluids.SULFURIC_ACID, 500), new FluidStack(Fluids.CHLORINE, 500), new ItemStack(ModItems.powder_iron), new ItemStack(ModItems.ingot_mercury))); recipes.put(Fluids.VITRIOL, new ElectrolysisRecipe(1_000, new FluidStack(Fluids.SULFURIC_ACID, 500), new FluidStack(Fluids.CHLORINE, 500), new ItemStack(ModItems.powder_iron), new ItemStack(ModItems.ingot_mercury)));
recipes.put(Fluids.SLOP, new ElectrolysisRecipe(1_000, new FluidStack(Fluids.MERCURY, 250), new FluidStack(Fluids.NONE, 0), new ItemStack(ModItems.niter, 2), new ItemStack(ModItems.powder_limestone, 2), new ItemStack(ModItems.sulfur))); recipes.put(Fluids.SLOP, new ElectrolysisRecipe(1_000, new FluidStack(Fluids.MERCURY, 250), new FluidStack(Fluids.NONE, 0), new ItemStack(ModItems.niter, 2), new ItemStack(ModItems.powder_limestone, 2), new ItemStack(ModItems.sulfur)));
recipes.put(Fluids.REDMUD, new ElectrolysisRecipe(450, new FluidStack(Fluids.MERCURY, 150), new FluidStack(Fluids.LYE, 50), new ItemStack(ModItems.powder_titanium, 3), new ItemStack(ModItems.powder_iron, 3), new ItemStack(ModItems.powder_aluminium, 2)));
recipes.put(Fluids.ALUMINA, new ElectrolysisRecipe(200, new FluidStack(Fluids.CARBONDIOXIDE, 100), new FluidStack(Fluids.NONE, 0),40, new ItemStack(ModItems.powder_aluminium, 7), new ItemStack(ModItems.fluorite, 2)));
recipes.put(Fluids.POTASSIUM_CHLORIDE, new ElectrolysisRecipe(250, new FluidStack(Fluids.CHLORINE, 125), new FluidStack(Fluids.NONE, 0), new ItemStack(ModItems.dust))); recipes.put(Fluids.POTASSIUM_CHLORIDE, new ElectrolysisRecipe(250, new FluidStack(Fluids.CHLORINE, 125), new FluidStack(Fluids.NONE, 0), new ItemStack(ModItems.dust)));
recipes.put(Fluids.CALCIUM_CHLORIDE, new ElectrolysisRecipe(250, new FluidStack(Fluids.CHLORINE, 125), new FluidStack(Fluids.CALCIUM_SOLUTION, 125))); recipes.put(Fluids.CALCIUM_CHLORIDE, new ElectrolysisRecipe(250, new FluidStack(Fluids.CHLORINE, 125), new FluidStack(Fluids.CALCIUM_SOLUTION, 125)));

View File

@ -16,6 +16,7 @@ import com.hbm.inventory.material.MaterialShapes;
import com.hbm.inventory.material.Mats; import com.hbm.inventory.material.Mats;
import com.hbm.inventory.material.Mats.MaterialStack; import com.hbm.inventory.material.Mats.MaterialStack;
import com.hbm.inventory.recipes.loader.SerializableRecipe; import com.hbm.inventory.recipes.loader.SerializableRecipe;
import com.hbm.items.ItemEnums;
import com.hbm.items.ModItems; import com.hbm.items.ModItems;
import com.hbm.items.machine.ItemFluidIcon; import com.hbm.items.machine.ItemFluidIcon;
import com.hbm.items.machine.ItemScraps; import com.hbm.items.machine.ItemScraps;
@ -78,10 +79,12 @@ public class ElectrolyserMetalRecipes extends SerializableRecipe {
new ItemStack(ModItems.powder_lithium_tiny, 3))); new ItemStack(ModItems.powder_lithium_tiny, 3)));
recipes.put(new ComparableStack(ModItems.crystal_aluminium), new ElectrolysisMetalRecipe( recipes.put(new ComparableStack(ModItems.crystal_aluminium), new ElectrolysisMetalRecipe(
new MaterialStack(Mats.MAT_ALUMINIUM, MaterialShapes.INGOT.q(6)), new MaterialStack(Mats.MAT_ALUMINIUM, MaterialShapes.INGOT.q(2)),
new MaterialStack(Mats.MAT_IRON, MaterialShapes.INGOT.q(2)), new MaterialStack(Mats.MAT_IRON, MaterialShapes.INGOT.q(2)),
new ItemStack(ModItems.chunk_ore, 4, ItemEnums.EnumChunkType.CRYOLITE.ordinal()),
new ItemStack(ModItems.powder_lithium_tiny, 3))); new ItemStack(ModItems.powder_lithium_tiny, 3)));
recipes.put(new ComparableStack(ModItems.crystal_beryllium), new ElectrolysisMetalRecipe( recipes.put(new ComparableStack(ModItems.crystal_beryllium), new ElectrolysisMetalRecipe(
new MaterialStack(Mats.MAT_BERYLLIUM, MaterialShapes.INGOT.q(6)), new MaterialStack(Mats.MAT_BERYLLIUM, MaterialShapes.INGOT.q(6)),
new MaterialStack(Mats.MAT_LEAD, MaterialShapes.NUGGET.q(4)), new MaterialStack(Mats.MAT_LEAD, MaterialShapes.NUGGET.q(4)),

View File

@ -41,6 +41,7 @@ public class FractionRecipes extends SerializableRecipe {
fractions.put(Fluids.NAPHTHA_COKER, new Pair(new FluidStack(Fluids.NAPHTHA_CRACK, 75), new FluidStack(Fluids.LIGHTOIL_CRACK, 25))); fractions.put(Fluids.NAPHTHA_COKER, new Pair(new FluidStack(Fluids.NAPHTHA_CRACK, 75), new FluidStack(Fluids.LIGHTOIL_CRACK, 25)));
fractions.put(Fluids.GAS_COKER, new Pair(new FluidStack(Fluids.AROMATICS, 25), new FluidStack(Fluids.CARBONDIOXIDE, 75))); fractions.put(Fluids.GAS_COKER, new Pair(new FluidStack(Fluids.AROMATICS, 25), new FluidStack(Fluids.CARBONDIOXIDE, 75)));
fractions.put(Fluids.CHLOROCALCITE_MIX, new Pair(new FluidStack(Fluids.CHLOROCALCITE_CLEANED, 50), new FluidStack(Fluids.COLLOID, 50))); fractions.put(Fluids.CHLOROCALCITE_MIX, new Pair(new FluidStack(Fluids.CHLOROCALCITE_CLEANED, 50), new FluidStack(Fluids.COLLOID, 50)));
fractions.put(Fluids.BAUXITE_SOLUTION, new Pair(new FluidStack(Fluids.REDMUD, 50), new FluidStack(Fluids.SODIUM_ALUMINATE, 50)));
} }
public static Pair<FluidStack, FluidStack> getFractions(FluidType oil) { public static Pair<FluidStack, FluidStack> getFractions(FluidType oil) {

View File

@ -12,6 +12,8 @@ import com.google.gson.JsonArray;
import com.google.gson.JsonElement; import com.google.gson.JsonElement;
import com.google.gson.JsonObject; import com.google.gson.JsonObject;
import com.google.gson.stream.JsonWriter; import com.google.gson.stream.JsonWriter;
import com.hbm.blocks.BlockEnums;
import com.hbm.blocks.ModBlocks;
import com.hbm.inventory.FluidStack; import com.hbm.inventory.FluidStack;
import com.hbm.inventory.RecipesCommon.AStack; import com.hbm.inventory.RecipesCommon.AStack;
import com.hbm.inventory.RecipesCommon.ComparableStack; import com.hbm.inventory.RecipesCommon.ComparableStack;
@ -19,6 +21,7 @@ import com.hbm.inventory.RecipesCommon.OreDictStack;
import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.FluidType;
import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.Fluids;
import com.hbm.inventory.recipes.loader.SerializableRecipe; import com.hbm.inventory.recipes.loader.SerializableRecipe;
import com.hbm.items.ItemEnums;
import com.hbm.items.ModItems; import com.hbm.items.ModItems;
import com.hbm.items.ItemEnums.EnumAshType; import com.hbm.items.ItemEnums.EnumAshType;
import com.hbm.items.machine.ItemFluidIcon; import com.hbm.items.machine.ItemFluidIcon;
@ -91,6 +94,11 @@ public class MixerRecipes extends SerializableRecipe {
register(Fluids.CHLOROCALCITE_MIX, new MixerRecipe(1000, 50).setStack1(new FluidStack(Fluids.CHLOROCALCITE_SOLUTION, 500)).setStack2(new FluidStack(Fluids.SULFURIC_ACID, 500)).setSolid(new ComparableStack(ModItems.powder_flux))); register(Fluids.CHLOROCALCITE_MIX, new MixerRecipe(1000, 50).setStack1(new FluidStack(Fluids.CHLOROCALCITE_SOLUTION, 500)).setStack2(new FluidStack(Fluids.SULFURIC_ACID, 500)).setSolid(new ComparableStack(ModItems.powder_flux)));
register(Fluids.PHEROMONE_M, new MixerRecipe(2000, 10).setStack1(new FluidStack(Fluids.PHEROMONE, 1500)).setStack2(new FluidStack(Fluids.BLOOD, 500)).setSolid(new ComparableStack(ModItems.pill_herbal))); register(Fluids.PHEROMONE_M, new MixerRecipe(2000, 10).setStack1(new FluidStack(Fluids.PHEROMONE, 1500)).setStack2(new FluidStack(Fluids.BLOOD, 500)).setSolid(new ComparableStack(ModItems.pill_herbal)));
register(Fluids.BAUXITE_SOLUTION, new MixerRecipe(300, 80).setStack1(new FluidStack(Fluids.LYE, 50)).setSolid(new ComparableStack(ModBlocks.stone_resource, 1, BlockEnums.EnumStoneType.BAUXITE.ordinal())));
register(Fluids.LYE, new MixerRecipe(50, 100).setStack1(new FluidStack(Fluids.WATER, 500)).setSolid(new ComparableStack(ModItems.powder_ash, 2, EnumAshType.WOOD)));
register(Fluids.ALUMINA, new MixerRecipe(200, 40).setStack1(new FluidStack(Fluids.SODIUM_ALUMINATE, 150)).setSolid(new OreDictStack(F.dust(), 3)),
new MixerRecipe(300, 40).setStack1(new FluidStack(Fluids.SODIUM_ALUMINATE, 150)).setSolid(new ComparableStack(DictFrame.fromOne(ModItems.chunk_ore, ItemEnums.EnumChunkType.CRYOLITE))));
register(Fluids.PERFLUOROMETHYL, new MixerRecipe(1000, 20).setStack1(new FluidStack(Fluids.PETROLEUM, 1000)).setStack2(new FluidStack(Fluids.UNSATURATEDS, 500)).setSolid(new OreDictStack(F.dust()))); register(Fluids.PERFLUOROMETHYL, new MixerRecipe(1000, 20).setStack1(new FluidStack(Fluids.PETROLEUM, 1000)).setStack2(new FluidStack(Fluids.UNSATURATEDS, 500)).setSolid(new OreDictStack(F.dust())));
} }

View File

@ -2,6 +2,7 @@ package com.hbm.inventory.recipes;
import java.io.IOException; import java.io.IOException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap;
import java.util.List; import java.util.List;
import com.google.gson.JsonElement; import com.google.gson.JsonElement;
@ -12,7 +13,6 @@ import com.hbm.inventory.RecipesCommon.ComparableStack;
import com.hbm.inventory.recipes.loader.SerializableRecipe; import com.hbm.inventory.recipes.loader.SerializableRecipe;
import com.hbm.items.ModItems; import com.hbm.items.ModItems;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items; import net.minecraft.init.Items;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
@ -26,65 +26,65 @@ public class ParticleAcceleratorRecipes extends SerializableRecipe {
recipes.add(new ParticleAcceleratorRecipe( recipes.add(new ParticleAcceleratorRecipe(
new ComparableStack(ModItems.particle_hydrogen), new ComparableStack(ModItems.particle_hydrogen),
new ComparableStack(ModItems.particle_copper), new ComparableStack(ModItems.particle_copper),
900, 300,
new ItemStack(ModItems.particle_aproton), new ItemStack(ModItems.particle_amat),
new ItemStack(ModItems.particle_aelectron) null
)); ));
recipes.add(new ParticleAcceleratorRecipe( recipes.add(new ParticleAcceleratorRecipe(
new ComparableStack(ModItems.particle_amat), new ComparableStack(ModItems.particle_amat),
new ComparableStack(ModItems.particle_amat), new ComparableStack(ModItems.particle_amat),
900, 400,
new ItemStack(ModItems.particle_aschrab), new ItemStack(ModItems.particle_aschrab),
new ItemStack(ModItems.particle_empty) null
)); ));
recipes.add(new ParticleAcceleratorRecipe( recipes.add(new ParticleAcceleratorRecipe(
new ComparableStack(ModItems.particle_aschrab), new ComparableStack(ModItems.particle_aschrab),
new ComparableStack(ModItems.particle_aschrab), new ComparableStack(ModItems.particle_aschrab),
100000, 10_000,
new ItemStack(ModItems.particle_dark), new ItemStack(ModItems.particle_dark),
new ItemStack(ModItems.particle_empty) null
)); ));
recipes.add(new ParticleAcceleratorRecipe( recipes.add(new ParticleAcceleratorRecipe(
new ComparableStack(ModItems.particle_hydrogen), new ComparableStack(ModItems.particle_hydrogen),
new ComparableStack(ModItems.particle_amat), new ComparableStack(ModItems.particle_amat),
2000, 2_500,
new ItemStack(ModItems.particle_muon), new ItemStack(ModItems.particle_muon),
new ItemStack(ModItems.particle_empty) null
)); ));
recipes.add(new ParticleAcceleratorRecipe( recipes.add(new ParticleAcceleratorRecipe(
new ComparableStack(ModItems.particle_hydrogen), new ComparableStack(ModItems.particle_hydrogen),
new ComparableStack(ModItems.particle_lead), new ComparableStack(ModItems.particle_lead),
5000, 6_500,
new ItemStack(ModItems.particle_higgs), new ItemStack(ModItems.particle_higgs),
new ItemStack(ModItems.particle_empty) null
)); ));
recipes.add(new ParticleAcceleratorRecipe( recipes.add(new ParticleAcceleratorRecipe(
new ComparableStack(ModItems.particle_muon), new ComparableStack(ModItems.particle_muon),
new ComparableStack(ModItems.particle_higgs), new ComparableStack(ModItems.particle_higgs),
2000, 5_000,
new ItemStack(ModItems.particle_tachyon), new ItemStack(ModItems.particle_tachyon),
new ItemStack(ModItems.particle_empty) null
)); ));
recipes.add(new ParticleAcceleratorRecipe( recipes.add(new ParticleAcceleratorRecipe(
new ComparableStack(ModItems.particle_muon), new ComparableStack(ModItems.particle_muon),
new ComparableStack(ModItems.particle_dark), new ComparableStack(ModItems.particle_dark),
100000, 12_500,
new ItemStack(ModItems.particle_strange), new ItemStack(ModItems.particle_strange),
new ItemStack(ModItems.particle_empty) null
)); ));
recipes.add(new ParticleAcceleratorRecipe( recipes.add(new ParticleAcceleratorRecipe(
new ComparableStack(ModItems.particle_strange), new ComparableStack(ModItems.particle_strange),
new ComparableStack(ModItems.powder_magic), new ComparableStack(ModItems.powder_magic),
500000, 12_500,
new ItemStack(ModItems.particle_sparkticle), new ItemStack(ModItems.particle_sparkticle),
new ItemStack(ModItems.dust) new ItemStack(ModItems.dust)
)); ));
recipes.add(new ParticleAcceleratorRecipe( recipes.add(new ParticleAcceleratorRecipe(
new ComparableStack(ModItems.particle_sparkticle), new ComparableStack(ModItems.particle_sparkticle),
new ComparableStack(ModItems.particle_higgs), new ComparableStack(ModItems.particle_higgs),
1000000, 70_000,
new ItemStack(ModItems.particle_digamma), new ItemStack(ModItems.particle_digamma),
new ItemStack(ModItems.particle_empty) null
)); ));
recipes.add(new ParticleAcceleratorRecipe( recipes.add(new ParticleAcceleratorRecipe(
new ComparableStack(Items.chicken), new ComparableStack(Items.chicken),
@ -93,21 +93,13 @@ public class ParticleAcceleratorRecipes extends SerializableRecipe {
new ItemStack(ModItems.nugget), new ItemStack(ModItems.nugget),
new ItemStack(ModItems.nugget) new ItemStack(ModItems.nugget)
)); ));
recipes.add(new ParticleAcceleratorRecipe(
new ComparableStack(Blocks.sand),
new ComparableStack(Blocks.sand),
10,
new ItemStack(ModItems.static_sandwich),
new ItemStack(ModItems.static_sandwich)
));
} }
public ParticleAcceleratorRecipe getOutput(ItemStack input1, ItemStack input2, int momentum) { public static ParticleAcceleratorRecipe getOutput(ItemStack input1, ItemStack input2) {
for(ParticleAcceleratorRecipe recipe : recipes) { for(ParticleAcceleratorRecipe recipe : recipes) {
if(momentum >= recipe.momentum && if(((recipe.input1.matchesRecipe(input1, true) && recipe.input2.matchesRecipe(input2, true)) ||
((recipe.input1.matchesRecipe(input1, true) && recipe.input2.matchesRecipe(input2, true)) ||
(recipe.input1.matchesRecipe(input2, true) && recipe.input2.matchesRecipe(input1, true)))) { (recipe.input1.matchesRecipe(input2, true) && recipe.input2.matchesRecipe(input1, true)))) {
return recipe; return recipe;
} }
@ -116,6 +108,20 @@ public class ParticleAcceleratorRecipes extends SerializableRecipe {
return null; return null;
} }
public static HashMap getRecipes() {
HashMap<Object[], Object> recipes = new HashMap<Object[], Object>();
for(ParticleAcceleratorRecipe entry : ParticleAcceleratorRecipes.recipes) {
List<ItemStack> outputs = new ArrayList();
if(entry.output1 != null) outputs.add(entry.output1);
if(entry.output2 != null) outputs.add(entry.output2);
recipes.put(new Object[] {entry.input1, entry.input2}, outputs.toArray(new ItemStack[0]));
}
return recipes;
}
public static class ParticleAcceleratorRecipe { public static class ParticleAcceleratorRecipe {
public AStack input1; public AStack input1;
public AStack input2; public AStack input2;
@ -176,7 +182,7 @@ public class ParticleAcceleratorRecipes extends SerializableRecipe {
writer.name("outputs").beginArray(); writer.name("outputs").beginArray();
this.writeItemStack(rec.output1, writer); this.writeItemStack(rec.output1, writer);
this.writeItemStack(rec.output2, writer); if(rec.output2 != null) this.writeItemStack(rec.output2, writer);
writer.endArray(); writer.endArray();
} }
} }

View File

@ -18,6 +18,8 @@ import com.hbm.inventory.recipes.loader.SerializableRecipe;
import com.hbm.items.ItemEnums.EnumSecretType; import com.hbm.items.ItemEnums.EnumSecretType;
import com.hbm.items.food.ItemConserve.EnumFoodType; import com.hbm.items.food.ItemConserve.EnumFoodType;
import com.hbm.items.ModItems; import com.hbm.items.ModItems;
import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmo;
import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmoSecret;
import net.minecraft.init.Items; import net.minecraft.init.Items;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
@ -71,6 +73,17 @@ public class PedestalRecipes extends SerializableRecipe {
new OreDictStack(BSCCO.ingot(), 16), new OreDictStack(STAR.block(), 64), new OreDictStack(BSCCO.ingot(), 16), new OreDictStack(BSCCO.ingot(), 16), new OreDictStack(STAR.block(), 64), new OreDictStack(BSCCO.ingot(), 16),
new ComparableStack(ModItems.item_secret, 4, EnumSecretType.SELENIUM_STEEL), new ComparableStack(ModItems.item_secret, 2, EnumSecretType.CONTROLLER), new ComparableStack(ModItems.item_secret, 4, EnumSecretType.SELENIUM_STEEL)) new ComparableStack(ModItems.item_secret, 4, EnumSecretType.SELENIUM_STEEL), new ComparableStack(ModItems.item_secret, 2, EnumSecretType.CONTROLLER), new ComparableStack(ModItems.item_secret, 4, EnumSecretType.SELENIUM_STEEL))
.extra(PedestalExtraCondition.FULL_MOON)); .extra(PedestalExtraCondition.FULL_MOON));
recipes.add(new PedestalRecipe(new ItemStack(ModItems.ammo_secret, 1, EnumAmmoSecret.FOLLY_SM.ordinal()),
new OreDictStack(STAR.ingot(), 1), new ComparableStack(ModItems.powder_magic), new OreDictStack(STAR.ingot(), 1),
new ComparableStack(ModItems.powder_magic), new ComparableStack(ModBlocks.moon_turf), new ComparableStack(ModItems.powder_magic),
new OreDictStack(STAR.ingot(), 1), new ComparableStack(ModItems.powder_magic), new OreDictStack(STAR.ingot(), 1))
.extra(PedestalExtraCondition.FULL_MOON));
recipes.add(new PedestalRecipe(new ItemStack(ModItems.ammo_secret, 1, EnumAmmoSecret.FOLLY_NUKE.ordinal()),
new OreDictStack(STAR.ingot(), 1), new ComparableStack(ModItems.powder_magic), new OreDictStack(STAR.ingot(), 1),
new ComparableStack(ModItems.powder_magic), new ComparableStack(ModItems.ammo_standard, 4, EnumAmmo.NUKE_HIGH), new ComparableStack(ModItems.powder_magic),
new OreDictStack(STAR.ingot(), 1), new ComparableStack(ModItems.powder_magic), new OreDictStack(STAR.ingot(), 1))
.extra(PedestalExtraCondition.FULL_MOON));
} }
@Override @Override

View File

@ -47,6 +47,8 @@ public class RotaryFurnaceRecipes extends SerializableRecipe {
recipes.add(new RotaryFurnaceRecipe(new MaterialStack(MAT_GUNMETAL, INGOT.q(4)), 200, 100, new OreDictStack(CU.ingot(), 3), new OreDictStack(AL.ingot(), 1))); recipes.add(new RotaryFurnaceRecipe(new MaterialStack(MAT_GUNMETAL, INGOT.q(4)), 200, 100, new OreDictStack(CU.ingot(), 3), new OreDictStack(AL.ingot(), 1)));
recipes.add(new RotaryFurnaceRecipe(new MaterialStack(MAT_WEAPONSTEEL, INGOT.q(1)), 200, 400, new FluidStack(Fluids.GAS_COKER, 100), new OreDictStack(STEEL.ingot(), 1), new ComparableStack(ModItems.powder_flux, 2))); recipes.add(new RotaryFurnaceRecipe(new MaterialStack(MAT_WEAPONSTEEL, INGOT.q(1)), 200, 400, new FluidStack(Fluids.GAS_COKER, 100), new OreDictStack(STEEL.ingot(), 1), new ComparableStack(ModItems.powder_flux, 2)));
recipes.add(new RotaryFurnaceRecipe(new MaterialStack(MAT_SATURN, INGOT.q(2)), 200, 400, new FluidStack(Fluids.REFORMGAS, 250), new OreDictStack(DURA.dust(), 4), new OreDictStack(CU.dust()))); recipes.add(new RotaryFurnaceRecipe(new MaterialStack(MAT_SATURN, INGOT.q(2)), 200, 400, new FluidStack(Fluids.REFORMGAS, 250), new OreDictStack(DURA.dust(), 4), new OreDictStack(CU.dust())));
recipes.add(new RotaryFurnaceRecipe(new MaterialStack(MAT_ALUMINIUM, INGOT.q(2)), 100, 400, new FluidStack(Fluids.SODIUM_ALUMINATE, 150)));
recipes.add(new RotaryFurnaceRecipe(new MaterialStack(MAT_ALUMINIUM, INGOT.q(3)), 40, 200, new FluidStack(Fluids.SODIUM_ALUMINATE, 150), new ComparableStack(ModItems.powder_flux, 2)));
} }
public static HashMap getRecipes() { public static HashMap getRecipes() {

View File

@ -100,13 +100,23 @@ public class SILEXRecipes {
.addOut(new ItemStack(ModItems.powder_impure_osmiridium), 1) .addOut(new ItemStack(ModItems.powder_impure_osmiridium), 1)
); );
recipes.put(new ComparableStack(ModItems.fluid_icon, 1, Fluids.VITRIOL.getID()), new SILEXRecipe(1000, 1000, EnumWavelengths.IR) recipes.put(new ComparableStack(ModItems.fluid_icon, 1, Fluids.VITRIOL.getID()), new SILEXRecipe(1000, 300, EnumWavelengths.IR)
.addOut(new ItemStack(ModItems.powder_bromine), 5) .addOut(new ItemStack(ModItems.powder_bromine), 5)
.addOut(new ItemStack(ModItems.powder_iodine), 5) .addOut(new ItemStack(ModItems.powder_iodine), 5)
.addOut(new ItemStack(ModItems.powder_iron), 5) .addOut(new ItemStack(ModItems.powder_iron), 5)
.addOut(new ItemStack(ModItems.sulfur), 15) .addOut(new ItemStack(ModItems.sulfur), 15)
); );
recipes.put(new ComparableStack(ModItems.fluid_icon, 1, Fluids.REDMUD.getID()), new SILEXRecipe(300, 50, EnumWavelengths.VISIBLE)
.addOut(new ItemStack(ModItems.powder_aluminium), 10)
.addOut(new ItemStack(ModItems.powder_neodymium_tiny, 3), 5)
.addOut(new ItemStack(ModItems.powder_boron_tiny, 3), 5)
.addOut(new ItemStack(ModItems.nugget_zirconium), 5)
.addOut(new ItemStack(ModItems.powder_iron), 20)
.addOut(new ItemStack(ModItems.powder_titanium), 15)
.addOut(new ItemStack(ModItems.powder_sodium), 10)
);
for(int i = 0; i < 5; i++) { for(int i = 0; i < 5; i++) {
// UEU // // UEU //

View File

@ -209,6 +209,7 @@ public class ShredderRecipes extends SerializableRecipe {
ShredderRecipes.setRecipe(DictFrame.fromOne(ModItems.chunk_ore, EnumChunkType.RARE), new ItemStack(ModItems.powder_desh_mix)); ShredderRecipes.setRecipe(DictFrame.fromOne(ModItems.chunk_ore, EnumChunkType.RARE), new ItemStack(ModItems.powder_desh_mix));
ShredderRecipes.setRecipe(Blocks.sand, new ItemStack(ModItems.dust, 2)); ShredderRecipes.setRecipe(Blocks.sand, new ItemStack(ModItems.dust, 2));
ShredderRecipes.setRecipe(ModBlocks.block_slag, new ItemStack(ModItems.powder_cement, 4)); ShredderRecipes.setRecipe(ModBlocks.block_slag, new ItemStack(ModItems.powder_cement, 4));
ShredderRecipes.setRecipe(ModBlocks.ore_aluminium, DictFrame.fromOne(ModItems.chunk_ore, EnumChunkType.CRYOLITE, 2));
List<ItemStack> logs = OreDictionary.getOres("logWood"); List<ItemStack> logs = OreDictionary.getOres("logWood");
List<ItemStack> planks = OreDictionary.getOres("plankWood"); List<ItemStack> planks = OreDictionary.getOres("plankWood");

View File

@ -68,7 +68,7 @@ public class SolidificationRecipes extends SerializableRecipe {
registerRecipe(SALIENT, 1280, new ItemStack(ModItems.bio_wafer, 8)); //4 (food val) * 2 (sat mod) * 2 (constant) * 10 (quanta) * 8 (batch size) registerRecipe(SALIENT, 1280, new ItemStack(ModItems.bio_wafer, 8)); //4 (food val) * 2 (sat mod) * 2 (constant) * 10 (quanta) * 8 (batch size)
registerRecipe(ENDERJUICE, 100, Items.ender_pearl); registerRecipe(ENDERJUICE, 100, Items.ender_pearl);
registerRecipe(WATZ, 1000, ModItems.ingot_mud); registerRecipe(WATZ, 1000, ModItems.ingot_mud);
registerRecipe(REDMUD, 1000, Items.iron_ingot); registerRecipe(REDMUD, 450, Items.iron_ingot);
registerRecipe(SODIUM, 100, ModItems.powder_sodium); registerRecipe(SODIUM, 100, ModItems.powder_sodium);
registerRecipe(LEAD, 100, ModItems.ingot_lead); registerRecipe(LEAD, 100, ModItems.ingot_lead);
registerRecipe(SLOP, 250, ModBlocks.ore_oil_sand); registerRecipe(SLOP, 250, ModBlocks.ore_oil_sand);

View File

@ -43,7 +43,6 @@ public class AnvilRecipes extends SerializableRecipe {
public static void register() { public static void register() {
registerSmithing(); registerSmithing();
registerConstruction();
} }
@Override public String getFileName() { return "hbmAnvil.json"; } @Override public String getFileName() { return "hbmAnvil.json"; }
@ -598,7 +597,6 @@ public class AnvilRecipes extends SerializableRecipe {
constructionRecipes.add(new AnvilConstructionRecipe(new AStack[]{new ComparableStack(ModItems.mold_base), new OreDictStack(STEEL.ingot(), 4)}, new AnvilOutput(new ItemStack(ModItems.mold, 1, 28))).setTier(2)); constructionRecipes.add(new AnvilConstructionRecipe(new AStack[]{new ComparableStack(ModItems.mold_base), new OreDictStack(STEEL.ingot(), 4)}, new AnvilOutput(new ItemStack(ModItems.mold, 1, 28))).setTier(2));
pullFromAssembler(new ComparableStack(ModItems.pellet_buckshot), 1); pullFromAssembler(new ComparableStack(ModItems.pellet_buckshot), 1);
pullFromAssembler(new ComparableStack(ModItems.pellet_canister), 1);
} }
public static void registerConstructionUpgrades() { public static void registerConstructionUpgrades() {

View File

@ -51,7 +51,9 @@ public class ItemEnums {
} }
public static enum EnumChunkType { public static enum EnumChunkType {
RARE, MALACHITE RARE,
MALACHITE,
CRYOLITE
} }
public static enum EnumAchievementType { public static enum EnumAchievementType {

View File

@ -1160,6 +1160,7 @@ public class ModItems {
public static Item containment_box; public static Item containment_box;
public static Item plastic_bag; public static Item plastic_bag;
public static Item casing_bag; public static Item casing_bag;
public static Item test_nuke_igniter; public static Item test_nuke_igniter;
@ -1186,10 +1187,6 @@ public class ModItems {
public static Item pellet_gas; public static Item pellet_gas;
public static Item magnetron; public static Item magnetron;
public static Item pellet_buckshot; public static Item pellet_buckshot;
public static Item pellet_flechette;
public static Item pellet_chlorophyte;
public static Item pellet_canister;
public static Item pellet_claws;
public static Item pellet_charged; public static Item pellet_charged;
public static Item designator; public static Item designator;
@ -3590,6 +3587,7 @@ public class ModItems {
scrap_nuclear = new Item().setUnlocalizedName("scrap_nuclear").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":scrap_nuclear"); scrap_nuclear = new Item().setUnlocalizedName("scrap_nuclear").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":scrap_nuclear");
containment_box = new ItemLeadBox().setUnlocalizedName("containment_box").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":containment_box"); containment_box = new ItemLeadBox().setUnlocalizedName("containment_box").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":containment_box");
plastic_bag = new ItemPlasticBag().setUnlocalizedName("plastic_bag").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":plastic_bag"); plastic_bag = new ItemPlasticBag().setUnlocalizedName("plastic_bag").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":plastic_bag");
casing_bag = new ItemCasingBag().setUnlocalizedName("casing_bag").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":casing_bag"); casing_bag = new ItemCasingBag().setUnlocalizedName("casing_bag").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":casing_bag");
debris_graphite = new Item().setUnlocalizedName("debris_graphite").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":debris_graphite"); debris_graphite = new Item().setUnlocalizedName("debris_graphite").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":debris_graphite");
@ -3614,10 +3612,6 @@ public class ModItems {
pellet_gas = new ItemCustomLore().setUnlocalizedName("pellet_gas").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":pellet_gas"); pellet_gas = new ItemCustomLore().setUnlocalizedName("pellet_gas").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":pellet_gas");
magnetron = new ItemCustomLore().setUnlocalizedName("magnetron").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":magnetron_alt"); magnetron = new ItemCustomLore().setUnlocalizedName("magnetron").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":magnetron_alt");
pellet_buckshot = new Item().setUnlocalizedName("pellet_buckshot").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":pellets_lead"); pellet_buckshot = new Item().setUnlocalizedName("pellet_buckshot").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":pellets_lead");
pellet_flechette = new Item().setUnlocalizedName("pellet_flechette").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":pellets_flechette");
pellet_chlorophyte = new Item().setUnlocalizedName("pellet_chlorophyte").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":pellets_chlorophyte");
pellet_canister = new Item().setUnlocalizedName("pellet_canister").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":pellets_canister");
pellet_claws = new Item().setUnlocalizedName("pellet_claws").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":pellets_claws");
pellet_charged = new Item().setUnlocalizedName("pellet_charged").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":pellets_charged"); pellet_charged = new Item().setUnlocalizedName("pellet_charged").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":pellets_charged");
designator = new ItemDesingator().setUnlocalizedName("designator").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":designator"); designator = new ItemDesingator().setUnlocalizedName("designator").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":designator");
@ -5711,10 +5705,6 @@ public class ModItems {
GameRegistry.registerItem(tritium_deuterium_cake, tritium_deuterium_cake.getUnlocalizedName()); GameRegistry.registerItem(tritium_deuterium_cake, tritium_deuterium_cake.getUnlocalizedName());
GameRegistry.registerItem(pellet_cluster, pellet_cluster.getUnlocalizedName()); GameRegistry.registerItem(pellet_cluster, pellet_cluster.getUnlocalizedName());
GameRegistry.registerItem(pellet_buckshot, pellet_buckshot.getUnlocalizedName()); GameRegistry.registerItem(pellet_buckshot, pellet_buckshot.getUnlocalizedName());
GameRegistry.registerItem(pellet_flechette, pellet_flechette.getUnlocalizedName());
GameRegistry.registerItem(pellet_chlorophyte, pellet_chlorophyte.getUnlocalizedName());
GameRegistry.registerItem(pellet_canister, pellet_canister.getUnlocalizedName());
GameRegistry.registerItem(pellet_claws, pellet_claws.getUnlocalizedName());
GameRegistry.registerItem(pellet_charged, pellet_charged.getUnlocalizedName()); GameRegistry.registerItem(pellet_charged, pellet_charged.getUnlocalizedName());
GameRegistry.registerItem(pellet_gas, pellet_gas.getUnlocalizedName()); GameRegistry.registerItem(pellet_gas, pellet_gas.getUnlocalizedName());
GameRegistry.registerItem(magnetron, magnetron.getUnlocalizedName()); GameRegistry.registerItem(magnetron, magnetron.getUnlocalizedName());
@ -6236,6 +6226,7 @@ public class ModItems {
GameRegistry.registerItem(pollution_detector, pollution_detector.getUnlocalizedName()); GameRegistry.registerItem(pollution_detector, pollution_detector.getUnlocalizedName());
GameRegistry.registerItem(containment_box, containment_box.getUnlocalizedName()); GameRegistry.registerItem(containment_box, containment_box.getUnlocalizedName());
GameRegistry.registerItem(plastic_bag, plastic_bag.getUnlocalizedName()); GameRegistry.registerItem(plastic_bag, plastic_bag.getUnlocalizedName());
GameRegistry.registerItem(casing_bag, casing_bag.getUnlocalizedName()); GameRegistry.registerItem(casing_bag, casing_bag.getUnlocalizedName());
//Keys and Locks //Keys and Locks

View File

@ -1,12 +1,14 @@
package com.hbm.items.machine; package com.hbm.items.machine;
import java.util.List; import java.util.List;
import java.util.Locale;
import com.hbm.items.ItemEnumMulti; import com.hbm.items.ItemEnumMulti;
import com.hbm.util.EnumUtil; import com.hbm.util.EnumUtil;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumChatFormatting;
public class ItemPACoil extends ItemEnumMulti { public class ItemPACoil extends ItemEnumMulti {
@ -16,30 +18,33 @@ public class ItemPACoil extends ItemEnumMulti {
} }
public static enum EnumCoilType { public static enum EnumCoilType {
GOLD(0, 10_000, 0, 10_000, 0.99D), GOLD(0, 2_200, 0, 2_200, 15),
NIOBIUM(5_000, 100_000, 5_000, 100_000, 0.999D), NIOBIUM(1_500, 8_400, 1_500, 8_400, 21),
BSCCO(50_000, 500_000, 50_000, 500_000, 0.99975D); BSCCO(7_500, 15_000, 7_500, 15_000, 27),
CHLOROPHYTE(14_500, 75_000, 14_500, 75_000, 51);
public int quadMin; public int quadMin;
public int quadMax; public int quadMax;
public int diMin; public int diMin;
public int diMax; public int diMax;
public double diMult; public int diDistMin;
private EnumCoilType(int quadMin, int quadMax, int diMin, int diMax, double diMult) { private EnumCoilType(int quadMin, int quadMax, int diMin, int diMax, int diDistMin) {
this.quadMin = quadMin; this.quadMin = quadMin;
this.quadMax = quadMax; this.quadMax = quadMax;
this.diMin = diMin; this.diMin = diMin;
this.diMax = diMax; this.diMax = diMax;
this.diMult = diMult; this.diDistMin = diDistMin;
} }
} }
@Override @Override
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) { public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) {
EnumCoilType type = EnumUtil.grabEnumSafely(theEnum, stack.getItemDamage()); EnumCoilType type = EnumUtil.grabEnumSafely(theEnum, stack.getItemDamage());
list.add("Quadrupole operational range: " + type.quadMin + " - " + type.quadMax); list.add(EnumChatFormatting.BLUE + "Quadrupole operational range: " + EnumChatFormatting.RESET + String.format(Locale.US, "%,d", type.quadMin) + " - " + String.format(Locale.US, "%,d", type.quadMax));
list.add("Dipole operational range: " + type.diMin + " - " + type.diMax); list.add(EnumChatFormatting.BLUE + "Dipole operational range: " + EnumChatFormatting.RESET + String.format(Locale.US, "%,d", type.diMin) + " - " + String.format(Locale.US, "%,d", type.diMax));
list.add("Dipole momentum multiplier: x" + type.diMult); list.add(EnumChatFormatting.BLUE + "Dipole minimum side length: " + EnumChatFormatting.RESET + type.diDistMin);
list.add(EnumChatFormatting.RED + "Minimums not met result in a power draw penalty!");
list.add(EnumChatFormatting.RED + "Maximums exceeded result in the particle crashing!");
} }
} }

View File

@ -129,7 +129,7 @@ public class ItemBedrockOreNew extends Item {
public static enum BedrockOreType { public static enum BedrockOreType {
// primary sulfuric solvent radsolvent // primary sulfuric solvent radsolvent
LIGHT_METAL( 0xFFFFFF, 0x353535, "light", o(MAT_IRON, 9), o(MAT_COPPER, 9), o(MAT_TITANIUM, 9), o(MAT_ALUMINIUM, 5), o(MAT_ALUMINIUM, 4), o(MAT_CHLOROCALCITE, 5), o(MAT_LITHIUM, 5), o(MAT_SODIUM, 3), o(MAT_CHLOROCALCITE, 6), o(MAT_LITHIUM, 6), o(MAT_SODIUM, 6)), LIGHT_METAL( 0xFFFFFF, 0x353535, "light", o(MAT_IRON, 9), o(MAT_COPPER, 9), o(MAT_TITANIUM, 6), o(MAT_BAUXITE, 9), o(MAT_CRYOLITE, 3), o(MAT_CHLOROCALCITE, 5), o(MAT_LITHIUM, 5), o(MAT_SODIUM, 3), o(MAT_CHLOROCALCITE, 6), o(MAT_LITHIUM, 6), o(MAT_SODIUM, 6)),
HEAVY_METAL( 0x868686, 0x000000, "heavy", o(MAT_TUNGSTEN, 9), o(MAT_LEAD, 9), o(MAT_GOLD, 2), o(MAT_GOLD, 2), o(MAT_BERYLLIUM, 3), o(MAT_TUNGSTEN, 9), o(MAT_LEAD, 9), o(MAT_GOLD, 5), o(MAT_BISMUTH, 1), o(MAT_BISMUTH, 1), o(MAT_GOLD, 6)), HEAVY_METAL( 0x868686, 0x000000, "heavy", o(MAT_TUNGSTEN, 9), o(MAT_LEAD, 9), o(MAT_GOLD, 2), o(MAT_GOLD, 2), o(MAT_BERYLLIUM, 3), o(MAT_TUNGSTEN, 9), o(MAT_LEAD, 9), o(MAT_GOLD, 5), o(MAT_BISMUTH, 1), o(MAT_BISMUTH, 1), o(MAT_GOLD, 6)),
RARE_EARTH( 0xE6E6B6, 0x1C1C00, "rare", o(MAT_COBALT, 5), o(MAT_RAREEARTH, 5),o(MAT_BORON, 5), o(MAT_LANTHANIUM, 3), o(MAT_NIOBIUM, 4), o(MAT_NEODYMIUM, 3), o(MAT_STRONTIUM, 3), o(MAT_ZIRCONIUM, 3), o(MAT_NIOBIUM, 5), o(MAT_NEODYMIUM, 5), o(MAT_STRONTIUM, 3)), RARE_EARTH( 0xE6E6B6, 0x1C1C00, "rare", o(MAT_COBALT, 5), o(MAT_RAREEARTH, 5),o(MAT_BORON, 5), o(MAT_LANTHANIUM, 3), o(MAT_NIOBIUM, 4), o(MAT_NEODYMIUM, 3), o(MAT_STRONTIUM, 3), o(MAT_ZIRCONIUM, 3), o(MAT_NIOBIUM, 5), o(MAT_NEODYMIUM, 5), o(MAT_STRONTIUM, 3)),
ACTINIDE( 0xC1C7BD, 0x2B3227, "actinide", o(MAT_URANIUM, 4), o(MAT_THORIUM, 4), o(MAT_RADIUM, 2), o(MAT_RADIUM, 2), o(MAT_POLONIUM, 2), o(MAT_RADIUM, 2), o(MAT_RADIUM, 2), o(MAT_POLONIUM, 2), o(MAT_TECHNETIUM, 1), o(MAT_TECHNETIUM, 1), o(MAT_U238, 1)), ACTINIDE( 0xC1C7BD, 0x2B3227, "actinide", o(MAT_URANIUM, 4), o(MAT_THORIUM, 4), o(MAT_RADIUM, 2), o(MAT_RADIUM, 2), o(MAT_POLONIUM, 2), o(MAT_RADIUM, 2), o(MAT_RADIUM, 2), o(MAT_POLONIUM, 2), o(MAT_TECHNETIUM, 1), o(MAT_TECHNETIUM, 1), o(MAT_U238, 1)),

View File

@ -771,26 +771,27 @@ public class Orchestras {
public static BiConsumer<ItemStack, LambdaContext> ORCHESTRA_STINGER = (stack, ctx) -> { public static BiConsumer<ItemStack, LambdaContext> ORCHESTRA_STINGER = (stack, ctx) -> {
EntityLivingBase entity = ctx.entity; EntityLivingBase entity = ctx.entity;
if(entity.worldObj.isRemote) return;
AnimType type = ItemGunBaseNT.getLastAnim(stack, ctx.configIndex); AnimType type = ItemGunBaseNT.getLastAnim(stack, ctx.configIndex);
int timer = ItemGunBaseNT.getAnimTimer(stack, ctx.configIndex); int timer = ItemGunBaseNT.getAnimTimer(stack, ctx.configIndex);
AudioWrapper runningAudio = ItemGunBaseNT.loopedSounds.get(entity); if(entity.worldObj.isRemote) {
if(ItemGunStinger.getLockonProgress(stack) > 0 && !ItemGunStinger.getIsLockedOn(stack)) { AudioWrapper runningAudio = ItemGunBaseNT.loopedSounds.get(entity);
//start sound if(ItemGunStinger.getLockonProgress(stack) > 0 && !ItemGunStinger.getIsLockedOn(stack)) {
if(runningAudio == null || !runningAudio.isPlaying()) { //start sound
AudioWrapper audio = MainRegistry.proxy.getLoopedSound("hbm:weapon.fire.lockon", (float) entity.posX, (float) entity.posY, (float) entity.posZ, 1F, 15F, 1F, 10); if(runningAudio == null || !runningAudio.isPlaying()) {
ItemGunBaseNT.loopedSounds.put(entity, audio); AudioWrapper audio = MainRegistry.proxy.getLoopedSound("hbm:weapon.fire.lockon", (float) entity.posX, (float) entity.posY, (float) entity.posZ, 1F, 15F, 1F, 10);
audio.startSound(); ItemGunBaseNT.loopedSounds.put(entity, audio);
audio.startSound();
}
//keepalive
if(runningAudio != null && runningAudio.isPlaying()) {
runningAudio.keepAlive();
runningAudio.updatePosition((float) entity.posX, (float) entity.posY, (float) entity.posZ);
}
} else {
//stop sound due to timeout
if(runningAudio != null && runningAudio.isPlaying()) runningAudio.stopSound();
} }
//keepalive
if(runningAudio != null && runningAudio.isPlaying()) {
runningAudio.keepAlive();
runningAudio.updatePosition((float) entity.posX, (float) entity.posY, (float) entity.posZ);
}
} else {
//stop sound due to timeout
if(runningAudio != null && runningAudio.isPlaying()) runningAudio.stopSound();
} }
if(type == AnimType.RELOAD) { if(type == AnimType.RELOAD) {

View File

@ -3,7 +3,7 @@ package com.hbm.lib;
public class RefStrings { public class RefStrings {
public static final String MODID = "hbm"; public static final String MODID = "hbm";
public static final String NAME = "Hbm's Nuclear Tech Mod"; public static final String NAME = "Hbm's Nuclear Tech Mod";
public static final String VERSION = "1.0.27 BETA (5224)"; public static final String VERSION = "1.0.27 BETA (5229)";
//HBM's Beta Naming Convention: //HBM's Beta Naming Convention:
//V T (X) //V T (X)
//V -> next release version //V -> next release version

View File

@ -1639,6 +1639,10 @@ public class MainRegistry {
ignoreMappings.add("hbm:item.assembly_calamity"); ignoreMappings.add("hbm:item.assembly_calamity");
ignoreMappings.add("hbm:item.assembly_lacunae"); ignoreMappings.add("hbm:item.assembly_lacunae");
ignoreMappings.add("hbm:item.assembly_luna"); ignoreMappings.add("hbm:item.assembly_luna");
ignoreMappings.add("hbm:item.pellet_chlorophyte");
ignoreMappings.add("hbm:item.pellet_canister");
ignoreMappings.add("hbm:item.pellet_claws");
ignoreMappings.add("hbm:item.pellet_flechette");
/// REMAP /// /// REMAP ///
remapItems.put("hbm:item.gadget_explosive8", ModItems.early_explosive_lenses); remapItems.put("hbm:item.gadget_explosive8", ModItems.early_explosive_lenses);

View File

@ -69,6 +69,7 @@ public class NEIRegistry {
handlers.add(new RotaryFurnaceHandler()); handlers.add(new RotaryFurnaceHandler());
handlers.add(new AmmoPressHandler()); handlers.add(new AmmoPressHandler());
handlers.add(new CompressorHandler()); handlers.add(new CompressorHandler());
handlers.add(new ParticleAcceleratorHandler());
//this shit comes last //this shit comes last
handlers.add(new FluidRecipeHandler()); handlers.add(new FluidRecipeHandler());

View File

@ -19,7 +19,9 @@ public class TileEntityPABeamline extends TileEntity implements IParticleUser {
} }
@Override @Override
public void onEnter(Particle particle, ForgeDirection dir) { } public void onEnter(Particle particle, ForgeDirection dir) {
particle.addDistance(3);
}
@Override @Override
public BlockPos getExitPos(Particle particle) { public BlockPos getExitPos(Particle particle) {

View File

@ -50,6 +50,10 @@ public class TileEntityPADetector extends TileEntityCooledBase implements IGUIPr
return 1_000_000; return 1_000_000;
} }
@Override public boolean isItemValidForSlot(int slot, ItemStack stack) { return slot == 1 || slot == 2; }
@Override public boolean canExtractItem(int slot, ItemStack stack, int side) { return slot == 3 || slot == 4; }
@Override public int[] getAccessibleSlotsFromSide(int side) { return new int[] { 1, 2, 3, 4 }; }
AxisAlignedBB bb = null; AxisAlignedBB bb = null;
@Override @Override
@ -107,7 +111,7 @@ public class TileEntityPADetector extends TileEntityCooledBase implements IGUIPr
(recipe.input1.matchesRecipe(particle.input2, true) && recipe.input2.matchesRecipe(particle.input1, true)))) { (recipe.input1.matchesRecipe(particle.input2, true) && recipe.input2.matchesRecipe(particle.input1, true)))) {
if(canAccept(recipe)) { if(canAccept(recipe)) {
if(recipe.output1.getItem().hasContainerItem(recipe.output1)) this.decrStackSize(1, 1); if(recipe.output1.getItem().hasContainerItem(recipe.output1)) this.decrStackSize(1, 1);
if(recipe.output2.getItem().hasContainerItem(recipe.output2)) this.decrStackSize(2, 1); if(recipe.output2 != null && recipe.output2.getItem().hasContainerItem(recipe.output2)) this.decrStackSize(2, 1);
if(slots[3] == null) { if(slots[3] == null) {
slots[3] = recipe.output1.copy(); slots[3] = recipe.output1.copy();
@ -115,10 +119,12 @@ public class TileEntityPADetector extends TileEntityCooledBase implements IGUIPr
slots[3].stackSize += recipe.output1.stackSize; slots[3].stackSize += recipe.output1.stackSize;
} }
if(slots[4] == null) { if(recipe.output2 != null) {
slots[4] = recipe.output2.copy(); if(slots[4] == null) {
} else { slots[4] = recipe.output2.copy();
slots[4].stackSize += recipe.output2.stackSize; } else {
slots[4].stackSize += recipe.output2.stackSize;
}
} }
} }
particle.crash(PAState.SUCCESS); particle.crash(PAState.SUCCESS);

View File

@ -40,7 +40,7 @@ public class TileEntityPADipole extends TileEntityCooledBase implements IGUIProv
@Override @Override
public long getMaxPower() { public long getMaxPower() {
return 1_000_000; return 5_000_000;
} }
@Override @Override
@ -70,7 +70,8 @@ public class TileEntityPADipole extends TileEntityCooledBase implements IGUIProv
int mult = 1; int mult = 1;
if(slots[1] != null && slots[1].getItem() == ModItems.pa_coil) { if(slots[1] != null && slots[1].getItem() == ModItems.pa_coil) {
type = EnumUtil.grabEnumSafely(EnumCoilType.class, slots[1].getItemDamage()); type = EnumUtil.grabEnumSafely(EnumCoilType.class, slots[1].getItemDamage());
mult = type.diMin > particle.momentum ? 5 : 1; if(type.diMin > particle.momentum) mult *= 5;
if(type.diDistMin > particle.distanceTraveled) mult *= 5;
} }
if(!isCool()) particle.crash(PAState.CRASH_NOCOOL); if(!isCool()) particle.crash(PAState.CRASH_NOCOOL);
@ -80,7 +81,7 @@ public class TileEntityPADipole extends TileEntityCooledBase implements IGUIProv
if(particle.invalid) return; if(particle.invalid) return;
particle.momentum *= type.diMult; particle.resetDistance();
this.power -= this.usage * mult; this.power -= this.usage * mult;
} }

View File

@ -63,6 +63,7 @@ public class TileEntityPAQuadrupole extends TileEntityCooledBase implements IGUI
if(particle.invalid) return; if(particle.invalid) return;
particle.addDistance(3);
particle.focus(focusGain); particle.focus(focusGain);
this.power -= this.usage * mult; this.power -= this.usage * mult;
} }

View File

@ -52,6 +52,7 @@ public class TileEntityPARFC extends TileEntityCooledBase implements IGUIProvide
if(particle.invalid) return; if(particle.invalid) return;
particle.addDistance(9);
particle.momentum += this.momentumGain; particle.momentum += this.momentumGain;
particle.defocus(defocusGain); particle.defocus(defocusGain);
this.power -= this.usage; this.power -= this.usage;

View File

@ -127,7 +127,7 @@ public class TileEntityPASource extends TileEntityCooledBase implements IGUIProv
super.serialize(buf); super.serialize(buf);
buf.writeInt(debugSpeed); buf.writeInt(debugSpeed);
buf.writeByte((byte) this.state.ordinal()); buf.writeByte((byte) this.state.ordinal());
buf.writeInt(particle != null ? particle.momentum : 0); buf.writeInt(this.lastSpeed);
} }
@Override @Override
@ -135,10 +135,7 @@ public class TileEntityPASource extends TileEntityCooledBase implements IGUIProv
super.deserialize(buf); super.deserialize(buf);
debugSpeed = buf.readInt(); debugSpeed = buf.readInt();
state = EnumUtil.grabEnumSafely(PAState.class, buf.readByte()); state = EnumUtil.grabEnumSafely(PAState.class, buf.readByte());
int lastSpeed = buf.readInt(); this.lastSpeed = buf.readInt();
if(lastSpeed != 0) {
this.lastSpeed = lastSpeed;
}
} }
@Override @Override
@ -243,7 +240,8 @@ public class TileEntityPASource extends TileEntityCooledBase implements IGUIProv
public ForgeDirection dir; public ForgeDirection dir;
public int momentum; public int momentum;
public int defocus; public int defocus;
public static final int maxDefocus = 100; public int distanceTraveled;
public static final int maxDefocus = 1000;
public boolean invalid = false; public boolean invalid = false;
public ItemStack input1; public ItemStack input1;
@ -268,8 +266,12 @@ public class TileEntityPASource extends TileEntityCooledBase implements IGUIProv
this.x = pos.getX(); this.x = pos.getX();
this.y = pos.getY(); this.y = pos.getY();
this.z = pos.getZ(); this.z = pos.getZ();
this.source.lastSpeed = this.momentum;
} }
public void addDistance(int dist) { this.distanceTraveled += dist; }
public void resetDistance() { this.distanceTraveled = 0; }
public void defocus(int amount) { public void defocus(int amount) {
this.defocus += amount; this.defocus += amount;
if(this.defocus > this.maxDefocus) this.crash(PAState.CRASH_DEFOCUS); if(this.defocus > this.maxDefocus) this.crash(PAState.CRASH_DEFOCUS);

View File

@ -405,6 +405,10 @@ container.nukeSolinium=Die Blauspülung
container.nukeTsar=Tsar Bombe container.nukeTsar=Tsar Bombe
container.oilWell=Ölbohrturm container.oilWell=Ölbohrturm
container.orbus=Schwerer Magnetischer Lagerbehälter container.orbus=Schwerer Magnetischer Lagerbehälter
container.paDetector=Detektor
container.paDipole=Dipol
container.paQuadrupole=Quad.
container.paSource=Teilchenquelle
container.plasmaHeater=Plasmaerhitzer container.plasmaHeater=Plasmaerhitzer
container.press=Befeuerte Presse container.press=Befeuerte Presse
container.puf6_tank=PuF6 Tank container.puf6_tank=PuF6 Tank
@ -872,6 +876,7 @@ hbmmat.cobalt=Kobalt
hbmmat.cobalt60=Kobalt-60 hbmmat.cobalt60=Kobalt-60
hbmmat.coltan=Coltan hbmmat.coltan=Coltan
hbmmat.copper=Kupfer hbmmat.copper=Kupfer
hbmmat.cryolite=Kryolith
hbmmat.desh=Desh hbmmat.desh=Desh
hbmmat.diamond=Diamant hbmmat.diamond=Diamant
hbmmat.dineutronium=Dineutronium hbmmat.dineutronium=Dineutronium
@ -1723,7 +1728,8 @@ item.chopper_head.name=Jagdschrauber Cockpit
item.chopper_tail.name=Jagdschrauber Heck item.chopper_tail.name=Jagdschrauber Heck
item.chopper_torso.name=Jagdschrauber Rumpf item.chopper_torso.name=Jagdschrauber Rumpf
item.chopper_wing.name=Jagdschrauber Seitentragfläche item.chopper_wing.name=Jagdschrauber Seitentragfläche
item.chunk_ore.malachite.name=Malachit-Brocken item.chunk_ore.cryolite.name=Kryolithbrocken
item.chunk_ore.malachite.name=Malachitbrocken
item.chunk_ore.rare.name=Seltenerdenerz-Brocken item.chunk_ore.rare.name=Seltenerdenerz-Brocken
item.cigarette.name=FFI-Markenzigarette item.cigarette.name=FFI-Markenzigarette
item.cinnebar.name=Zinnober item.cinnebar.name=Zinnober
@ -2939,6 +2945,10 @@ item.ore_seared.name=Geätztes %serz
item.ore_separated.name=Separiertes %serz item.ore_separated.name=Separiertes %serz
item.overfuse.name=Singularitätsschraubenzieher item.overfuse.name=Singularitätsschraubenzieher
item.oxy_mask.name=Sauerstoffmaske item.oxy_mask.name=Sauerstoffmaske
item.pa_coil.bscco.name=Große BSCCO-Spule
item.pa_coil.chlorophyte.name=Große Grünalgenspule
item.pa_coil.gold.name=Große Goldspule
item.pa_coil.niobium.name=Große NbTi-Spule
item.paa_boots.name=PaA-"olle Latschen" item.paa_boots.name=PaA-"olle Latschen"
item.paa_legs.name=PaA-Beinverstärkungsschienen item.paa_legs.name=PaA-Beinverstärkungsschienen
item.paa_plate.name=PaA-Brustschutzplatte item.paa_plate.name=PaA-Brustschutzplatte
@ -4646,7 +4656,7 @@ tile.oil_duct_solid.name=Verstärktes Ölrohr
tile.oil_pipe.name=Rohölrohr tile.oil_pipe.name=Rohölrohr
tile.oil_spill.name=Ölteppich tile.oil_spill.name=Ölteppich
tile.ore_alexandrite.name=Alexandriterz tile.ore_alexandrite.name=Alexandriterz
tile.ore_aluminium.name=Aluminiumerz tile.ore_aluminium.name=Aluminiumhaltiges Erz
tile.ore_asbestos.name=Asbesterz tile.ore_asbestos.name=Asbesterz
tile.ore_australium.name=Australisches Erz tile.ore_australium.name=Australisches Erz
tile.ore_basalt_asbestos.name=Asbestreicher Basalt tile.ore_basalt_asbestos.name=Asbestreicher Basalt

View File

@ -808,6 +808,10 @@ container.nukeSolinium=The Blue Rinse
container.nukeTsar=Tsar Bomba container.nukeTsar=Tsar Bomba
container.oilWell=Oil Derrick container.oilWell=Oil Derrick
container.orbus=Heavy Antimatter Storage container.orbus=Heavy Antimatter Storage
container.paDetector=Detector
container.paDipole=Dipole
container.paQuadrupole=Quad.
container.paSource=Particle Source
container.plasmaHeater=Plasma Heater container.plasmaHeater=Plasma Heater
container.press=Burner Press container.press=Burner Press
container.puf6_tank=PuF6 Tank container.puf6_tank=PuF6 Tank
@ -1404,10 +1408,12 @@ hbm.key.toggleHUD=Toggle HUD
hbm.key.trainInv=Train Inventory hbm.key.trainInv=Train Inventory
hbm.key.reload=Reload hbm.key.reload=Reload
hbmfluid.alumina=Alumina
hbmfluid.amat=Antimatter hbmfluid.amat=Antimatter
hbmfluid.aromatics=Aromatic Hydrocarbons hbmfluid.aromatics=Aromatic Hydrocarbons
hbmfluid.aschrab=Antischrabidium hbmfluid.aschrab=Antischrabidium
hbmfluid.balefire=BF Rocket Fuel hbmfluid.balefire=BF Rocket Fuel
hbmfluid.bauxite_solution=Bauxite Solution
hbmfluid.biofuel=Biofuel hbmfluid.biofuel=Biofuel
hbmfluid.biogas=Biogas hbmfluid.biogas=Biogas
hbmfluid.bitumen=Bitumen hbmfluid.bitumen=Bitumen
@ -1474,6 +1480,7 @@ hbmfluid.lightoil_ds=Desulfurized Light Oil
hbmfluid.lightoil_vacuum=Vacuum Light Oil hbmfluid.lightoil_vacuum=Vacuum Light Oil
hbmfluid.lpg=LPG hbmfluid.lpg=LPG
hbmfluid.lubricant=Engine Lubricant hbmfluid.lubricant=Engine Lubricant
hbmfluid.lye=Lye
hbmfluid.mercury=Mercury hbmfluid.mercury=Mercury
hbmfluid.mug=Mug Root Beer hbmfluid.mug=Mug Root Beer
hbmfluid.mug_hot=Hot Mug Root Beer hbmfluid.mug_hot=Hot Mug Root Beer
@ -1526,6 +1533,7 @@ hbmfluid.smoke_leaded=Leaded Smoke
hbmfluid.smoke_poison=Poison Smoke hbmfluid.smoke_poison=Poison Smoke
hbmfluid.sodium=Liquid Sodium hbmfluid.sodium=Liquid Sodium
hbmfluid.sodium_hot=Hot Liquid Sodium hbmfluid.sodium_hot=Hot Liquid Sodium
hbmfluid.sodium_aluminate=Sodium Aluminate
hbmfluid.solvent=Solvent hbmfluid.solvent=Solvent
hbmfluid.sourgas=Sour Gas hbmfluid.sourgas=Sour Gas
hbmfluid.spentsteam=Low-Pressure Steam hbmfluid.spentsteam=Low-Pressure Steam
@ -1571,6 +1579,7 @@ hbmmat.arsenic=Arsenic
hbmmat.arsenicbronze=Arsenic Bronze hbmmat.arsenicbronze=Arsenic Bronze
hbmmat.asbestos=Asbestos hbmmat.asbestos=Asbestos
hbmmat.bakelite=Bakelite hbmmat.bakelite=Bakelite
hbmmat.bauxite=Bauxite
hbmmat.beryllium=Beryllium hbmmat.beryllium=Beryllium
hbmmat.bismuth=Bismuth hbmmat.bismuth=Bismuth
hbmmat.bismuthbronze=Bismuth Bronze hbmmat.bismuthbronze=Bismuth Bronze
@ -1591,6 +1600,7 @@ hbmmat.cobalt=Cobalt
hbmmat.cobalt60=Cobalt-60 hbmmat.cobalt60=Cobalt-60
hbmmat.coltan=Coltan hbmmat.coltan=Coltan
hbmmat.copper=Copper hbmmat.copper=Copper
hbmmat.cryolite=Cryolite
hbmmat.desh=Desh hbmmat.desh=Desh
hbmmat.diamond=Diamond hbmmat.diamond=Diamond
hbmmat.dineutronium=Dineutronium hbmmat.dineutronium=Dineutronium
@ -2494,6 +2504,7 @@ item.chopper_torso.name=Hunter Chopper Body
item.chopper_wing.name=Hunter Chopper Wing item.chopper_wing.name=Hunter Chopper Wing
item.chunk_ore.malachite.name=Malachite Chunk item.chunk_ore.malachite.name=Malachite Chunk
item.chunk_ore.rare.name=Rare Earth Ore Chunk item.chunk_ore.rare.name=Rare Earth Ore Chunk
item.chunk_ore.cryolite.name=Cryolite Chunk
item.cigarette.name=FFI-Brand Cigarette item.cigarette.name=FFI-Brand Cigarette
item.cinnebar.name=Cinnabar item.cinnebar.name=Cinnabar
item.circuit.advanced.name=Military Grade Circuit Board item.circuit.advanced.name=Military Grade Circuit Board
@ -3787,6 +3798,7 @@ item.overfuse.name=Singularity Screwdriver
item.overfuse.desc=Say what? item.overfuse.desc=Say what?
item.oxy_mask.name=Oxygen Mask item.oxy_mask.name=Oxygen Mask
item.pa_coil.bscco.name=Large BSCCO Coil item.pa_coil.bscco.name=Large BSCCO Coil
item.pa_coil.chlorophyte.name=Large Chlorophyte Coil
item.pa_coil.gold.name=Large Gold Coil item.pa_coil.gold.name=Large Gold Coil
item.pa_coil.niobium.name=Large NbTi Coil item.pa_coil.niobium.name=Large NbTi Coil
item.paa_boots.name=PaA "good ol' shoes" item.paa_boots.name=PaA "good ol' shoes"
@ -4832,16 +4844,27 @@ itemGroup.tabTest=Nuclear Tech Mod Test Tab
itemGroup.tabWeapon=NTM Weapons and Turrets itemGroup.tabWeapon=NTM Weapons and Turrets
pa.idle=Idle pa.idle=Idle
pa.idle.desc=Idle
pa.running=Running pa.running=Running
pa.running.desc=Running
pa.success=Success pa.success=Success
pa.success.desc=Success
pa.pause_unloaded=Paused pa.pause_unloaded=Paused
pa.pause_unloaded.desc=The particle has entered an$unloaded chunk. The operation has$been suspended, until both the$particle and the particle source$are loaded.
pa.crash_defocus=Defocus! pa.crash_defocus=Defocus!
pa.crash_defocus.desc=The particle has lost focus.$Ensure the accelerator has enough quadrupole magnets.
pa.crash_derail=Derail! pa.crash_derail=Derail!
pa.crash_derail.desc=The particle has left the accelerator.$Ensure no parts are missing,$and that dipoles are configured correctly.
pa.crash_cannot_enter=Denied! pa.crash_cannot_enter=Denied!
pa.crash_cannot_enter.desc=The particle tried to enter$part of the accelerator, but couldn't.$Ensure all parts are oriented correctly.
pa.crash_nocool=No cooling! pa.crash_nocool=No cooling!
pa.crash_nocool.desc=The particle has entered an uncooled$part of the accelerator. Ensure all cooled$parts are connected and filled$with cold perfluoroethyl.
pa.crash_nopower=No power! pa.crash_nopower=No power!
pa.crash_nopower.desc=The particle has entered an unpowered$part of the accelerator. Ensure all parts$receive power, and that the$power supply is sufficient.
pa.crash_nocoil=No coils! pa.crash_nocoil=No coils!
pa.crash_nocoil.desc=The particle has entered a dipole$or quadrupole which lacks coils.$Install coils to allow this part to work.
pa.crash_overspeed=Overspeed! pa.crash_overspeed=Overspeed!
pa.crash_overspeed.desc=The particle has entered a dipole$or quadrupole, while its speed exceeded$the coil's rating. Install higher$tier coils, or configure the dipoles$to leave the accelerator ring sooner.
potion.hbm_bang=! ! ! potion.hbm_bang=! ! !
potion.hbm_death=Astolfization potion.hbm_death=Astolfization
@ -5193,7 +5216,7 @@ tile.cm_engine.bismuth.name=Bismuth Motor Block
tile.cm_engine.desh.name=Desh Motor Block tile.cm_engine.desh.name=Desh Motor Block
tile.cm_engine.standard.name=Motor Block tile.cm_engine.standard.name=Motor Block
tile.cm_flux.name=Neutron Flux Receiver tile.cm_flux.name=Neutron Flux Receiver
tile.cm_heat.name=Heat receiver tile.cm_heat.name=Heat Receiver
tile.cm_port.alloy.name=Advanced Alloy Port tile.cm_port.alloy.name=Advanced Alloy Port
tile.cm_port.desh.name=Desh Port tile.cm_port.desh.name=Desh Port
tile.cm_port.steel.name=Steel Port tile.cm_port.steel.name=Steel Port
@ -5759,7 +5782,7 @@ tile.oil_duct_solid.name=Coated Oil Pipe
tile.oil_pipe.name=Crude Oil Extraction Pipe tile.oil_pipe.name=Crude Oil Extraction Pipe
tile.oil_spill.name=Oil Spill tile.oil_spill.name=Oil Spill
tile.ore_alexandrite.name=Alexandrite Ore tile.ore_alexandrite.name=Alexandrite Ore
tile.ore_aluminium.name=Aluminium Ore tile.ore_aluminium.name=Aluminium-Bearing Ore
tile.ore_asbestos.name=Asbestos Ore tile.ore_asbestos.name=Asbestos Ore
tile.ore_australium.name=Australian Ore tile.ore_australium.name=Australian Ore
tile.ore_basalt_asbestos.name=Asbestos-Rich Basalt tile.ore_basalt_asbestos.name=Asbestos-Rich Basalt
@ -5846,11 +5869,17 @@ tile.ore_verticium.name=Dollar Green Mineral
tile.ore_volcano.name=Geothermal Vent tile.ore_volcano.name=Geothermal Vent
tile.ore_weidanium.name=Weidite tile.ore_weidanium.name=Weidite
tile.pa_beamline.name=Beamline tile.pa_beamline.name=Beamline
tile.pa_beamline.desc=Optional part, connects different accelerator parts.$Also allows to cheaply extend the ring's size,$for meeting dipole coil size requirements.
tile.pa_detector.name=Particle Detector tile.pa_detector.name=Particle Detector
tile.pa_detector.desc=Requires cooling!$Accepts particles and performs the recipe.$Recipes may require containers (particle capsules).$Particle needs a defocus of 0 to be accepted.
tile.pa_dipole.name=Dipole Magnets tile.pa_dipole.name=Dipole Magnets
tile.pa_dipole.desc=Requires cooling!$Redirects particles based on momentum.$Has outputs for below threshold,$above threshold and above threshold$with restone applied.$Requires large coils to work.
tile.pa_quadrupole.name=Quadrupole Magnets tile.pa_quadrupole.name=Quadrupole Magnets
tile.pa_quadrupole.desc=Requires cooling!$Reduces particle defocus by 100 points.$Requires large coils to work.
tile.pa_rfc.name=RF Cavity tile.pa_rfc.name=RF Cavity
tile.pa_rfc.desc=Requires cooling!$Accelerates particles by 100 points,$and adds 100 points of defocus.$The particle will crash when reaching points of 1000 defocus.
tile.pa_source.name=Particle Source tile.pa_source.name=Particle Source
tile.pa_source.desc=Requires cooling!$Uses two items to create a particle.
tile.part_emitter.name=Deco Particle Emitter tile.part_emitter.name=Deco Particle Emitter
tile.pedestal.name=Pedestal tile.pedestal.name=Pedestal
tile.pink_barrel.name=Kerosene Barrel tile.pink_barrel.name=Kerosene Barrel

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 538 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 672 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 807 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 595 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 805 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 552 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 608 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 401 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB