Finished new small nuclear reactor
@ -282,7 +282,7 @@ container.rtgFurnace=RTG-Ofen
|
||||
tile.machine_electric_furnace_off.name=Elektrischer Ofen
|
||||
tile.machine_electric_furnace_on.name=Elektrischer Ofen
|
||||
container.electricFurnace=Elektrischer Ofen
|
||||
tile.machine_generator.name=Atomreaktor
|
||||
tile.machine_generator.name=Atomreaktor (Alt)
|
||||
container.generator=Atomreaktor
|
||||
tile.red_wire_coated.name=Geschirmtes rotes Kupferkabel
|
||||
tile.machine_deuterium.name=Deuteriumextraktor
|
||||
@ -351,6 +351,8 @@ tile.machine_radgen.name=Strahlenbetriebener Generator
|
||||
container.radGen=Strahlenbetriebener Generator
|
||||
tile.machine_selenium.name=Hochleistungs-Sternmotor
|
||||
container.machineSelenium=Hochleistungs-Sternmotor
|
||||
tile.machine_reactor_small.name=Atomreaktor
|
||||
container.reactorSmall=Atomreaktor
|
||||
|
||||
tile.broadcaster_pc.name=Korrupter Sender
|
||||
|
||||
|
||||
@ -282,7 +282,7 @@ container.rtgFurnace=RTG Furnace
|
||||
tile.machine_electric_furnace_off.name=Electric Furnace
|
||||
tile.machine_electric_furnace_on.name=Electric Furnace
|
||||
container.electricFurnace=Electric Furnace
|
||||
tile.machine_generator.name=Nuclear Reactor
|
||||
tile.machine_generator.name=Nuclear Reactor (Old)
|
||||
container.generator=Nuclear Reactor
|
||||
tile.red_wire_coated.name=Coated Red Copper Cable
|
||||
tile.machine_deuterium.name=Deuterium Extractor
|
||||
@ -351,6 +351,8 @@ tile.machine_radgen.name=Radiation-Powered Engine
|
||||
container.radGen=Radiation-Powered Engine
|
||||
tile.machine_selenium.name=Radial Performance Engine
|
||||
container.machineSelenium=Radial Performance Engine
|
||||
tile.machine_reactor_small.name=Nuclear Reactor
|
||||
container.reactorSmall=Nuclear Reactor
|
||||
|
||||
tile.broadcaster_pc.name=Corrupted Broadcaster
|
||||
|
||||
|
||||
BIN
assets/hbm/textures/blocks/machine_reactor_small.png
Normal file
|
After Width: | Height: | Size: 217 B |
|
Before Width: | Height: | Size: 3.5 KiB After Width: | Height: | Size: 2.8 KiB |
|
Before Width: | Height: | Size: 5.6 KiB After Width: | Height: | Size: 3.0 KiB |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 15 KiB |
@ -511,6 +511,8 @@ public class ModBlocks {
|
||||
public static Block dummy_port_ams_base;
|
||||
public static Block dummy_block_radgen;
|
||||
public static Block dummy_port_radgen;
|
||||
public static Block dummy_block_reactor_small;
|
||||
public static Block dummy_port_reactor_small;
|
||||
|
||||
public static Block ntm_dirt;
|
||||
|
||||
@ -656,11 +658,11 @@ public class ModBlocks {
|
||||
nuke_solinium = new NukeSolinium(Material.iron).setBlockName("nuke_solinium").setCreativeTab(MainRegistry.nukeTab).setHardness(5.0F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":nuke_solinium");
|
||||
nuke_n2 = new NukeN2(Material.iron).setBlockName("nuke_n2").setCreativeTab(MainRegistry.nukeTab).setHardness(5.0F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":nuke_n2");
|
||||
|
||||
cel_prime = new CelPrime(Material.iron).setBlockName("cel_prime").setCreativeTab(MainRegistry.weaponTab).setHardness(5.0F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":cel_prime");
|
||||
cel_prime_terminal = new CelPrimePart(Material.iron).setBlockName("cel_prime_terminal").setCreativeTab(MainRegistry.weaponTab).setHardness(5.0F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":cel_prime_terminal");
|
||||
cel_prime_battery = new CelPrimePart(Material.iron).setBlockName("cel_prime_battery").setCreativeTab(MainRegistry.weaponTab).setHardness(5.0F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":cel_prime_battery");
|
||||
cel_prime_port = new CelPrimePart(Material.iron).setBlockName("cel_prime_port").setCreativeTab(MainRegistry.weaponTab).setHardness(5.0F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":cel_prime_port");
|
||||
cel_prime_tanks = new CelPrimePart(Material.iron).setBlockName("cel_prime_tanks").setCreativeTab(MainRegistry.weaponTab).setHardness(5.0F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":cel_prime_tanks");
|
||||
cel_prime = new CelPrime(Material.iron).setBlockName("cel_prime").setCreativeTab(null).setHardness(5.0F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":cel_prime");
|
||||
cel_prime_terminal = new CelPrimePart(Material.iron).setBlockName("cel_prime_terminal").setCreativeTab(null).setHardness(5.0F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":cel_prime_terminal");
|
||||
cel_prime_battery = new CelPrimePart(Material.iron).setBlockName("cel_prime_battery").setCreativeTab(null).setHardness(5.0F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":cel_prime_battery");
|
||||
cel_prime_port = new CelPrimePart(Material.iron).setBlockName("cel_prime_port").setCreativeTab(null).setHardness(5.0F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":cel_prime_port");
|
||||
cel_prime_tanks = new CelPrimePart(Material.iron).setBlockName("cel_prime_tanks").setCreativeTab(null).setHardness(5.0F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":cel_prime_tanks");
|
||||
|
||||
bomb_multi = new BombMulti(Material.iron).setBlockName("bomb_multi").setCreativeTab(MainRegistry.nukeTab).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":bomb_multi1");
|
||||
//bomb_multi_large = new BombMultiLarge(Material.iron).setBlockName("bomb_multi_large").setCreativeTab(MainRegistry.tabNuke).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":bomb_multi_large");
|
||||
@ -694,7 +696,7 @@ public class ModBlocks {
|
||||
machine_rtg_furnace_off = new MachineRtgFurnace(false).setBlockName("machine_rtg_furnace_off").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab);
|
||||
machine_rtg_furnace_on = new MachineRtgFurnace(true).setBlockName("machine_rtg_furnace_on").setHardness(5.0F).setLightLevel(1.0F).setResistance(10.0F);
|
||||
|
||||
machine_generator = new MachineGenerator(Material.iron).setBlockName("machine_generator").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab);
|
||||
machine_generator = new MachineGenerator(Material.iron).setBlockName("machine_generator").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null);
|
||||
machine_industrial_generator = new MachineIGenerator(Material.iron).setBlockName("machine_industrial_generator").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":industrial_generator");
|
||||
machine_cyclotron = new MachineCyclotron(Material.iron).setBlockName("machine_cyclotron").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":cyclotron");
|
||||
machine_radgen = new MachineRadGen(Material.iron).setBlockName("machine_radgen").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_radgen");
|
||||
@ -904,6 +906,8 @@ public class ModBlocks {
|
||||
dummy_port_ams_base = new DummyBlockAMSBase(Material.iron).setBlockName("dummy_port_ams_base").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_copper");
|
||||
dummy_block_radgen = new DummyBlockRadGen(Material.iron).setBlockName("dummy_block_radgen").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_steel");
|
||||
dummy_port_radgen = new DummyBlockRadGen(Material.iron).setBlockName("dummy_port_radgen").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_steel");
|
||||
dummy_block_reactor_small = new DummyBlockMachine(Material.iron, guiID_reactor_small, machine_reactor_small).setBlockName("dummy_block_reactor_small").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_steel");
|
||||
dummy_port_reactor_small = new DummyBlockMachine(Material.iron, guiID_reactor_small, machine_reactor_small).setBlockName("dummy_port_reactor_small").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_steel");
|
||||
|
||||
ntm_dirt = new BlockNTMDirt().setBlockName("ntm_dirt").setHardness(0.5F).setStepSound(Block.soundTypeGravel).setCreativeTab(null).setBlockTextureName("dirt");
|
||||
}
|
||||
@ -1290,6 +1294,8 @@ public class ModBlocks {
|
||||
GameRegistry.registerBlock(dummy_port_ams_base, dummy_port_ams_base.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(dummy_block_radgen, dummy_block_radgen.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(dummy_port_radgen, dummy_port_radgen.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(dummy_block_reactor_small, dummy_block_reactor_small.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(dummy_port_reactor_small, dummy_port_reactor_small.getUnlocalizedName());
|
||||
|
||||
//Other Technical Blocks
|
||||
GameRegistry.registerBlock(oil_pipe, oil_pipe.getUnlocalizedName());
|
||||
|
||||
113
com/hbm/blocks/machine/DummyBlockMachine.java
Normal file
@ -0,0 +1,113 @@
|
||||
package com.hbm.blocks.machine;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.interfaces.IDummy;
|
||||
import com.hbm.main.MainRegistry;
|
||||
import com.hbm.tileentity.machine.TileEntityAMSBase;
|
||||
import com.hbm.tileentity.machine.TileEntityAMSEmitter;
|
||||
import com.hbm.tileentity.machine.TileEntityDummy;
|
||||
|
||||
import cpw.mods.fml.common.network.internal.FMLNetworkHandler;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.BlockContainer;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class DummyBlockMachine extends BlockContainer implements IDummy {
|
||||
|
||||
public static boolean safeBreak = false;
|
||||
|
||||
private int id;
|
||||
private Block drop;
|
||||
|
||||
public DummyBlockMachine(Material p_i45386_1_) {
|
||||
super(p_i45386_1_);
|
||||
}
|
||||
|
||||
public DummyBlockMachine(Material mat, int id, Block drop) {
|
||||
super(mat);
|
||||
this.id = id;
|
||||
this.drop = drop;
|
||||
}
|
||||
|
||||
@Override
|
||||
public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) {
|
||||
return new TileEntityDummy();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void breakBlock(World world, int x, int y, int z, Block block, int i)
|
||||
{
|
||||
if(!safeBreak) {
|
||||
TileEntity te = world.getTileEntity(x, y, z);
|
||||
if(te != null && te instanceof TileEntityDummy) {
|
||||
int a = ((TileEntityDummy)te).targetX;
|
||||
int b = ((TileEntityDummy)te).targetY;
|
||||
int c = ((TileEntityDummy)te).targetZ;
|
||||
|
||||
if(!world.isRemote)
|
||||
world.func_147480_a(a, b, c, true);
|
||||
}
|
||||
}
|
||||
world.removeTileEntity(x, y, z);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getRenderType() {
|
||||
return -1;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOpaqueCube() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean renderAsNormalBlock() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public Item getItem(World world, int x, int y, int z)
|
||||
{
|
||||
return Item.getItemFromBlock(drop);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) {
|
||||
if(world.isRemote)
|
||||
{
|
||||
return true;
|
||||
} else if(!player.isSneaking())
|
||||
{
|
||||
TileEntity te = world.getTileEntity(x, y, z);
|
||||
if(te != null && te instanceof TileEntityDummy) {
|
||||
int a = ((TileEntityDummy)te).targetX;
|
||||
int b = ((TileEntityDummy)te).targetY;
|
||||
int c = ((TileEntityDummy)te).targetZ;
|
||||
|
||||
if(te != null)
|
||||
{
|
||||
FMLNetworkHandler.openGui(player, MainRegistry.instance, id, world, a, b, c);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -56,7 +56,7 @@ public class MachineGenerator extends BlockContainer {
|
||||
@Override
|
||||
public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_)
|
||||
{
|
||||
return Item.getItemFromBlock(ModBlocks.machine_generator);
|
||||
return Item.getItemFromBlock(ModBlocks.machine_reactor_small);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@ -3,7 +3,10 @@ package com.hbm.blocks.machine;
|
||||
import java.util.Random;
|
||||
|
||||
import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.handler.MultiblockHandler;
|
||||
import com.hbm.interfaces.IMultiblock;
|
||||
import com.hbm.main.MainRegistry;
|
||||
import com.hbm.tileentity.machine.TileEntityDummy;
|
||||
import com.hbm.tileentity.machine.TileEntityMachinePress;
|
||||
import com.hbm.tileentity.machine.TileEntityMachineReactorSmall;
|
||||
|
||||
@ -11,6 +14,7 @@ import cpw.mods.fml.common.network.internal.FMLNetworkHandler;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.BlockContainer;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.entity.item.EntityItem;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.inventory.ISidedInventory;
|
||||
@ -20,7 +24,7 @@ import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class MachineReactorSmall extends BlockContainer {
|
||||
public class MachineReactorSmall extends BlockContainer implements IMultiblock {
|
||||
|
||||
private final Random field_149933_a = new Random();
|
||||
private static boolean keepInventory;
|
||||
@ -107,6 +111,36 @@ public class MachineReactorSmall extends BlockContainer {
|
||||
super.breakBlock(p_149749_1_, p_149749_2_, p_149749_3_, p_149749_4_, p_149749_5_, p_149749_6_);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack) {
|
||||
|
||||
if(MultiblockHandler.checkSpace(world, x, y, z, MultiblockHandler.reactorSmallDimension)) {
|
||||
|
||||
//
|
||||
DummyBlockMachine.safeBreak = true;
|
||||
world.setBlock(x, y + 1, z, ModBlocks.dummy_block_reactor_small);
|
||||
TileEntity te = world.getTileEntity(x, y + 1, z);
|
||||
if(te instanceof TileEntityDummy) {
|
||||
TileEntityDummy dummy = (TileEntityDummy)te;
|
||||
dummy.targetX = x;
|
||||
dummy.targetY = y;
|
||||
dummy.targetZ = z;
|
||||
}
|
||||
world.setBlock(x, y + 2, z, ModBlocks.dummy_port_reactor_small);
|
||||
TileEntity te2 = world.getTileEntity(x, y + 2, z);
|
||||
if(te2 instanceof TileEntityDummy) {
|
||||
TileEntityDummy dummy = (TileEntityDummy)te2;
|
||||
dummy.targetX = x;
|
||||
dummy.targetY = y;
|
||||
dummy.targetZ = z;
|
||||
}
|
||||
DummyBlockMachine.safeBreak = false;
|
||||
//
|
||||
|
||||
} else
|
||||
world.func_147480_a(x, y, z, true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) {
|
||||
if(world.isRemote)
|
||||
|
||||
@ -77,6 +77,7 @@ public class MultiblockHandler {
|
||||
public static final int[] radGenDimensionEast = new int[] { 1, 1, 2, 0, 4, 1 };
|
||||
public static final int[] radGenDimensionSouth = new int[] { 1, 4, 2, 0, 1, 1 };
|
||||
public static final int[] radGenDimensionWest = new int[] { 1, 1, 2, 0, 1, 4 };
|
||||
public static final int[] reactorSmallDimension = new int[] { 0, 0, 2, 0, 0, 0 };
|
||||
|
||||
//Approved!
|
||||
public static boolean checkSpace(World world, int x, int y, int z, int[] i) {
|
||||
|
||||
@ -1997,7 +1997,7 @@ public class MachineRecipes {
|
||||
list.add(new ItemStack(ModItems.board_copper, 6));
|
||||
list.add(new ItemStack(ModItems.motor, 1));
|
||||
list.add(new ItemStack(ModItems.circuit_targeting_tier4, 2));
|
||||
list.add(new ItemStack(ModBlocks.machine_generator, 1));
|
||||
list.add(new ItemStack(ModBlocks.machine_reactor_small, 1));
|
||||
break;
|
||||
case SAT_BASE:
|
||||
list.add(new ItemStack(ModItems.thruster_large, 1));
|
||||
@ -3764,7 +3764,7 @@ public class MachineRecipes {
|
||||
output = new ItemStack(ModBlocks.machine_selenium, 1);
|
||||
break;
|
||||
case NUCLEAR_GENERATOR:
|
||||
output = new ItemStack(ModBlocks.machine_generator, 1);
|
||||
output = new ItemStack(ModBlocks.machine_reactor_small, 1);
|
||||
break;
|
||||
case INDUSTRIAL_GENERATOR:
|
||||
output = new ItemStack(ModBlocks.machine_industrial_generator, 1);
|
||||
|
||||
@ -39,8 +39,37 @@ public class GUIMachineReactorSmall extends GuiInfoContainer {
|
||||
diFurnace.tanks[0].renderTankInfo(this, mouseX, mouseY, guiLeft + 8, guiTop + 36, 16, 52);
|
||||
diFurnace.tanks[1].renderTankInfo(this, mouseX, mouseY, guiLeft + 26, guiTop + 36, 16, 52);
|
||||
this.drawElectricityInfo(this, mouseX, mouseY, guiLeft + 80, guiTop + 108, 88, 4, diFurnace.power, diFurnace.powerMax);
|
||||
this.drawCustomInfo(this, mouseX, mouseY, guiLeft + 80, guiTop + 114, 88, 4, new String[] { "Hull Temperature:", " " + Math.round((diFurnace.hullHeat) * 0.00001 * 2480 + 20) + "°C" });
|
||||
this.drawCustomInfo(this, mouseX, mouseY, guiLeft + 80, guiTop + 114, 88, 4, new String[] { "Hull Temperature:", " " + Math.round((diFurnace.hullHeat) * 0.00001 * 980 + 20) + "°C" });
|
||||
this.drawCustomInfo(this, mouseX, mouseY, guiLeft + 80, guiTop + 120, 88, 4, new String[] { "Core Temperature:", " " + Math.round((diFurnace.coreHeat) * 0.00002 * 980 + 20) + "°C" });
|
||||
|
||||
String[] text = new String[] { "Coolant will move heat from the core to",
|
||||
"the hull. Water will use that heat and",
|
||||
"generate power.",
|
||||
"Water consumption rate:",
|
||||
" 100 mB/t",
|
||||
" 2000 mB/s",
|
||||
"Coolant consumption rate:",
|
||||
" 10 mB/t",
|
||||
" 200 mB/s",
|
||||
"Water next to the reactor's open",
|
||||
"sides will pour into the tank." };
|
||||
this.drawCustomInfoStat(mouseX, mouseY, guiLeft - 16, guiTop + 36, 16, 16, guiLeft - 8, guiTop + 36 + 16, text);
|
||||
|
||||
String[] text1 = new String[] { "Raise/lower the control rods",
|
||||
"using the button next to the",
|
||||
"fluid gauges." };
|
||||
this.drawCustomInfoStat(mouseX, mouseY, guiLeft - 16, guiTop + 36 + 16, 16, 16, guiLeft - 8, guiTop + 36 + 16, text1);
|
||||
|
||||
if(diFurnace.tanks[0].getFill() <= 0) {
|
||||
String[] text2 = new String[] { "Error: Water is required for",
|
||||
"the reactor to function properly!" };
|
||||
this.drawCustomInfoStat(mouseX, mouseY, guiLeft - 16, guiTop + 36 + 32, 16, 16, guiLeft - 8, guiTop + 36 + 32 + 16, text2);
|
||||
}
|
||||
|
||||
if(diFurnace.tanks[1].getFill() <= 0) {
|
||||
String[] text3 = new String[] { "Use of coolant is advised." };
|
||||
this.drawCustomInfoStat(mouseX, mouseY, guiLeft - 16, guiTop + 36 + 32 + 16, 16, 16, guiLeft - 8, guiTop + 36 + 32 + 16, text3);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -114,6 +143,15 @@ public class GUIMachineReactorSmall extends GuiInfoContainer {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
this.drawInfoPanel(guiLeft - 16, guiTop + 36, 16, 16, 2);
|
||||
this.drawInfoPanel(guiLeft - 16, guiTop + 36 + 16, 16, 16, 3);
|
||||
|
||||
if(diFurnace.tanks[0].getFill() <= 0)
|
||||
this.drawInfoPanel(guiLeft - 16, guiTop + 36 + 32, 16, 16, 6);
|
||||
|
||||
if(diFurnace.tanks[1].getFill() <= 0)
|
||||
this.drawInfoPanel(guiLeft - 16, guiTop + 36 + 32 + 16, 16, 16, 7);
|
||||
|
||||
Minecraft.getMinecraft().getTextureManager().bindTexture(diFurnace.tanks[0].getSheet());
|
||||
diFurnace.tanks[0].renderTank(this, guiLeft + 8, guiTop + 88, diFurnace.tanks[0].getTankType().textureX() * FluidTank.x, diFurnace.tanks[0].getTankType().textureY() * FluidTank.y, 16, 52);
|
||||
|
||||
@ -304,7 +304,8 @@ public class Library {
|
||||
world.getBlock(x, y, z) == ModBlocks.dummy_port_ams_limiter ||
|
||||
world.getBlock(x, y, z) == ModBlocks.dummy_port_ams_emitter ||
|
||||
world.getBlock(x, y, z) == ModBlocks.dummy_port_ams_base ||
|
||||
world.getBlock(x, y, z) == ModBlocks.dummy_port_radgen)
|
||||
world.getBlock(x, y, z) == ModBlocks.dummy_port_radgen ||
|
||||
world.getBlock(x, y, z) == ModBlocks.dummy_port_reactor_small)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
@ -339,7 +340,8 @@ public class Library {
|
||||
world.getBlock(x, y, z) == ModBlocks.fwatz_hatch ||
|
||||
world.getBlock(x, y, z) == ModBlocks.dummy_port_ams_limiter ||
|
||||
world.getBlock(x, y, z) == ModBlocks.dummy_port_ams_emitter ||
|
||||
world.getBlock(x, y, z) == ModBlocks.dummy_port_ams_base)
|
||||
world.getBlock(x, y, z) == ModBlocks.dummy_port_ams_base ||
|
||||
world.getBlock(x, y, z) == ModBlocks.dummy_port_reactor_small)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
@ -989,6 +991,11 @@ public class Library {
|
||||
{
|
||||
tileentity = worldObj.getTileEntity(((TileEntityDummy)worldObj.getTileEntity(x, y, z)).targetX, ((TileEntityDummy)worldObj.getTileEntity(x, y, z)).targetY, ((TileEntityDummy)worldObj.getTileEntity(x, y, z)).targetZ);
|
||||
}
|
||||
//Small Nuclear Reactor
|
||||
if(block == ModBlocks.dummy_port_reactor_small)
|
||||
{
|
||||
tileentity = worldObj.getTileEntity(((TileEntityDummy)worldObj.getTileEntity(x, y, z)).targetX, ((TileEntityDummy)worldObj.getTileEntity(x, y, z)).targetY, ((TileEntityDummy)worldObj.getTileEntity(x, y, z)).targetZ);
|
||||
}
|
||||
|
||||
if(tileentity == that)
|
||||
tileentity = null;
|
||||
|
||||
@ -3,7 +3,7 @@ package com.hbm.lib;
|
||||
public class RefStrings {
|
||||
public static final String MODID = "hbm";
|
||||
public static final String NAME = "Hbm's Nuclear Tech Mod";
|
||||
public static final String VERSION = "1.0.27 BETA (Cobalt-X08)";
|
||||
public static final String VERSION = "1.0.27 BETA (2835)";
|
||||
//HBM's Beta Naming Convention:
|
||||
//V T (X-Y-Z)
|
||||
//V -> next release version
|
||||
|
||||
@ -86,6 +86,7 @@ public class NEIConfig implements IConfigureNEI {
|
||||
API.hideItem(new ItemStack(ModBlocks.dummy_block_ams_base));
|
||||
API.hideItem(new ItemStack(ModBlocks.dummy_block_ams_emitter));
|
||||
API.hideItem(new ItemStack(ModBlocks.dummy_block_ams_limiter));
|
||||
API.hideItem(new ItemStack(ModBlocks.dummy_block_reactor_small));
|
||||
API.hideItem(new ItemStack(ModBlocks.dummy_port_assembler));
|
||||
API.hideItem(new ItemStack(ModBlocks.dummy_port_chemplant));
|
||||
API.hideItem(new ItemStack(ModBlocks.dummy_port_cyclotron));
|
||||
@ -100,6 +101,7 @@ public class NEIConfig implements IConfigureNEI {
|
||||
API.hideItem(new ItemStack(ModBlocks.dummy_port_ams_base));
|
||||
API.hideItem(new ItemStack(ModBlocks.dummy_port_ams_emitter));
|
||||
API.hideItem(new ItemStack(ModBlocks.dummy_port_ams_limiter));
|
||||
API.hideItem(new ItemStack(ModBlocks.dummy_port_reactor_small));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@ -16,10 +16,16 @@ import com.hbm.items.ModItems;
|
||||
import com.hbm.items.special.ItemBattery;
|
||||
import com.hbm.items.special.ItemFuelRod;
|
||||
import com.hbm.lib.Library;
|
||||
import com.hbm.lib.ModDamageSource;
|
||||
import com.hbm.packet.AuxElectricityPacket;
|
||||
import com.hbm.packet.AuxGaugePacket;
|
||||
import com.hbm.packet.PacketDispatcher;
|
||||
import com.hbm.potion.HbmPotion;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.init.Items;
|
||||
@ -28,7 +34,9 @@ import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.nbt.NBTTagList;
|
||||
import net.minecraft.potion.PotionEffect;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.AxisAlignedBB;
|
||||
|
||||
public class TileEntityMachineReactorSmall extends TileEntity implements ISidedInventory, ISource, IFluidContainer, IFluidAcceptor {
|
||||
|
||||
@ -93,7 +101,7 @@ public class TileEntityMachineReactorSmall extends TileEntity implements ISidedI
|
||||
|
||||
@Override
|
||||
public String getInventoryName() {
|
||||
return this.hasCustomInventoryName() ? this.customName : "container.generator";
|
||||
return this.hasCustomInventoryName() ? this.customName : "container.reactorSmall";
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -308,18 +316,37 @@ public class TileEntityMachineReactorSmall extends TileEntity implements ISidedI
|
||||
|
||||
@Override
|
||||
public void updateEntity() {
|
||||
|
||||
age++;
|
||||
if(age >= 20)
|
||||
{
|
||||
age = 0;
|
||||
}
|
||||
|
||||
if(age == 9 || age == 19)
|
||||
ffgeuaInit();
|
||||
|
||||
if(!worldObj.isRemote)
|
||||
{
|
||||
|
||||
age++;
|
||||
if(age >= 20)
|
||||
{
|
||||
age = 0;
|
||||
}
|
||||
|
||||
if(age == 9 || age == 19)
|
||||
ffgeuaInit();
|
||||
|
||||
if(tanks[0].getFill() < tanks[0].getMaxFill()) {
|
||||
|
||||
if(worldObj.getBlock(xCoord + 1, yCoord + 1, zCoord) == Blocks.water || worldObj.getBlock(xCoord + 1, yCoord + 1, zCoord) == Blocks.flowing_water)
|
||||
tanks[0].setFill(tanks[0].getFill() + 25);
|
||||
|
||||
if(worldObj.getBlock(xCoord - 1, yCoord + 1, zCoord) == Blocks.water || worldObj.getBlock(xCoord - 1, yCoord + 1, zCoord) == Blocks.flowing_water)
|
||||
tanks[0].setFill(tanks[0].getFill() + 25);
|
||||
|
||||
if(worldObj.getBlock(xCoord, yCoord + 1, zCoord + 1) == Blocks.water || worldObj.getBlock(xCoord, yCoord + 1, zCoord + 1) == Blocks.flowing_water)
|
||||
tanks[0].setFill(tanks[0].getFill() + 25);
|
||||
|
||||
if(worldObj.getBlock(xCoord, yCoord + 1, zCoord - 1) == Blocks.water || worldObj.getBlock(xCoord, yCoord + 1, zCoord - 1) == Blocks.flowing_water)
|
||||
tanks[0].setFill(tanks[0].getFill() + 25);
|
||||
|
||||
if(tanks[0].getFill() > tanks[0].getMaxFill())
|
||||
tanks[0].setFill(tanks[0].getMaxFill());
|
||||
}
|
||||
|
||||
tanks[0].loadTank(12, 13, slots);
|
||||
tanks[1].loadTank(14, 15, slots);
|
||||
|
||||
@ -391,6 +418,30 @@ public class TileEntityMachineReactorSmall extends TileEntity implements ISidedI
|
||||
{
|
||||
this.explode();
|
||||
}
|
||||
|
||||
if(rods > 0 && coreHeat > 0 &&
|
||||
!(worldObj.getBlock(xCoord + 1, yCoord + 1, zCoord).isNormalCube() &&
|
||||
worldObj.getBlock(xCoord - 1, yCoord + 1, zCoord).isNormalCube() &&
|
||||
worldObj.getBlock(xCoord, yCoord + 1, zCoord + 1).isNormalCube() &&
|
||||
worldObj.getBlock(xCoord, yCoord + 1, zCoord - 1).isNormalCube() &&
|
||||
worldObj.getBlock(xCoord + 1, yCoord + 1, zCoord) != Blocks.air &&
|
||||
worldObj.getBlock(xCoord - 1, yCoord + 1, zCoord) != Blocks.air &&
|
||||
worldObj.getBlock(xCoord, yCoord + 1, zCoord + 1) != Blocks.air &&
|
||||
worldObj.getBlock(xCoord, yCoord + 1, zCoord - 1) != Blocks.air)) {
|
||||
|
||||
List<Entity> list = (List<Entity>)worldObj.getEntitiesWithinAABBExcludingEntity(null,
|
||||
AxisAlignedBB.getBoundingBox(xCoord + 0.5 - 5, yCoord + 1.5 - 5, zCoord + 0.5 - 5, xCoord + 0.5 + 5, yCoord + 1.5 + 5, zCoord + 0.5 + 5));
|
||||
|
||||
for(Entity e : list) {
|
||||
if(e instanceof EntityPlayer && Library.checkForHazmat((EntityPlayer)e))
|
||||
{
|
||||
|
||||
} else {
|
||||
if(e instanceof EntityLivingBase)
|
||||
((EntityLivingBase) e).addPotionEffect(new PotionEffect(HbmPotion.radiation.id, 80 * 20, 25));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
PacketDispatcher.wrapper.sendToAll(new AuxElectricityPacket(xCoord, yCoord, zCoord, power));
|
||||
PacketDispatcher.wrapper.sendToAll(new AuxGaugePacket(xCoord, yCoord, zCoord, rods, 0));
|
||||
@ -440,7 +491,7 @@ public class TileEntityMachineReactorSmall extends TileEntity implements ISidedI
|
||||
ItemFuelRod.setLifeTime(slots[id], ItemFuelRod.getLifeTime(slots[id]) + 1);
|
||||
ItemFuelRod.updateDamage(slots[id]);
|
||||
|
||||
if(ItemFuelRod.getLifeTime(slots[id]) <= 0) {
|
||||
if(ItemFuelRod.getLifeTime(slots[id]) > ((ItemFuelRod)slots[id].getItem()).lifeTime) {
|
||||
onRunOut(id);
|
||||
return;
|
||||
}
|
||||
@ -450,6 +501,8 @@ public class TileEntityMachineReactorSmall extends TileEntity implements ISidedI
|
||||
//itemstack in slots[id] has to contain ItemFuelRod item
|
||||
private void onRunOut(int id) {
|
||||
|
||||
System.out.println("aaa");
|
||||
|
||||
Item item = slots[id].getItem();
|
||||
|
||||
if(item == ModItems.rod_uranium_fuel) {
|
||||
@ -589,4 +642,16 @@ public class TileEntityMachineReactorSmall extends TileEntity implements ISidedI
|
||||
if(index < 2 && tanks[index] != null)
|
||||
tanks[index].setTankType(type);
|
||||
}
|
||||
|
||||
@Override
|
||||
public AxisAlignedBB getRenderBoundingBox() {
|
||||
return TileEntity.INFINITE_EXTENT_AABB;
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public double getMaxRenderDistanceSquared()
|
||||
{
|
||||
return 65536.0D;
|
||||
}
|
||||
}
|
||||
@ -213,7 +213,9 @@ public class TileEntityMachineSeleniumEngine extends TileEntity implements ISide
|
||||
|
||||
@Override
|
||||
public void updateEntity() {
|
||||
|
||||
if (!worldObj.isRemote) {
|
||||
|
||||
age++;
|
||||
if (age >= 20) {
|
||||
age = 0;
|
||||
|
||||
@ -461,14 +461,8 @@ public class TileEntityReactorMultiblock extends TileEntity implements ISidedInv
|
||||
this.heat--;
|
||||
}
|
||||
|
||||
if(this.worldObj.getBlock(this.xCoord, this.yCoord, this.zCoord) instanceof MachineGenerator)
|
||||
isLoaded = false;
|
||||
|
||||
} else {
|
||||
|
||||
if(this.worldObj.getBlock(this.xCoord, this.yCoord, this.zCoord) instanceof MachineGenerator)
|
||||
isLoaded = true;
|
||||
|
||||
if(!this.isCoatingValid(worldObj))
|
||||
{
|
||||
int strength = 20;
|
||||
@ -513,7 +507,8 @@ public class TileEntityReactorMultiblock extends TileEntity implements ISidedInv
|
||||
Library.damageSuit(((EntityPlayer)entity), 3);*/
|
||||
|
||||
} else {
|
||||
((EntityLivingBase) entity).addPotionEffect(new PotionEffect(HbmPotion.radiation.id, 80 * 20, 25));
|
||||
if(entity instanceof EntityLivingBase)
|
||||
((EntityLivingBase) entity).addPotionEffect(new PotionEffect(HbmPotion.radiation.id, 80 * 20, 25));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||