mirror of
https://github.com/HbmMods/Hbm-s-Nuclear-Tech-GIT.git
synced 2026-01-25 10:32:49 +00:00
Gas cent's done!
This commit is contained in:
parent
6cc9ba9cd8
commit
96000abaa2
@ -15,7 +15,6 @@ import com.hbm.util.ContaminationUtil.HazardType;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
@ -23,6 +22,7 @@ import net.minecraft.init.Blocks;
|
||||
import net.minecraft.potion.PotionEffect;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.common.util.ForgeDirection;
|
||||
import scala.reflect.internal.Trees.This;
|
||||
|
||||
public class BlockGasMeltdown extends BlockGasBase {
|
||||
|
||||
@ -79,10 +79,12 @@ public class BlockGasMeltdown extends BlockGasBase {
|
||||
if(rand.nextInt(7) == 0 && world.getBlock(x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ) == Blocks.air) {
|
||||
world.setBlock(x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ, ModBlocks.gas_radon_dense);
|
||||
}
|
||||
|
||||
ChunkRadiationManager.proxy.incrementRad(world, x, y, z, 5);
|
||||
|
||||
if(rand.nextInt(450) == 0) {
|
||||
|
||||
if (world.canBlockSeeTheSky(x, y, z)) {
|
||||
ChunkRadiationManager.proxy.incrementRad(world, x, y, z, 5);
|
||||
}
|
||||
|
||||
if(rand.nextInt(400) == 0) {
|
||||
world.setBlockToAir(x, y, z);
|
||||
return;
|
||||
}
|
||||
|
||||
@ -118,9 +118,8 @@ public class MineralRecipes {
|
||||
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.billet_thorium_fuel, 3), new Object[] { ModItems.billet_th232, ModItems.billet_th232, ModItems.billet_u233 });
|
||||
GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.billet_thorium_fuel, 1), new Object[] { "nuggetThorium232", "nuggetThorium232", "nuggetThorium232", "nuggetThorium232", "nuggetUranium233", "nuggetUranium233" }));
|
||||
GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.billet_thorium_fuel, 1), new Object[] { "tinyTh232", "tinyTh232", "tinyTh232", "tinyTh232", "tinyU233", "tinyU233" }));
|
||||
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.billet_uranium_fuel, 3), new Object[] { ModItems.billet_u238, ModItems.billet_u238, ModItems.billet_u235 });
|
||||
GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.billet_uranium_fuel, 1), new Object[] { "nuggetUranium238", "nuggetUranium238", "nuggetUranium238", "nuggetUranium238", "nuggetUranium235", "nuggetUranium235" }));
|
||||
GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.billet_uranium_fuel, 1), new Object[] { "tinyU238", "tinyU238", "tinyU238", "tinyU238", "tinyU235", "tinyU235" }));
|
||||
GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.billet_uranium_fuel, 1), new Object[] { "nuggetUranium238", "nuggetUranium238", "nuggetUranium238", "nuggetUranium238", "nuggetUranium238", "nuggetUranium235" }));
|
||||
GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.billet_uranium_fuel, 1), new Object[] { "tinyU238", "tinyU238", "tinyU238", "tinyU238", "tinyU238", "tinyU235" }));
|
||||
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.billet_plutonium_fuel, 3), new Object[] { ModItems.billet_u238, ModItems.billet_pu_mix, ModItems.billet_pu_mix });
|
||||
GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.billet_plutonium_fuel, 1), new Object[] { ModItems.nugget_pu_mix, ModItems.nugget_pu_mix, ModItems.nugget_pu_mix, ModItems.nugget_pu_mix, "nuggetUranium238", "nuggetUranium238" }));
|
||||
GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.billet_plutonium_fuel, 1), new Object[] { ModItems.nugget_pu_mix, ModItems.nugget_pu_mix, ModItems.nugget_pu_mix, ModItems.nugget_pu_mix, "tinyU238", "tinyU238" }));
|
||||
@ -136,9 +135,8 @@ public class MineralRecipes {
|
||||
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.billet_neptunium_fuel, 3), new Object[] { ModItems.billet_u238, ModItems.billet_u238, ModItems.billet_neptunium });
|
||||
GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.billet_neptunium_fuel, 1), new Object[] { "nuggetNeptunium237", "nuggetNeptunium237", "nuggetUranium238", "nuggetUranium238", "nuggetUranium238", "nuggetUranium238" }));
|
||||
GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.billet_neptunium_fuel, 1), new Object[] { "tinyNp237", "tinyNp237", "tinyU238", "tinyU238", "tinyU238", "tinyU238" }));
|
||||
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.billet_mox_fuel, 3), new Object[] { ModItems.billet_u238, ModItems.billet_u235, ModItems.billet_pu_mix });
|
||||
GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.billet_mox_fuel, 1), new Object[] { ModItems.nugget_pu_mix, ModItems.nugget_pu_mix, "nuggetUranium238", "nuggetUranium238", "nuggetUranium235", "nuggetUranium235" }));
|
||||
GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.billet_mox_fuel, 1), new Object[] { ModItems.nugget_pu_mix, ModItems.nugget_pu_mix, "tinyU238", "tinyU238", "tinyU235", "tinyU235" }));
|
||||
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.billet_mox_fuel, 3), new Object[] { ModItems.billet_uranium_fuel, ModItems.billet_uranium_fuel, ModItems.billet_pu_mix });
|
||||
GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.billet_mox_fuel, 1), new Object[] { ModItems.nugget_pu_mix, ModItems.nugget_pu_mix, ModItems.nugget_uranium_fuel, ModItems.nugget_uranium_fuel, ModItems.nugget_uranium_fuel, ModItems.nugget_uranium_fuel }));
|
||||
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.billet_schrabidium_fuel, 3), new Object[] { ModItems.billet_schrabidium, ModItems.billet_neptunium, ModItems.billet_beryllium });
|
||||
GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.billet_schrabidium_fuel, 1), new Object[] { ModItems.nugget_schrabidium, ModItems.nugget_schrabidium, "nuggetNeptunium237", "nuggetNeptunium237", ModItems.nugget_beryllium, ModItems.nugget_beryllium }));
|
||||
GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.billet_schrabidium_fuel, 1), new Object[] { ModItems.nugget_schrabidium, ModItems.nugget_schrabidium, "tinyNp237", "tinyNp237", ModItems.nugget_beryllium, ModItems.nugget_beryllium }));
|
||||
@ -150,9 +148,9 @@ public class MineralRecipes {
|
||||
GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.billet_zfb_pu241, 1), new Object[] { "nuggetZirconium", "nuggetZirconium", "nuggetZirconium", "nuggetUranium235", "nuggetPlutonium240", "nuggetPlutonium241" }));
|
||||
GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.billet_zfb_am_mix, 1), new Object[] { "nuggetZirconium", "nuggetZirconium", "nuggetZirconium", "nuggetPlutonium241", "nuggetPlutonium241", "nuggetAmericiumRG" }));
|
||||
|
||||
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.billet_uranium, 9), new Object[] { ModItems.billet_u235, ModItems.billet_u238, ModItems.billet_u238, ModItems.billet_u238, ModItems.billet_u238, ModItems.billet_u238, ModItems.billet_u238, ModItems.billet_u238, ModItems.billet_u238 });
|
||||
GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.ingot_uranium, 1), new Object[] { "nuggetUranium235", "nuggetUranium238", "nuggetUranium238", "nuggetUranium238", "nuggetUranium238", "nuggetUranium238", "nuggetUranium238", "nuggetUranium238", "nuggetUranium238" }));
|
||||
GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.ingot_uranium, 1), new Object[] { "tinyU235", "tinyU238", "tinyU238", "tinyU238", "tinyU238", "tinyU238", "tinyU238", "tinyU238", "tinyU238" }));
|
||||
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.billet_uranium, 2), new Object[] { ModItems.billet_uranium_fuel, ModItems.billet_u238 });
|
||||
GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.billet_uranium, 2), new Object[] { ModItems.billet_u238, "nuggetUranium238", "nuggetUranium238", "nuggetUranium238", "nuggetUranium238", "nuggetUranium238", "nuggetUranium235" }));
|
||||
GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.billet_uranium, 2), new Object[] { ModItems.billet_u238, "tinyU238", "tinyU238", "tinyU238", "tinyU238", "tinyU238", "tinyU235" }));
|
||||
|
||||
/*addBilletToIngot(ModItems.ingot_uranium, ModItems.billet_uranium);
|
||||
addBilletToIngot(ModItems.ingot_u233, ModItems.billet_u233);
|
||||
|
||||
@ -27,7 +27,7 @@ public class ContainerMachineGasCent extends Container {
|
||||
this.addSlotToContainer(new SlotMachineOutput(tedf, 3, 133, 44));
|
||||
this.addSlotToContainer(new SlotMachineOutput(tedf, 4, 151, 35));
|
||||
//upgrade
|
||||
this.addSlotToContainer(new Slot(tedf, 5, 81, 18));
|
||||
this.addSlotToContainer(new Slot(tedf, 5, 82, 19));
|
||||
|
||||
for(int i = 0; i < 3; i++)
|
||||
{
|
||||
|
||||
@ -33,6 +33,11 @@ public class GUIMachineGasCent extends GuiInfoContainer {
|
||||
this.drawCustomInfoStat(mouseX, mouseY, guiLeft + 114, guiTop + 30, 8, 33, mouseX, mouseY, new String[] {gasCent.outputTank.getTankType().getName(), gasCent.outputTank.getFill() + " / " + gasCent.outputTank.getMaxFill() + " mB"});
|
||||
|
||||
this.drawElectricityInfo(this, mouseX, mouseY, guiLeft + 8, guiTop + 51 - 34, 16, 34, gasCent.power, gasCent.maxPower);
|
||||
|
||||
String[] info = new String[] { "Uranium enrichment requires cascades.", "Two-centrifuge cascades will give you", "uranium fuel, four-centrifuge cascades", "will give you total separation."};
|
||||
this.drawCustomInfoStat(mouseX, mouseY, guiLeft - 16, guiTop + 16, 16, 16, guiLeft - 8, guiTop + 16 + 16, info);
|
||||
String[] info2 = new String[] { "A centrifuge overclocking upgrade is", "required for total isotopic separation."};
|
||||
this.drawCustomInfoStat(mouseX, mouseY, guiLeft - 16, guiTop + 32, 16, 16, guiLeft - 8, guiTop + 32 + 16, info2);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -76,5 +81,8 @@ public class GUIMachineGasCent extends GuiInfoContainer {
|
||||
default:
|
||||
drawTexturedModalRect(guiLeft + 114, guiTop + 62 - b, 192, 31 - b, 8, b);
|
||||
}
|
||||
|
||||
this.drawInfoPanel(guiLeft - 16, guiTop + 16, 16, 16, 3);
|
||||
this.drawInfoPanel(guiLeft - 16, guiTop + 32, 16, 16, 2);
|
||||
}
|
||||
}
|
||||
|
||||
@ -153,8 +153,8 @@ public class AssemblerRecipes {
|
||||
makeRecipe(new ComparableStack(ModItems.hazmat_cloth, 4), new AStack[] {new OreDictStack(PB.dust(), 4), new ComparableStack(Items.string, 8), },50);
|
||||
makeRecipe(new ComparableStack(ModItems.asbestos_cloth, 4), new AStack[] {new OreDictStack(ASBESTOS.ingot(), 2), new ComparableStack(Items.string, 6), new ComparableStack(Blocks.wool, 1), },50);
|
||||
makeRecipe(new ComparableStack(ModItems.filter_coal, 1), new AStack[] {new OreDictStack(COAL.dust(), 4), new ComparableStack(Items.string, 6), new ComparableStack(Items.paper, 1), },50);
|
||||
makeRecipe(new ComparableStack(ModItems.centrifuge_element, 1), new AStack[] {new ComparableStack(ModItems.tank_steel, 2), new ComparableStack(ModItems.coil_tungsten, 2), new ComparableStack(ModItems.wire_red_copper, 6), new ComparableStack(ModItems.motor, 1), },200);
|
||||
makeRecipe(new ComparableStack(ModItems.centrifuge_tower, 1), new AStack[] {new ComparableStack(ModItems.centrifuge_element, 4), new OreDictStack(STEEL.plate(), 4), new ComparableStack(ModItems.wire_red_copper, 6), new OreDictStack(POLYMER.ingot(), 2), },150);
|
||||
makeRecipe(new ComparableStack(ModItems.centrifuge_element, 1), new AStack[] {new ComparableStack(ModItems.tank_steel, 1), new ComparableStack(ModItems.coil_tungsten, 1), new ComparableStack(ModItems.wire_red_copper, 4), new ComparableStack(ModItems.motor, 1), },200);
|
||||
makeRecipe(new ComparableStack(ModItems.centrifuge_tower, 1), new AStack[] {new ComparableStack(ModItems.centrifuge_element, 4), new OreDictStack(STEEL.plate(), 4), new ComparableStack(ModItems.wire_red_copper, 4), new OreDictStack(POLYMER.ingot(), 2), },150);
|
||||
makeRecipe(new ComparableStack(ModItems.magnet_circular, 1), new AStack[] {new ComparableStack(ModBlocks.fusion_conductor, 5), new OreDictStack(STEEL.ingot(), 4), new OreDictStack(ALLOY.plate(), 6), },150);
|
||||
makeRecipe(new ComparableStack(ModItems.reactor_core, 1), new AStack[] {new OreDictStack(PB.ingot(), 8), new OreDictStack(BE.ingot(), 6), new OreDictStack(STEEL.plate(), 16), new OreDictStack(OreDictManager.getReflector(), 8), new OreDictStack(FIBER.ingot(), 2) },100);
|
||||
makeRecipe(new ComparableStack(ModItems.rtg_unit, 1), new AStack[] {new ComparableStack(ModItems.thermo_element, 3), new ComparableStack(ModItems.board_copper, 1), new OreDictStack(PB.ingot(), 2), new OreDictStack(STEEL.plate(), 2), new ComparableStack(ModItems.circuit_copper, 1), },100);
|
||||
@ -260,7 +260,7 @@ public class AssemblerRecipes {
|
||||
makeRecipe(new ComparableStack(ModBlocks.seal_frame, 1), new AStack[] {new OreDictStack(STEEL.ingot(), 3), new ComparableStack(ModItems.wire_aluminium, 4), new OreDictStack(REDSTONE.dust(), 2), new ComparableStack(ModBlocks.steel_roof, 5), },50);
|
||||
makeRecipe(new ComparableStack(ModBlocks.seal_controller, 1), new AStack[] {new OreDictStack(STEEL.ingot(), 3), new OreDictStack(POLYMER.ingot(), 4), new OreDictStack(MINGRADE.ingot(), 1), new OreDictStack(REDSTONE.dust(), 4), new ComparableStack(ModBlocks.steel_roof, 5), },100);
|
||||
makeRecipe(new ComparableStack(ModBlocks.machine_centrifuge, 1), new AStack[] {new ComparableStack(ModItems.centrifuge_tower, 1), new OreDictStack(STEEL.ingot(), 4), new OreDictStack(IRON.ingot(), 4), new OreDictStack(STEEL.plate(), 2), new OreDictStack(CU.plate(), 2), new ComparableStack(ModItems.wire_red_copper, 8), },250);
|
||||
makeRecipe(new ComparableStack(ModBlocks.machine_gascent, 1), new AStack[] {new ComparableStack(ModItems.centrifuge_tower, 1), new OreDictStack(STEEL.ingot(), 4), new OreDictStack(POLYMER.ingot(), 4), new OreDictStack(DESH.ingot(), 2), new OreDictStack(STEEL.plate(), 6), new OreDictStack(ALLOY.plate(), 4), new ComparableStack(ModItems.wire_red_copper, 8), new ComparableStack(ModItems.wire_gold, 4), },300);
|
||||
makeRecipe(new ComparableStack(ModBlocks.machine_gascent, 1), new AStack[] {new ComparableStack(ModItems.centrifuge_tower, 1), new OreDictStack(STEEL.ingot(), 4), new OreDictStack(POLYMER.ingot(), 2), new OreDictStack(DESH.ingot(), 1), new OreDictStack(STEEL.plate(), 4), new OreDictStack(ALLOY.plate(), 4), new ComparableStack(ModItems.wire_red_copper, 8), new ComparableStack(ModItems.wire_gold, 4), },300);
|
||||
makeRecipe(new ComparableStack(ModBlocks.machine_rtg_furnace_off, 1), new AStack[] {new ComparableStack(Blocks.furnace, 1), new ComparableStack(ModItems.rtg_unit, 3), new OreDictStack(PB.plate(), 6), new OreDictStack(OreDictManager.getReflector(), 4), new OreDictStack(CU.plate(), 2), },150);
|
||||
makeRecipe(new ComparableStack(ModBlocks.machine_diesel, 1), new AStack[] {new ComparableStack(ModItems.hull_small_steel, 4), new ComparableStack(Blocks.piston, 4), new OreDictStack(STEEL.ingot(), 6), new OreDictStack(MINGRADE.ingot(), 2), new OreDictStack(CU.plate(), 4), new ComparableStack(ModItems.wire_red_copper, 6), },200);
|
||||
makeRecipe(new ComparableStack(ModBlocks.machine_selenium, 1), new AStack[] {new OreDictStack(STEEL.ingot(), 4), new OreDictStack(TI.plate(), 6), new OreDictStack(CU.plate(), 8), new ComparableStack(ModItems.hull_big_steel, 1), new ComparableStack(ModItems.hull_small_steel, 9), new ComparableStack(ModItems.pedestal_steel, 1), new ComparableStack(ModItems.coil_copper, 4), },250);
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
package com.hbm.inventory.recipes;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@ -58,43 +59,57 @@ public class GasCentrifugeRecipes {
|
||||
|
||||
};
|
||||
|
||||
public static class GasCentRecipe {
|
||||
ItemStack[] output;
|
||||
int type;
|
||||
int quantity;
|
||||
//Recipes for NEI
|
||||
public static List<ItemStack> getGasCentOutputs(FluidType fluid) {
|
||||
List<ItemStack> outputs = new ArrayList(4);
|
||||
|
||||
public GasCentRecipe(ItemStack[] output, int ordinal, int quantity) {
|
||||
this.output = output;
|
||||
this.type = ordinal;
|
||||
this.quantity = quantity;
|
||||
}
|
||||
|
||||
public ItemStack[] getOutputs() {
|
||||
return this.output;
|
||||
}
|
||||
|
||||
public int getOrdinal() {
|
||||
return this.type;
|
||||
}
|
||||
|
||||
public int getQuantity() {
|
||||
return this.quantity;
|
||||
switch(fluid) {
|
||||
case UF6:
|
||||
outputs.add(new ItemStack(ModItems.nugget_u238, 11));
|
||||
outputs.add(new ItemStack(ModItems.nugget_u235, 1));
|
||||
outputs.add(new ItemStack(ModItems.fluorite, 4));
|
||||
return outputs;
|
||||
case PUF6:
|
||||
outputs.add(new ItemStack(ModItems.nugget_pu238, 3));
|
||||
outputs.add(new ItemStack(ModItems.nugget_pu_mix, 6));
|
||||
outputs.add(new ItemStack(ModItems.fluorite, 3));
|
||||
return outputs;
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public static int getQuantityRequired(FluidType fluid) {
|
||||
switch(fluid) {
|
||||
case UF6:
|
||||
return 1200;
|
||||
case PUF6:
|
||||
return 900;
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
static GasCentRecipe[] Recipes = new GasCentRecipe[] {new GasCentRecipe( new ItemStack[] {new ItemStack(ModItems.nugget_u238, 11), new ItemStack(ModItems.nugget_u235, 1), new ItemStack(ModItems.fluorite, 4)}, FluidType.UF6.ordinal(), 1200), new GasCentRecipe( new ItemStack[] {new ItemStack(ModItems.nugget_pu238, 3), new ItemStack(ModItems.nugget_pu_mix, 6), new ItemStack(ModItems.fluorite, 3)}, FluidType.PUF6.ordinal(), 900)};
|
||||
|
||||
public static Map<Object, Object[]> getGasCentrifugeRecipes() {
|
||||
Map<Object, Object[]> recipes = new HashMap<Object, Object[]>();
|
||||
|
||||
for(int i = 0; i < 2; i++) {
|
||||
for(int i = 0; i < FluidType.values().length; i++) {
|
||||
if(getGasCentOutputs(FluidType.getEnum(i)) != null) {
|
||||
List<ItemStack> out = getGasCentOutputs(FluidType.getEnum(i));
|
||||
ItemStack[] outputs = new ItemStack[4];
|
||||
|
||||
ItemStack[] outputs = Recipes[i].getOutputs();
|
||||
for(int j = 0; j < out.size(); j++) {
|
||||
outputs[j] = out.get(j).copy();
|
||||
}
|
||||
for(int j = 0; j < 4; j++)
|
||||
if(outputs[j] == null)
|
||||
outputs[j] = new ItemStack(ModItems.nothing);
|
||||
|
||||
ItemStack input = new ItemStack(ModItems.fluid_icon, 1, Recipes[i].getOrdinal());
|
||||
ItemFluidIcon.addQuantity(input, Recipes[i].getQuantity());
|
||||
ItemStack input = new ItemStack(ModItems.fluid_icon, 1, i);
|
||||
ItemFluidIcon.addQuantity(input, getQuantityRequired(FluidType.getEnum(i)));
|
||||
|
||||
recipes.put(input, outputs);
|
||||
}
|
||||
}
|
||||
|
||||
return recipes;
|
||||
|
||||
@ -1946,6 +1946,7 @@ public class ModItems {
|
||||
public static Item upgrade_crystallizer;
|
||||
public static Item upgrade_nullifier;
|
||||
public static Item upgrade_screm;
|
||||
public static Item upgrade_gc_speed;
|
||||
|
||||
public static Item ingot_euphemium;
|
||||
public static Item nugget_euphemium;
|
||||
@ -4633,7 +4634,8 @@ public class ModItems {
|
||||
upgrade_crystallizer = new ItemMachineUpgrade().setUnlocalizedName("upgrade_crystallizer").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":upgrade_crystallizer");
|
||||
upgrade_nullifier = new ItemMachineUpgrade().setUnlocalizedName("upgrade_nullifier").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":upgrade_nullifier");
|
||||
upgrade_screm = new ItemMachineUpgrade().setUnlocalizedName("upgrade_screm").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":upgrade_screm");
|
||||
|
||||
upgrade_gc_speed = new ItemMachineUpgrade().setUnlocalizedName("upgrade_gc_speed").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":upgrade_gc_speed");
|
||||
|
||||
wand = new ItemWand().setUnlocalizedName("wand_k").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setFull3D().setTextureName(RefStrings.MODID + ":wand");
|
||||
wand_s = new ItemWandS().setUnlocalizedName("wand_s").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setFull3D().setTextureName(RefStrings.MODID + ":wand_s");
|
||||
wand_d = new ItemWandD().setUnlocalizedName("wand_d").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setFull3D().setTextureName(RefStrings.MODID + ":wand_d");
|
||||
@ -6454,6 +6456,7 @@ public class ModItems {
|
||||
GameRegistry.registerItem(upgrade_crystallizer, upgrade_crystallizer.getUnlocalizedName());
|
||||
GameRegistry.registerItem(upgrade_nullifier, upgrade_nullifier.getUnlocalizedName());
|
||||
GameRegistry.registerItem(upgrade_screm, upgrade_screm.getUnlocalizedName());
|
||||
GameRegistry.registerItem(upgrade_gc_speed, upgrade_gc_speed.getUnlocalizedName());
|
||||
|
||||
//Machine Templates
|
||||
GameRegistry.registerItem(siren_track, siren_track.getUnlocalizedName());
|
||||
|
||||
@ -164,6 +164,12 @@ public class ItemMachineUpgrade extends Item {
|
||||
list.add("50% chance to override worthless items with /dev/zero");
|
||||
list.add("50% chance to move worthless items to /dev/null");
|
||||
}
|
||||
|
||||
if(this == ModItems.upgrade_gc_speed) {
|
||||
list.add(EnumChatFormatting.RED + "Gas Centrifuge Upgrade");
|
||||
list.add("Allows for total isotopic separation of HEUF6");
|
||||
list.add(EnumChatFormatting.YELLOW + "also your centrifuge goes sicko mode");
|
||||
}
|
||||
}
|
||||
|
||||
public static enum UpgradeType {
|
||||
@ -179,7 +185,8 @@ public class ItemMachineUpgrade extends Item {
|
||||
LM_SMELTER(true),
|
||||
LM_SHREDDER(true),
|
||||
LM_CENTRIFUGE(true),
|
||||
LM_CRYSTALLIZER(true);
|
||||
LM_CRYSTALLIZER(true),
|
||||
GS_SPEED;
|
||||
|
||||
public boolean mutex = false;
|
||||
|
||||
|
||||
@ -724,6 +724,7 @@ public class CraftingManager {
|
||||
addRecipeAuto(new ItemStack(ModItems.upgrade_centrifuge, 1), new Object[] { "PHP", "PUP", "DTD", 'P', ModItems.centrifuge_element, 'H', Blocks.hopper, 'U', ModItems.upgrade_shredder, 'D', POLYMER.ingot(), 'T', ModBlocks.machine_transformer });
|
||||
addRecipeAuto(new ItemStack(ModItems.upgrade_crystallizer, 1), new Object[] { "PHP", "CUC", "DTD", 'P', new ItemStack(ModItems.fluid_barrel_full, 1, FluidType.ACID.ordinal()), 'H', ModItems.circuit_targeting_tier4, 'C', ModBlocks.barrel_steel, 'U', ModItems.upgrade_centrifuge, 'D', ModItems.motor, 'T', ModBlocks.machine_transformer });
|
||||
addRecipeAuto(new ItemStack(ModItems.upgrade_screm, 1), new Object[] { "SUS", "SCS", "SUS", 'S', STEEL.plate(), 'U', ModItems.upgrade_template, 'C', ModItems.crystal_xen });
|
||||
addRecipeAuto(new ItemStack(ModItems.upgrade_gc_speed, 1), new Object[] {"TCT", "HUH", "TCT", 'T', TC99.nugget(), 'C', ModItems.coil_copper, 'H', ModItems.coil_tungsten, 'U', ModItems.upgrade_template});
|
||||
|
||||
addRecipeAuto(new ItemStack(ModItems.mech_key, 1), new Object[] { "MCM", "MKM", "MMM", 'M', ModItems.ingot_meteorite_forged, 'C', ModItems.coin_maskman, 'K', ModItems.key });
|
||||
addRecipeAuto(new ItemStack(ModItems.spawn_ufo, 1), new Object[] { "MMM", "DCD", "MMM", 'M', ModItems.ingot_meteorite, 'D', DNT.ingot(), 'C', ModItems.coin_worm });
|
||||
|
||||
@ -165,14 +165,6 @@ public class AuxGaugePacket implements IMessage {
|
||||
if(m.id == 1)
|
||||
radio.freq = ((double)m.value) / 10D;
|
||||
}
|
||||
if (te instanceof TileEntityMachineGasCent) {
|
||||
TileEntityMachineGasCent cent = (TileEntityMachineGasCent)te;
|
||||
|
||||
if(m.id == 0)
|
||||
cent.progress = m.value;
|
||||
if(m.id == 1)
|
||||
cent.isProgressing = m.value == 1;
|
||||
}
|
||||
if (te instanceof TileEntityMachineCentrifuge) {
|
||||
TileEntityMachineCentrifuge cent = (TileEntityMachineCentrifuge)te;
|
||||
|
||||
|
||||
@ -10,8 +10,6 @@ import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
|
||||
public class RenderCentrifuge extends TileEntitySpecialRenderer {
|
||||
|
||||
public RenderCentrifuge() { }
|
||||
|
||||
@Override
|
||||
public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float f)
|
||||
@ -19,16 +17,11 @@ public class RenderCentrifuge extends TileEntitySpecialRenderer {
|
||||
GL11.glPushMatrix();
|
||||
GL11.glTranslated(x + 0.5D, y, z + 0.5D);
|
||||
GL11.glEnable(GL11.GL_LIGHTING);
|
||||
switch(tileEntity.getBlockMetadata())
|
||||
{
|
||||
case 4:
|
||||
GL11.glRotatef(90, 0F, 1F, 0F); break;
|
||||
case 3:
|
||||
GL11.glRotatef(180, 0F, 1F, 0F); break;
|
||||
case 5:
|
||||
GL11.glRotatef(270, 0F, 1F, 0F); break;
|
||||
case 2:
|
||||
GL11.glRotatef(0, 0F, 1F, 0F); break;
|
||||
switch(tileEntity.getBlockMetadata() - 10) {
|
||||
case 2: GL11.glRotatef(90, 0F, 1F, 0F); break;
|
||||
case 4: GL11.glRotatef(180, 0F, 1F, 0F); break;
|
||||
case 3: GL11.glRotatef(270, 0F, 1F, 0F); break;
|
||||
case 5: GL11.glRotatef(0, 0F, 1F, 0F); break;
|
||||
}
|
||||
|
||||
if(tileEntity instanceof TileEntityMachineCentrifuge)
|
||||
|
||||
@ -13,6 +13,7 @@ import com.hbm.inventory.recipes.GasCentrifugeRecipes;
|
||||
import com.hbm.inventory.recipes.GasCentrifugeRecipes.PseudoFluidType;
|
||||
import com.hbm.inventory.recipes.MachineRecipes;
|
||||
import com.hbm.items.ModItems;
|
||||
import com.hbm.items.machine.ItemFluidIdentifier;
|
||||
import com.hbm.lib.Library;
|
||||
import com.hbm.packet.AuxElectricityPacket;
|
||||
import com.hbm.packet.AuxGaugePacket;
|
||||
@ -53,10 +54,9 @@ public class TileEntityMachineGasCent extends TileEntityMachineBase implements I
|
||||
|
||||
private String customName;
|
||||
|
||||
//TODO Add Machine Upgrades that speed up gas cent, required for enrichment past HEUF6; add dynamic output size like silex (?); fix puf6
|
||||
public TileEntityMachineGasCent() {
|
||||
super(6);
|
||||
tank = new FluidTank(FluidType.UF6, 4000, 0);
|
||||
tank = new FluidTank(FluidType.UF6, 2000, 0);
|
||||
inputTank = new PseudoFluidTank(PseudoFluidType.NUF6, 8000);
|
||||
outputTank = new PseudoFluidTank(PseudoFluidType.LEUF6, 8000);
|
||||
}
|
||||
@ -124,7 +124,7 @@ public class TileEntityMachineGasCent extends TileEntityMachineBase implements I
|
||||
}
|
||||
|
||||
public int getCentrifugeProgressScaled(int i) {
|
||||
return (progress * i) / processingSpeed;
|
||||
return (progress * i) / getProcessingSpeed();
|
||||
}
|
||||
|
||||
public long getPowerRemainingScaled(int i) {
|
||||
@ -145,6 +145,10 @@ public class TileEntityMachineGasCent extends TileEntityMachineBase implements I
|
||||
|
||||
ItemStack[] list = inputTank.getTankType().getOutput();
|
||||
|
||||
if(this.inputTank.getTankType() == PseudoFluidType.HEUF6)
|
||||
if(!(slots[5] != null && slots[5].getItem() == ModItems.upgrade_gc_speed))
|
||||
return false;
|
||||
|
||||
if(list == null)
|
||||
return false;
|
||||
|
||||
@ -211,7 +215,6 @@ public class TileEntityMachineGasCent extends TileEntityMachineBase implements I
|
||||
gasCent.inputTank.setTankType(this.outputTank.getTankType());
|
||||
gasCent.outputTank.setTankType(this.outputTank.getTankType().getOutputFluid());
|
||||
}
|
||||
//whew boy, so many nested if statements! this calls for a celebration!
|
||||
|
||||
if(gasCent.inputTank.getFill() < gasCent.inputTank.getMaxFill() && this.outputTank.getFill() > 0) {
|
||||
int fill = gasCent.inputTank.getMaxFill() - gasCent.inputTank.getFill();
|
||||
@ -247,7 +250,7 @@ public class TileEntityMachineGasCent extends TileEntityMachineBase implements I
|
||||
this.updateStandardConnections(worldObj, xCoord, yCoord, zCoord);
|
||||
|
||||
power = Library.chargeTEFromItems(slots, 0, power, maxPower);
|
||||
tank.setType(1, 1, slots);
|
||||
setTankType(1);
|
||||
|
||||
if(inputTank.getTankType() == PseudoFluidType.PF6 || inputTank.getTankType() == PseudoFluidType.NUF6) {
|
||||
tank.updateTank(xCoord, yCoord, zCoord, worldObj.provider.dimensionId);
|
||||
@ -260,16 +263,19 @@ public class TileEntityMachineGasCent extends TileEntityMachineBase implements I
|
||||
|
||||
this.progress++;
|
||||
|
||||
this.power -= 200;
|
||||
if(slots[5] != null && slots[5].getItem() == ModItems.upgrade_gc_speed)
|
||||
this.power -= 300;
|
||||
else
|
||||
this.power -= 200;
|
||||
|
||||
if(this.power < 0) {
|
||||
power = 0;
|
||||
this.progress = 0;
|
||||
}
|
||||
|
||||
if(progress >= processingSpeed) {
|
||||
if(progress >= getProcessingSpeed())
|
||||
enrich();
|
||||
}
|
||||
|
||||
|
||||
} else {
|
||||
isProgressing = false;
|
||||
@ -305,8 +311,6 @@ public class TileEntityMachineGasCent extends TileEntityMachineBase implements I
|
||||
this.networkPack(data, 50);
|
||||
|
||||
PacketDispatcher.wrapper.sendToAllAround(new AuxElectricityPacket(xCoord, yCoord, zCoord, power), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 50));
|
||||
PacketDispatcher.wrapper.sendToAllAround(new AuxGaugePacket(xCoord, yCoord, zCoord, progress, 0), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 50));
|
||||
PacketDispatcher.wrapper.sendToAllAround(new AuxGaugePacket(xCoord, yCoord, zCoord, isProgressing ? 1 : 0, 1), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 50));
|
||||
PacketDispatcher.wrapper.sendToAllAround(new LoopedSoundPacket(xCoord, yCoord, zCoord), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 50));
|
||||
}
|
||||
}
|
||||
@ -326,6 +330,13 @@ public class TileEntityMachineGasCent extends TileEntityMachineBase implements I
|
||||
public long getMaxPower() {
|
||||
return maxPower;
|
||||
}
|
||||
|
||||
public int getProcessingSpeed() {
|
||||
if(slots[5] != null && slots[5].getItem() == ModItems.upgrade_gc_speed) {
|
||||
return processingSpeed - 75;
|
||||
}
|
||||
return processingSpeed;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setFillstate(int fill, int index) {
|
||||
@ -335,12 +346,31 @@ public class TileEntityMachineGasCent extends TileEntityMachineBase implements I
|
||||
@Override
|
||||
public void setType(FluidType type, int index) {
|
||||
tank.setTankType(type);
|
||||
if(tank.getTankType() == FluidType.UF6) {
|
||||
inputTank.setTankType(PseudoFluidType.NUF6);
|
||||
outputTank.setTankType(PseudoFluidType.NUF6.getOutputFluid());
|
||||
} else if(tank.getTankType() == FluidType.PUF6) {
|
||||
inputTank.setTankType(PseudoFluidType.PF6);
|
||||
outputTank.setTankType(PseudoFluidType.PF6.getOutputFluid());
|
||||
}
|
||||
|
||||
public void setTankType(int in) {
|
||||
|
||||
if(slots[in] != null && slots[in].getItem() instanceof ItemFluidIdentifier) {
|
||||
FluidType newType = ItemFluidIdentifier.getType(slots[in]);
|
||||
|
||||
if(tank.getTankType() != newType) {
|
||||
tank.setTankType(newType);
|
||||
tank.setFill(0);
|
||||
|
||||
switch(newType) {
|
||||
case UF6:
|
||||
inputTank.setTankType(PseudoFluidType.NUF6);
|
||||
outputTank.setTankType(PseudoFluidType.NUF6.getOutputFluid());
|
||||
break;
|
||||
case PUF6:
|
||||
inputTank.setTankType(PseudoFluidType.PF6);
|
||||
outputTank.setTankType(PseudoFluidType.PF6.getOutputFluid());
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -2661,6 +2661,7 @@ item.upgrade_effect_3.name=Effectiveness Upgrade Mk.III
|
||||
item.upgrade_fortune_1.name=Fortune Upgrade Mk.I
|
||||
item.upgrade_fortune_2.name=Fortune Upgrade Mk.II
|
||||
item.upgrade_fortune_3.name=Fortune Upgrade Mk.III
|
||||
item.upgrade_gc_speed.name=Gas Centrifuge Overclocking Upgrade
|
||||
item.upgrade_health.name=Emitter Health Upgrade
|
||||
item.upgrade_nullifier.name=Scrap Destroyer Upgrade
|
||||
item.upgrade_overdrive_1.name=Overdrive Upgrade Mk.I
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 2.7 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 287 B |
Loading…
x
Reference in New Issue
Block a user