diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index b2e613f01..0190c5b17 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -479,14 +479,14 @@ public class ModBlocks { public static Block sand_boron_layer; public static Block leaves_layer; - public static Block sellafield_slaked; - public static Block sellafield_0; + public static Block sellafield; + /*public static Block sellafield_0; public static Block sellafield_1; public static Block sellafield_2; public static Block sellafield_3; public static Block sellafield_4; - public static Block sellafield_core; + public static Block sellafield_core;*/ public static Block geysir_water; public static Block geysir_chlorine; @@ -1722,15 +1722,16 @@ public class ModBlocks { sand_dirty = new BlockFalling(Material.sand).setBlockName("sand_dirty").setStepSound(Block.soundTypeSand).setCreativeTab(MainRegistry.blockTab).setHardness(0.5F).setBlockTextureName(RefStrings.MODID + ":sand_dirty"); sand_dirty_red = new BlockFalling(Material.sand).setBlockName("sand_dirty_red").setStepSound(Block.soundTypeSand).setCreativeTab(MainRegistry.blockTab).setHardness(0.5F).setBlockTextureName(RefStrings.MODID + ":sand_dirty_red"); stone_cracked = new BlockFalling(Material.rock).setBlockName("stone_cracked").setStepSound(Block.soundTypeStone).setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setBlockTextureName(RefStrings.MODID + ":stone_cracked"); - - sellafield_slaked = new BlockGeneric(Material.rock).setBlockName("sellafield_slaked").setStepSound(Block.soundTypeStone).setHardness(5.0F).setBlockTextureName(RefStrings.MODID + ":sellafield_slaked"); - sellafield_0 = new BlockHazard(Material.rock).setBlockName("sellafield_0").setStepSound(Block.soundTypeStone).setHardness(5.0F).setBlockTextureName(RefStrings.MODID + ":sellafield_0"); + + sellafield_slaked = new BlockGeneric(Material.rock).setBlockName("sellafield_slaked").setStepSound(Block.soundTypeStone).setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setBlockTextureName(RefStrings.MODID + ":sellafield_slaked"); + sellafield = new BlockSellafield(Material.rock).setBlockName("sellafield").setStepSound(Block.soundTypeStone).setHardness(5.0F).setBlockTextureName(RefStrings.MODID + ":sellafield_0"); + /*sellafield_0 = new BlockHazard(Material.rock).setBlockName("sellafield_0").setStepSound(Block.soundTypeStone).setHardness(5.0F).setBlockTextureName(RefStrings.MODID + ":sellafield_0"); sellafield_1 = new BlockHazard(Material.rock).setBlockName("sellafield_1").setStepSound(Block.soundTypeStone).setHardness(5.0F).setBlockTextureName(RefStrings.MODID + ":sellafield_1"); sellafield_2 = new BlockHazard(Material.rock).setBlockName("sellafield_2").setStepSound(Block.soundTypeStone).setHardness(5.0F).setBlockTextureName(RefStrings.MODID + ":sellafield_2"); sellafield_3 = new BlockHazard(Material.rock).setBlockName("sellafield_3").setStepSound(Block.soundTypeStone).setHardness(5.0F).setBlockTextureName(RefStrings.MODID + ":sellafield_3"); sellafield_4 = new BlockHazard(Material.rock).setBlockName("sellafield_4").setStepSound(Block.soundTypeStone).setHardness(5.0F).setBlockTextureName(RefStrings.MODID + ":sellafield_4"); - sellafield_core = new BlockHazard(Material.rock).setBlockName("sellafield_core").setStepSound(Block.soundTypeStone).setHardness(10.0F).setBlockTextureName(RefStrings.MODID + ":sellafield_core"); - + sellafield_core = new BlockHazard(Material.rock).setBlockName("sellafield_core").setStepSound(Block.soundTypeStone).setHardness(10.0F).setBlockTextureName(RefStrings.MODID + ":sellafield_core");*/ + geysir_water = new BlockGeysir(Material.rock).setBlockName("geysir_water").setStepSound(Block.soundTypeStone).setHardness(5.0F); geysir_chlorine = new BlockGeysir(Material.rock).setBlockName("geysir_chlorine").setStepSound(Block.soundTypeStone).setHardness(5.0F); geysir_vapor = new BlockGeysir(Material.rock).setBlockName("geysir_vapor").setStepSound(Block.soundTypeStone).setHardness(5.0F); @@ -2790,12 +2791,13 @@ public class ModBlocks { //RAD GameRegistry.registerBlock(sellafield_slaked, sellafield_slaked.getUnlocalizedName()); - GameRegistry.registerBlock(sellafield_0, sellafield_0.getUnlocalizedName()); + GameRegistry.registerBlock(sellafield, ItemBlockNamedMeta.class, sellafield.getUnlocalizedName()); + /*GameRegistry.registerBlock(sellafield_0, sellafield_0.getUnlocalizedName()); GameRegistry.registerBlock(sellafield_1, sellafield_1.getUnlocalizedName()); GameRegistry.registerBlock(sellafield_2, sellafield_2.getUnlocalizedName()); GameRegistry.registerBlock(sellafield_3, sellafield_3.getUnlocalizedName()); GameRegistry.registerBlock(sellafield_4, sellafield_4.getUnlocalizedName()); - GameRegistry.registerBlock(sellafield_core, sellafield_core.getUnlocalizedName()); + GameRegistry.registerBlock(sellafield_core, sellafield_core.getUnlocalizedName());*/ //Geysirs GameRegistry.registerBlock(geysir_water, geysir_water.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/blocks/generic/BlockHazard.java b/src/main/java/com/hbm/blocks/generic/BlockHazard.java index 40d45fd5c..94008085f 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockHazard.java +++ b/src/main/java/com/hbm/blocks/generic/BlockHazard.java @@ -24,7 +24,7 @@ import net.minecraftforge.common.util.ForgeDirection; public class BlockHazard extends Block implements ITooltipProvider { - private float rad = 0.0F; + protected float rad = 0.0F; private ExtDisplayEffect extEffect = null; private boolean beaconable = false; diff --git a/src/main/java/com/hbm/blocks/generic/BlockOre.java b/src/main/java/com/hbm/blocks/generic/BlockOre.java index e06d18d0c..7efae6b9d 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockOre.java +++ b/src/main/java/com/hbm/blocks/generic/BlockOre.java @@ -283,24 +283,6 @@ public class BlockOre extends Block { if(entity instanceof EntityLivingBase && (this == ModBlocks.waste_trinitite || this == ModBlocks.waste_trinitite_red)) { ((EntityLivingBase) entity).addPotionEffect(new PotionEffect(HbmPotion.radiation.id, 30 * 20, 0)); } - if(entity instanceof EntityLivingBase && this == ModBlocks.sellafield_0) { - ((EntityLivingBase) entity).addPotionEffect(new PotionEffect(HbmPotion.radiation.id, 30 * 20, 0)); - } - if(entity instanceof EntityLivingBase && this == ModBlocks.sellafield_1) { - ((EntityLivingBase) entity).addPotionEffect(new PotionEffect(HbmPotion.radiation.id, 30 * 20, 1)); - } - if(entity instanceof EntityLivingBase && this == ModBlocks.sellafield_2) { - ((EntityLivingBase) entity).addPotionEffect(new PotionEffect(HbmPotion.radiation.id, 30 * 20, 2)); - } - if(entity instanceof EntityLivingBase && this == ModBlocks.sellafield_3) { - ((EntityLivingBase) entity).addPotionEffect(new PotionEffect(HbmPotion.radiation.id, 30 * 20, 3)); - } - if(entity instanceof EntityLivingBase && this == ModBlocks.sellafield_4) { - ((EntityLivingBase) entity).addPotionEffect(new PotionEffect(HbmPotion.radiation.id, 30 * 20, 4)); - } - if(entity instanceof EntityLivingBase && this == ModBlocks.sellafield_core) { - ((EntityLivingBase) entity).addPotionEffect(new PotionEffect(HbmPotion.radiation.id, 30 * 20, 5)); - } if(entity instanceof EntityLivingBase && this == ModBlocks.brick_jungle_ooze) { ((EntityLivingBase) entity).addPotionEffect(new PotionEffect(HbmPotion.radiation.id, 15 * 20, 9)); } diff --git a/src/main/java/com/hbm/blocks/generic/BlockSellafield.java b/src/main/java/com/hbm/blocks/generic/BlockSellafield.java new file mode 100644 index 000000000..1a98563e9 --- /dev/null +++ b/src/main/java/com/hbm/blocks/generic/BlockSellafield.java @@ -0,0 +1,92 @@ +package com.hbm.blocks.generic; + +import java.util.List; +import java.util.Random; + +import com.hbm.blocks.ModBlocks; +import com.hbm.handler.radiation.ChunkRadiationManager; +import com.hbm.lib.RefStrings; +import com.hbm.main.MainRegistry; +import com.hbm.potion.HbmPotion; + +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.creativetab.CreativeTabs; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.potion.PotionEffect; +import net.minecraft.util.IIcon; +import net.minecraft.world.World; + +public class BlockSellafield extends BlockHazard { + + //Sellafite blocks should probably be entirely metadata, but removing them now might mess with shit + //...Ah, fuck it! Noone cares anyway. + public BlockSellafield(Material mat) { + super(mat); + this.setCreativeTab(MainRegistry.blockTab); + } + + @Override + public void onEntityWalking(World world, int x, int y, int z, Entity entity) { + int meta = world.getBlockMetadata(x, y, z); + + if(entity instanceof EntityLivingBase) + ((EntityLivingBase) entity).addPotionEffect(new PotionEffect(HbmPotion.radiation.id, 30 * 20, meta < 5 ? meta : meta * 2)); + } + + @Override + public void updateTick(World world, int x, int y, int z, Random rand) { + + ChunkRadiationManager.proxy.incrementRad(world, x, y, z, this.rad); + + int meta = world.getBlockMetadata(x, y, z); + if(rand.nextInt(meta == 0 ? 30 * 60 : 15 * 60) == 0) { + if(meta > 0) + world.setBlockMetadataWithNotify(x, y, z, meta - 1, 2); + else + world.setBlock(x, y, z, ModBlocks.sellafield_slaked); + } + + world.scheduleBlockUpdate(x, y, z, this, this.tickRate(world)); + } + + @SideOnly(Side.CLIENT) + protected IIcon[] icons; + + @Override + public int damageDropped(int meta) { + return meta; + } + + @Override + @SideOnly(Side.CLIENT) + public void getSubBlocks(Item item, CreativeTabs tabs, List list) { + for(byte i = 0; i < 6; i++) { + list.add(new ItemStack(item, 1, i)); + } + } + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister iconRegister) { + super.registerBlockIcons(iconRegister); + icons = new IIcon[6]; + + for(byte i = 0; i < 6; i++) + icons[i] = iconRegister.registerIcon(RefStrings.MODID + ":sellafield_" + i); + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(int side, int meta) { + return this.icons[meta % this.icons.length]; + } + + +} diff --git a/src/main/java/com/hbm/config/FalloutConfigJSON.java b/src/main/java/com/hbm/config/FalloutConfigJSON.java index 7236fbbf1..869138164 100644 --- a/src/main/java/com/hbm/config/FalloutConfigJSON.java +++ b/src/main/java/com/hbm/config/FalloutConfigJSON.java @@ -70,16 +70,19 @@ public class FalloutConfigJSON { entries.add(new FalloutEntry() .mB(Blocks.brown_mushroom_block) .prim(new Triplet(Blocks.air, 0, 1)) .max(woodEffectRange)); entries.add(new FalloutEntry() .mB(Blocks.planks) .prim(new Triplet(ModBlocks.waste_planks, 0, 1)) .max(woodEffectRange)); - FalloutEntry stoneCore = new FalloutEntry().prim(new Triplet(ModBlocks.sellafield_1, 0, 1)).max(5).sol(true); - FalloutEntry stoneInner = new FalloutEntry().prim(new Triplet(ModBlocks.sellafield_0, 0, 1)).min(5).max(15).sol(true); + FalloutEntry stoneCore = new FalloutEntry().prim(new Triplet(ModBlocks.sellafield, 1, 1)).max(5).sol(true); + FalloutEntry stoneInner = new FalloutEntry().prim(new Triplet(ModBlocks.sellafield, 0, 1)).min(5).max(15).sol(true); FalloutEntry stoneOuter = new FalloutEntry().prim(new Triplet(ModBlocks.sellafield_slaked, 0, 1)).min(15).max(50).sol(true); - + entries.add(stoneCore.clone().mB(Blocks.stone)); entries.add(stoneInner.clone().mB(Blocks.stone)); entries.add(stoneOuter.clone().mB(Blocks.stone)); entries.add(stoneCore.clone().mB(Blocks.gravel)); entries.add(stoneInner.clone().mB(Blocks.gravel)); entries.add(stoneOuter.clone().mB(Blocks.gravel)); + /* recontaminate slaked sellafield */ + entries.add(stoneCore.clone().mB(ModBlocks.sellafield_slaked)); + entries.add(stoneInner.clone().mB(ModBlocks.sellafield_slaked)); entries.add(new FalloutEntry() .mB(Blocks.grass) diff --git a/src/main/java/com/hbm/explosion/ExplosionChaos.java b/src/main/java/com/hbm/explosion/ExplosionChaos.java index 2c2c49107..6f9ceaaa1 100644 --- a/src/main/java/com/hbm/explosion/ExplosionChaos.java +++ b/src/main/java/com/hbm/explosion/ExplosionChaos.java @@ -928,29 +928,17 @@ public class ExplosionChaos { else if (world.getBlock(x, y, z) == ModBlocks.block_waste && random.nextInt(10) == 0) { world.setBlock(x, y, z, ModBlocks.block_lead); } - - else if (world.getBlock(x, y, z) == ModBlocks.sellafield_core && random.nextInt(10) == 0) { - world.setBlock(x, y, z, ModBlocks.sellafield_4); - } - - else if (world.getBlock(x, y, z) == ModBlocks.sellafield_4 && random.nextInt(5) == 0) { - world.setBlock(x, y, z, ModBlocks.sellafield_3); - } - - else if (world.getBlock(x, y, z) == ModBlocks.sellafield_3 && random.nextInt(5) == 0) { - world.setBlock(x, y, z, ModBlocks.sellafield_2); - } - - else if (world.getBlock(x, y, z) == ModBlocks.sellafield_2 && random.nextInt(5) == 0) { - world.setBlock(x, y, z, ModBlocks.sellafield_1); - } - - else if (world.getBlock(x, y, z) == ModBlocks.sellafield_1 && random.nextInt(5) == 0) { - world.setBlock(x, y, z, ModBlocks.sellafield_0); - } - - else if (world.getBlock(x, y, z) == ModBlocks.sellafield_0 && random.nextInt(5) == 0) { - world.setBlock(x, y, z, ModBlocks.sellafield_slaked); + + else if(world.getBlock(x, y, z) == ModBlocks.sellafield) { + int meta = world.getBlockMetadata(x, y, z); + + if(meta > 0) { + if(meta == 5 && random.nextInt(10) == 0) + world.setBlockMetadataWithNotify(x, y, z, 4, 3); + else if(random.nextInt(5) == 0) + world.setBlockMetadataWithNotify(meta, x, y, z, meta - 1); + } else if(random.nextInt(5) == 0) + world.setBlock(y, z, meta, ModBlocks.sellafield_slaked); } } diff --git a/src/main/java/com/hbm/hazard/HazardRegistry.java b/src/main/java/com/hbm/hazard/HazardRegistry.java index f9acfc360..0eaf24203 100644 --- a/src/main/java/com/hbm/hazard/HazardRegistry.java +++ b/src/main/java/com/hbm/hazard/HazardRegistry.java @@ -205,12 +205,12 @@ public class HazardRegistry { HazardSystem.register(block_corium_cobble, makeData(RADIATION, 150F)); HazardSystem.register(sand_gold198, makeData(RADIATION, au198 * block * powder_mult)); - HazardSystem.register(sellafield_0, makeData(RADIATION, 0.5F)); - HazardSystem.register(sellafield_1, makeData(RADIATION, 1F)); - HazardSystem.register(sellafield_2, makeData(RADIATION, 2.5F)); - HazardSystem.register(sellafield_3, makeData(RADIATION, 4F)); - HazardSystem.register(sellafield_4, makeData(RADIATION, 5F)); - HazardSystem.register(sellafield_core, makeData(RADIATION, 10F)); + HazardSystem.register(new ItemStack(ModBlocks.sellafield, 1, 0), makeData(RADIATION, 0.5F)); + HazardSystem.register(new ItemStack(ModBlocks.sellafield, 1, 1), makeData(RADIATION, 1F)); + HazardSystem.register(new ItemStack(ModBlocks.sellafield, 1, 2), makeData(RADIATION, 2.5F)); + HazardSystem.register(new ItemStack(ModBlocks.sellafield, 1, 3), makeData(RADIATION, 4F)); + HazardSystem.register(new ItemStack(ModBlocks.sellafield, 1, 4), makeData(RADIATION, 5F)); + HazardSystem.register(new ItemStack(ModBlocks.sellafield, 1, 5), makeData(RADIATION, 10F)); registerOtherFuel(rod_zirnox_natural_uranium_fuel, u * rod_dual, wst * rod_dual * 11.5F, false); registerOtherFuel(rod_zirnox_uranium_fuel, uf * rod_dual, wst * rod_dual * 10F, false); diff --git a/src/main/java/com/hbm/inventory/recipes/ShredderRecipes.java b/src/main/java/com/hbm/inventory/recipes/ShredderRecipes.java index cca5c56b3..d1ac38a06 100644 --- a/src/main/java/com/hbm/inventory/recipes/ShredderRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/ShredderRecipes.java @@ -254,12 +254,13 @@ public class ShredderRecipes { /* * Sellafite scrapping */ - ShredderRecipes.setRecipe(ModBlocks.sellafield_0, new ItemStack(ModItems.scrap_nuclear, 1)); - ShredderRecipes.setRecipe(ModBlocks.sellafield_1, new ItemStack(ModItems.scrap_nuclear, 2)); - ShredderRecipes.setRecipe(ModBlocks.sellafield_2, new ItemStack(ModItems.scrap_nuclear, 3)); - ShredderRecipes.setRecipe(ModBlocks.sellafield_3, new ItemStack(ModItems.scrap_nuclear, 5)); - ShredderRecipes.setRecipe(ModBlocks.sellafield_4, new ItemStack(ModItems.scrap_nuclear, 7)); - ShredderRecipes.setRecipe(ModBlocks.sellafield_core, new ItemStack(ModItems.scrap_nuclear, 15)); + ShredderRecipes.setRecipe(ModBlocks.sellafield_slaked, new ItemStack(Blocks.gravel)); + ShredderRecipes.setRecipe(new ItemStack(ModBlocks.sellafield, 1, 0), new ItemStack(ModItems.scrap_nuclear, 1)); + ShredderRecipes.setRecipe(new ItemStack(ModBlocks.sellafield, 1, 1), new ItemStack(ModItems.scrap_nuclear, 2)); + ShredderRecipes.setRecipe(new ItemStack(ModBlocks.sellafield, 1, 2), new ItemStack(ModItems.scrap_nuclear, 3)); + ShredderRecipes.setRecipe(new ItemStack(ModBlocks.sellafield, 1, 3), new ItemStack(ModItems.scrap_nuclear, 5)); + ShredderRecipes.setRecipe(new ItemStack(ModBlocks.sellafield, 1, 4), new ItemStack(ModItems.scrap_nuclear, 7)); + ShredderRecipes.setRecipe(new ItemStack(ModBlocks.sellafield, 1, 5), new ItemStack(ModItems.scrap_nuclear, 15)); /* * Fracking debris scrapping diff --git a/src/main/java/com/hbm/items/block/ItemBlockNamedMeta.java b/src/main/java/com/hbm/items/block/ItemBlockNamedMeta.java new file mode 100644 index 000000000..220921bb7 --- /dev/null +++ b/src/main/java/com/hbm/items/block/ItemBlockNamedMeta.java @@ -0,0 +1,18 @@ +package com.hbm.items.block; + +import net.minecraft.block.Block; +import net.minecraft.item.ItemStack; + +public class ItemBlockNamedMeta extends ItemBlockMeta { + + public ItemBlockNamedMeta(Block block) { + super(block); + } + + //OG class didn't have getUnlocalizedName and I didn't want to add it for fear of fucking shit up + @Override + public String getUnlocalizedName(ItemStack stack) { + return super.getUnlocalizedName() + "." + stack.getItemDamage(); + } + +} diff --git a/src/main/java/com/hbm/main/CraftingManager.java b/src/main/java/com/hbm/main/CraftingManager.java index 5416c122d..9dc0f8a44 100644 --- a/src/main/java/com/hbm/main/CraftingManager.java +++ b/src/main/java/com/hbm/main/CraftingManager.java @@ -748,7 +748,7 @@ public class CraftingManager { addShapelessAuto(new ItemStack(ModItems.ams_catalyst_dineutronium, 1), new Object[] { ModItems.ams_catalyst_blank, ModItems.rune_hagalaz, ModItems.rune_hagalaz, ModItems.rune_thurisaz, ModItems.rune_thurisaz, DNT.dust(), DNT.dust(), DNT.dust(), DNT.dust() }); addRecipeAuto(new ItemStack(ModBlocks.dfc_core, 1), new Object[] { "DLD", "LML", "DLD", 'D', ModItems.ingot_bismuth, 'L', DNT.block(), 'M', KEY_CIRCUIT_BISMUTH }); addRecipeAuto(new ItemStack(ModBlocks.dfc_emitter, 1), new Object[] { "SDS", "TXL", "SDS", 'S', OSMIRIDIUM.ingot(), 'D', ModItems.plate_desh, 'T', ModBlocks.machine_transformer_dnt, 'X', ModItems.crystal_xen, 'L', ModItems.sat_head_laser }); - addRecipeAuto(new ItemStack(ModBlocks.dfc_receiver, 1), new Object[] { "SDS", "TXL", "SDS", 'S', OSMIRIDIUM.ingot(), 'D', ModItems.plate_desh, 'T', ModBlocks.machine_transformer_dnt, 'X', ModBlocks.sellafield_core, 'L', ModItems.hull_small_steel }); + addRecipeAuto(new ItemStack(ModBlocks.dfc_receiver, 1), new Object[] { "SDS", "TXL", "SDS", 'S', OSMIRIDIUM.ingot(), 'D', ModItems.plate_desh, 'T', ModBlocks.machine_transformer_dnt, 'X', new ItemStack(ModBlocks.sellafield, 1, 5), 'L', ModItems.hull_small_steel }); addRecipeAuto(new ItemStack(ModBlocks.dfc_injector, 1), new Object[] { "SDS", "TXL", "SDS", 'S', OSMIRIDIUM.ingot(), 'D', CMB.plate(), 'T', ModBlocks.machine_fluidtank, 'X', ModItems.motor, 'L', ModItems.pipes_steel }); addRecipeAuto(new ItemStack(ModBlocks.dfc_stabilizer, 1), new Object[] { "SDS", "TXL", "SDS", 'S', OSMIRIDIUM.ingot(), 'D', ModItems.plate_desh, 'T', ModItems.singularity_spark, 'X', ModItems.magnet_circular, 'L', ModItems.crystal_xen }); addRecipeAuto(new ItemStack(ModBlocks.barrel_plastic, 1), new Object[] { "IPI", "I I", "IPI", 'I', ModItems.plate_polymer, 'P', AL.plate() }); diff --git a/src/main/java/com/hbm/main/MainRegistry.java b/src/main/java/com/hbm/main/MainRegistry.java index 75880dffd..62d9834fd 100644 --- a/src/main/java/com/hbm/main/MainRegistry.java +++ b/src/main/java/com/hbm/main/MainRegistry.java @@ -1,5 +1,6 @@ package com.hbm.main; +import net.minecraft.block.Block; import net.minecraft.block.BlockDispenser; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.dispenser.BehaviorProjectileDispense; @@ -1112,6 +1113,10 @@ public class MainRegistry { /// REMAP /// remapItems.put("hbm:item.gadget_explosive8", ModItems.early_explosive_lenses); remapItems.put("hbm:item.man_explosive8", ModItems.explosive_lenses); + //forge shits the bed when you dare to remap several blocks into one, since noone would ever try to do that + /*remapBlocks.put("hbm:tile.sellafield_core", ModBlocks.sellafield); + for(byte i = 0; i < 5; i++) + remapBlocks.put("hbm:tile.sellafield_" + i, ModBlocks.sellafield);*/ for(MissingMapping mapping : event.get()) { diff --git a/src/main/java/com/hbm/render/tileentity/RenderRBMKConsole.java b/src/main/java/com/hbm/render/tileentity/RenderRBMKConsole.java index a89f2c3b5..65650bde2 100644 --- a/src/main/java/com/hbm/render/tileentity/RenderRBMKConsole.java +++ b/src/main/java/com/hbm/render/tileentity/RenderRBMKConsole.java @@ -65,6 +65,7 @@ public class RenderRBMKConsole extends TileEntitySpecialRenderer { case FUEL_SIM: drawFuel(tess, kx + 0.01, ky, kz, col.data.getDouble("enrichment")); break; case CONTROL: drawControl(tess, kx + 0.01, ky, kz, col.data.getDouble("level")); break; case CONTROL_AUTO: drawControlAuto(tess, kx + 0.01, ky, kz, col.data.getDouble("level")); break; + default: } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineReactorLarge.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineReactorLarge.java index 4d9babae3..9f40cf7fd 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineReactorLarge.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineReactorLarge.java @@ -721,7 +721,7 @@ public class TileEntityMachineReactorLarge extends TileEntity } } - worldObj.setBlock(this.xCoord, this.yCoord, this.zCoord, ModBlocks.sellafield_core); + worldObj.setBlock(this.xCoord, this.yCoord, this.zCoord, ModBlocks.sellafield, 5, 3); if(MobConfig.enableElementals) { List players = worldObj.getEntitiesWithinAABB(EntityPlayer.class, AxisAlignedBB.getBoundingBox(xCoord + 0.5, yCoord + 0.5, zCoord + 0.5, xCoord + 0.5, yCoord + 0.5, zCoord + 0.5).expand(100, 100, 100)); @@ -739,15 +739,15 @@ public class TileEntityMachineReactorLarge extends TileEntity if(rand < 7) worldObj.setBlock(x, y, z, ModBlocks.toxic_block); else if(rand < 10) - worldObj.setBlock(x, y, z, ModBlocks.sellafield_0); + worldObj.setBlock(x, y, z, ModBlocks.sellafield, 0, 3); else if(rand < 14) - worldObj.setBlock(x, y, z, ModBlocks.sellafield_1); + worldObj.setBlock(x, y, z, ModBlocks.sellafield, 1, 3); else if(rand < 17) - worldObj.setBlock(x, y, z, ModBlocks.sellafield_2); + worldObj.setBlock(x, y, z, ModBlocks.sellafield, 2, 3); else if(rand < 19) - worldObj.setBlock(x, y, z, ModBlocks.sellafield_3); + worldObj.setBlock(x, y, z, ModBlocks.sellafield, 3, 3); else - worldObj.setBlock(x, y, z, ModBlocks.sellafield_4); + worldObj.setBlock(x, y, z, ModBlocks.sellafield, 4, 3); } @Override diff --git a/src/main/java/com/hbm/world/dungeon/Barrel.java b/src/main/java/com/hbm/world/dungeon/Barrel.java index e4b347734..59a4da103 100644 --- a/src/main/java/com/hbm/world/dungeon/Barrel.java +++ b/src/main/java/com/hbm/world/dungeon/Barrel.java @@ -68,12 +68,7 @@ public class Barrel extends WorldGenerator { Block Block1 = ModBlocks.reinforced_brick; Block Block2 = ModBlocks.sellafield_slaked; Block Block3 = ModBlocks.brick_concrete; - Block Block4 = ModBlocks.sellafield_3; - Block Block5 = ModBlocks.sellafield_4; - Block Block6 = ModBlocks.sellafield_core; - Block Block7 = ModBlocks.sellafield_2; - Block Block8 = ModBlocks.sellafield_1; - Block Block9 = ModBlocks.sellafield_0; + Block sellafield = ModBlocks.sellafield; Block Block10 = ModBlocks.deco_lead; Block Block11 = ModBlocks.reinforced_glass; Block Block12 = ModBlocks.toxic_block; @@ -115,24 +110,24 @@ public class Barrel extends WorldGenerator { world.setBlock(x + 2, y + 0, z + 0, Library.getRandomConcrete(), 0, 3); world.setBlock(x + 3, y + 0, z + 0, Block2, 0, 3); world.setBlock(x + 0, y + 0, z + 1, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 1, y + 0, z + 1, Block4, 0, 3); - world.setBlock(x + 2, y + 0, z + 1, Block5, 0, 3); - world.setBlock(x + 3, y + 0, z + 1, Block4, 0, 3); + world.setBlock(x + 1, y + 0, z + 1, sellafield, 3, 3); + world.setBlock(x + 2, y + 0, z + 1, sellafield, 4, 3); + world.setBlock(x + 3, y + 0, z + 1, sellafield, 3, 3); world.setBlock(x + 4, y + 0, z + 1, Library.getRandomConcrete(), 0, 3); world.setBlock(x + 0, y + 0, z + 2, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 1, y + 0, z + 2, Block5, 0, 3); - world.setBlock(x + 2, y + 0, z + 2, Block6, 0, 3); + world.setBlock(x + 1, y + 0, z + 2, sellafield, 4, 3); + world.setBlock(x + 2, y + 0, z + 2, sellafield, 5, 3); if(world.getTileEntity(x + 2, y + 0, z + 2) instanceof TileEntitySellafield) { ((TileEntitySellafield)world.getTileEntity(x + 2, y + 0, z + 2)).radius = 2.5; } - world.setBlock(x + 3, y + 0, z + 2, Block5, 0, 3); + world.setBlock(x + 3, y + 0, z + 2, sellafield, 4, 3); world.setBlock(x + 4, y + 0, z + 2, Block2, 0, 3); world.setBlock(x + 0, y + 0, z + 3, Block2, 0, 3); - world.setBlock(x + 1, y + 0, z + 3, Block5, 0, 3); - world.setBlock(x + 2, y + 0, z + 3, Block4, 0, 3); - world.setBlock(x + 3, y + 0, z + 3, Block5, 0, 3); + world.setBlock(x + 1, y + 0, z + 3, sellafield, 4, 3); + world.setBlock(x + 2, y + 0, z + 3, sellafield, 3, 3); + world.setBlock(x + 3, y + 0, z + 3, sellafield, 4, 3); world.setBlock(x + 4, y + 0, z + 3, Block2, 0, 3); world.setBlock(x + 1, y + 0, z + 4, Block2, 0, 3); world.setBlock(x + 2, y + 0, z + 4, Library.getRandomConcrete(), 0, 3); @@ -141,12 +136,12 @@ public class Barrel extends WorldGenerator { world.setBlock(x + 2, y + 1, z + 0, Library.getRandomConcrete(), 0, 3); world.setBlock(x + 3, y + 1, z + 0, Block2, 0, 3); world.setBlock(x + 0, y + 1, z + 1, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 1, y + 1, z + 1, Block7, 0, 3); - world.setBlock(x + 2, y + 1, z + 1, Block4, 0, 3); - world.setBlock(x + 3, y + 1, z + 1, Block4, 0, 3); + world.setBlock(x + 1, y + 1, z + 1, sellafield, 2, 3); + world.setBlock(x + 2, y + 1, z + 1, sellafield, 3, 3); + world.setBlock(x + 3, y + 1, z + 1, sellafield, 3, 3); world.setBlock(x + 4, y + 1, z + 1, Block2, 0, 3); world.setBlock(x + 0, y + 1, z + 2, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 1, y + 1, z + 2, Block4, 0, 3); + world.setBlock(x + 1, y + 1, z + 2, sellafield, 3, 3); /*world.setBlock(x + 2, y + 1, z + 2, Blocks.chest, 3, 3); @@ -162,12 +157,12 @@ public class Barrel extends WorldGenerator { WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.expensive, (TileEntityCrateSteel)world.getTileEntity(x + 2, y + 1, z + 2), 16); } - world.setBlock(x + 3, y + 1, z + 2, Block4, 0, 3); + world.setBlock(x + 3, y + 1, z + 2, sellafield, 3, 3); world.setBlock(x + 4, y + 1, z + 2, Library.getRandomConcrete(), 0, 3); world.setBlock(x + 0, y + 1, z + 3, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 1, y + 1, z + 3, Block4, 0, 3); - world.setBlock(x + 2, y + 1, z + 3, Block7, 0, 3); - world.setBlock(x + 3, y + 1, z + 3, Block4, 0, 3); + world.setBlock(x + 1, y + 1, z + 3, sellafield, 3, 3); + world.setBlock(x + 2, y + 1, z + 3, sellafield, 2, 3); + world.setBlock(x + 3, y + 1, z + 3, sellafield, 3, 3); world.setBlock(x + 4, y + 1, z + 3, Block2, 0, 3); world.setBlock(x + 1, y + 1, z + 4, Block2, 0, 3); world.setBlock(x + 2, y + 1, z + 4, Library.getRandomConcrete(), 0, 3); @@ -176,19 +171,19 @@ public class Barrel extends WorldGenerator { world.setBlock(x + 2, y + 2, z + 0, Block2, 0, 3); world.setBlock(x + 3, y + 2, z + 0, Library.getRandomConcrete(), 0, 3); world.setBlock(x + 0, y + 2, z + 1, Block2, 0, 3); - world.setBlock(x + 1, y + 2, z + 1, Block8, 0, 3); - world.setBlock(x + 2, y + 2, z + 1, Block7, 0, 3); - world.setBlock(x + 3, y + 2, z + 1, Block7, 0, 3); + world.setBlock(x + 1, y + 2, z + 1, sellafield, 1, 3); + world.setBlock(x + 2, y + 2, z + 1, sellafield, 2, 3); + world.setBlock(x + 3, y + 2, z + 1, sellafield, 2, 3); world.setBlock(x + 4, y + 2, z + 1, Library.getRandomConcrete(), 0, 3); world.setBlock(x + 0, y + 2, z + 2, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 1, y + 2, z + 2, Block7, 0, 3); - world.setBlock(x + 2, y + 2, z + 2, Block5, 0, 3); - world.setBlock(x + 3, y + 2, z + 2, Block7, 0, 3); + world.setBlock(x + 1, y + 2, z + 2, sellafield, 2, 3); + world.setBlock(x + 2, y + 2, z + 2, sellafield, 4, 3); + world.setBlock(x + 3, y + 2, z + 2, sellafield, 2, 3); world.setBlock(x + 4, y + 2, z + 2, Library.getRandomConcrete(), 0, 3); world.setBlock(x + 0, y + 2, z + 3, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 1, y + 2, z + 3, Block7, 0, 3); - world.setBlock(x + 2, y + 2, z + 3, Block8, 0, 3); - world.setBlock(x + 3, y + 2, z + 3, Block7, 0, 3); + world.setBlock(x + 1, y + 2, z + 3, sellafield, 2, 3); + world.setBlock(x + 2, y + 2, z + 3, sellafield, 1, 3); + world.setBlock(x + 3, y + 2, z + 3, sellafield, 2, 3); world.setBlock(x + 4, y + 2, z + 3, Library.getRandomConcrete(), 0, 3); world.setBlock(x + 1, y + 2, z + 4, Library.getRandomConcrete(), 0, 3); world.setBlock(x + 2, y + 2, z + 4, Library.getRandomConcrete(), 0, 3); @@ -197,19 +192,19 @@ public class Barrel extends WorldGenerator { world.setBlock(x + 2, y + 3, z + 0, Library.getRandomConcrete(), 0, 3); world.setBlock(x + 3, y + 3, z + 0, Library.getRandomConcrete(), 0, 3); world.setBlock(x + 0, y + 3, z + 1, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 1, y + 3, z + 1, Block8, 0, 3); - world.setBlock(x + 2, y + 3, z + 1, Block8, 0, 3); - world.setBlock(x + 3, y + 3, z + 1, Block8, 0, 3); + world.setBlock(x + 1, y + 3, z + 1, sellafield, 1, 3); + world.setBlock(x + 2, y + 3, z + 1, sellafield, 1, 3); + world.setBlock(x + 3, y + 3, z + 1, sellafield, 1, 3); world.setBlock(x + 4, y + 3, z + 1, Block2, 0, 3); world.setBlock(x + 0, y + 3, z + 2, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 1, y + 3, z + 2, Block8, 0, 3); - world.setBlock(x + 2, y + 3, z + 2, Block4, 0, 3); - world.setBlock(x + 3, y + 3, z + 2, Block8, 0, 3); + world.setBlock(x + 1, y + 3, z + 2, sellafield, 1, 3); + world.setBlock(x + 2, y + 3, z + 2, sellafield, 3, 3); + world.setBlock(x + 3, y + 3, z + 2, sellafield, 1, 3); world.setBlock(x + 4, y + 3, z + 2, Library.getRandomConcrete(), 0, 3); world.setBlock(x + 0, y + 3, z + 3, Block2, 0, 3); - world.setBlock(x + 1, y + 3, z + 3, Block8, 0, 3); - world.setBlock(x + 2, y + 3, z + 3, Block9, 0, 3); - world.setBlock(x + 3, y + 3, z + 3, Block8, 0, 3); + world.setBlock(x + 1, y + 3, z + 3, sellafield, 1, 3); + world.setBlock(x + 2, y + 3, z + 3, sellafield, 0, 3); + world.setBlock(x + 3, y + 3, z + 3, sellafield, 1, 3); world.setBlock(x + 4, y + 3, z + 3, Library.getRandomConcrete(), 0, 3); world.setBlock(x + 1, y + 3, z + 4, Library.getRandomConcrete(), 0, 3); world.setBlock(x + 2, y + 3, z + 4, Library.getRandomConcrete(), 0, 3); @@ -218,19 +213,19 @@ public class Barrel extends WorldGenerator { world.setBlock(x + 2, y + 4, z + 0, Library.getRandomConcrete(), 0, 3); world.setBlock(x + 3, y + 4, z + 0, Library.getRandomConcrete(), 0, 3); world.setBlock(x + 0, y + 4, z + 1, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 1, y + 4, z + 1, Block9, 0, 3); - world.setBlock(x + 2, y + 4, z + 1, Block8, 0, 3); - world.setBlock(x + 3, y + 4, z + 1, Block9, 0, 3); + world.setBlock(x + 1, y + 4, z + 1, sellafield, 0, 3); + world.setBlock(x + 2, y + 4, z + 1, sellafield, 1, 3); + world.setBlock(x + 3, y + 4, z + 1, sellafield, 0, 3); world.setBlock(x + 4, y + 4, z + 1, Library.getRandomConcrete(), 0, 3); world.setBlock(x + 0, y + 4, z + 2, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 1, y + 4, z + 2, Block9, 0, 3); - world.setBlock(x + 2, y + 4, z + 2, Block7, 0, 3); - world.setBlock(x + 3, y + 4, z + 2, Block8, 0, 3); + world.setBlock(x + 1, y + 4, z + 2, sellafield, 0, 3); + world.setBlock(x + 2, y + 4, z + 2, sellafield, 2, 3); + world.setBlock(x + 3, y + 4, z + 2, sellafield, 1, 3); world.setBlock(x + 4, y + 4, z + 2, Block2, 0, 3); world.setBlock(x + 0, y + 4, z + 3, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 1, y + 4, z + 3, Block8, 0, 3); - world.setBlock(x + 2, y + 4, z + 3, Block9, 0, 3); - world.setBlock(x + 3, y + 4, z + 3, Block9, 0, 3); + world.setBlock(x + 1, y + 4, z + 3, sellafield, 1, 3); + world.setBlock(x + 2, y + 4, z + 3, sellafield, 0, 3); + world.setBlock(x + 3, y + 4, z + 3, sellafield, 0, 3); world.setBlock(x + 4, y + 4, z + 3, Block2, 0, 3); world.setBlock(x + 1, y + 4, z + 4, Library.getRandomConcrete(), 0, 3); world.setBlock(x + 2, y + 4, z + 4, Library.getRandomConcrete(), 0, 3); @@ -239,18 +234,18 @@ public class Barrel extends WorldGenerator { world.setBlock(x + 2, y + 5, z + 0, Library.getRandomConcrete(), 0, 3); world.setBlock(x + 3, y + 5, z + 0, Library.getRandomConcrete(), 0, 3); world.setBlock(x + 0, y + 5, z + 1, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 1, y + 5, z + 1, Block9, 0, 3); - world.setBlock(x + 2, y + 5, z + 1, Block9, 0, 3); - world.setBlock(x + 3, y + 5, z + 1, Block9, 0, 3); + world.setBlock(x + 1, y + 5, z + 1, sellafield, 0, 3); + world.setBlock(x + 2, y + 5, z + 1, sellafield, 0, 3); + world.setBlock(x + 3, y + 5, z + 1, sellafield, 0, 3); world.setBlock(x + 4, y + 5, z + 1, Block2, 0, 3); world.setBlock(x + 0, y + 5, z + 2, Library.getRandomConcrete(), 0, 3); world.setBlock(x + 1, y + 5, z + 2, Block12, 0, 3); - world.setBlock(x + 2, y + 5, z + 2, Block8, 0, 3); + world.setBlock(x + 2, y + 5, z + 2, sellafield, 1, 3); world.setBlock(x + 3, y + 5, z + 2, Block12, 0, 3); world.setBlock(x + 4, y + 5, z + 2, Blocks.air, 0, 3); world.setBlock(x + 0, y + 5, z + 3, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 1, y + 5, z + 3, Block9, 0, 3); - world.setBlock(x + 2, y + 5, z + 3, Block9, 0, 3); + world.setBlock(x + 1, y + 5, z + 3, sellafield, 0, 3); + world.setBlock(x + 2, y + 5, z + 3, sellafield, 0, 3); world.setBlock(x + 3, y + 5, z + 3, Block12, 0, 3); world.setBlock(x + 4, y + 5, z + 3, Block2, 0, 3); world.setBlock(x + 1, y + 5, z + 4, Library.getRandomConcrete(), 0, 3); @@ -266,7 +261,7 @@ public class Barrel extends WorldGenerator { world.setBlock(x + 4, y + 6, z + 1, Block10, 0, 3); world.setBlock(x + 0, y + 6, z + 2, Block10, 0, 3); world.setBlock(x + 1, y + 6, z + 2, Block12, 0, 3); - world.setBlock(x + 2, y + 6, z + 2, Block9, 0, 3); + world.setBlock(x + 2, y + 6, z + 2, sellafield, 0, 3); world.setBlock(x + 3, y + 6, z + 2, Block12, 0, 3); world.setBlock(x + 4, y + 6, z + 2, Block10, 0, 3); world.setBlock(x + 0, y + 6, z + 3, Block10, 0, 3); diff --git a/src/main/java/com/hbm/world/feature/Sellafield.java b/src/main/java/com/hbm/world/feature/Sellafield.java index af0ac3fd5..02f6fd578 100644 --- a/src/main/java/com/hbm/world/feature/Sellafield.java +++ b/src/main/java/com/hbm/world/feature/Sellafield.java @@ -36,9 +36,9 @@ public class Sellafield { dig(world, x + a, z + b, dep); if(r + rand.nextInt(3) <= radius / 3D) { - place(world, x + a, z + b, 3, ModBlocks.sellafield_1); + place(world, x + a, z + b, 3, ModBlocks.sellafield, 1); } else if(r - rand.nextInt(3) <= radius / 3D * 2D) { - place(world, x + a, z + b, 3, ModBlocks.sellafield_0); + place(world, x + a, z + b, 3, ModBlocks.sellafield); } else { place(world, x + a, z + b, 3, ModBlocks.sellafield_slaked); } @@ -58,12 +58,14 @@ public class Sellafield { world.setBlockToAir(x, y - i, z); } - private void place(World world, int x, int z, int depth, Block block) { + private void place(World world, int x, int z, int depth, Block block) { place(world, x, z, depth, block, 0); } + + private void place(World world, int x, int z, int depth, Block block, int meta) { int y = world.getHeightValue(x, z) - 1; for(int i = 0; i < depth; i++) - world.setBlock(x, y - i, z, block); + world.setBlock(x, y - i, z, block, meta, 2); } private void placeCore(World world, int x, int z, double rad) { } diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index f5d631afe..51654a4ef 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -4086,12 +4086,12 @@ tile.schrabidic_block.name=Schrabidic Acid tile.seal_controller.name=Silo Hatch Opener tile.seal_frame.name=Silo Hatch Frame tile.seal_hatch.name=Silo Hatch -tile.sellafield_0.name=Sellafite -tile.sellafield_1.name=Hot Sellafite -tile.sellafield_2.name=Boiling Sellafite -tile.sellafield_3.name=Blazing Sellafite -tile.sellafield_4.name=Infernal Sellafite -tile.sellafield_core.name=Sellafite-Corium +tile.sellafield.0.name=Sellafite +tile.sellafield.1.name=Hot Sellafite +tile.sellafield.2.name=Boiling Sellafite +tile.sellafield.3.name=Blazing Sellafite +tile.sellafield.4.name=Infernal Sellafite +tile.sellafield.5.name=Sellafite-Corium tile.sellafield_slaked.name=Slaked Sellafite tile.semtex.name=Semtex tile.solar_mirror.name=Heliostat Mirror diff --git a/src/main/resources/assets/hbm/textures/blocks/sellafield_core.png b/src/main/resources/assets/hbm/textures/blocks/sellafield_5.png similarity index 100% rename from src/main/resources/assets/hbm/textures/blocks/sellafield_core.png rename to src/main/resources/assets/hbm/textures/blocks/sellafield_5.png