ejector & inserter, new waste types, fixed steam not saving

This commit is contained in:
HbmMods 2018-12-26 17:55:01 +01:00
parent f529ccd518
commit c1d1229281
19 changed files with 441 additions and 78 deletions

View File

@ -445,6 +445,8 @@ container.factoryAdvanced=Fortgeschrittene Fabrik
tile.reactor_element.name=Reaktorkammer
tile.reactor_control.name=Steuerstäbe
tile.reactor_hatch.name=Kraftwerkszugriffsluke
tile.reactor_ejector.name=Reaktor-Brennstoffauswurf
tile.reactor_inserter.name=Reaktor-Brennstoffeinlass
tile.reactor_conductor.name=Reaktorboiler
tile.reactor_computer.name=Reaktorsteuerung
container.reactorLarge=Großer Atomreaktor
@ -742,6 +744,11 @@ tile.cmb_brick_reinforced.name=Verstärkte CMB-Ziegel
tile.gravel_obsidian.name=Gebrochener Obsidian
tile.barbed_wire.name=Stacheldraht
tile.barbed_wire_fire.name=Flammender Stacheldraht
tile.barbed_wire_poison.name=Vergifteter Stacheldraht
tile.barbed_wire_acid.name=Ätzender Stacheldraht
tile.barbed_wire_wither.name=Withernder Stacheldraht
tile.barbed_wire_ultradeath.name=Wolken-Stacheldraht
tile.seal_frame.name=Siloluke (Rahmen)
tile.seal_controller.name=Silolukenöffner
@ -1095,6 +1102,10 @@ tile.waste_planks.name=Verkohlte Holzbretter
item.trinitite.name=Trinitit
item.nuclear_waste.name=Atommüll
item.waste_uranium.name=Erschöpfter Urankernbrennstoff
item.waste_plutonium.name=Erschöpfter Plutoniumkernbrennstoff
item.waste_mox.name=Erschöpfter MOX-Kernbrennstoff
item.waste_schrabidium.name=Erschöpfter Schrabidiumkernbrennstoff
item.scrap.name=Schrott
item.ingot_uranium_fuel.name=Urankernbrennstoffbarren

View File

@ -445,6 +445,8 @@ container.factoryAdvanced=Advanced Factory
tile.reactor_element.name=Reactor Chamber
tile.reactor_control.name=Control Rods
tile.reactor_hatch.name=Reactor Access Hatch
tile.reactor_ejector.name=Reactor Waste Ejector
tile.reactor_inserter.name=Reactor Fuel Inserter
tile.reactor_conductor.name=Reactor Boiler
tile.reactor_computer.name=Reactor Control
container.reactorLarge=Big Nuclear Reactor
@ -742,6 +744,11 @@ tile.cmb_brick_reinforced.name=Reinforced CMB Bricks
tile.gravel_obsidian.name=Crushed Obsidian
tile.barbed_wire.name=Barbed Wire
tile.barbed_wire_fire.name=Flaming Barbed Wire
tile.barbed_wire_poison.name=Poisoned Barbed Wire
tile.barbed_wire_acid.name=Caustic Barbed Wire
tile.barbed_wire_wither.name=Withered Barbed Wire
tile.barbed_wire_ultradeath.name=Cloud Barbed Wire
tile.seal_frame.name=Silo Hatch Frame
tile.seal_controller.name=Silo Hatch Opener
@ -1095,6 +1102,10 @@ tile.waste_planks.name=Charred Wooden Planks
item.trinitite.name=Trinitite
item.nuclear_waste.name=Nuclear Waste
item.waste_uranium.name=Depleted Uranium Fuel
item.waste_plutonium.name=Depleted Plutonium Fuel
item.waste_mox.name=Depleted MOX Fuel
item.waste_schrabidium.name=Depleted Schrabidium Fuel
item.scrap.name=Scrap
item.ingot_uranium_fuel.name=Ingot of Uranium Fuel

Binary file not shown.

After

Width:  |  Height:  |  Size: 655 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 652 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 354 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 342 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 357 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 348 B

View File

@ -212,8 +212,13 @@ public class ModBlocks {
public static Block vault_door;
public static Block blast_door;
public static Block barbed_wire;
public static Block barbed_wire_fire;
public static Block barbed_wire_poison;
public static Block barbed_wire_acid;
public static Block barbed_wire_wither;
public static Block barbed_wire_ultradeath;
public static Block marker_structure;
@ -363,6 +368,8 @@ public class ModBlocks {
public static Block reactor_element;
public static Block reactor_control;
public static Block reactor_hatch;
public static Block reactor_ejector;
public static Block reactor_inserter;
public static Block reactor_conductor;
public static Block reactor_computer;
public static final int guiID_reactor_multiblock = 26;
@ -883,6 +890,8 @@ public class ModBlocks {
reactor_element = new BlockReactor(Material.iron).setBlockName("reactor_element").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":reactor_element_side");
reactor_control = new BlockReactor(Material.iron).setBlockName("reactor_control").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":reactor_control_side");
reactor_hatch = new ReactorHatch(Material.iron).setBlockName("reactor_hatch").setHardness(5.0F).setResistance(1000.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":brick_concrete");
reactor_ejector = new BlockRotatable(Material.iron).setBlockName("reactor_ejector").setHardness(5.0F).setResistance(1000.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":brick_concrete");
reactor_inserter = new BlockRotatable(Material.iron).setBlockName("reactor_inserter").setHardness(5.0F).setResistance(1000.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":brick_concrete");
reactor_conductor = new BlockReactor(Material.iron).setBlockName("reactor_conductor").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":reactor_conductor_side");
reactor_computer = new ReactorCore(Material.iron).setBlockName("reactor_computer").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":reactor_computer");
@ -926,6 +935,11 @@ public class ModBlocks {
blast_door = new BlastDoor(Material.iron).setBlockName("blast_door").setHardness(10.0F).setResistance(10000.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":blast_door");
barbed_wire = new BarbedWire(Material.iron).setBlockName("barbed_wire").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":barbed_wire");
barbed_wire_fire = new BarbedWire(Material.iron).setBlockName("barbed_wire_fire").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":barbed_wire_fire");
barbed_wire_poison = new BarbedWire(Material.iron).setBlockName("barbed_wire_poison").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":barbed_wire_poison");
barbed_wire_acid = new BarbedWire(Material.iron).setBlockName("barbed_wire_acid").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":barbed_wire_acid");
barbed_wire_wither = new BarbedWire(Material.iron).setBlockName("barbed_wire_wither").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":barbed_wire_wither");
barbed_wire_ultradeath = new BarbedWire(Material.iron).setBlockName("barbed_wire_ultradeath").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":barbed_wire_ultradeath");
marker_structure = new BlockMarker(Material.iron).setBlockName("marker_structure").setHardness(0.0F).setResistance(0.0F).setLightLevel(1.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":marker_structure");
@ -1190,6 +1204,11 @@ public class ModBlocks {
//Other defensive stuff
GameRegistry.registerBlock(barbed_wire, barbed_wire.getUnlocalizedName());
GameRegistry.registerBlock(barbed_wire_fire, barbed_wire_fire.getUnlocalizedName());
GameRegistry.registerBlock(barbed_wire_poison, barbed_wire_poison.getUnlocalizedName());
GameRegistry.registerBlock(barbed_wire_acid, barbed_wire_acid.getUnlocalizedName());
GameRegistry.registerBlock(barbed_wire_wither, barbed_wire_wither.getUnlocalizedName());
GameRegistry.registerBlock(barbed_wire_ultradeath, barbed_wire_ultradeath.getUnlocalizedName());
//Decoration Blocks
GameRegistry.registerBlock(block_meteor, block_meteor.getUnlocalizedName());
@ -1417,6 +1436,8 @@ public class ModBlocks {
GameRegistry.registerBlock(reactor_element, reactor_element.getUnlocalizedName());
GameRegistry.registerBlock(reactor_control, reactor_control.getUnlocalizedName());
GameRegistry.registerBlock(reactor_hatch, reactor_hatch.getUnlocalizedName());
GameRegistry.registerBlock(reactor_ejector, reactor_ejector.getUnlocalizedName());
GameRegistry.registerBlock(reactor_inserter, reactor_inserter.getUnlocalizedName());
GameRegistry.registerBlock(reactor_conductor, reactor_conductor.getUnlocalizedName());
GameRegistry.registerBlock(reactor_computer, reactor_computer.getUnlocalizedName());

View File

@ -1,9 +1,18 @@
package com.hbm.blocks.generic;
import com.hbm.blocks.ModBlocks;
import com.hbm.lib.Library;
import com.hbm.lib.ModDamageSource;
import com.hbm.potion.HbmPotion;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.potion.Potion;
import net.minecraft.potion.PotionEffect;
import net.minecraft.util.AxisAlignedBB;
import net.minecraft.util.DamageSource;
import net.minecraft.world.World;
@ -15,10 +24,51 @@ public class BarbedWire extends Block {
super(mat);
}
public void onEntityCollidedWithBlock(World p_149670_1_, int p_149670_2_, int p_149670_3_, int p_149670_4_, Entity p_149670_5_)
public void onEntityCollidedWithBlock(World p_149670_1_, int x, int y, int z, Entity ent)
{
p_149670_5_.setInWeb();
p_149670_5_.attackEntityFrom(DamageSource.cactus, 2.0F);
ent.setInWeb();
if(this == ModBlocks.barbed_wire) {
ent.attackEntityFrom(DamageSource.cactus, 2.0F);
}
if(this == ModBlocks.barbed_wire_fire) {
ent.attackEntityFrom(DamageSource.cactus, 2.0F);
ent.setFire(1);
}
if(this == ModBlocks.barbed_wire_poison) {
ent.attackEntityFrom(DamageSource.cactus, 2.0F);
if(ent instanceof EntityLivingBase)
((EntityLivingBase)ent).addPotionEffect(new PotionEffect(Potion.poison.id, 5 * 20, 2));
}
if(this == ModBlocks.barbed_wire_acid) {
ent.attackEntityFrom(DamageSource.cactus, 2.0F);
if(ent instanceof EntityPlayer) {
Library.damageSuit((EntityPlayer)ent, 0, 1);
Library.damageSuit((EntityPlayer)ent, 1, 1);
Library.damageSuit((EntityPlayer)ent, 2, 1);
Library.damageSuit((EntityPlayer)ent, 3, 1);
}
}
if(this == ModBlocks.barbed_wire_wither) {
ent.attackEntityFrom(DamageSource.cactus, 2.0F);
if(ent instanceof EntityLivingBase)
((EntityLivingBase)ent).addPotionEffect(new PotionEffect(Potion.wither.id, 5 * 20, 4));
}
if(this == ModBlocks.barbed_wire_ultradeath) {
ent.attackEntityFrom(ModDamageSource.pc, 5.0F);
if(ent instanceof EntityLivingBase)
((EntityLivingBase)ent).addPotionEffect(new PotionEffect(HbmPotion.radiation.id, 5 * 20, 9));
}
}
public boolean isOpaqueCube()

View File

@ -0,0 +1,114 @@
package com.hbm.blocks.machine;
import java.util.Random;
import com.hbm.blocks.ModBlocks;
import com.hbm.lib.RefStrings;
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.client.renderer.texture.IIconRegister;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon;
import net.minecraft.util.MathHelper;
import net.minecraft.world.World;
public class BlockRotatable extends Block {
@SideOnly(Side.CLIENT)
private IIcon iconFront;
public BlockRotatable(Material p_i45394_1_) {
super(p_i45394_1_);
}
@Override
@SideOnly(Side.CLIENT)
public void registerBlockIcons(IIconRegister iconRegister) {
if(this == ModBlocks.reactor_ejector) {
this.iconFront = iconRegister.registerIcon(RefStrings.MODID + ":reactor_ejector");
this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":brick_concrete");
}
if(this == ModBlocks.reactor_inserter) {
this.iconFront = iconRegister.registerIcon(RefStrings.MODID + ":reactor_inserter");
this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":brick_concrete");
}
}
@Override
@SideOnly(Side.CLIENT)
public IIcon getIcon(int side, int metadata) {
return metadata == 0 && side == 3 ? this.iconFront : (side == metadata ? this.iconFront : this.blockIcon);
}
@Override
public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_)
{
return Item.getItemFromBlock(this);
}
@Override
public void onBlockAdded(World world, int x, int y, int z) {
super.onBlockAdded(world, x, y, z);
//this.setDefaultDirection(world, x, y, z);
}
private void setDefaultDirection(World world, int x, int y, int z) {
if(!world.isRemote)
{
Block block1 = world.getBlock(x, y, z - 1);
Block block2 = world.getBlock(x, y, z + 1);
Block block3 = world.getBlock(x - 1, y, z);
Block block4 = world.getBlock(x + 1, y, z);
byte b0 = 3;
if(block1.func_149730_j() && !block2.func_149730_j())
{
b0 = 3;
}
if(block2.func_149730_j() && !block1.func_149730_j())
{
b0 = 2;
}
if(block3.func_149730_j() && !block4.func_149730_j())
{
b0 = 5;
}
if(block4.func_149730_j() && !block3.func_149730_j())
{
b0 = 4;
}
world.setBlockMetadataWithNotify(x, y, z, b0, 2);
}
}
@Override
public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack) {
int i = MathHelper.floor_double(player.rotationYaw * 4.0F / 360.0F + 0.5D) & 3;
if(i == 0)
{
world.setBlockMetadataWithNotify(x, y, z, 2, 2);
}
if(i == 1)
{
world.setBlockMetadataWithNotify(x, y, z, 5, 2);
}
if(i == 2)
{
world.setBlockMetadataWithNotify(x, y, z, 3, 2);
}
if(i == 3)
{
world.setBlockMetadataWithNotify(x, y, z, 4, 2);
}
}
}

View File

@ -131,7 +131,7 @@ public class MachineRecipes {
ItemStack[] uran1 = new ItemStack[] { new ItemStack(ModItems.nugget_u235, 1),
new ItemStack(ModItems.nugget_u238, 3), new ItemStack(ModItems.nugget_pu239, 2),
new ItemStack(ModItems.rod_waste, 1) };
new ItemStack(ModItems.nuclear_waste, 1) };
ItemStack[] uran2 = new ItemStack[] { new ItemStack(ModItems.nugget_u235, 2),
new ItemStack(ModItems.nugget_u238, 6), new ItemStack(ModItems.nugget_pu239, 4),
new ItemStack(ModItems.rod_dual_waste, 1) };
@ -140,7 +140,7 @@ public class MachineRecipes {
new ItemStack(ModItems.rod_quad_waste, 1) };
ItemStack[] plutonium1 = new ItemStack[] { new ItemStack(ModItems.nugget_pu239, 1),
new ItemStack(ModItems.nugget_pu240, 3), new ItemStack(ModItems.nugget_lead, 2),
new ItemStack(ModItems.rod_waste, 1) };
new ItemStack(ModItems.nuclear_waste, 1) };
ItemStack[] plutonium2 = new ItemStack[] { new ItemStack(ModItems.nugget_pu239, 2),
new ItemStack(ModItems.nugget_pu240, 6), new ItemStack(ModItems.nugget_lead, 4),
new ItemStack(ModItems.rod_dual_waste, 1) };
@ -149,7 +149,7 @@ public class MachineRecipes {
new ItemStack(ModItems.rod_quad_waste, 1) };
ItemStack[] mox1 = new ItemStack[] { new ItemStack(ModItems.nugget_mox_fuel, 1),
new ItemStack(ModItems.nugget_neptunium, 3), new ItemStack(ModItems.nugget_u238, 2),
new ItemStack(ModItems.rod_waste, 1) };
new ItemStack(ModItems.nuclear_waste, 1) };
ItemStack[] mox2 = new ItemStack[] { new ItemStack(ModItems.nugget_mox_fuel, 2),
new ItemStack(ModItems.nugget_neptunium, 6), new ItemStack(ModItems.nugget_u238, 4),
new ItemStack(ModItems.rod_dual_waste, 1) };
@ -158,7 +158,7 @@ public class MachineRecipes {
new ItemStack(ModItems.rod_quad_waste, 1) };
ItemStack[] schrabidium1 = new ItemStack[] { new ItemStack(ModItems.nugget_schrabidium_fuel, 1),
new ItemStack(ModItems.nugget_lead, 3), new ItemStack(ModItems.nugget_schrabidium, 2),
new ItemStack(ModItems.rod_waste, 1) };
new ItemStack(ModItems.nuclear_waste, 1) };
ItemStack[] schrabidium2 = new ItemStack[] { new ItemStack(ModItems.nugget_schrabidium_fuel, 2),
new ItemStack(ModItems.nugget_lead, 6), new ItemStack(ModItems.nugget_schrabidium, 4),
new ItemStack(ModItems.rod_dual_waste, 1) };
@ -233,53 +233,53 @@ public class MachineRecipes {
}
}
if (item.getItem() == ModItems.rod_uranium_fuel_depleted) {
if (item.getItem() == ModItems.waste_uranium) {
return uran1;
}
if (item.getItem() == ModItems.rod_dual_uranium_fuel_depleted) {
/*if (item.getItem() == ModItems.rod_dual_uranium_fuel_depleted) {
return uran2;
}
if (item.getItem() == ModItems.rod_quad_uranium_fuel_depleted) {
return uran3;
}
}*/
if (item.getItem() == ModItems.rod_plutonium_fuel_depleted) {
if (item.getItem() == ModItems.waste_plutonium) {
return plutonium1;
}
if (item.getItem() == ModItems.rod_dual_plutonium_fuel_depleted) {
/*if (item.getItem() == ModItems.rod_dual_plutonium_fuel_depleted) {
return plutonium2;
}
if (item.getItem() == ModItems.rod_quad_plutonium_fuel_depleted) {
return plutonium3;
}
}*/
if (item.getItem() == ModItems.rod_mox_fuel_depleted) {
if (item.getItem() == ModItems.waste_mox) {
return mox1;
}
if (item.getItem() == ModItems.rod_dual_mox_fuel_depleted) {
/*if (item.getItem() == ModItems.rod_dual_mox_fuel_depleted) {
return mox2;
}
if (item.getItem() == ModItems.rod_quad_mox_fuel_depleted) {
return mox3;
}
}*/
if (item.getItem() == ModItems.rod_schrabidium_fuel_depleted) {
if (item.getItem() == ModItems.waste_schrabidium) {
return schrabidium1;
}
if (item.getItem() == ModItems.rod_dual_schrabidium_fuel_depleted) {
/*if (item.getItem() == ModItems.rod_dual_schrabidium_fuel_depleted) {
return schrabidium2;
}
if (item.getItem() == ModItems.rod_quad_schrabidium_fuel_depleted) {
return schrabidium3;
}
}*/
if (item.getItem() == ModItems.powder_cloud) {
return cloud;
@ -1189,30 +1189,30 @@ public class MachineRecipes {
recipes.put(new ItemStack(Item.getItemFromBlock(ModBlocks.test_render)),
getCentrifugeOutput(new ItemStack(ModBlocks.test_render)));
}
recipes.put(new ItemStack(ModItems.rod_uranium_fuel_depleted),
getCentrifugeOutput(new ItemStack(ModItems.rod_uranium_fuel_depleted)));
recipes.put(new ItemStack(ModItems.rod_dual_uranium_fuel_depleted),
getCentrifugeOutput(new ItemStack(ModItems.rod_dual_uranium_fuel_depleted)));
recipes.put(new ItemStack(ModItems.rod_quad_uranium_fuel_depleted),
getCentrifugeOutput(new ItemStack(ModItems.rod_quad_uranium_fuel_depleted)));
recipes.put(new ItemStack(ModItems.rod_plutonium_fuel_depleted),
getCentrifugeOutput(new ItemStack(ModItems.rod_plutonium_fuel_depleted)));
recipes.put(new ItemStack(ModItems.rod_dual_plutonium_fuel_depleted),
getCentrifugeOutput(new ItemStack(ModItems.rod_dual_plutonium_fuel_depleted)));
recipes.put(new ItemStack(ModItems.rod_quad_plutonium_fuel_depleted),
getCentrifugeOutput(new ItemStack(ModItems.rod_quad_plutonium_fuel_depleted)));
recipes.put(new ItemStack(ModItems.rod_mox_fuel_depleted),
getCentrifugeOutput(new ItemStack(ModItems.rod_mox_fuel_depleted)));
recipes.put(new ItemStack(ModItems.rod_dual_mox_fuel_depleted),
getCentrifugeOutput(new ItemStack(ModItems.rod_dual_mox_fuel_depleted)));
recipes.put(new ItemStack(ModItems.rod_quad_mox_fuel_depleted),
getCentrifugeOutput(new ItemStack(ModItems.rod_quad_mox_fuel_depleted)));
recipes.put(new ItemStack(ModItems.rod_schrabidium_fuel_depleted),
getCentrifugeOutput(new ItemStack(ModItems.rod_schrabidium_fuel_depleted)));
recipes.put(new ItemStack(ModItems.rod_dual_schrabidium_fuel_depleted),
getCentrifugeOutput(new ItemStack(ModItems.rod_dual_schrabidium_fuel_depleted)));
recipes.put(new ItemStack(ModItems.rod_quad_schrabidium_fuel_depleted),
getCentrifugeOutput(new ItemStack(ModItems.rod_quad_schrabidium_fuel_depleted)));
//recipes.put(new ItemStack(ModItems.rod_uranium_fuel_depleted),
// getCentrifugeOutput(new ItemStack(ModItems.rod_uranium_fuel_depleted)));
//recipes.put(new ItemStack(ModItems.rod_dual_uranium_fuel_depleted),
// getCentrifugeOutput(new ItemStack(ModItems.rod_dual_uranium_fuel_depleted)));
//recipes.put(new ItemStack(ModItems.rod_quad_uranium_fuel_depleted),
// getCentrifugeOutput(new ItemStack(ModItems.rod_quad_uranium_fuel_depleted)));
//recipes.put(new ItemStack(ModItems.rod_plutonium_fuel_depleted),
// getCentrifugeOutput(new ItemStack(ModItems.rod_plutonium_fuel_depleted)));
//recipes.put(new ItemStack(ModItems.rod_dual_plutonium_fuel_depleted),
// getCentrifugeOutput(new ItemStack(ModItems.rod_dual_plutonium_fuel_depleted)));
//recipes.put(new ItemStack(ModItems.rod_quad_plutonium_fuel_depleted),
// getCentrifugeOutput(new ItemStack(ModItems.rod_quad_plutonium_fuel_depleted)));
//recipes.put(new ItemStack(ModItems.rod_mox_fuel_depleted),
// getCentrifugeOutput(new ItemStack(ModItems.rod_mox_fuel_depleted)));
//recipes.put(new ItemStack(ModItems.rod_dual_mox_fuel_depleted),
// getCentrifugeOutput(new ItemStack(ModItems.rod_dual_mox_fuel_depleted)));
//recipes.put(new ItemStack(ModItems.rod_quad_mox_fuel_depleted),
// getCentrifugeOutput(new ItemStack(ModItems.rod_quad_mox_fuel_depleted)));
//recipes.put(new ItemStack(ModItems.rod_schrabidium_fuel_depleted),
// getCentrifugeOutput(new ItemStack(ModItems.rod_schrabidium_fuel_depleted)));
//recipes.put(new ItemStack(ModItems.rod_dual_schrabidium_fuel_depleted),
// getCentrifugeOutput(new ItemStack(ModItems.rod_dual_schrabidium_fuel_depleted)));
//recipes.put(new ItemStack(ModItems.rod_quad_schrabidium_fuel_depleted),
// getCentrifugeOutput(new ItemStack(ModItems.rod_quad_schrabidium_fuel_depleted)));
recipes.put(new ItemStack(ModItems.powder_cloud),
getCentrifugeOutput(new ItemStack(ModItems.powder_cloud)));
recipes.put(new ItemStack(Blocks.coal_ore),
@ -1251,6 +1251,14 @@ public class MachineRecipes {
getCentrifugeOutput(new ItemStack(Blocks.lapis_ore)));
recipes.put(new ItemStack(ModBlocks.ore_nether_plutonium),
getCentrifugeOutput(new ItemStack(ModBlocks.ore_nether_plutonium)));
recipes.put(new ItemStack(ModItems.waste_uranium),
getCentrifugeOutput(new ItemStack(ModItems.waste_uranium)));
recipes.put(new ItemStack(ModItems.waste_plutonium),
getCentrifugeOutput(new ItemStack(ModItems.waste_plutonium)));
recipes.put(new ItemStack(ModItems.waste_mox),
getCentrifugeOutput(new ItemStack(ModItems.waste_mox)));
recipes.put(new ItemStack(ModItems.waste_schrabidium),
getCentrifugeOutput(new ItemStack(ModItems.waste_schrabidium)));
return recipes;
}

View File

@ -676,6 +676,10 @@ public class ModItems {
public static Item rod_waste;
public static Item rod_dual_waste;
public static Item rod_quad_waste;
public static Item waste_uranium;
public static Item waste_plutonium;
public static Item waste_mox;
public static Item waste_schrabidium;
public static Item rod_lithium;
public static Item rod_dual_lithium;
@ -2026,6 +2030,10 @@ public class ModItems {
trinitite = new ItemCustomLore().setUnlocalizedName("trinitite").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":trinitite_new");
nuclear_waste = new ItemCustomLore().setUnlocalizedName("nuclear_waste").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nuclear_waste");
waste_uranium = new ItemCustomLore().setUnlocalizedName("waste_uranium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":waste_uranium");
waste_plutonium = new ItemCustomLore().setUnlocalizedName("waste_plutonium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":waste_plutonium");
waste_mox = new ItemCustomLore().setUnlocalizedName("waste_mox").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":waste_mox");
waste_schrabidium = new ItemCustomLore().setUnlocalizedName("waste_schrabidium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":waste_schrabidium");
scrap = new Item().setUnlocalizedName("scrap").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":scrap");
rod_uranium_fuel_depleted = new ItemCustomLore().setUnlocalizedName("rod_uranium_fuel_depleted").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_empty).setTextureName(RefStrings.MODID + ":rod_uranium_fuel_depleted");
rod_dual_uranium_fuel_depleted = new ItemCustomLore().setUnlocalizedName("rod_dual_uranium_fuel_depleted").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_dual_empty).setTextureName(RefStrings.MODID + ":rod_dual_uranium_fuel_depleted");
@ -2039,9 +2047,9 @@ public class ModItems {
rod_schrabidium_fuel_depleted = new ItemCustomLore().setUnlocalizedName("rod_schrabidium_fuel_depleted").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_empty).setTextureName(RefStrings.MODID + ":rod_schrabidium_fuel_depleted");
rod_dual_schrabidium_fuel_depleted = new ItemCustomLore().setUnlocalizedName("rod_dual_schrabidium_fuel_depleted").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_dual_empty).setTextureName(RefStrings.MODID + ":rod_dual_schrabidium_fuel_depleted");
rod_quad_schrabidium_fuel_depleted = new ItemCustomLore().setUnlocalizedName("rod_quad_schrabidium_fuel_depleted").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_quad_empty).setTextureName(RefStrings.MODID + ":rod_quad_schrabidium_fuel_depleted");
rod_waste = new ItemCustomLore().setUnlocalizedName("rod_waste").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_empty).setTextureName(RefStrings.MODID + ":rod_waste");
rod_dual_waste = new ItemCustomLore().setUnlocalizedName("rod_dual_waste").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_dual_empty).setTextureName(RefStrings.MODID + ":rod_dual_waste");
rod_quad_waste = new ItemCustomLore().setUnlocalizedName("rod_quad_waste").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_quad_empty).setTextureName(RefStrings.MODID + ":rod_quad_waste");
rod_waste = new ItemCustomLore().setUnlocalizedName("rod_waste").setMaxStackSize(1).setCreativeTab(null).setContainerItem(ModItems.rod_empty).setTextureName(RefStrings.MODID + ":rod_waste");
rod_dual_waste = new ItemCustomLore().setUnlocalizedName("rod_dual_waste").setMaxStackSize(1).setCreativeTab(null).setContainerItem(ModItems.rod_dual_empty).setTextureName(RefStrings.MODID + ":rod_dual_waste");
rod_quad_waste = new ItemCustomLore().setUnlocalizedName("rod_quad_waste").setMaxStackSize(1).setCreativeTab(null).setContainerItem(ModItems.rod_quad_empty).setTextureName(RefStrings.MODID + ":rod_quad_waste");
pellet_cluster = new ItemCustomLore().setUnlocalizedName("pellet_cluster").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":pellet_cluster");
powder_fire = new ItemCustomLore().setUnlocalizedName("powder_fire").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_fire");
@ -3560,6 +3568,10 @@ public class ModItems {
GameRegistry.registerItem(rod_quad_waste, rod_quad_waste.getUnlocalizedName());
GameRegistry.registerItem(scrap, scrap.getUnlocalizedName());
GameRegistry.registerItem(waste_uranium, waste_uranium.getUnlocalizedName());
GameRegistry.registerItem(waste_plutonium, waste_plutonium.getUnlocalizedName());
GameRegistry.registerItem(waste_mox, waste_mox.getUnlocalizedName());
GameRegistry.registerItem(waste_schrabidium, waste_schrabidium.getUnlocalizedName());
GameRegistry.registerItem(trinitite, trinitite.getUnlocalizedName());
GameRegistry.registerItem(nuclear_waste, nuclear_waste.getUnlocalizedName());

View File

@ -77,7 +77,11 @@ public class ItemRadioactive extends Item {
this == ModItems.boy_target ||
this == ModItems.gadget_core ||
this == ModItems.man_core ||
this == ModItems.nuclear_waste) {
this == ModItems.nuclear_waste ||
this == ModItems.waste_uranium ||
this == ModItems.waste_plutonium ||
this == ModItems.waste_mox ||
this == ModItems.waste_schrabidium) {
//Library.applyRadiation(living, 60, 19, 40, 14);
Library.applyRadData(living, 25F/20F * mod);
}
@ -176,13 +180,17 @@ public class ItemRadioactive extends Item {
this == ModItems.powder_plutonium) {
//Library.applyRadiation(living, 60, 19, 45, 14);
Library.applyRadData(living, 10F/20F * mod);
living.setFire(5);
if(living instanceof EntityPlayer && !Library.checkForHazmat((EntityPlayer)living))
living.setFire(5);
}
if (this == ModItems.powder_uranium) {
//Library.applyRadiation(living, 20, 4, 0, 0);
Library.applyRadData(living, 5F/20F * mod);
living.setFire(5);
if(living instanceof EntityPlayer && !Library.checkForHazmat((EntityPlayer)living))
living.setFire(5);
}
//Schrabidic
@ -204,7 +212,10 @@ public class ItemRadioactive extends Item {
this == ModItems.rod_schrabidium_fuel ||
this == ModItems.rod_dual_schrabidium_fuel ||
this == ModItems.rod_quad_schrabidium_fuel) {
living.addPotionEffect(new PotionEffect(Potion.blindness.id, 60 * 20, 0));
if(living instanceof EntityPlayer && !Library.checkForHazmat((EntityPlayer)living))
living.addPotionEffect(new PotionEffect(Potion.blindness.id, 60 * 20, 0));
//Library.applyRadiation(living, 100, 29, 75, 24);
Library.applyRadData(living, 35F/20F * mod);
}
@ -227,10 +238,13 @@ public class ItemRadioactive extends Item {
}
if (this == ModItems.powder_schrabidium) {
living.addPotionEffect(new PotionEffect(Potion.blindness.id, 60 * 20, 0));
//Library.applyRadiation(living, 100, 29, 75, 24);
Library.applyRadData(living, 35F/20F * mod);
living.setFire(5);
if(living instanceof EntityPlayer && !Library.checkForHazmat((EntityPlayer)living)) {
living.addPotionEffect(new PotionEffect(Potion.blindness.id, 60 * 20, 0));
living.setFire(5);
}
}
}
}

View File

@ -366,22 +366,22 @@ public class CraftingManager {
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_mox_fuel, 24), new Object[] { ModItems.rod_quad_mox_fuel });
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_schrabidium_fuel, 24), new Object[] { ModItems.rod_quad_schrabidium_fuel });
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nuclear_waste, 2), new Object[] { ModItems.rod_waste });
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nuclear_waste, 4), new Object[] { ModItems.rod_dual_waste });
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nuclear_waste, 8), new Object[] { ModItems.rod_quad_waste });
//GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nuclear_waste, 2), new Object[] { ModItems.rod_waste });
//GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nuclear_waste, 4), new Object[] { ModItems.rod_dual_waste });
//GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nuclear_waste, 8), new Object[] { ModItems.rod_quad_waste });
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nuclear_waste, 4), new Object[] { ModItems.rod_uranium_fuel_depleted });
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nuclear_waste, 8), new Object[] { ModItems.rod_dual_uranium_fuel_depleted });
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nuclear_waste, 16), new Object[] { ModItems.rod_quad_uranium_fuel_depleted });
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nuclear_waste, 4), new Object[] { ModItems.rod_plutonium_fuel_depleted });
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nuclear_waste, 8), new Object[] { ModItems.rod_dual_plutonium_fuel_depleted });
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nuclear_waste, 16), new Object[] { ModItems.rod_quad_plutonium_fuel_depleted });
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nuclear_waste, 4), new Object[] { ModItems.rod_mox_fuel_depleted });
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nuclear_waste, 8), new Object[] { ModItems.rod_dual_mox_fuel_depleted });
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nuclear_waste, 16), new Object[] { ModItems.rod_quad_mox_fuel_depleted });
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nuclear_waste, 4), new Object[] { ModItems.rod_schrabidium_fuel_depleted });
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nuclear_waste, 8), new Object[] { ModItems.rod_dual_schrabidium_fuel_depleted });
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nuclear_waste, 16), new Object[] { ModItems.rod_quad_schrabidium_fuel_depleted });
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.waste_uranium, 1), new Object[] { ModItems.rod_uranium_fuel_depleted });
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.waste_uranium, 2), new Object[] { ModItems.rod_dual_uranium_fuel_depleted });
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.waste_uranium, 4), new Object[] { ModItems.rod_quad_uranium_fuel_depleted });
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.waste_plutonium, 1), new Object[] { ModItems.rod_plutonium_fuel_depleted });
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.waste_plutonium, 2), new Object[] { ModItems.rod_dual_plutonium_fuel_depleted });
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.waste_plutonium, 4), new Object[] { ModItems.rod_quad_plutonium_fuel_depleted });
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.waste_mox, 1), new Object[] { ModItems.rod_mox_fuel_depleted });
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.waste_mox, 2), new Object[] { ModItems.rod_dual_mox_fuel_depleted });
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.waste_mox, 4), new Object[] { ModItems.rod_quad_mox_fuel_depleted });
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.waste_schrabidium, 1), new Object[] { ModItems.rod_schrabidium_fuel_depleted });
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.waste_schrabidium, 2), new Object[] { ModItems.rod_dual_schrabidium_fuel_depleted });
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.waste_schrabidium, 4), new Object[] { ModItems.rod_quad_schrabidium_fuel_depleted });
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.biomass, 4), new Object[] { Items.melon, Items.melon, Items.melon, Items.melon, Items.melon, Items.melon, Items.melon });
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.biomass, 4), new Object[] { Items.apple, Items.apple, Items.apple, Items.apple, Items.apple, Items.apple, Items.apple, Items.apple, Items.apple });
@ -651,6 +651,8 @@ public class CraftingManager {
//GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.reactor_conductor), 1), new Object[] { "SWS", "FFF", "SWS", 'S', "ingotSteel", 'W', Item.getItemFromBlock(ModBlocks.red_wire_coated), 'F', ModItems.fuse }));
//GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.reactor_computer), 1), new Object[] { "CWC", "CRC", "CWC", 'C', ModItems.circuit_red_copper, 'W', Item.getItemFromBlock(ModBlocks.red_wire_coated), 'R', Item.getItemFromBlock(ModBlocks.reactor_conductor) });
//GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.reactor_hatch), 1), new Object[] { "BBB", "BFB", "BBB", 'B', Item.getItemFromBlock(ModBlocks.brick_concrete), 'F', Item.getItemFromBlock(Blocks.furnace) });
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.reactor_ejector, 1), new Object[] { "CLC", "MHM", "CLC", 'C', ModBlocks.brick_concrete, 'L', "plateLead", 'M', ModItems.motor, 'H', ModBlocks.reactor_hatch }));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.reactor_inserter, 1), new Object[] { "CLC", "MHM", "CLC", 'C', ModBlocks.brick_concrete, 'L', "plateCopper", 'M', ModItems.motor, 'H', ModBlocks.reactor_hatch }));
//GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.fusion_conductor), 1), new Object[] { "SSS", "CCC", "SSS", 'S', "plateSteel", 'C', ModItems.coil_advanced_alloy }));
//GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.fusion_center), 1), new Object[] { "TMT", "TWT", "TMT", 'T', "ingotTungsten", 'M', Item.getItemFromBlock(ModBlocks.fusion_conductor), 'W', Item.getItemFromBlock(ModBlocks.red_wire_coated) }));
@ -689,8 +691,13 @@ public class CraftingManager {
GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.reinforced_light), 1), new Object[] { "FFF", "FBF", "FFF", 'F', Blocks.iron_bars, 'B', Blocks.glowstone });
GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.reinforced_lamp_off), 1), new Object[] { "FFF", "FBF", "FFF", 'F', Blocks.iron_bars, 'B', Blocks.redstone_lamp });
GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.reinforced_sand), 8), new Object[] { "FBF", "BFB", "FBF", 'F', Blocks.iron_bars, 'B', Blocks.sandstone });
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.barbed_wire, 16), new Object[] { "AIA", "I I", "AIA", 'A', ModItems.wire_aluminium, 'I', "ingotIron" }));
GameRegistry.addRecipe(new ItemStack(ModBlocks.barbed_wire_fire, 8), new Object[] { "BBB", "BIB", "BBB", 'B', ModBlocks.barbed_wire, 'I', ModItems.powder_fire });
GameRegistry.addRecipe(new ItemStack(ModBlocks.barbed_wire_poison, 8), new Object[] { "BBB", "BIB", "BBB", 'B', ModBlocks.barbed_wire, 'I', ModItems.powder_poison });
GameRegistry.addRecipe(new ItemStack(ModBlocks.barbed_wire_acid, 8), new Object[] { "BBB", "BIB", "BBB", 'B', ModBlocks.barbed_wire, 'I', new ItemStack(ModItems.fluid_tank_full, 1, FluidType.ACID.getID()) });
GameRegistry.addRecipe(new ItemStack(ModBlocks.barbed_wire_wither, 8), new Object[] { "BBB", "BIB", "BBB", 'B', ModBlocks.barbed_wire, 'I', new ItemStack(Items.skull, 1, 1) });
GameRegistry.addRecipe(new ItemStack(ModBlocks.barbed_wire_ultradeath, 4), new Object[] { "BCB", "CIC", "BCB", 'B', ModBlocks.barbed_wire, 'C', ModItems.powder_cloud, 'I', ModItems.nuclear_waste });
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.tape_recorder), 4), new Object[] { "TST", "SSS", 'T', "ingotTungsten", 'S', "ingotSteel" }));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.steel_poles), 16), new Object[] { "S S", "SSS", "S S", 'S', "ingotSteel" }));

View File

@ -1627,14 +1627,14 @@ public class MainRegistry
TileEntityMachineReactorLarge.registerWasteEntry(12, ReactorFuelType.MOX, ModItems.rod_dual_empty, ModItems.rod_dual_mox_fuel_depleted);
TileEntityMachineReactorLarge.registerWasteEntry(24, ReactorFuelType.MOX, ModItems.rod_quad_empty, ModItems.rod_quad_mox_fuel_depleted);
TileEntityMachineReactorLarge.registerFuelEntry(1, ReactorFuelType.SCHRABIDIUM, ModItems.nugget_schrabidium_fuel);
TileEntityMachineReactorLarge.registerFuelEntry(9, ReactorFuelType.SCHRABIDIUM, ModItems.ingot_schrabidium_fuel);
TileEntityMachineReactorLarge.registerFuelEntry(6, ReactorFuelType.SCHRABIDIUM, ModItems.rod_schrabidium_fuel);
TileEntityMachineReactorLarge.registerFuelEntry(12, ReactorFuelType.SCHRABIDIUM, ModItems.rod_dual_schrabidium_fuel);
TileEntityMachineReactorLarge.registerFuelEntry(24, ReactorFuelType.SCHRABIDIUM, ModItems.rod_quad_schrabidium_fuel);
TileEntityMachineReactorLarge.registerWasteEntry(6, ReactorFuelType.SCHRABIDIUM, ModItems.rod_empty, ModItems.rod_schrabidium_fuel_depleted);
TileEntityMachineReactorLarge.registerWasteEntry(12, ReactorFuelType.SCHRABIDIUM, ModItems.rod_dual_empty, ModItems.rod_dual_schrabidium_fuel_depleted);
TileEntityMachineReactorLarge.registerWasteEntry(24, ReactorFuelType.SCHRABIDIUM, ModItems.rod_quad_empty, ModItems.rod_quad_schrabidium_fuel_depleted);
TileEntityMachineReactorLarge.registerFuelEntry(10, ReactorFuelType.SCHRABIDIUM, ModItems.nugget_schrabidium_fuel);
TileEntityMachineReactorLarge.registerFuelEntry(90, ReactorFuelType.SCHRABIDIUM, ModItems.ingot_schrabidium_fuel);
TileEntityMachineReactorLarge.registerFuelEntry(60, ReactorFuelType.SCHRABIDIUM, ModItems.rod_schrabidium_fuel);
TileEntityMachineReactorLarge.registerFuelEntry(120, ReactorFuelType.SCHRABIDIUM, ModItems.rod_dual_schrabidium_fuel);
TileEntityMachineReactorLarge.registerFuelEntry(240, ReactorFuelType.SCHRABIDIUM, ModItems.rod_quad_schrabidium_fuel);
TileEntityMachineReactorLarge.registerWasteEntry(60, ReactorFuelType.SCHRABIDIUM, ModItems.rod_empty, ModItems.rod_schrabidium_fuel_depleted);
TileEntityMachineReactorLarge.registerWasteEntry(120, ReactorFuelType.SCHRABIDIUM, ModItems.rod_dual_empty, ModItems.rod_dual_schrabidium_fuel_depleted);
TileEntityMachineReactorLarge.registerWasteEntry(240, ReactorFuelType.SCHRABIDIUM, ModItems.rod_quad_empty, ModItems.rod_quad_schrabidium_fuel_depleted);
}
@EventHandler

View File

@ -340,6 +340,10 @@ public class TileEntityMachineRadGen extends TileEntity implements ISidedInvento
if(item == ModItems.rod_quad_schrabidium) return 2880;
if(item == ModItems.nuclear_waste) return 100;
if(item == ModItems.waste_uranium) return 150;
if(item == ModItems.waste_plutonium) return 150;
if(item == ModItems.waste_mox) return 150;
if(item == ModItems.waste_schrabidium) return 150;
if(item == Item.getItemFromBlock(ModBlocks.block_waste)) return 1000;
if(item == Item.getItemFromBlock(ModBlocks.yellow_barrel)) return 900;
if(item == ModItems.trinitite) return 80;

View File

@ -24,6 +24,7 @@ import net.minecraft.block.Block;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.ISidedInventory;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
@ -177,6 +178,7 @@ public class TileEntityMachineReactorLarge extends TileEntity
slots = new ItemStack[getSizeInventory()];
tanks[0].readFromNBT(nbt, "water");
tanks[1].readFromNBT(nbt, "coolant");
tanks[2].readFromNBT(nbt, "steam");
type = ReactorFuelType.getEnum(nbt.getInteger("type"));
for (int i = 0; i < list.tagCount(); i++) {
@ -531,6 +533,24 @@ public class TileEntityMachineReactorLarge extends TileEntity
for (int i = 0; i < 3; i++)
tanks[i].updateTank(xCoord, yCoord, zCoord);
if(worldObj.getBlock(xCoord, yCoord, zCoord - 2) == ModBlocks.reactor_ejector && worldObj.getBlockMetadata(xCoord, yCoord, zCoord - 2) == 2)
tryEjectInto(xCoord, yCoord, zCoord - 3);
if(worldObj.getBlock(xCoord, yCoord, zCoord + 2) == ModBlocks.reactor_ejector && worldObj.getBlockMetadata(xCoord, yCoord, zCoord + 2) == 3)
tryEjectInto(xCoord, yCoord, zCoord + 3);
if(worldObj.getBlock(xCoord - 2, yCoord, zCoord) == ModBlocks.reactor_ejector && worldObj.getBlockMetadata(xCoord - 2, yCoord, zCoord) == 4)
tryEjectInto(xCoord - 3, yCoord, zCoord);
if(worldObj.getBlock(xCoord + 2, yCoord, zCoord) == ModBlocks.reactor_ejector && worldObj.getBlockMetadata(xCoord + 2, yCoord, zCoord) == 5)
tryEjectInto(xCoord + 3, yCoord, zCoord);
if(worldObj.getBlock(xCoord, yCoord, zCoord - 2) == ModBlocks.reactor_inserter && worldObj.getBlockMetadata(xCoord, yCoord, zCoord - 2) == 2)
tryInsertFrom(xCoord, yCoord, zCoord - 3);
if(worldObj.getBlock(xCoord, yCoord, zCoord + 2) == ModBlocks.reactor_inserter && worldObj.getBlockMetadata(xCoord, yCoord, zCoord + 2) == 3)
tryInsertFrom(xCoord, yCoord, zCoord + 3);
if(worldObj.getBlock(xCoord - 2, yCoord, zCoord) == ModBlocks.reactor_inserter && worldObj.getBlockMetadata(xCoord - 2, yCoord, zCoord) == 4)
tryInsertFrom(xCoord - 3, yCoord, zCoord);
if(worldObj.getBlock(xCoord + 2, yCoord, zCoord) == ModBlocks.reactor_inserter && worldObj.getBlockMetadata(xCoord + 2, yCoord, zCoord) == 5)
tryInsertFrom(xCoord + 3, yCoord, zCoord);
PacketDispatcher.wrapper.sendToAll(new AuxGaugePacket(xCoord, yCoord, zCoord, rods, 0));
PacketDispatcher.wrapper.sendToAll(new AuxGaugePacket(xCoord, yCoord, zCoord, coreHeat, 1));
PacketDispatcher.wrapper.sendToAll(new AuxGaugePacket(xCoord, yCoord, zCoord, hullHeat, 2));
@ -540,6 +560,95 @@ public class TileEntityMachineReactorLarge extends TileEntity
}
}
private void tryEjectInto(int x, int y, int z) {
int wSize = type.toString().equals(ReactorFuelType.SCHRABIDIUM.toString()) ? 60 * fuelMult : 6 * fuelMult;
if(waste < wSize)
return;
TileEntity te = worldObj.getTileEntity(x, y, z);
if(te instanceof IInventory) {
IInventory chest = (IInventory)te;
Item waste = ModItems.waste_uranium;
switch(type) {
case PLUTONIUM:
waste = ModItems.waste_plutonium;
break;
case MOX:
waste = ModItems.waste_mox;
break;
case SCHRABIDIUM:
waste = ModItems.waste_schrabidium;
break;
default:
waste = ModItems.waste_uranium;
break;
}
for(int i = 0; i < chest.getSizeInventory(); i++) {
if(chest.isItemValidForSlot(i, new ItemStack(waste)) && chest.getStackInSlot(i) != null && chest.getStackInSlot(i).getItem() == waste && chest.getStackInSlot(i).stackSize < chest.getStackInSlot(i).getMaxStackSize()) {
chest.setInventorySlotContents(i, new ItemStack(waste, chest.getStackInSlot(i).stackSize + 1));
this.waste -= wSize;
return;
}
}
for(int i = 0; i < chest.getSizeInventory(); i++) {
if(chest.isItemValidForSlot(i, new ItemStack(waste)) && chest.getStackInSlot(i) == null) {
chest.setInventorySlotContents(i, new ItemStack(waste));
this.waste -= wSize;
return;
}
}
}
}
private void tryInsertFrom(int x, int y, int z) {
TileEntity te = worldObj.getTileEntity(x, y, z);
if(te instanceof IInventory) {
IInventory chest = (IInventory)te;
if(fuel > 0) {
for(int i = 0; i < chest.getSizeInventory(); i++) {
if(chest.getStackInSlot(i) != null) {
int cont = getFuelContent(chest.getStackInSlot(i).getItem(), type) * fuelMult;
if(cont > 0 && fuel + cont <= maxFuel && !chest.getStackInSlot(i).getItem().hasContainerItem()) {
chest.decrStackSize(i, 1);
fuel += cont;
}
}
}
} else {
for(int i = 0; i < chest.getSizeInventory(); i++) {
if(chest.getStackInSlot(i) != null) {
int cont = getFuelContent(chest.getStackInSlot(i).getItem(), getFuelType(chest.getStackInSlot(i).getItem())) * fuelMult;
if(cont > 0 && fuel + cont <= maxFuel && !chest.getStackInSlot(i).getItem().hasContainerItem()) {
type = getFuelType(chest.getStackInSlot(i).getItem());
chest.decrStackSize(i, 1);
fuel += cont;
}
}
}
}
}
}
@SuppressWarnings("incomplete-switch")
private void generateSteam() {
@ -732,7 +841,7 @@ public class TileEntityMachineReactorLarge extends TileEntity
URANIUM(250000),
PLUTONIUM(312500),
MOX(250000),
SCHRABIDIUM(20850000),
SCHRABIDIUM(2085000),
UNKNOWN(1);
private ReactorFuelType(int i) {

View File

@ -186,6 +186,7 @@ public class TileEntityMachineReactorSmall extends TileEntity
slots = new ItemStack[getSizeInventory()];
tanks[0].readFromNBT(nbt, "water");
tanks[1].readFromNBT(nbt, "coolant");
tanks[2].readFromNBT(nbt, "steam");
for (int i = 0; i < list.tagCount(); i++) {
NBTTagCompound nbt1 = list.getCompoundTagAt(i);
@ -206,6 +207,7 @@ public class TileEntityMachineReactorSmall extends TileEntity
NBTTagList list = new NBTTagList();
tanks[0].writeToNBT(nbt, "water");
tanks[1].writeToNBT(nbt, "coolant");
tanks[2].writeToNBT(nbt, "steam");
for (int i = 0; i < slots.length; i++) {
if (slots[i] != null) {