Gas cent's done!

This commit is contained in:
Vaern 2021-12-19 18:01:05 -08:00
parent 6cc9ba9cd8
commit 96000abaa2
15 changed files with 132 additions and 82 deletions

View File

@ -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;
}

View File

@ -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);

View File

@ -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++)
{

View File

@ -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);
}
}

View File

@ -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);

View File

@ -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;

View File

@ -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());

View File

@ -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;

View File

@ -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 });

View File

@ -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;

View File

@ -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)

View File

@ -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;
}
}

View File

@ -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