diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index 04c4d4ff6..0e0e979a9 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -165,6 +165,7 @@ public class ModBlocks { public static Block block_waste_painted; public static Block ancient_scrap; public static Block block_corium; + public static Block block_corium_cobble; public static Block block_scrap; public static Block block_electrical_scrap; public static Block block_beryllium; @@ -933,8 +934,11 @@ public class ModBlocks { public static final int guiID_fritz = 122; public static Block rbmk_rod; + public static Block rbmk_rod_mod; public static Block rbmk_rod_reasim; + public static Block rbmk_rod_reasim_mod; public static Block rbmk_control; + public static Block rbmk_control_mod; public static Block rbmk_control_auto; public static Block rbmk_blank; public static Block rbmk_boiler; @@ -1215,6 +1219,7 @@ public class ModBlocks { block_waste_painted = new BlockNuclearWaste().setDisplayEffect(ExtDisplayEffect.RADFOG).addRadiation(ItemHazard.wst * ItemHazard.block).toBlock().setBlockName("block_waste_painted").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_waste_painted"); ancient_scrap = new BlockOutgas(Material.iron, true, 1, true, true).addRadiation(150F).toBlock().setBlockName("ancient_scrap").setCreativeTab(MainRegistry.blockTab).setHardness(100.0F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":ancient_scrap"); block_corium = new BlockOutgas(Material.iron, true, 1, true, true).addRadiation(150F).toBlock().setBlockName("block_corium").setCreativeTab(MainRegistry.blockTab).setHardness(100.0F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":block_corium"); + block_corium_cobble = new BlockOutgas(Material.iron, true, 1, true, true).addRadiation(150F).toBlock().setBlockName("block_corium_cobble").setCreativeTab(MainRegistry.blockTab).setHardness(100.0F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":block_corium_cobble"); block_scrap = new BlockFalling(Material.sand).setBlockName("block_scrap").setCreativeTab(MainRegistry.blockTab).setHardness(2.5F).setResistance(5.0F).setStepSound(Block.soundTypeGravel).setBlockTextureName(RefStrings.MODID + ":block_scrap"); block_electrical_scrap = new BlockFalling(Material.iron).setBlockName("block_electrical_scrap").setCreativeTab(MainRegistry.blockTab).setHardness(2.5F).setResistance(5.0F).setStepSound(Block.soundTypeMetal).setBlockTextureName(RefStrings.MODID + ":electrical_scrap_alt2"); block_beryllium = new BlockGeneric(Material.iron).setBlockName("block_beryllium").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_beryllium"); @@ -1747,9 +1752,12 @@ public class ModBlocks { turret_maxwell = new TurretMaxwell(Material.iron).setBlockName("turret_maxwell").setHardness(5.0F).setResistance(600.0F).setCreativeTab(MainRegistry.weaponTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); turret_fritz = new TurretFritz(Material.iron).setBlockName("turret_fritz").setHardness(5.0F).setResistance(600.0F).setCreativeTab(MainRegistry.weaponTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); - rbmk_rod = new RBMKRod().setBlockName("rbmk_rod").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_element"); - rbmk_rod_reasim = new RBMKRodReaSim().setBlockName("rbmk_rod_reasim").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_element_reasim"); - rbmk_control = new RBMKControl().setBlockName("rbmk_control").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_control"); + rbmk_rod = new RBMKRod(false).setBlockName("rbmk_rod").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_element"); + rbmk_rod_mod = new RBMKRod(true).setBlockName("rbmk_rod_mod").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_element_mod"); + rbmk_rod_reasim = new RBMKRodReaSim(false).setBlockName("rbmk_rod_reasim").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_element_reasim"); + rbmk_rod_reasim_mod = new RBMKRodReaSim(true).setBlockName("rbmk_rod_reasim_mod").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_element_reasim_mod"); + rbmk_control = new RBMKControl(false).setBlockName("rbmk_control").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_control"); + rbmk_control_mod = new RBMKControl(true).setBlockName("rbmk_control_mod").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_control_mod"); rbmk_control_auto = new RBMKControlAuto().setBlockName("rbmk_control_auto").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_control_auto"); rbmk_blank = new RBMKBlank().setBlockName("rbmk_blank").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_blank"); rbmk_boiler = new RBMKBoiler().setBlockName("rbmk_boiler").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_boiler"); @@ -1892,7 +1900,7 @@ public class ModBlocks { FluidRegistry.registerFluid(schrabidic_fluid); schrabidic_block = new SchrabidicBlock(schrabidic_fluid, fluidschrabidic.setReplaceable(), ModDamageSource.radiation).setBlockName("schrabidic_block").setResistance(500F); - corium_fluid = new CoriumFluid().setDensity(6000).setViscosity(500).setLuminosity(10).setTemperature(600).setUnlocalizedName("corium_fluid"); + corium_fluid = new CoriumFluid().setDensity(600000).setViscosity(12000).setLuminosity(10).setTemperature(1500).setUnlocalizedName("corium_fluid"); FluidRegistry.registerFluid(corium_fluid); corium_block = new CoriumBlock(corium_fluid, fluidcorium).setBlockName("corium_block").setResistance(500F); @@ -2116,6 +2124,7 @@ public class ModBlocks { GameRegistry.registerBlock(block_waste_painted, ItemBlockHazard.class, block_waste_painted.getUnlocalizedName()); GameRegistry.registerBlock(ancient_scrap, ItemBlockHazard.class, ancient_scrap.getUnlocalizedName()); GameRegistry.registerBlock(block_corium, ItemBlockHazard.class, block_corium.getUnlocalizedName()); + GameRegistry.registerBlock(block_corium_cobble, ItemBlockHazard.class, block_corium_cobble.getUnlocalizedName()); GameRegistry.registerBlock(block_schraranium, ItemBlockSchrabidium.class, block_schraranium.getUnlocalizedName()); GameRegistry.registerBlock(block_schrabidium, ItemBlockSchrabidium.class, block_schrabidium.getUnlocalizedName()); GameRegistry.registerBlock(block_schrabidate, ItemBlockSchrabidium.class, block_schrabidate.getUnlocalizedName()); @@ -2511,8 +2520,11 @@ public class ModBlocks { GameRegistry.registerBlock(hadron_core, hadron_core.getUnlocalizedName()); GameRegistry.registerBlock(rbmk_rod, rbmk_rod.getUnlocalizedName()); + GameRegistry.registerBlock(rbmk_rod_mod, rbmk_rod_mod.getUnlocalizedName()); GameRegistry.registerBlock(rbmk_rod_reasim, rbmk_rod_reasim.getUnlocalizedName()); + GameRegistry.registerBlock(rbmk_rod_reasim_mod, rbmk_rod_reasim_mod.getUnlocalizedName()); GameRegistry.registerBlock(rbmk_control, rbmk_control.getUnlocalizedName()); + GameRegistry.registerBlock(rbmk_control_mod, rbmk_control_mod.getUnlocalizedName()); GameRegistry.registerBlock(rbmk_control_auto, rbmk_control_auto.getUnlocalizedName()); GameRegistry.registerBlock(rbmk_blank, rbmk_blank.getUnlocalizedName()); GameRegistry.registerBlock(rbmk_boiler, rbmk_boiler.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/blocks/bomb/LaunchPad.java b/src/main/java/com/hbm/blocks/bomb/LaunchPad.java index 4500b0d90..a2a388052 100644 --- a/src/main/java/com/hbm/blocks/bomb/LaunchPad.java +++ b/src/main/java/com/hbm/blocks/bomb/LaunchPad.java @@ -289,7 +289,7 @@ public class LaunchPad extends BlockContainer implements IBomb { MainRegistry.logger.log(Level.INFO, "[MISSILE] Tried to launch missile at " + x + " / " + y + " / " + z + " to " + xCoord + " / " + zCoord + "!"); } - if(entity.slots[0].getItem() == ModItems.missile_carrier && entity.power >= 75000) { + if(entity.slots[0] != null && entity.slots[0].getItem() == ModItems.missile_carrier && entity.power >= 75000) { EntityCarrier missile = new EntityCarrier(world); missile.posX = x + 0.5F; missile.posY = y + 1F; @@ -306,7 +306,7 @@ public class LaunchPad extends BlockContainer implements IBomb { world.playSoundEffect(x, y, z, "hbm:entity.rocketTakeoff", 100.0F, 1.0F); } - if(entity.slots[0].getItem() == ModItems.missile_anti_ballistic && entity.power >= 75000) { + if(entity.slots[0] != null && entity.slots[0].getItem() == ModItems.missile_anti_ballistic && entity.power >= 75000) { EntityMissileAntiBallistic missile = new EntityMissileAntiBallistic(world); missile.posX = x + 0.5F; missile.posY = y + 0.5F; diff --git a/src/main/java/com/hbm/blocks/fluid/CoriumBlock.java b/src/main/java/com/hbm/blocks/fluid/CoriumBlock.java index 878f8b092..d487f5b38 100644 --- a/src/main/java/com/hbm/blocks/fluid/CoriumBlock.java +++ b/src/main/java/com/hbm/blocks/fluid/CoriumBlock.java @@ -3,13 +3,19 @@ package com.hbm.blocks.fluid; import java.util.Random; import com.hbm.blocks.ModBlocks; +import com.hbm.lib.ModDamageSource; import com.hbm.lib.RefStrings; +import com.hbm.util.ContaminationUtil; +import com.hbm.util.ContaminationUtil.ContaminationType; +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.client.renderer.texture.IIconRegister; import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; import net.minecraft.util.IIcon; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; @@ -49,11 +55,14 @@ public class CoriumBlock extends BlockFluidClassic { @Override public boolean canDisplace(IBlockAccess world, int x, int y, int z) { - - if(world.getBlock(x, y, z).getMaterial().isLiquid()) { - return false; - } - return super.canDisplace(world, x, y, z); + Block b = world.getBlock(x, y, z); + float res = (float) (Math.sqrt(b.getExplosionResistance(null)) * 3); + + if(res < 1) + return true; + Random rand = new Random(); + + return b.getMaterial().isLiquid() || rand.nextInt((int) res) == 0; } @Override @@ -62,12 +71,17 @@ public class CoriumBlock extends BlockFluidClassic { if(world.getBlock(x, y, z).getMaterial().isLiquid()) { return false; } - return super.displaceIfPossible(world, x, y, z); + return canDisplace(world, x, y, z); } @Override public void onEntityCollidedWithBlock(World world, int x, int y, int z, Entity entity) { entity.setInWeb(); + entity.setFire(3); + entity.attackEntityFrom(ModDamageSource.radiation, 2F); + + if(entity instanceof EntityLivingBase) + ContaminationUtil.contaminate((EntityLivingBase)entity, HazardType.RADIATION, ContaminationType.CREATIVE, 1F); } //TODO: slow down solidification, prevent displacement @@ -77,8 +91,12 @@ public class CoriumBlock extends BlockFluidClassic { super.updateTick(world, x, y, z, rand); - if(!world.isRemote && rand.nextInt(10) == 0 && this.isSourceBlock(world, x, y, z)) { - world.setBlock(x, y, z, ModBlocks.block_corium); + if(!world.isRemote && rand.nextInt(10) == 0) { + + if(this.isSourceBlock(world, x, y, z)) + world.setBlock(x, y, z, ModBlocks.block_corium); + else + world.setBlock(x, y, z, ModBlocks.block_corium_cobble); } } @@ -87,4 +105,9 @@ public class CoriumBlock extends BlockFluidClassic { public int getRenderBlockPass() { return 0; } + + @Override + public boolean isReplaceable(IBlockAccess world, int x, int y, int z) { + return false; + } } diff --git a/src/main/java/com/hbm/blocks/machine/rbmk/RBMKBase.java b/src/main/java/com/hbm/blocks/machine/rbmk/RBMKBase.java index 7b35b6d7d..b48a37de5 100644 --- a/src/main/java/com/hbm/blocks/machine/rbmk/RBMKBase.java +++ b/src/main/java/com/hbm/blocks/machine/rbmk/RBMKBase.java @@ -4,6 +4,7 @@ import com.hbm.blocks.BlockDummyable; import com.hbm.handler.MultiblockHandlerXR; import com.hbm.items.ModItems; import com.hbm.items.machine.ItemRBMKLid; +import com.hbm.lib.RefStrings; import com.hbm.main.MainRegistry; import com.hbm.tileentity.machine.rbmk.RBMKDials; import com.hbm.tileentity.machine.rbmk.TileEntityRBMKBase; @@ -18,6 +19,7 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.ResourceLocation; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; @@ -25,6 +27,7 @@ public abstract class RBMKBase extends BlockDummyable implements IScrewable { public static boolean dropLids = true; public static boolean digamma = false; + public ResourceLocation coverTexture; protected RBMKBase() { super(Material.iron); @@ -32,6 +35,13 @@ public abstract class RBMKBase extends BlockDummyable implements IScrewable { this.setResistance(30F); } + @Override + public Block setBlockTextureName(String texture) { + this.textureName = texture; + this.coverTexture = new ResourceLocation(RefStrings.MODID + ":textures/blocks/" + (texture.split(":")[1]) + ".png"); + return this; + } + @Override public int[] getDimensions() { return new int[] {3, 0, 0, 0, 0, 0}; diff --git a/src/main/java/com/hbm/blocks/machine/rbmk/RBMKControl.java b/src/main/java/com/hbm/blocks/machine/rbmk/RBMKControl.java index 7698aa8b6..edd6cdd87 100644 --- a/src/main/java/com/hbm/blocks/machine/rbmk/RBMKControl.java +++ b/src/main/java/com/hbm/blocks/machine/rbmk/RBMKControl.java @@ -9,6 +9,13 @@ import net.minecraft.util.AxisAlignedBB; import net.minecraft.world.World; public class RBMKControl extends RBMKBase { + + public boolean moderated = false; + + public RBMKControl(boolean moderated) { + super(); + this.moderated = moderated; + } @Override public TileEntity createNewTileEntity(World world, int meta) { diff --git a/src/main/java/com/hbm/blocks/machine/rbmk/RBMKOutgasser.java b/src/main/java/com/hbm/blocks/machine/rbmk/RBMKOutgasser.java index 303fb345b..71bd37d82 100644 --- a/src/main/java/com/hbm/blocks/machine/rbmk/RBMKOutgasser.java +++ b/src/main/java/com/hbm/blocks/machine/rbmk/RBMKOutgasser.java @@ -24,7 +24,7 @@ public class RBMKOutgasser extends RBMKBase { @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { - return openInv(world, x, y, z, player, ModBlocks.guiID_rbmk_outgasser); + return false; //return openInv(world, x, y, z, player, ModBlocks.guiID_rbmk_outgasser); } @Override diff --git a/src/main/java/com/hbm/blocks/machine/rbmk/RBMKRod.java b/src/main/java/com/hbm/blocks/machine/rbmk/RBMKRod.java index 32a49c780..9e43a6e35 100644 --- a/src/main/java/com/hbm/blocks/machine/rbmk/RBMKRod.java +++ b/src/main/java/com/hbm/blocks/machine/rbmk/RBMKRod.java @@ -10,6 +10,13 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; public class RBMKRod extends RBMKBase { + + public boolean moderated = false; + + public RBMKRod(boolean moderated) { + super(); + this.moderated = moderated; + } @Override public TileEntity createNewTileEntity(World world, int meta) { diff --git a/src/main/java/com/hbm/blocks/machine/rbmk/RBMKRodReaSim.java b/src/main/java/com/hbm/blocks/machine/rbmk/RBMKRodReaSim.java index 20d34ba7c..efd8e14f4 100644 --- a/src/main/java/com/hbm/blocks/machine/rbmk/RBMKRodReaSim.java +++ b/src/main/java/com/hbm/blocks/machine/rbmk/RBMKRodReaSim.java @@ -1,15 +1,16 @@ package com.hbm.blocks.machine.rbmk; -import com.hbm.blocks.ModBlocks; -import com.hbm.handler.BossSpawnHandler; import com.hbm.tileentity.TileEntityProxyInventory; import com.hbm.tileentity.machine.rbmk.TileEntityRBMKRodReaSim; -import net.minecraft.entity.player.EntityPlayer; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; -public class RBMKRodReaSim extends RBMKBase { +public class RBMKRodReaSim extends RBMKRod { + + public RBMKRodReaSim(boolean moderated) { + super(moderated); + } @Override public TileEntity createNewTileEntity(World world, int meta) { @@ -22,15 +23,4 @@ public class RBMKRodReaSim extends RBMKBase { return null; } - - @Override - public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { - BossSpawnHandler.markFBI(player); - return openInv(world, x, y, z, player, ModBlocks.guiID_rbmk_rod); - } - - @Override - public int getRenderType(){ - return this.renderIDRods; - } } diff --git a/src/main/java/com/hbm/inventory/MachineRecipes.java b/src/main/java/com/hbm/inventory/MachineRecipes.java index 08fde22bb..22463e9dd 100644 --- a/src/main/java/com/hbm/inventory/MachineRecipes.java +++ b/src/main/java/com/hbm/inventory/MachineRecipes.java @@ -404,6 +404,8 @@ public class MachineRecipes { return new ItemStack(ModItems.circuit_aluminium); if(input.getItem() == ModItems.circuit_bismuth_raw) return new ItemStack(ModItems.circuit_bismuth); + if(input.getItem() == ModItems.circuit_tantalium_raw) + return new ItemStack(ModItems.circuit_tantalium); } if(stamp.getItem() == ModItems.stamp_357) { @@ -516,6 +518,7 @@ public class MachineRecipes { recipes.put(new Object[] { i_stamps_circuit, new ItemStack(ModItems.circuit_raw) }, getPressResultNN(stamps_circuit.get(0), ModItems.circuit_raw)); recipes.put(new Object[] { i_stamps_circuit, new ItemStack(ModItems.circuit_bismuth_raw) }, getPressResultNN(stamps_circuit.get(0), ModItems.circuit_bismuth_raw)); + recipes.put(new Object[] { i_stamps_circuit, new ItemStack(ModItems.circuit_tantalium_raw) }, getPressResultNN(stamps_circuit.get(0), ModItems.circuit_tantalium_raw)); recipes.put(new Object[] { i_stamps_357, new ItemStack(ModItems.assembly_iron) }, getPressResultNN(i_stamps_357.get(0).getItem(), ModItems.assembly_iron)); recipes.put(new Object[] { i_stamps_357, new ItemStack(ModItems.assembly_steel) }, getPressResultNN(i_stamps_357.get(0).getItem(), ModItems.assembly_steel)); diff --git a/src/main/java/com/hbm/inventory/gui/GUIRBMKConsole.java b/src/main/java/com/hbm/inventory/gui/GUIRBMKConsole.java index 3938362ca..d85718f15 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIRBMKConsole.java +++ b/src/main/java/com/hbm/inventory/gui/GUIRBMKConsole.java @@ -250,8 +250,9 @@ public class GUIRBMKConsole extends GuiInfoContainer { int fr = 8 - (int)Math.ceil((col.data.getDouble("level") * 8)); drawTexturedModalRect(guiLeft + x + 4, guiTop + y + 1, 24, 183, 2, fr); break; - + case FUEL: + case FUEL_SIM: if(col.data.hasKey("c_heat")) { int fh = (int)Math.ceil((col.data.getDouble("c_heat") - 20) * 8 / col.data.getDouble("c_maxHeat")); drawTexturedModalRect(guiLeft + x + 1, guiTop + y + size - fh - 1, 11, 191 - fh, 2, fh); diff --git a/src/main/java/com/hbm/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index 53b3491df..5bb22059a 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -740,6 +740,7 @@ public class ModItems { public static Item particle_dark; public static Item particle_sparkticle; public static Item particle_digamma; + public static Item particle_lutece; public static Item pellet_antimatter; public static Item singularity; @@ -2617,8 +2618,8 @@ public class ModItems { nugget_lead = new Item().setUnlocalizedName("nugget_lead").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_lead"); ingot_bismuth = new ItemCustomLore().setUnlocalizedName("ingot_bismuth").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_bismuth"); nugget_bismuth = new Item().setUnlocalizedName("nugget_bismuth").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_bismuth"); - ingot_tantalium = new Item().setUnlocalizedName("ingot_tantalium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_tantalium"); - nugget_tantalium = new Item().setUnlocalizedName("nugget_tantalium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_tantalium"); + ingot_tantalium = new ItemCustomLore().setUnlocalizedName("ingot_tantalium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_tantalium"); + nugget_tantalium = new ItemCustomLore().setUnlocalizedName("nugget_tantalium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_tantalium"); nugget_schrabidium = new ItemHazard(ItemHazard.sa326 * ItemHazard.nugget, false, true).setUnlocalizedName("nugget_schrabidium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_schrabidium"); nugget_beryllium = new Item().setUnlocalizedName("nugget_beryllium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_beryllium"); hazmat_cloth = new Item().setUnlocalizedName("hazmat_cloth").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":hazmat_cloth"); @@ -2657,7 +2658,7 @@ public class ModItems { crystal_lithium = new ItemHazard().addHydroReactivity().toItem().setUnlocalizedName("crystal_lithium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":crystal_lithium"); crystal_starmetal = new Item().setUnlocalizedName("crystal_starmetal").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":crystal_starmetal"); crystal_trixite = new ItemHazard().addRadiation(ItemHazard.trx * ItemHazard.crystal).toItem().setUnlocalizedName("crystal_trixite").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":crystal_trixite"); - gem_tantalium = new Item().setUnlocalizedName("gem_tantalium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":gem_tantalium"); + gem_tantalium = new ItemCustomLore().setUnlocalizedName("gem_tantalium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":gem_tantalium"); powder_lead = new Item().setUnlocalizedName("powder_lead").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_lead"); powder_neptunium = new ItemHazard(ItemHazard.np237 * ItemHazard.powder, true).setUnlocalizedName("powder_neptunium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_neptunium"); @@ -2989,6 +2990,7 @@ public class ModItems { particle_dark = new Item().setUnlocalizedName("particle_dark").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.particle_empty).setTextureName(RefStrings.MODID + ":particle_dark"); particle_sparkticle = new Item().setUnlocalizedName("particle_sparkticle").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.particle_empty).setTextureName(RefStrings.MODID + ":particle_sparkticle"); particle_digamma = new ItemDigamma(100F, 60).setUnlocalizedName("particle_digamma").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.particle_empty).setTextureName(RefStrings.MODID + ":particle_digamma"); + particle_lutece = new Item().setUnlocalizedName("particle_lutece").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.particle_empty).setTextureName(RefStrings.MODID + ":particle_lutece"); singularity = new ItemDrop().setUnlocalizedName("singularity").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.nuclear_waste).setTextureName(RefStrings.MODID + ":singularity"); singularity_counter_resonant = new ItemDrop().setUnlocalizedName("singularity_counter_resonant").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.nuclear_waste).setTextureName(RefStrings.MODID + ":singularity_alt"); @@ -5851,6 +5853,7 @@ public class ModItems { GameRegistry.registerItem(particle_dark, particle_dark.getUnlocalizedName()); GameRegistry.registerItem(particle_sparkticle, particle_sparkticle.getUnlocalizedName()); GameRegistry.registerItem(particle_digamma, particle_digamma.getUnlocalizedName()); + GameRegistry.registerItem(particle_lutece, particle_lutece.getUnlocalizedName()); //OMG how the hell is that even possible!? GameRegistry.registerItem(singularity, singularity.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/items/special/ItemCustomLore.java b/src/main/java/com/hbm/items/special/ItemCustomLore.java index afd3a3fad..656f451e9 100644 --- a/src/main/java/com/hbm/items/special/ItemCustomLore.java +++ b/src/main/java/com/hbm/items/special/ItemCustomLore.java @@ -407,14 +407,12 @@ public class ItemCustomLore extends Item { if(this == ModItems.ingot_lanthanium) { - list.add("Or 'Lanthanum' for stupid people."); + list.add("'Lanthanum'"); } - if(this == ModItems.ingot_bismuth) + if(this == ModItems.ingot_tantalium || this == ModItems.nugget_tantalium || this == ModItems.gem_tantalium) { - list.add("\"Bismuth acts as post-RBMK gate, similar to Technetium"); - list.add("with the difference that Technetium is also available"); - list.add("from PWRs.\" <- THAT is what I needed to hear."); + list.add("'Tantalum'"); } if(this == ModItems.undefined) { diff --git a/src/main/java/com/hbm/main/ClientProxy.java b/src/main/java/com/hbm/main/ClientProxy.java index cabaa07a7..66f62fd9a 100644 --- a/src/main/java/com/hbm/main/ClientProxy.java +++ b/src/main/java/com/hbm/main/ClientProxy.java @@ -50,7 +50,6 @@ import com.hbm.entity.projectile.*; import com.hbm.handler.HbmKeybinds; import com.hbm.handler.HbmKeybinds.EnumKeybind; import com.hbm.items.ModItems; -import com.hbm.lib.RefStrings; import com.hbm.particle.*; import com.hbm.render.anim.*; import com.hbm.render.anim.HbmAnimations.Animation; @@ -214,17 +213,17 @@ public class ClientProxy extends ServerProxy { ClientRegistry.bindTileEntitySpecialRenderer(TileEntityITERStruct.class, new RenderITERMultiblock()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityPlasmaStruct.class, new RenderPlasmaMultiblock()); //RBMK - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRBMKControlManual.class, new RenderRBMKControlRod(RefStrings.MODID + ":textures/blocks/rbmk/rbmk_control.png")); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRBMKControlAuto.class, new RenderRBMKControlRod(RefStrings.MODID + ":textures/blocks/rbmk/rbmk_control_auto.png")); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRBMKControlManual.class, new RenderRBMKControlRod()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRBMKControlAuto.class, new RenderRBMKControlRod()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRBMKConsole.class, new RenderRBMKConsole()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRBMKAbsorber.class, new RenderRBMKLid(RefStrings.MODID + ":textures/blocks/rbmk/rbmk_absorber")); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRBMKBlank.class, new RenderRBMKLid(RefStrings.MODID + ":textures/blocks/rbmk/rbmk_blank")); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRBMKBoiler.class, new RenderRBMKLid(RefStrings.MODID + ":textures/blocks/rbmk/rbmk_boiler")); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRBMKModerator.class, new RenderRBMKLid(RefStrings.MODID + ":textures/blocks/rbmk/rbmk_moderator")); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRBMKOutgasser.class, new RenderRBMKLid(RefStrings.MODID + ":textures/blocks/rbmk/rbmk_outgasser")); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRBMKReflector.class, new RenderRBMKLid(RefStrings.MODID + ":textures/blocks/rbmk/rbmk_reflector")); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRBMKRod.class, new RenderRBMKLid(RefStrings.MODID + ":textures/blocks/rbmk/rbmk_element")); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRBMKRodReaSim.class, new RenderRBMKLid(RefStrings.MODID + ":textures/blocks/rbmk/rbmk_element_reasim")); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRBMKAbsorber.class, new RenderRBMKLid()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRBMKBlank.class, new RenderRBMKLid()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRBMKBoiler.class, new RenderRBMKLid()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRBMKModerator.class, new RenderRBMKLid()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRBMKOutgasser.class, new RenderRBMKLid()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRBMKReflector.class, new RenderRBMKLid()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRBMKRod.class, new RenderRBMKLid()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRBMKRodReaSim.class, new RenderRBMKLid()); //ITER ClientRegistry.bindTileEntitySpecialRenderer(TileEntityITER.class, new RenderITER()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachinePlasmaHeater.class, new RenderPlasmaHeater()); diff --git a/src/main/java/com/hbm/main/CraftingManager.java b/src/main/java/com/hbm/main/CraftingManager.java index 183369be3..7e59d8e3d 100644 --- a/src/main/java/com/hbm/main/CraftingManager.java +++ b/src/main/java/com/hbm/main/CraftingManager.java @@ -749,10 +749,13 @@ public class CraftingManager { GameRegistry.addRecipe(new ItemStack(ModBlocks.rbmk_absorber, 1), new Object[] { "GGG", "GRG", "GGG", 'G', ModItems.ingot_boron, 'R', ModBlocks.rbmk_blank }); GameRegistry.addRecipe(new ItemStack(ModBlocks.rbmk_reflector, 1), new Object[] { "GGG", "GRG", "GGG", 'G', ModItems.neutron_reflector, 'R', ModBlocks.rbmk_blank }); GameRegistry.addRecipe(new ItemStack(ModBlocks.rbmk_control, 1), new Object[] { " B ", "GRG", " B ", 'G', ModItems.ingot_graphite, 'B', ModItems.motor, 'R', ModBlocks.rbmk_absorber }); + GameRegistry.addRecipe(new ItemStack(ModBlocks.rbmk_control_mod, 1), new Object[] { "BGB", "GRG", "BGB", 'G', ModBlocks.block_graphite, 'R', ModBlocks.rbmk_control, 'B', ModItems.nugget_bismuth }); GameRegistry.addRecipe(new ItemStack(ModBlocks.rbmk_control_auto, 1), new Object[] { "C", "R", "C", 'C', ModItems.circuit_targeting_tier1, 'R', ModBlocks.rbmk_control }); GameRegistry.addRecipe(new ItemStack(ModBlocks.rbmk_boiler, 1), new Object[] { "CPC", "CRC", "CPC", 'C', ModItems.board_copper, 'P', ModItems.pipes_steel, 'R', ModBlocks.rbmk_blank }); GameRegistry.addRecipe(new ItemStack(ModBlocks.rbmk_rod, 1), new Object[] { "C", "R", "C", 'C', ModItems.hull_small_steel, 'R', ModBlocks.rbmk_blank }); + GameRegistry.addRecipe(new ItemStack(ModBlocks.rbmk_rod_mod, 1), new Object[] { "BGB", "GRG", "BGB", 'G', ModBlocks.block_graphite, 'R', ModBlocks.rbmk_rod, 'B', ModItems.nugget_bismuth }); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.rbmk_rod_reasim, 1), new Object[] { "ZCZ", "ZRZ", "ZCZ", 'C', ModItems.hull_small_steel, 'R', ModBlocks.rbmk_blank, 'Z', "ingotZirconium" })); + GameRegistry.addRecipe(new ItemStack(ModBlocks.rbmk_rod_reasim_mod, 1), new Object[] { "BGB", "GRG", "BGB", 'G', ModBlocks.block_graphite, 'R', ModBlocks.rbmk_rod_reasim, 'B', ModItems.ingot_tcalloy }); GameRegistry.addRecipe(new ItemStack(ModBlocks.rbmk_outgasser, 1), new Object[] { "GHG", "GRG", "GTG", 'G', ModBlocks.steel_grate, 'H', Blocks.hopper, 'T', ModItems.tank_steel, 'R', ModBlocks.rbmk_blank }); GameRegistry.addRecipe(new ItemStack(ModBlocks.rbmk_console, 1), new Object[] { "PPP", "PCP", "PPP", 'C', ModItems.circuit_targeting_tier3, 'P', Items.potato }); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.rbmk_loader, 1), new Object[] { "SCS", "CBC", "SCS", 'S', "plateSteel", 'C', "ingotCopper", 'B', ModItems.tank_steel })); diff --git a/src/main/java/com/hbm/main/ModEventHandler.java b/src/main/java/com/hbm/main/ModEventHandler.java index c05a80c42..9949d5b96 100644 --- a/src/main/java/com/hbm/main/ModEventHandler.java +++ b/src/main/java/com/hbm/main/ModEventHandler.java @@ -741,11 +741,13 @@ public class ModEventHandler { if(player.getCurrentArmor(2) == null && !player.onGround) { - if(player.fallDistance > 0) - player.fallDistance = 0; - - if(player.motionY < -0.4D) - player.motionY = -0.4D; + if(!player.isSneaking()) { + if(player.fallDistance > 0) + player.fallDistance = 0; + + if(player.motionY < -0.4D) + player.motionY = -0.4D; + } HbmPlayerProps props = HbmPlayerProps.getData(player); diff --git a/src/main/java/com/hbm/render/tileentity/RenderRBMKControlRod.java b/src/main/java/com/hbm/render/tileentity/RenderRBMKControlRod.java index 5984b1818..0420f0ecb 100644 --- a/src/main/java/com/hbm/render/tileentity/RenderRBMKControlRod.java +++ b/src/main/java/com/hbm/render/tileentity/RenderRBMKControlRod.java @@ -2,6 +2,7 @@ package com.hbm.render.tileentity; import org.lwjgl.opengl.GL11; +import com.hbm.blocks.machine.rbmk.RBMKBase; import com.hbm.lib.RefStrings; import com.hbm.main.ResourceManager; import com.hbm.tileentity.machine.rbmk.TileEntityRBMKControl; @@ -13,10 +14,6 @@ import net.minecraft.util.ResourceLocation; public class RenderRBMKControlRod extends TileEntitySpecialRenderer { private ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/blocks/rbmk/rbmk_control.png"); - - public RenderRBMKControlRod(String texture) { - this.texture = new ResourceLocation(texture); - } @Override public void renderTileEntityAt(TileEntity te, double x, double y, double z, float i) { @@ -40,8 +37,13 @@ public class RenderRBMKControlRod extends TileEntitySpecialRenderer { GL11.glEnable(GL11.GL_LIGHTING); GL11.glEnable(GL11.GL_CULL_FACE); + - bindTexture(texture); + if(control.getBlockType() instanceof RBMKBase) { + bindTexture(((RBMKBase)control.getBlockType()).coverTexture); + } else { + bindTexture(texture); + } double level = control.lastLevel + (control.level - control.lastLevel) * i; diff --git a/src/main/java/com/hbm/render/tileentity/RenderRBMKLid.java b/src/main/java/com/hbm/render/tileentity/RenderRBMKLid.java index 96db1f8a7..aa9d60546 100644 --- a/src/main/java/com/hbm/render/tileentity/RenderRBMKLid.java +++ b/src/main/java/com/hbm/render/tileentity/RenderRBMKLid.java @@ -19,11 +19,6 @@ public class RenderRBMKLid extends TileEntitySpecialRenderer { private ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/blocks/rbmk/rbmk_blank.png"); private ResourceLocation texture_glass = new ResourceLocation(RefStrings.MODID + ":textures/blocks/rbmk/rbmk_blank_glass.png"); private static final ResourceLocation texture_rods = new ResourceLocation(RefStrings.MODID + ":textures/blocks/rbmk/rbmk_element.png"); - - public RenderRBMKLid(String texture) { - this.texture = new ResourceLocation(texture + ".png"); - //this.texture_glass = new ResourceLocation(texture + "_glass.png"); - } @Override public void renderTileEntityAt(TileEntity te, double x, double y, double z, float i) { @@ -75,7 +70,12 @@ public class RenderRBMKLid extends TileEntitySpecialRenderer { if(meta == RBMKBase.DIR_GLASS_LID.ordinal()) { bindTexture(texture_glass); } else { - bindTexture(texture); + + if(control.getBlockType() instanceof RBMKBase) { + bindTexture(((RBMKBase)control.getBlockType()).coverTexture); + } else { + bindTexture(texture); + } cherenkov = false; } diff --git a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKBase.java b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKBase.java index d2a868360..0f3d1d87c 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKBase.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKBase.java @@ -413,6 +413,10 @@ public abstract class TileEntityRBMKBase extends TileEntity implements INBTPacke } } + public boolean isModerated() { + return false; + } + public abstract ColumnType getConsoleType(); public NBTTagCompound getNBTForConsole() { diff --git a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKConsole.java b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKConsole.java index 655ebe4e8..c17b80123 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKConsole.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKConsole.java @@ -65,6 +65,7 @@ public class TileEntityRBMKConsole extends TileEntityMachineBase implements ICon columns[index] = new RBMKColumn(rbmk.getConsoleType(), rbmk.getNBTForConsole()); columns[index].data.setDouble("heat", rbmk.heat); columns[index].data.setDouble("maxHeat", rbmk.maxHeat()); + if(rbmk.isModerated()) columns[index].data.setBoolean("moderated", true); //false is the default anyway and not setting it when we don't need to reduces cruft } else { columns[index] = null; @@ -205,8 +206,9 @@ public class TileEntityRBMKConsole extends TileEntityMachineBase implements ICon List stats = new ArrayList(); stats.add(EnumChatFormatting.YELLOW + I18nUtil.resolveKey("rbmk.heat", ((int)((this.data.getDouble("heat") * 10D)) / 10D) + "°C")); switch(this.type) { - + case FUEL: + case FUEL_SIM: stats.add(EnumChatFormatting.GREEN + I18nUtil.resolveKey("rbmk.rod.depletion", ((int)(((1D - this.data.getDouble("enrichment")) * 100000)) / 1000D) + "%")); stats.add(EnumChatFormatting.DARK_PURPLE + I18nUtil.resolveKey("rbmk.rod.xenon", ((int)(((this.data.getDouble("xenon")) * 1000D)) / 1000D) + "%")); stats.add(EnumChatFormatting.DARK_RED + I18nUtil.resolveKey("rbmk.rod.coreTemp", ((int)((this.data.getDouble("c_coreHeat") * 10D)) / 10D) + "°C")); @@ -231,6 +233,9 @@ public class TileEntityRBMKConsole extends TileEntityMachineBase implements ICon break; } + if(data.getBoolean("moderated")) + stats.add(EnumChatFormatting.YELLOW + I18nUtil.resolveKey("rbmk.moderated")); + return stats; } } @@ -238,6 +243,7 @@ public class TileEntityRBMKConsole extends TileEntityMachineBase implements ICon public static enum ColumnType { BLANK(0), FUEL(10), + FUEL_SIM(90), CONTROL(20), CONTROL_AUTO(30), BOILER(40), @@ -245,7 +251,7 @@ public class TileEntityRBMKConsole extends TileEntityMachineBase implements ICon ABSORBER(60), REFLECTOR(70), OUTGASSER(80), - BREEDER(90); + BREEDER(100); public int offset; diff --git a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKControlManual.java b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKControlManual.java index d6bf38c9e..13c13830a 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKControlManual.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKControlManual.java @@ -1,5 +1,6 @@ package com.hbm.tileentity.machine.rbmk; +import com.hbm.blocks.machine.rbmk.RBMKControl; import com.hbm.interfaces.IControlReceiver; import com.hbm.tileentity.machine.rbmk.TileEntityRBMKConsole.ColumnType; @@ -11,11 +12,20 @@ public class TileEntityRBMKControlManual extends TileEntityRBMKControl implement public RBMKColor color; public double startingLevel; + + public TileEntityRBMKControlManual() { + super(); + } @Override public String getName() { return "container.rbmkControl"; } + + @Override + public boolean isModerated() { + return ((RBMKControl)this.getBlockType()).moderated; + } @Override public void setTarget(double target) { diff --git a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKOutgasser.java b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKOutgasser.java index 0c8fcf1be..8a96d3ec4 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKOutgasser.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKOutgasser.java @@ -39,7 +39,7 @@ public class TileEntityRBMKOutgasser extends TileEntityRBMKSlottedBase implement @Override public void updateEntity() { - if(!worldObj.isRemote) { + /*if(!worldObj.isRemote) { gas.updateTank(xCoord, yCoord, zCoord, worldObj.provider.dimensionId); if(worldObj.getTotalWorldTime() % 10 == 0) @@ -48,7 +48,7 @@ public class TileEntityRBMKOutgasser extends TileEntityRBMKSlottedBase implement if(!canProcess()) { this.progress = 0; } - } + }*/ super.updateEntity(); } diff --git a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKRod.java b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKRod.java index 74119886e..710d0eb38 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKRod.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKRod.java @@ -2,6 +2,7 @@ package com.hbm.tileentity.machine.rbmk; import com.hbm.blocks.ModBlocks; import com.hbm.blocks.machine.rbmk.RBMKBase; +import com.hbm.blocks.machine.rbmk.RBMKRod; import com.hbm.entity.projectile.EntityRBMKDebris.DebrisType; import com.hbm.handler.radiation.ChunkRadiationManager; import com.hbm.items.ModItems; @@ -29,6 +30,11 @@ public class TileEntityRBMKRod extends TileEntityRBMKSlottedBase implements IRBM public String getName() { return "container.rbmkRod"; } + + @Override + public boolean isModerated() { + return ((RBMKRod)this.getBlockType()).moderated; + } @SuppressWarnings("incomplete-switch") //shut the fuck up @Override @@ -144,6 +150,15 @@ public class TileEntityRBMKRod extends TileEntityRBMKSlottedBase implements IRBM if(!base.hasLid()) ChunkRadiationManager.proxy.incrementRad(worldObj, xCoord, yCoord, zCoord, (float) (flux * 0.05F)); + + if(base.isModerated()) { + + if(this.stream != NType.SLOW) { + //flux *= 0.85D; + } else { + this.stream = NType.SLOW; + } + } } //burn baby burn diff --git a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKRodReaSim.java b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKRodReaSim.java index 991c918f6..63ec89e82 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKRodReaSim.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKRodReaSim.java @@ -1,8 +1,14 @@ package com.hbm.tileentity.machine.rbmk; +import com.hbm.tileentity.machine.rbmk.TileEntityRBMKConsole.ColumnType; + import net.minecraft.util.Vec3; public class TileEntityRBMKRodReaSim extends TileEntityRBMKRod { + + public TileEntityRBMKRodReaSim() { + super(); + } @Override public String getName() { @@ -41,4 +47,9 @@ public class TileEntityRBMKRodReaSim extends TileEntityRBMKRod { } } } + + @Override + public ColumnType getConsoleType() { + return ColumnType.FUEL_SIM; + } } diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index fad306ff0..a20dadd4d 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -112,6 +112,9 @@ chem.CC_NAPHTHA=Naphtha-Kohleverflüssigung chem.CC_OIL=Kohleverflüssigung chem.CIRCUIT_4=Überstaktete Schaltkreisherstellung chem.CIRCUIT_5=Leistungsstarke Schaltkreisherstellung +chem.COLTAN_CLEANING=Coltanreinigung +chem.COLTAN_CRYSTAL=Tantal-Kristallisierung +chem.COLTAN_PAIN=Pandemonium(III)tantalit-Herstellung chem.CONCRETE=Betonherstellung chem.CONCRETE_ASBESTOS=Asbestbetonherstellung chem.COOLANT=Kühlflüssigkeit mischen @@ -1842,6 +1845,7 @@ item.particle_empty.name=Leere Partikelkapsel item.particle_higgs.name=Higgs Bosonen Kapsel item.particle_hydrogen.name=Wasserstoffionenkapsel item.particle_lead.name=Bleiionenkapsel +item.particle_lutece.name=Lutece-Quasipartikel item.particle_muon.name=Myonenkapsel item.particle_sparkticle.name=Sparktikelkapsel item.particle_strange.name=Strange-Quark-Kapsel @@ -2511,6 +2515,7 @@ rbmk.control.yellow=§eGelbe Gruppe rbmk.control.green=§aGrüne Gruppe rbmk.control.blue=§1Blaue Gruppe rbmk.control.purple=§5Lila Gruppe +rbmk.moderated=Moderiert rbmk.rod.depletion=Erschöpfung: %s rbmk.rod.xenon=Xenonvergiftung: %s rbmk.rod.coreTemp=Kerntemperatur: %s @@ -2573,6 +2578,7 @@ tile.block_coltan.name=Coltanblock tile.block_combine_steel.name=CMB-Stahlblock tile.block_copper.name=Kupferblock tile.block_corium.name=Corium +tile.block_corium_cobble.name=Corebblestone tile.block_daffergon.name=Daffergonblock tile.block_desh.name=Verstärketer Deshblock tile.block_dineutronium.name=Dineutroniumblock @@ -3056,12 +3062,15 @@ tile.rbmk_boiler.name=RBMK Dampfkanal tile.rbmk_console.name=RBMK Konsole tile.rbmk_control.name=RBMK Steuerstäbe tile.rbmk_control_auto.name=RBMK Automatische Steuerstäbe +tile.rbmk_control_mod.name=RBMK Moderierte Steuerstäbe tile.rbmk_loader.name=RBMK-Dampfadapter tile.rbmk_moderator.name=RBMK Graphitmoderator tile.rbmk_outgasser.name=RBMK Bestrahlungskanal tile.rbmk_reflector.name=RBMK Wolframcarbid-Moderator tile.rbmk_rod.name=RBMK Brennstäbe +tile.rbmk_rod_mod.name=RBMK Moderierte Brennstäbe tile.rbmk_rod_reasim.name=RBMK Brennstäbe (ReaSim) +tile.rbmk_rod_reasim_mod.name=RBMK Moderierte Brennstäbe (ReaSim) tile.reactor_computer.name=Reaktorsteuerung tile.reactor_conductor.name=Reaktorboiler tile.reactor_control.name=Steuerstäbe diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index 62055ab65..8d13c3461 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -180,6 +180,9 @@ chem.CC_NAPHTHA=Naphtha Coal Liquefaction chem.CC_OIL=Coal Liquefaction chem.CIRCUIT_4=Overclocked Circuit Production chem.CIRCUIT_5=High Performance Circuit Production +chem.COLTAN_CLEANING=Coltan Purifying +chem.COLTAN_CRYSTAL=Tantalium Crystallizing +chem.COLTAN_PAIN=Pandemonium(III)tantalite Production chem.CONCRETE=Concrete Production chem.CONCRETE_ASBESTOS=Asbestos Concrete Production chem.COOLANT=Coolant Mixing @@ -1910,6 +1913,7 @@ item.particle_empty.name=Empty Particle Capsule item.particle_higgs.name=Higgs Boson Capsule item.particle_hydrogen.name=Hydrogen Ion Capsule item.particle_lead.name=Lead Ion Capsule +item.particle_lutece.name=Lutece Quasiparticle item.particle_muon.name=Muon Capsule item.particle_sparkticle.name=Sparkticle Capsule item.particle_strange.name=Strange Quark Capsule @@ -2579,6 +2583,7 @@ rbmk.control.yellow=§eYellow Group rbmk.control.green=§aGreen Group rbmk.control.blue=§1Blue Group rbmk.control.purple=§5Purple Group +rbmk.moderated=Moderated rbmk.rod.depletion=Depletion: %s rbmk.rod.xenon=Xenon poison: %s rbmk.rod.coreTemp=Core temperature: %s @@ -2641,6 +2646,7 @@ tile.block_coltan.name=Block of Coltan tile.block_combine_steel.name=Block of CMB Steel tile.block_copper.name=Block of Copper tile.block_corium.name=Corium +tile.block_corium_cobble.name=Corebblestone tile.block_daffergon.name=Block of Daffergon tile.block_desh.name=Reinforced Block of Desh tile.block_dineutronium.name=Block of Dineutronium @@ -3140,12 +3146,15 @@ tile.rbmk_boiler.name=RBMK Steam Channel tile.rbmk_console.name=RBMK Console tile.rbmk_control.name=RBMK Control Rods tile.rbmk_control_auto.name=RBMK Automatic Control Rods +tile.rbmk_control_mod.name=RBMK Moderated Control Rods tile.rbmk_loader.name=RBMK Steam Connector tile.rbmk_moderator.name=RBMK Graphite Moderator tile.rbmk_outgasser.name=RBMK Irradiation Channel tile.rbmk_reflector.name=RBMK Tungsten Carbide Neutron Reflector tile.rbmk_rod.name=RBMK Fuel Rod +tile.rbmk_rod_mod.name=RBMK Moderated Fuel Rod tile.rbmk_rod_reasim.name=RBMK Fuel Rod (ReaSim) +tile.rbmk_rod_reasim_mod.name=RBMK Moderated Fuel Rod (ReaSim) tile.reactor_computer.name=Reactor Control tile.reactor_conductor.name=Reactor Boiler tile.reactor_control.name=Control Rods diff --git a/src/main/resources/assets/hbm/textures/blocks/block_corium_cobble.png b/src/main/resources/assets/hbm/textures/blocks/block_corium_cobble.png new file mode 100644 index 000000000..b6c39c429 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/block_corium_cobble.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_control_mod.png b/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_control_mod.png new file mode 100644 index 000000000..ad9011480 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_control_mod.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_element_mod.png b/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_element_mod.png new file mode 100644 index 000000000..24eb09950 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_element_mod.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_element_reasim_mod.png b/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_element_reasim_mod.png new file mode 100644 index 000000000..1ee2c33da Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_element_reasim_mod.png differ diff --git a/src/main/resources/assets/hbm/textures/gui/reactors/gui_rbmk_console.png b/src/main/resources/assets/hbm/textures/gui/reactors/gui_rbmk_console.png index 5f24b0b7d..9ce02d453 100644 Binary files a/src/main/resources/assets/hbm/textures/gui/reactors/gui_rbmk_console.png and b/src/main/resources/assets/hbm/textures/gui/reactors/gui_rbmk_console.png differ diff --git a/src/main/resources/assets/hbm/textures/items/particle_lutece.png b/src/main/resources/assets/hbm/textures/items/particle_lutece.png new file mode 100644 index 000000000..845875d2c Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/particle_lutece.png differ diff --git a/src/main/resources/assets/hbm/textures/items/particle_lutece.png.mcmeta b/src/main/resources/assets/hbm/textures/items/particle_lutece.png.mcmeta new file mode 100644 index 000000000..8e55e43ba --- /dev/null +++ b/src/main/resources/assets/hbm/textures/items/particle_lutece.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 3 + } +}