diff --git a/changelog b/changelog index 8c5d6df54..74a6aa77b 100644 --- a/changelog +++ b/changelog @@ -3,9 +3,24 @@ * The final missing door from 1.12, remade from scratch * Comes with a brand-new model that fits perfectly over 3x3 missile launch tubes * Has a 5x5 frame +* Molysite + * Found in basalt from volcanos + * Can be combination-smelted into iron and chlorine + * Don't make me pull another chlorocalcite +* Rad volcanos + * Created when fallout affects a volcano core + * Uses a new volcanic lava type that produces sellafite, as well as sellafite gem ores +* Radioactive gem + * Created when fallout affects diamond ore, or if radioactive volcanic lava touches diamond ore + * Currenly only used in the radiation powered engine as powerful long-lasting fuel + * When depleted, turns back into a regular diamond ## Changed * Simplified door recipes +* Fissure bombs now require tantalium +* Removed the "nerve agent" hazard class because no gas used it +* Fissures now continuously spawn volcanic lava, making basalt renewable without having an entire volcano +* Volcanic lava now turns diamond ore into gem-rich basalt ## Fixed * Fixed sellafite emerald ore being oredicted as emerald dust @@ -18,3 +33,8 @@ * Fixed material dupe caused by strand caster overflowing * Fixed rampant mode glyphid scout spawn ignoring light level * Fixed glyphid diggers' debris attack being able to break concrete +* Fixed `canLaunch` function of custom missile launch pads demanding a designator, preventing launch pads without designator from working even when the position is supplied by a radar +* Fixed none of the helmets or filters protecting against corrosive gasses (blistering agents) like mustard gas +* Fixed fallout layers being able to generate below roofs +* Fixed exposure chamber not saving anything to NBT besides slots +* Fixed crash caused by wearing the full PaA set and then putting on an HEV helmet (why would anyone ever do this??) diff --git a/src/main/java/com/hbm/blocks/BlockEnumMulti.java b/src/main/java/com/hbm/blocks/BlockEnumMulti.java index d581bfd2d..0dd222f82 100644 --- a/src/main/java/com/hbm/blocks/BlockEnumMulti.java +++ b/src/main/java/com/hbm/blocks/BlockEnumMulti.java @@ -36,7 +36,7 @@ public class BlockEnumMulti extends BlockMulti { for(int i = 0; i < icons.length; i++) { Enum num = enums[i]; - this.icons[i] = reg.registerIcon(this.getTextureName() + "." + num.name().toLowerCase(Locale.US)); + this.icons[i] = reg.registerIcon(this.getTextureMultiName(num)); } } else { this.blockIcon = reg.registerIcon(this.getTextureName()); @@ -47,12 +47,20 @@ public class BlockEnumMulti extends BlockMulti { if(this.multiName) { Enum num = EnumUtil.grabEnumSafely(this.theEnum, stack.getItemDamage()); - return super.getUnlocalizedName() + "." + num.name().toLowerCase(Locale.US); + return getUnlocalizedMultiName(num); } return this.getUnlocalizedName(); } + public String getTextureMultiName(Enum num) { + return this.getTextureName() + "." + num.name().toLowerCase(Locale.US); + } + + public String getUnlocalizedMultiName(Enum num) { + return super.getUnlocalizedName() + "." + num.name().toLowerCase(Locale.US); + } + @Override @SideOnly(Side.CLIENT) public IIcon getIcon(int side, int meta) { diff --git a/src/main/java/com/hbm/blocks/BlockRemap.java b/src/main/java/com/hbm/blocks/BlockRemap.java index c9d66894f..1939b2830 100644 --- a/src/main/java/com/hbm/blocks/BlockRemap.java +++ b/src/main/java/com/hbm/blocks/BlockRemap.java @@ -3,10 +3,12 @@ package com.hbm.blocks; import java.util.ArrayList; import java.util.Random; -import com.hbm.lib.RefStrings; - +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; import net.minecraft.block.material.Material; +import net.minecraft.item.Item; +import net.minecraft.util.IIcon; import net.minecraft.world.World; import net.minecraftforge.client.event.RenderGameOverlayEvent.Pre; @@ -21,12 +23,16 @@ public class BlockRemap extends Block implements ILookOverlay { this.remapMeta = meta; this.setTickRandomly(true); } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(int meta, int side) { + return this.remapBlock.getIcon(meta, side); + } @Override - public Block setBlockName(String name) { - super.setBlockName(name); - this.setBlockTextureName(RefStrings.MODID + ":" + name); - return this; + public Item getItemDropped(int meta, Random rand, int fortune) { + return this.remapBlock.getItemDropped(meta, rand, fortune); } @Override diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index 31d8488d5..c22a7589b 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -152,10 +152,11 @@ public class ModBlocks { public static Block depth_dnt; public static Block basalt; - public static Block basalt_sulfur; - public static Block basalt_fluorite; - public static Block basalt_asbestos; - public static Block basalt_gem; + public static Block ore_basalt; + @Deprecated public static Block basalt_sulfur; + @Deprecated public static Block basalt_fluorite; + @Deprecated public static Block basalt_asbestos; + @Deprecated public static Block basalt_gem; public static Block basalt_smooth; public static Block basalt_brick; public static Block basalt_polished; @@ -538,6 +539,7 @@ public class ModBlocks { public static Block ore_sellafield_emerald; public static Block ore_sellafield_uranium_scorched; public static Block ore_sellafield_schrabidium; + public static Block ore_sellafield_radgem; public static Block geysir_water; public static Block geysir_chlorine; @@ -1234,6 +1236,9 @@ public class ModBlocks { public static Block volcanic_lava_block; public static Fluid volcanic_lava_fluid; public static final Material fluidvolcanic = (new MaterialLiquid(MapColor.redColor)); + public static Block rad_lava_block; + public static Fluid rad_lava_fluid; + public static final Material fluidradlava = (new MaterialLiquid(MapColor.redColor)); public static Block sulfuric_acid_block; public static Fluid sulfuric_acid_fluid; @@ -1241,6 +1246,7 @@ public class ModBlocks { public static Block concrete_liquid; public static Block volcano_core; + public static Block volcano_rad_core; public static Block dummy_block_ams_limiter; public static Block dummy_port_ams_limiter; @@ -1377,10 +1383,11 @@ public class ModBlocks { stone_deep_cobble = new BlockDeepCobble().setBlockName("stone_deep_cobble").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(30.0F); basalt = new BlockGeneric(Material.rock).setBlockName("basalt").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":basalt"); - basalt_sulfur = new BlockOre(Material.rock).setBlockName("basalt_sulfur").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":basalt_sulfur"); - basalt_fluorite = new BlockOre(Material.rock).setBlockName("basalt_fluorite").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":basalt_fluorite"); - basalt_asbestos = new BlockOutgas(Material.rock, true, 5, true).setBlockName("basalt_asbestos").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":basalt_asbestos"); - basalt_gem = new BlockCluster(Material.rock).setBlockName("basalt_gem").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":basalt_gem"); + ore_basalt = new BlockOreBasalt().setBlockName("ore_basalt").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_basalt"); + basalt_sulfur = new BlockRemap(ore_basalt, 0).setBlockName("basalt_sulfur"); + basalt_fluorite = new BlockRemap(ore_basalt, 1).setBlockName("basalt_fluorite"); + basalt_asbestos = new BlockRemap(ore_basalt, 2).setBlockName("basalt_asbestos"); + basalt_gem = new BlockRemap(ore_basalt, 3).setBlockName("basalt_gem"); basalt_smooth = new BlockGeneric(Material.rock).setBlockName("basalt_smooth").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":basalt_smooth"); basalt_brick = new BlockGeneric(Material.rock).setBlockName("basalt_brick").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":basalt_brick"); basalt_polished = new BlockGeneric(Material.rock).setBlockName("basalt_polished").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":basalt_polished"); @@ -1760,6 +1767,7 @@ public class ModBlocks { ore_sellafield_emerald = new BlockSellafieldOre(Material.rock).setBlockName("ore_sellafield_emerald").setStepSound(Block.soundTypeStone).setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setBlockTextureName(RefStrings.MODID + ":ore_overlay_emerald"); ore_sellafield_uranium_scorched = new BlockSellafieldOre(Material.rock).setBlockName("ore_sellafield_uranium_scorched").setStepSound(Block.soundTypeStone).setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setBlockTextureName(RefStrings.MODID + ":ore_overlay_uranium_scorched"); ore_sellafield_schrabidium = new BlockSellafieldOre(Material.rock).setBlockName("ore_sellafield_schrabidium").setStepSound(Block.soundTypeStone).setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setBlockTextureName(RefStrings.MODID + ":ore_overlay_schrabidium"); + ore_sellafield_radgem = new BlockSellafieldOre(Material.rock).setBlockName("ore_sellafield_radgem").setStepSound(Block.soundTypeStone).setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setBlockTextureName(RefStrings.MODID + ":ore_overlay_radgem"); 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); @@ -2369,6 +2377,7 @@ public class ModBlocks { transission_hatch = new BlockTransission(Material.iron).setBlockName("transission_hatch").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":transission_hatch"); volcano_core = new BlockVolcano().setBlockName("volcano_core").setBlockUnbreakable().setResistance(10000.0F).setCreativeTab(MainRegistry.nukeTab).setBlockTextureName(RefStrings.MODID + ":volcano_core"); + volcano_rad_core = new BlockVolcano().setBlockName("volcano_rad_core").setBlockUnbreakable().setResistance(10000.0F).setCreativeTab(MainRegistry.nukeTab).setBlockTextureName(RefStrings.MODID + ":volcano_rad_core"); statue_elb = new DecoBlockAlt(Material.iron).setBlockName("#null").setHardness(Float.POSITIVE_INFINITY).setResistance(Float.POSITIVE_INFINITY); statue_elb_g = new DecoBlockAlt(Material.iron).setBlockName("#void").setHardness(Float.POSITIVE_INFINITY).setResistance(Float.POSITIVE_INFINITY); @@ -2399,6 +2408,10 @@ public class ModBlocks { FluidRegistry.registerFluid(volcanic_lava_fluid); volcanic_lava_block = new VolcanicBlock(volcanic_lava_fluid, Material.lava).setBlockName("volcanic_lava_block").setResistance(500F); + rad_lava_fluid = new RadFluid().setLuminosity(15).setDensity(3000).setViscosity(3000).setTemperature(1300).setUnlocalizedName("rad_lava_fluid"); + FluidRegistry.registerFluid(rad_lava_fluid); + rad_lava_block = new RadBlock(rad_lava_fluid, Material.lava).setBlockName("rad_lava_block").setResistance(500F); + sulfuric_acid_fluid = new GenericFluid("sulfuric_acid_fluid").setDensity(1840).setViscosity(1000).setTemperature(273); FluidRegistry.registerFluid(sulfuric_acid_fluid); sulfuric_acid_block = new GenericFluidBlock(sulfuric_acid_fluid, Material.water, "sulfuric_acid_still", "sulfuric_acid_flowing").setDamage(ModDamageSource.acid, 5F).setBlockName("sulfuric_acid_block").setResistance(500F); @@ -2543,6 +2556,7 @@ public class ModBlocks { GameRegistry.registerBlock(ore_depth_nether_neodymium, ItemBlockBase.class, ore_depth_nether_neodymium.getUnlocalizedName()); //Basalt ores + register(ore_basalt); GameRegistry.registerBlock(basalt_sulfur, basalt_sulfur.getUnlocalizedName()); GameRegistry.registerBlock(basalt_fluorite, basalt_fluorite.getUnlocalizedName()); GameRegistry.registerBlock(basalt_asbestos, basalt_asbestos.getUnlocalizedName()); @@ -2936,6 +2950,7 @@ public class ModBlocks { register(ore_sellafield_emerald); register(ore_sellafield_uranium_scorched); register(ore_sellafield_schrabidium); + register(ore_sellafield_radgem); GameRegistry.registerBlock(sellafield, ItemBlockNamedMeta.class, sellafield.getUnlocalizedName()); //Geysirs @@ -3459,6 +3474,7 @@ public class ModBlocks { GameRegistry.registerBlock(fire_digamma, fire_digamma.getUnlocalizedName()); GameRegistry.registerBlock(digamma_matter, digamma_matter.getUnlocalizedName()); register(volcano_core); + register(volcano_rad_core); //AMS GameRegistry.registerBlock(ams_base, ams_base.getUnlocalizedName()); @@ -3535,6 +3551,7 @@ public class ModBlocks { GameRegistry.registerBlock(schrabidic_block, schrabidic_block.getUnlocalizedName()); GameRegistry.registerBlock(corium_block, corium_block.getUnlocalizedName()); GameRegistry.registerBlock(volcanic_lava_block, volcanic_lava_block.getUnlocalizedName()); + GameRegistry.registerBlock(rad_lava_block, rad_lava_block.getUnlocalizedName()); GameRegistry.registerBlock(sulfuric_acid_block, sulfuric_acid_block.getUnlocalizedName()); //GameRegistry.registerBlock(concrete_liquid, concrete_liquid.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/blocks/bomb/BlockVolcano.java b/src/main/java/com/hbm/blocks/bomb/BlockVolcano.java index 2766da2ce..0d586e803 100644 --- a/src/main/java/com/hbm/blocks/bomb/BlockVolcano.java +++ b/src/main/java/com/hbm/blocks/bomb/BlockVolcano.java @@ -81,8 +81,9 @@ public class BlockVolcano extends BlockContainer implements ITooltipProvider, IB } public static class TileEntityVolcanoCore extends TileEntity { - + private static List volcanoExplosion = Arrays.asList(new ExAttrib[] {ExAttrib.NODROP, ExAttrib.LAVA_V, ExAttrib.NOSOUND, ExAttrib.ALLMOD, ExAttrib.NOHURT}); + private static List volcanoRadExplosion = Arrays.asList(new ExAttrib[] {ExAttrib.NODROP, ExAttrib.LAVA_R, ExAttrib.NOSOUND, ExAttrib.ALLMOD, ExAttrib.NOHURT}); public int volcanoTimer; @@ -118,15 +119,28 @@ public class BlockVolcano extends BlockContainer implements ITooltipProvider, IB if(this.shouldGrow()) { worldObj.setBlock(xCoord, yCoord + 1, zCoord, this.getBlockType(), this.getBlockMetadata(), 3); - worldObj.setBlock(xCoord, yCoord, zCoord, ModBlocks.volcanic_lava_block); + worldObj.setBlock(xCoord, yCoord, zCoord, getLava()); return; } else if(this.isExtinguishing()) { - worldObj.setBlock(xCoord, yCoord, zCoord, ModBlocks.volcanic_lava_block); + worldObj.setBlock(xCoord, yCoord, zCoord, getLava()); return; } } } } + + public boolean isRadioacitve() { + return this.getBlockType() == ModBlocks.volcano_rad_core; + } + + protected Block getLava() { + if(isRadioacitve()) return ModBlocks.rad_lava_block; + return ModBlocks.volcanic_lava_block; + } + + protected List getExpAttrb() { + return this.isRadioacitve() ? this.volcanoRadExplosion : this.volcanoExplosion; + } @Override public void readFromNBT(NBTTagCompound nbt) { @@ -185,20 +199,15 @@ public class BlockVolcano extends BlockContainer implements ITooltipProvider, IB } /* TODO */ - private boolean doesPyroclastic() { - return false; - } - - private double getPyroclasticRange() { - return 0D; - } + private boolean doesPyroclastic() { return false; } + private double getPyroclasticRange() { return 0D; } /** Causes two magma explosions, one from bedrock to the core and one from the core to 15 blocks above. */ private void blastMagmaChannel() { ExplosionNT explosion = new ExplosionNT(worldObj, null, xCoord + 0.5, yCoord + worldObj.rand.nextInt(15) + 1.5, zCoord + 0.5, 7); - explosion.addAllAttrib(volcanoExplosion).explode(); + explosion.addAllAttrib(getExpAttrb()).explode(); ExplosionNT explosion2 = new ExplosionNT(worldObj, null, xCoord + 0.5 + worldObj.rand.nextGaussian() * 3, worldObj.rand.nextInt(yCoord + 1), zCoord + 0.5 + worldObj.rand.nextGaussian() * 3, 10); - explosion2.addAllAttrib(volcanoExplosion).explode(); + explosion2.addAllAttrib(getExpAttrb()).explode(); } /** Causes two magma explosions at a random position around the core, one at normal and one at half range. */ @@ -207,7 +216,7 @@ public class BlockVolcano extends BlockContainer implements ITooltipProvider, IB for(int i = 0; i < 2; i++) { double dist = size / (double) (i + 1); ExplosionNT explosion = new ExplosionNT(worldObj, null, xCoord + 0.5 + worldObj.rand.nextGaussian() * dist, yCoord + 0.5 + worldObj.rand.nextGaussian() * dist, zCoord + 0.5 + worldObj.rand.nextGaussian() * dist, 7); - explosion.addAllAttrib(volcanoExplosion).explode(); + explosion.addAllAttrib(getExpAttrb()).explode(); } } @@ -224,7 +233,7 @@ public class BlockVolcano extends BlockContainer implements ITooltipProvider, IB if(!b.isAir(worldObj, x, y, z) && b.getExplosionResistance(null) < Blocks.obsidian.getExplosionResistance(null)) { //turn into lava if solid block, otherwise just break - worldObj.setBlock(x, y, z, b.isNormalCube() ? ModBlocks.volcanic_lava_block : Blocks.air); + worldObj.setBlock(x, y, z, b.isNormalCube() ? this.getLava() : Blocks.air); } } } @@ -236,8 +245,8 @@ public class BlockVolcano extends BlockContainer implements ITooltipProvider, IB int rY = yCoord + worldObj.rand.nextInt(11); int rZ = zCoord - 10 + worldObj.rand.nextInt(21); - if(worldObj.getBlock(rX, rY, rZ) == Blocks.air && worldObj.getBlock(rX, rY - 1, rZ) == ModBlocks.volcanic_lava_block) - worldObj.setBlock(rX, rY, rZ, ModBlocks.volcanic_lava_block); + if(worldObj.getBlock(rX, rY, rZ) == Blocks.air && worldObj.getBlock(rX, rY - 1, rZ) == this.getLava()) + worldObj.setBlock(rX, rY, rZ, this.getLava()); } /** Creates a 3x3x3 lava sphere around the core. */ @@ -248,7 +257,7 @@ public class BlockVolcano extends BlockContainer implements ITooltipProvider, IB for(int k = -1; k <= 1; k++) { if(i != 0 || j != 0 || k != 0) { - worldObj.setBlock(xCoord + i, yCoord + j, zCoord + k, ModBlocks.volcanic_lava_block); + worldObj.setBlock(xCoord + i, yCoord + j, zCoord + k, this.getLava()); } } } @@ -264,7 +273,11 @@ public class BlockVolcano extends BlockContainer implements ITooltipProvider, IB frag.motionY = 1D + worldObj.rand.nextDouble(); frag.motionX = worldObj.rand.nextGaussian() * 0.2D; frag.motionZ = worldObj.rand.nextGaussian() * 0.2D; - frag.setVolcano(true); + if(this.isRadioacitve()) { + frag.setRadVolcano(true); + } else { + frag.setVolcano(true); + } worldObj.spawnEntityInWorld(frag); } } diff --git a/src/main/java/com/hbm/blocks/fluid/RadBlock.java b/src/main/java/com/hbm/blocks/fluid/RadBlock.java new file mode 100644 index 000000000..8828bd954 --- /dev/null +++ b/src/main/java/com/hbm/blocks/fluid/RadBlock.java @@ -0,0 +1,71 @@ +package com.hbm.blocks.fluid; + +import java.util.Random; + +import com.hbm.blocks.ModBlocks; +import com.hbm.lib.RefStrings; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.init.Blocks; +import net.minecraft.util.IIcon; +import net.minecraft.world.World; +import net.minecraftforge.fluids.Fluid; + +public class RadBlock extends VolcanicBlock { + + @SideOnly(Side.CLIENT) public static IIcon stillIconRad; + @SideOnly(Side.CLIENT) public static IIcon flowingIconRad; + + public RadBlock(Fluid fluid, Material material) { + super(fluid, material); + } + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister register) { + stillIconRad = register.registerIcon(RefStrings.MODID + ":rad_lava_still"); + flowingIconRad = register.registerIcon(RefStrings.MODID + ":rad_lava_flowing"); + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(int side, int meta) { + return (side == 0 || side == 1) ? stillIconRad : flowingIconRad; + } + + @Override + public void onSolidify(World world, int x, int y, int z, int lavaCount, int basaltCount, Random rand) { + int r = rand.nextInt(400); + + Block above = world.getBlock(x, y + 10, z); + boolean canMakeGem = lavaCount + basaltCount == 6 && lavaCount < 3 && (above == ModBlocks.sellafield_slaked || above == ModBlocks.rad_lava_block); + int meta = 5 + rand.nextInt(3); + + if(r < 2) world.setBlock(x, y, z, ModBlocks.ore_sellafield_diamond, meta, 3); + else if(r == 2) world.setBlock(x, y, z, ModBlocks.ore_sellafield_emerald, meta, 3); + else if(r < 20 && canMakeGem) world.setBlock(x, y, z, ModBlocks.ore_sellafield_radgem, meta, 3); + else world.setBlock(x, y, z, ModBlocks.sellafield_slaked, meta, 3); + } + + @Override + public Block getBasaltForCheck() { + return ModBlocks.sellafield_slaked; + } + + @Override + public Block getReaction(World world, int x, int y, int z) { + + Block b = world.getBlock(x, y, z); + if(b.getMaterial() == Material.water) return Blocks.stone; + if(b == Blocks.log || b == Blocks.log2) return ModBlocks.waste_log; + if(b == Blocks.planks) return ModBlocks.waste_planks; + if(b == Blocks.leaves || b == Blocks.leaves2) return Blocks.fire; + if(b == Blocks.diamond_ore) return ModBlocks.ore_sellafield_radgem; + if(b == ModBlocks.ore_uranium || b == ModBlocks.ore_gneiss_uranium) return world.rand.nextInt(5) == 0 ? ModBlocks.ore_sellafield_schrabidium : ModBlocks.ore_sellafield_uranium_scorched; + return null; + } +} diff --git a/src/main/java/com/hbm/blocks/fluid/RadFluid.java b/src/main/java/com/hbm/blocks/fluid/RadFluid.java new file mode 100644 index 000000000..77de22cab --- /dev/null +++ b/src/main/java/com/hbm/blocks/fluid/RadFluid.java @@ -0,0 +1,31 @@ +package com.hbm.blocks.fluid; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.util.IIcon; +import net.minecraftforge.fluids.Fluid; + +public class RadFluid extends Fluid { + + public RadFluid() { + super("rad_lava_fluid"); + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon() { + return getStillIcon(); + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getStillIcon() { + return RadBlock.stillIconRad; + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getFlowingIcon() { + return RadBlock.flowingIconRad; + } +} diff --git a/src/main/java/com/hbm/blocks/fluid/VolcanicBlock.java b/src/main/java/com/hbm/blocks/fluid/VolcanicBlock.java index d81ec02ad..d82d67808 100644 --- a/src/main/java/com/hbm/blocks/fluid/VolcanicBlock.java +++ b/src/main/java/com/hbm/blocks/fluid/VolcanicBlock.java @@ -51,26 +51,18 @@ public class VolcanicBlock extends BlockFluidClassic { for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) { Block b = getReaction(world, x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ); - if(b != null) - world.setBlock(x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ, b); + if(b != null) world.setBlock(x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ, b, b == ModBlocks.ore_basalt ? 3 : 0, 3); } } public Block getReaction(World world, int x, int y, int z) { Block b = world.getBlock(x, y, z); - if(b.getMaterial() == Material.water) { - return Blocks.stone; - } - if(b == Blocks.log || b == Blocks.log2) { - return ModBlocks.waste_log; - } - if(b == Blocks.planks) { - return ModBlocks.waste_planks; - } - if(b == Blocks.leaves || b == Blocks.leaves2) { - return Blocks.fire; - } + if(b.getMaterial() == Material.water) return Blocks.stone; + if(b == Blocks.log || b == Blocks.log2) return ModBlocks.waste_log; + if(b == Blocks.planks) return ModBlocks.waste_planks; + if(b == Blocks.leaves || b == Blocks.leaves2) return Blocks.fire; + if(b == Blocks.diamond_ore) return ModBlocks.ore_basalt; return null; } @@ -87,30 +79,33 @@ public class VolcanicBlock extends BlockFluidClassic { if(b == this) lavaCount++; - if(b == ModBlocks.basalt) { + if(b == getBasaltForCheck()) { basaltCount++; } } if(!world.isRemote && ((!this.isSourceBlock(world, x, y, z) && lavaCount < 2) || (rand.nextInt(5) == 0) && lavaCount < 5) && world.getBlock(x, y - 1, z) != this) { - - int r = rand.nextInt(200); - - Block above = world.getBlock(x, y + 10, z); - boolean canMakeGem = lavaCount + basaltCount == 6 && lavaCount < 3 && (above == ModBlocks.basalt || above == ModBlocks.volcanic_lava_block); - - if(r < 2) - world.setBlock(x, y, z, ModBlocks.basalt_sulfur); - else if(r == 2) - world.setBlock(x, y, z, ModBlocks.basalt_asbestos); - else if(r == 3) - world.setBlock(x, y, z, ModBlocks.basalt_fluorite); - else if(r < 14 && canMakeGem) - world.setBlock(x, y, z, ModBlocks.basalt_gem); - else - world.setBlock(x, y, z, ModBlocks.basalt); + this.onSolidify(world, x, y, z, lavaCount, basaltCount, rand); } } + + public Block getBasaltForCheck() { + return ModBlocks.basalt; + } + + public void onSolidify(World world, int x, int y, int z, int lavaCount, int basaltCount, Random rand) { + int r = rand.nextInt(200); + + Block above = world.getBlock(x, y + 10, z); + boolean canMakeGem = lavaCount + basaltCount == 6 && lavaCount < 3 && (above == ModBlocks.basalt || above == ModBlocks.volcanic_lava_block); + + if(r < 2) world.setBlock(x, y, z, ModBlocks.ore_basalt, 0, 3); + else if(r == 2) world.setBlock(x, y, z, ModBlocks.ore_basalt, 1, 3); + else if(r == 3) world.setBlock(x, y, z, ModBlocks.ore_basalt, 2, 3); + else if(r == 4) world.setBlock(x, y, z, ModBlocks.ore_basalt, 4, 3); + else if(r < 15 && canMakeGem) world.setBlock(x, y, z, ModBlocks.ore_basalt, 3, 3); + else world.setBlock(x, y, z, ModBlocks.basalt); + } @Override public boolean canDisplace(IBlockAccess world, int x, int y, int z) { diff --git a/src/main/java/com/hbm/blocks/gas/BlockGasClorine.java b/src/main/java/com/hbm/blocks/gas/BlockGasClorine.java index 19033a933..f35be20f5 100644 --- a/src/main/java/com/hbm/blocks/gas/BlockGasClorine.java +++ b/src/main/java/com/hbm/blocks/gas/BlockGasClorine.java @@ -40,7 +40,7 @@ public class BlockGasClorine extends BlockGasBase { EntityLivingBase entityLiving = (EntityLivingBase) entity; - if(ArmorRegistry.hasAllProtection(entityLiving, 3, HazardClass.GAS_CHLORINE)) { + if(ArmorRegistry.hasAllProtection(entityLiving, 3, HazardClass.GAS_LUNG)) { ArmorUtil.damageGasMaskFilter(entityLiving, 1); } else { diff --git a/src/main/java/com/hbm/blocks/generic/BlockFissure.java b/src/main/java/com/hbm/blocks/generic/BlockFissure.java index 003bd8e23..dac40abf0 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockFissure.java +++ b/src/main/java/com/hbm/blocks/generic/BlockFissure.java @@ -1,6 +1,9 @@ package com.hbm.blocks.generic; +import java.util.Random; + import com.hbm.blocks.IBlockMultiPass; +import com.hbm.blocks.ModBlocks; import com.hbm.lib.RefStrings; import com.hbm.render.block.RenderBlockMultipass; @@ -11,6 +14,7 @@ import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.init.Blocks; import net.minecraft.util.IIcon; +import net.minecraft.world.World; public class BlockFissure extends Block implements IBlockMultiPass { @@ -21,6 +25,7 @@ public class BlockFissure extends Block implements IBlockMultiPass { this.setBlockTextureName("bedrock"); this.setBlockUnbreakable(); this.setResistance(1_000_000); + this.setTickRandomly(true); } @Override @@ -41,6 +46,16 @@ public class BlockFissure extends Block implements IBlockMultiPass { return this.overlay; } + @Override + public void updateTick(World world, int x, int y, int z, Random rand) { + if(world.getBlock(x, y + 1, z).isReplaceable(world, x, y + 1, z)) world.setBlock(x, y + 1, z, ModBlocks.volcanic_lava_block); + } + + @Override + public boolean shouldRenderItemMulti() { + return true; + } + @Override public int getPasses() { return 2; diff --git a/src/main/java/com/hbm/blocks/generic/BlockOreBasalt.java b/src/main/java/com/hbm/blocks/generic/BlockOreBasalt.java new file mode 100644 index 000000000..51affeaad --- /dev/null +++ b/src/main/java/com/hbm/blocks/generic/BlockOreBasalt.java @@ -0,0 +1,74 @@ +package com.hbm.blocks.generic; + +import java.util.Locale; +import java.util.Random; + +import com.hbm.blocks.BlockEnumMulti; +import com.hbm.blocks.ModBlocks; +import com.hbm.items.ModItems; + +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.entity.Entity; +import net.minecraft.init.Blocks; +import net.minecraft.item.Item; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +public class BlockOreBasalt extends BlockEnumMulti { + + public BlockOreBasalt() { + super(Material.rock, EnumBasaltOreType.class, true, true); + } + + public static enum EnumBasaltOreType { + SULFUR, + FLUORITE, + ASBESTOS, + GEM, + MOLYSITE + } + + public String getTextureMultiName(Enum num) { + return this.getTextureName() + "_" + num.name().toLowerCase(Locale.US); + } + + public String getUnlocalizedMultiName(Enum num) { + return super.getUnlocalizedName() + "_" + num.name().toLowerCase(Locale.US); + } + + @Override + public Item getItemDropped(int meta, Random rand, int fortune) { + if(meta == EnumBasaltOreType.SULFUR.ordinal()) return ModItems.sulfur; + if(meta == EnumBasaltOreType.FLUORITE.ordinal()) return ModItems.fluorite; + if(meta == EnumBasaltOreType.ASBESTOS.ordinal()) return ModItems.ingot_asbestos; + if(meta == EnumBasaltOreType.GEM.ordinal()) return ModItems.gem_volcanic; + if(meta == EnumBasaltOreType.MOLYSITE.ordinal()) return ModItems.powder_molysite; + return super.getItemDropped(meta, rand, fortune); + } + + @Override + public void onEntityWalking(World world, int x, int y, int z, Entity entity) { + int meta = world.getBlockMetadata(x, y, z); + if(meta == EnumBasaltOreType.ASBESTOS.ordinal() && world.getBlock(x, y + 1, z) == Blocks.air) { + if(world.rand.nextInt(10) == 0) world.setBlock(x, y + 1, z, ModBlocks.gas_asbestos); + for(int i = 0; i < 5; i++) world.spawnParticle("townaura", x + world.rand.nextFloat(), y + 1.1, z + world.rand.nextFloat(), 0.0D, 0.0D, 0.0D); + } + } + + @Override + public void onNeighborBlockChange(World world, int x, int y, int z, Block block) { + int meta = world.getBlockMetadata(x, y, z); + if(meta == EnumBasaltOreType.ASBESTOS.ordinal()) for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) { + if(world.getBlock(x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ) == Blocks.air) { + world.setBlock(x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ, ModBlocks.gas_asbestos); + } + } + } + + @Override + public void dropBlockAsItemWithChance(World world, int x, int y, int z, int meta, float chance, int fortune) { + if(meta == EnumBasaltOreType.ASBESTOS.ordinal()) world.setBlock(x, y, z, ModBlocks.gas_asbestos); + super.dropBlockAsItemWithChance(world, x, y, z, meta, chance, fortune); + } +} diff --git a/src/main/java/com/hbm/blocks/generic/BlockSellafieldOre.java b/src/main/java/com/hbm/blocks/generic/BlockSellafieldOre.java index a923c5343..262b2e60e 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockSellafieldOre.java +++ b/src/main/java/com/hbm/blocks/generic/BlockSellafieldOre.java @@ -4,6 +4,7 @@ import java.util.Random; import com.hbm.blocks.IBlockMultiPass; import com.hbm.blocks.ModBlocks; +import com.hbm.items.ModItems; import com.hbm.render.block.RenderBlockMultipass; import cpw.mods.fml.relauncher.Side; @@ -69,6 +70,7 @@ public class BlockSellafieldOre extends BlockSellafieldSlaked implements IBlockM public Item getItemDropped(int meta, Random rand, int fortune) { if(this == ModBlocks.ore_sellafield_diamond) return Items.diamond; if(this == ModBlocks.ore_sellafield_emerald) return Items.emerald; + if(this == ModBlocks.ore_sellafield_radgem) return ModItems.gem_rad; return Item.getItemFromBlock(this); } @@ -97,6 +99,7 @@ public class BlockSellafieldOre extends BlockSellafieldSlaked implements IBlockM if(this == ModBlocks.ore_sellafield_diamond) j1 = MathHelper.getRandomIntegerInRange(rand, 3, 7); if(this == ModBlocks.ore_sellafield_emerald) j1 = MathHelper.getRandomIntegerInRange(rand, 3, 7); + if(this == ModBlocks.ore_sellafield_radgem) j1 = MathHelper.getRandomIntegerInRange(rand, 3, 7); return j1; } diff --git a/src/main/java/com/hbm/config/FalloutConfigJSON.java b/src/main/java/com/hbm/config/FalloutConfigJSON.java index 645a12413..b962781da 100644 --- a/src/main/java/com/hbm/config/FalloutConfigJSON.java +++ b/src/main/java/com/hbm/config/FalloutConfigJSON.java @@ -87,6 +87,7 @@ public class FalloutConfigJSON { entries.add(new FalloutEntry().prim(new Triplet(ModBlocks.ore_sellafield_emerald, m, 1)) .max(i * 5).sol(true).mB(ModBlocks.ore_beryllium)); entries.add(new FalloutEntry().prim(new Triplet(ModBlocks.ore_sellafield_schrabidium, m, 1), new Triplet(ModBlocks.ore_sellafield_uranium_scorched, m, 99)) .max(i * 5).sol(true).mB(ModBlocks.ore_uranium)); entries.add(new FalloutEntry().prim(new Triplet(ModBlocks.ore_sellafield_schrabidium, m, 1), new Triplet(ModBlocks.ore_sellafield_uranium_scorched, m, 99)) .max(i * 5).sol(true).mB(ModBlocks.ore_gneiss_uranium)); + entries.add(new FalloutEntry().prim(new Triplet(ModBlocks.ore_sellafield_radgem, m, 1)) .max(i * 5).sol(true).mB(Blocks.diamond_ore)); entries.add(new FalloutEntry() .prim(new Triplet(ModBlocks.sellafield_slaked, m, 1)).max(i * 5).sol(true).mMa(Material.rock)); entries.add(new FalloutEntry() .prim(new Triplet(ModBlocks.sellafield_slaked, m, 1)).max(i * 5).sol(true).mMa(Material.sand)); entries.add(new FalloutEntry() .prim(new Triplet(ModBlocks.sellafield_slaked, m, 1)).max(i * 5).sol(true).mMa(Material.ground)); diff --git a/src/main/java/com/hbm/crafting/WeaponRecipes.java b/src/main/java/com/hbm/crafting/WeaponRecipes.java index d820dd9dc..885ec1a96 100644 --- a/src/main/java/com/hbm/crafting/WeaponRecipes.java +++ b/src/main/java/com/hbm/crafting/WeaponRecipes.java @@ -379,7 +379,7 @@ public class WeaponRecipes { CraftingManager.addRecipeAuto(new ItemStack(ModBlocks.tnt, 1), new Object[] { "DDD", "DSD", "DDD", 'D', ModItems.stick_tnt, 'S', ModItems.safety_fuse }); CraftingManager.addRecipeAuto(new ItemStack(ModBlocks.semtex, 1), new Object[] { "DDD", "DSD", "DDD", 'D', ModItems.stick_semtex, 'S', ModItems.safety_fuse }); CraftingManager.addRecipeAuto(new ItemStack(ModBlocks.c4, 1), new Object[] { "DDD", "DSD", "DDD", 'D', ModItems.stick_c4, 'S', ModItems.safety_fuse }); - CraftingManager.addRecipeAuto(new ItemStack(ModBlocks.fissure_bomb, 1), new Object[] { "SUS", "RPR", "SUS", 'S', ModBlocks.semtex, 'U', U238.block(), 'R', OreDictManager.getReflector(), 'P', PU239.billet() }); + CraftingManager.addRecipeAuto(new ItemStack(ModBlocks.fissure_bomb, 1), new Object[] { "SUS", "RPR", "SUS", 'S', ModBlocks.semtex, 'U', U238.block(), 'R', TA.ingot(), 'P', PU239.billet() }); //IF Grenades diff --git a/src/main/java/com/hbm/entity/effect/EntityFalloutRain.java b/src/main/java/com/hbm/entity/effect/EntityFalloutRain.java index 40bae46eb..458419d3d 100644 --- a/src/main/java/com/hbm/entity/effect/EntityFalloutRain.java +++ b/src/main/java/com/hbm/entity/effect/EntityFalloutRain.java @@ -164,10 +164,15 @@ public class EntityFalloutRain extends Entity { if(b.getMaterial() == Material.air) continue; if(b == Blocks.bedrock) return; + if(b == ModBlocks.volcano_core) { + worldObj.setBlock(x, y, z, ModBlocks.volcano_rad_core, worldObj.getBlockMetadata(x, y, z), 3); + continue; + } + Block ab = worldObj.getBlock(x, y + 1, z); int meta = worldObj.getBlockMetadata(x, y, z); - if(b != ModBlocks.fallout && (ab == Blocks.air || (ab.isReplaceable(worldObj, x, y + 1, z) && !ab.getMaterial().isLiquid()))) { + if(depth == 0 && b != ModBlocks.fallout && (ab == Blocks.air || (ab.isReplaceable(worldObj, x, y + 1, z) && !ab.getMaterial().isLiquid()))) { double d = dist / 100; diff --git a/src/main/java/com/hbm/entity/projectile/EntityShrapnel.java b/src/main/java/com/hbm/entity/projectile/EntityShrapnel.java index c7cc1a674..a847e7e96 100644 --- a/src/main/java/com/hbm/entity/projectile/EntityShrapnel.java +++ b/src/main/java/com/hbm/entity/projectile/EntityShrapnel.java @@ -52,13 +52,14 @@ public class EntityShrapnel extends EntityThrowable { if(!worldObj.isRemote) this.setDead(); - if(this.dataWatcher.getWatchableObjectByte(16) == 2) { + int b = this.dataWatcher.getWatchableObjectByte(16); + if(b == 2 || b == 4) { if(!worldObj.isRemote) { if(motionY < -0.2D) { if(worldObj.getBlock(mop.blockX, mop.blockY + 1, mop.blockZ).isReplaceable(worldObj, mop.blockX, mop.blockY + 1, mop.blockZ)) - worldObj.setBlock(mop.blockX, mop.blockY + 1, mop.blockZ, ModBlocks.volcanic_lava_block); + worldObj.setBlock(mop.blockX, mop.blockY + 1, mop.blockZ, b == 2 ? ModBlocks.volcanic_lava_block : ModBlocks.rad_lava_block); for(int x = mop.blockX - 1; x <= mop.blockX + 1; x++) { for(int y = mop.blockY; y <= mop.blockY + 2; y++) { @@ -73,7 +74,7 @@ public class EntityShrapnel extends EntityThrowable { if(motionY > 0) { ExplosionNT explosion = new ExplosionNT(worldObj, null, mop.blockX + 0.5, mop.blockY + 0.5, mop.blockZ + 0.5, 7); explosion.addAttrib(ExAttrib.NODROP); - explosion.addAttrib(ExAttrib.LAVA_V); + explosion.addAttrib(b == 2 ? ExAttrib.LAVA_V : ExAttrib.LAVA_R); explosion.addAttrib(ExAttrib.NOSOUND); explosion.addAttrib(ExAttrib.ALLMOD); explosion.addAttrib(ExAttrib.NOHURT); @@ -108,6 +109,10 @@ public class EntityShrapnel extends EntityThrowable { this.dataWatcher.updateObject(16, (byte) (b ? 3 : 0)); } + public void setRadVolcano(boolean b) { + this.dataWatcher.updateObject(16, (byte) (b ? 4 : 0)); + } + @Override public boolean writeToNBTOptional(NBTTagCompound nbt) { return false; diff --git a/src/main/java/com/hbm/explosion/ExplosionChaos.java b/src/main/java/com/hbm/explosion/ExplosionChaos.java index 820f3df46..ea23952ef 100644 --- a/src/main/java/com/hbm/explosion/ExplosionChaos.java +++ b/src/main/java/com/hbm/explosion/ExplosionChaos.java @@ -538,7 +538,7 @@ public class ExplosionChaos { if(entity.getDistance(x, y, z) > range) continue; - if(ArmorRegistry.hasAnyProtection(entity, 3, HazardClass.GAS_CHLORINE, HazardClass.GAS_CORROSIVE)) { + if(ArmorRegistry.hasAnyProtection(entity, 3, HazardClass.GAS_LUNG, HazardClass.GAS_BLISTERING)) { ArmorUtil.damageGasMaskFilter(entity, 1); } else { entity.addPotionEffect(new PotionEffect(Potion.blindness.getId(), 5 * 20, 0)); diff --git a/src/main/java/com/hbm/explosion/ExplosionNT.java b/src/main/java/com/hbm/explosion/ExplosionNT.java index 1f56cc251..5de3072b3 100644 --- a/src/main/java/com/hbm/explosion/ExplosionNT.java +++ b/src/main/java/com/hbm/explosion/ExplosionNT.java @@ -273,6 +273,8 @@ public class ExplosionNT extends Explosion { } } else if(has(ExAttrib.LAVA_V)) { this.worldObj.setBlock(i, j, k, ModBlocks.volcanic_lava_block); + } else if(has(ExAttrib.LAVA_R)) { + this.worldObj.setBlock(i, j, k, ModBlocks.rad_lava_block); } } } @@ -327,7 +329,8 @@ public class ExplosionNT extends Explosion { DIGAMMA, DIGAMMA_CIRCUIT, LAVA, //again the same thing but lava - LAVA_V, //again the same thing but volcaniclava + LAVA_V, //again the same thing but volcanic lava + LAVA_R, //again the same thing but radioactive lava ERRODE, //will turn select blocks into gravel or sand ALLMOD, //block placer attributes like fire are applied for all destroyed blocks ALLDROP, //miner TNT! diff --git a/src/main/java/com/hbm/handler/EntityEffectHandler.java b/src/main/java/com/hbm/handler/EntityEffectHandler.java index b9ec033e7..61e96b2b2 100644 --- a/src/main/java/com/hbm/handler/EntityEffectHandler.java +++ b/src/main/java/com/hbm/handler/EntityEffectHandler.java @@ -528,7 +528,7 @@ public class EntityEffectHandler { if(!RadiationConfig.enablePollution) return; - if(RadiationConfig.enablePoison && !ArmorRegistry.hasProtection(entity, 3, HazardClass.GAS_CORROSIVE) && entity.ticksExisted % 60 == 0) { + if(RadiationConfig.enablePoison && !ArmorRegistry.hasProtection(entity, 3, HazardClass.GAS_BLISTERING) && entity.ticksExisted % 60 == 0) { float poison = PollutionHandler.getPollution(entity.worldObj, (int) Math.floor(entity.posX), (int) Math.floor(entity.posY + entity.getEyeHeight()), (int) Math.floor(entity.posZ), PollutionType.POISON); diff --git a/src/main/java/com/hbm/handler/guncfg/BulletConfigFactory.java b/src/main/java/com/hbm/handler/guncfg/BulletConfigFactory.java index 9e1e8bc13..5dac19082 100644 --- a/src/main/java/com/hbm/handler/guncfg/BulletConfigFactory.java +++ b/src/main/java/com/hbm/handler/guncfg/BulletConfigFactory.java @@ -376,7 +376,7 @@ public class BulletConfigFactory { EntityLivingBase entity = (EntityLivingBase) e; - if(ArmorRegistry.hasAllProtection(entity, 3, HazardClass.GAS_CHLORINE)) + if(ArmorRegistry.hasAllProtection(entity, 3, HazardClass.GAS_LUNG)) continue; PotionEffect eff0 = new PotionEffect(Potion.poison.id, duration, 2, true); diff --git a/src/main/java/com/hbm/inventory/OreDictManager.java b/src/main/java/com/hbm/inventory/OreDictManager.java index 4995290e8..930675550 100644 --- a/src/main/java/com/hbm/inventory/OreDictManager.java +++ b/src/main/java/com/hbm/inventory/OreDictManager.java @@ -12,6 +12,7 @@ import static com.hbm.inventory.OreDictManager.DictFrame.*; import static com.hbm.inventory.OreNames.*; import com.hbm.blocks.ModBlocks; +import com.hbm.blocks.generic.BlockOreBasalt.EnumBasaltOreType; import com.hbm.blocks.BlockEnums.EnumStoneType; import com.hbm.config.GeneralConfig; import com.hbm.hazard.HazardData; @@ -216,6 +217,7 @@ public class OreDictManager { public static final DictFrame CINNABAR = new DictFrame("Cinnabar"); public static final DictFrame BORAX = new DictFrame("Borax"); public static final DictFrame CHLOROCALCITE = new DictFrame("Chlorocalcite"); + public static final DictFrame MOLYSITE = new DictFrame("Molysite"); public static final DictFrame SODALITE = new DictFrame("Sodalite"); public static final DictFrame VOLCANIC = new DictFrame("Volcanic"); public static final DictFrame HEMATITE = new DictFrame("Hematite"); @@ -390,15 +392,15 @@ public class OreDictManager { EUPH .nugget(nugget_euphemium) .ingot(ingot_euphemium) .dust(powder_euphemium) .block(block_euphemium); DNT .nugget(nugget_dineutronium) .ingot(ingot_dineutronium) .dust(powder_dineutronium) .block(block_dineutronium); FIBER .ingot(ingot_fiberglass) .block(block_fiberglass); - ASBESTOS .asbestos(1F) .ingot(ingot_asbestos) .dust(powder_asbestos) .block(block_asbestos) .ore(ore_asbestos, ore_gneiss_asbestos, basalt_asbestos, DictFrame.fromOne(stone_resource, EnumStoneType.ASBESTOS)); + ASBESTOS .asbestos(1F) .ingot(ingot_asbestos) .dust(powder_asbestos) .block(block_asbestos) .ore(ore_asbestos, ore_gneiss_asbestos, basalt_asbestos, DictFrame.fromOne(ore_basalt, EnumBasaltOreType.ASBESTOS), DictFrame.fromOne(stone_resource, EnumStoneType.ASBESTOS)); OSMIRIDIUM .nugget(nugget_osmiridium) .ingot(ingot_osmiridium); /* * DUST AND GEM ORES */ - S .dust(sulfur) .block(block_sulfur) .ore(ore_sulfur, ore_nether_sulfur, basalt_sulfur, ore_meteor_sulfur, DictFrame.fromOne(stone_resource, EnumStoneType.SULFUR)) .oreNether(ore_nether_sulfur); + S .dust(sulfur) .block(block_sulfur) .ore(ore_sulfur, ore_nether_sulfur, basalt_sulfur, DictFrame.fromOne(ore_basalt, EnumBasaltOreType.SULFUR), ore_meteor_sulfur, DictFrame.fromOne(stone_resource, EnumStoneType.SULFUR)) .oreNether(ore_nether_sulfur); KNO .dust(niter) .block(block_niter) .ore(ore_niter); - F .dust(fluorite) .block(block_fluorite) .ore(ore_fluorite, basalt_fluorite); + F .dust(fluorite) .block(block_fluorite) .ore(ore_fluorite, basalt_fluorite, DictFrame.fromOne(ore_basalt, EnumBasaltOreType.FLUORITE)); LIGNITE .gem(lignite) .dust(powder_lignite) .ore(ore_lignite); COALCOKE .gem(fromOne(coke, EnumCokeType.COAL)) .block(fromOne(block_coke, EnumCokeType.COAL)); PETCOKE .gem(fromOne(coke, EnumCokeType.PETROLEUM)) .block(fromOne(block_coke, EnumCokeType.PETROLEUM)); @@ -406,8 +408,9 @@ public class OreDictManager { CINNABAR .crystal(cinnebar) .gem(cinnebar) .ore(ore_cinnebar, ore_depth_cinnebar); BORAX .dust(powder_borax) .ore(ore_depth_borax); CHLOROCALCITE .dust(powder_chlorocalcite); + MOLYSITE .dust(powder_molysite) .ore(DictFrame.fromOne(ore_basalt, EnumBasaltOreType.MOLYSITE)); SODALITE .gem(gem_sodalite); - VOLCANIC .gem(gem_volcanic) .ore(basalt_gem); + VOLCANIC .gem(gem_volcanic) .ore(basalt_gem, DictFrame.fromOne(ore_basalt, EnumBasaltOreType.GEM)); HEMATITE .ore(fromOne(stone_resource, EnumStoneType.HEMATITE)); MALACHITE .ore(fromOne(stone_resource, EnumStoneType.MALACHITE)); SLAG .block(block_slag); diff --git a/src/main/java/com/hbm/inventory/fluid/Fluids.java b/src/main/java/com/hbm/inventory/fluid/Fluids.java index 2669476ed..527133b66 100644 --- a/src/main/java/com/hbm/inventory/fluid/Fluids.java +++ b/src/main/java/com/hbm/inventory/fluid/Fluids.java @@ -496,12 +496,12 @@ public class Fluids { metaOrder.add(PHEROMONE_M); for(FluidType custom : customFluids) metaOrder.add(custom); - CHLORINE.addTraits(new FT_Toxin().addEntry(new ToxinDirectDamage(ModDamageSource.cloud, 2F, 20, HazardClass.GAS_CHLORINE, false))); - PHOSGENE.addTraits(new FT_Toxin().addEntry(new ToxinDirectDamage(ModDamageSource.cloud, 4F, 20, HazardClass.GAS_CHLORINE, false))); - MUSTARDGAS.addTraits(new FT_Toxin().addEntry(new ToxinDirectDamage(ModDamageSource.cloud, 4F, 10, HazardClass.GAS_CORROSIVE, false)) - .addEntry(new ToxinEffects(HazardClass.GAS_CORROSIVE, true).add(new PotionEffect(Potion.wither.id, 100, 1), new PotionEffect(Potion.confusion.id, 100, 0)))); + CHLORINE.addTraits(new FT_Toxin().addEntry(new ToxinDirectDamage(ModDamageSource.cloud, 2F, 20, HazardClass.GAS_LUNG, false))); + PHOSGENE.addTraits(new FT_Toxin().addEntry(new ToxinDirectDamage(ModDamageSource.cloud, 4F, 20, HazardClass.GAS_LUNG, false))); + MUSTARDGAS.addTraits(new FT_Toxin().addEntry(new ToxinDirectDamage(ModDamageSource.cloud, 4F, 10, HazardClass.GAS_BLISTERING, false)) + .addEntry(new ToxinEffects(HazardClass.GAS_BLISTERING, true).add(new PotionEffect(Potion.wither.id, 100, 1), new PotionEffect(Potion.confusion.id, 100, 0)))); ESTRADIOL.addTraits(new FT_Toxin().addEntry(new ToxinEffects(HazardClass.PARTICLE_FINE, false).add(new PotionEffect(HbmPotion.death.id, 60 * 60 * 20, 0)))); - REDMUD.addTraits(new FT_Toxin().addEntry(new ToxinEffects(HazardClass.GAS_CORROSIVE, false).add(new PotionEffect(Potion.wither.id, 30 * 20, 2)))); + REDMUD.addTraits(new FT_Toxin().addEntry(new ToxinEffects(HazardClass.GAS_BLISTERING, false).add(new PotionEffect(Potion.wither.id, 30 * 20, 2)))); double eff_steam_boil = 1.0D; double eff_steam_heatex = 0.25D; diff --git a/src/main/java/com/hbm/inventory/recipes/CombinationRecipes.java b/src/main/java/com/hbm/inventory/recipes/CombinationRecipes.java index 2b70c1359..3c5b8bdd2 100644 --- a/src/main/java/com/hbm/inventory/recipes/CombinationRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/CombinationRecipes.java @@ -45,6 +45,7 @@ public class CombinationRecipes extends SerializableRecipe { recipes.put(new ComparableStack(DictFrame.fromOne(ModItems.briquette, EnumBriquetteType.LIGNITE)), new Pair(DictFrame.fromOne(ModItems.coke, EnumCokeType.LIGNITE), new FluidStack(Fluids.COALCREOSOTE, 100))); //recipes.put(CHLOROCALCITE.dust(), new Pair(new ItemStack(ModItems.powder_calcium), new FluidStack(Fluids.CHLORINE, 250))); + recipes.put(MOLYSITE.dust(), new Pair(new ItemStack(Items.iron_ingot), new FluidStack(Fluids.CHLORINE, 250))); recipes.put(CINNABAR.crystal(), new Pair(new ItemStack(ModItems.sulfur), new FluidStack(Fluids.MERCURY, 100))); recipes.put(new ComparableStack(Items.glowstone_dust), new Pair(new ItemStack(ModItems.sulfur), new FluidStack(Fluids.CHLORINE, 100))); recipes.put(SODALITE.gem(), new Pair(new ItemStack(ModItems.powder_sodium), new FluidStack(Fluids.CHLORINE, 100))); diff --git a/src/main/java/com/hbm/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index a640258bd..506af64a9 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -425,6 +425,7 @@ public class ModItems { public static Item gem_sodalite; public static Item gem_tantalium; public static Item gem_volcanic; + public static Item gem_rad; public static Item gem_alexandrite; public static Item powder_lead; @@ -523,6 +524,7 @@ public class ModItems { public static Item powder_impure_osmiridium; public static Item powder_borax; public static Item powder_chlorocalcite; + public static Item powder_molysite; public static Item powder_lanthanium; public static Item powder_actinium; @@ -2859,6 +2861,7 @@ public class ModItems { gem_sodalite = new ItemCustomLore().setUnlocalizedName("gem_sodalite").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":gem_sodalite"); gem_tantalium = new ItemCustomLore().setUnlocalizedName("gem_tantalium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":gem_tantalium"); gem_volcanic = new ItemCustomLore().setRarity(EnumRarity.uncommon).setUnlocalizedName("gem_volcanic").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":gem_volcanic"); + gem_rad = new ItemCustomLore().setRarity(EnumRarity.uncommon).setUnlocalizedName("gem_rad").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":gem_rad"); gem_alexandrite = new ItemAlexandrite().setUnlocalizedName("gem_alexandrite").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":gem_alexandrite"); powder_lead = new Item().setUnlocalizedName("powder_lead").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_lead"); @@ -2965,6 +2968,7 @@ public class ModItems { powder_impure_osmiridium = new Item().setUnlocalizedName("powder_impure_osmiridium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_impure_osmiridium"); powder_borax = new Item().setUnlocalizedName("powder_borax").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_borax"); powder_chlorocalcite = new Item().setUnlocalizedName("powder_chlorocalcite").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_chlorocalcite"); + powder_molysite = new Item().setUnlocalizedName("powder_molysite").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_molysite"); fragment_neodymium = new Item().setUnlocalizedName("fragment_neodymium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":fragment_neodymium"); fragment_cobalt = new Item().setUnlocalizedName("fragment_cobalt").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":fragment_cobalt"); @@ -5819,6 +5823,7 @@ public class ModItems { GameRegistry.registerItem(powder_impure_osmiridium, powder_impure_osmiridium.getUnlocalizedName()); GameRegistry.registerItem(powder_borax, powder_borax.getUnlocalizedName()); GameRegistry.registerItem(powder_chlorocalcite, powder_chlorocalcite.getUnlocalizedName()); + GameRegistry.registerItem(powder_molysite, powder_molysite.getUnlocalizedName()); GameRegistry.registerItem(powder_yellowcake, powder_yellowcake.getUnlocalizedName()); GameRegistry.registerItem(powder_beryllium, powder_beryllium.getUnlocalizedName()); GameRegistry.registerItem(powder_dura_steel, powder_dura_steel.getUnlocalizedName()); @@ -5944,6 +5949,7 @@ public class ModItems { GameRegistry.registerItem(gem_sodalite, gem_sodalite.getUnlocalizedName()); GameRegistry.registerItem(gem_tantalium, gem_tantalium.getUnlocalizedName()); GameRegistry.registerItem(gem_volcanic, gem_volcanic.getUnlocalizedName()); + GameRegistry.registerItem(gem_rad, gem_rad.getUnlocalizedName()); GameRegistry.registerItem(gem_alexandrite, gem_alexandrite.getUnlocalizedName()); //Fragments diff --git a/src/main/java/com/hbm/items/armor/ArmorGasMask.java b/src/main/java/com/hbm/items/armor/ArmorGasMask.java index 5cb086925..1359848e8 100644 --- a/src/main/java/com/hbm/items/armor/ArmorGasMask.java +++ b/src/main/java/com/hbm/items/armor/ArmorGasMask.java @@ -148,9 +148,9 @@ public class ArmorGasMask extends ItemArmor implements IGasMask { public ArrayList getBlacklist(ItemStack stack, EntityLivingBase entity) { if(this == ModItems.gas_mask_mono) { - return new ArrayList(Arrays.asList(new HazardClass[] {HazardClass.GAS_CHLORINE, HazardClass.GAS_CORROSIVE, HazardClass.NERVE_AGENT, HazardClass.BACTERIA})); + return new ArrayList(Arrays.asList(new HazardClass[] {HazardClass.GAS_LUNG, HazardClass.GAS_BLISTERING, HazardClass.BACTERIA})); } else { - return new ArrayList(Arrays.asList(new HazardClass[] {HazardClass.GAS_CORROSIVE, HazardClass.NERVE_AGENT})); + return new ArrayList(Arrays.asList(new HazardClass[] {HazardClass.GAS_BLISTERING})); } } diff --git a/src/main/java/com/hbm/items/armor/ArmorHEV.java b/src/main/java/com/hbm/items/armor/ArmorHEV.java index b1fd292db..df2666d68 100644 --- a/src/main/java/com/hbm/items/armor/ArmorHEV.java +++ b/src/main/java/com/hbm/items/armor/ArmorHEV.java @@ -3,6 +3,7 @@ package com.hbm.items.armor; import org.lwjgl.opengl.GL11; import com.hbm.extprop.HbmLivingProps; +import com.hbm.items.ModItems; import com.hbm.render.model.ModelArmorHEV; import cpw.mods.fml.relauncher.Side; @@ -45,7 +46,7 @@ public class ArmorHEV extends ArmorFSBPowered { @Override public void handleOverlay(RenderGameOverlayEvent.Pre event, EntityPlayer player) { - if(this.hasFSBArmorIgnoreCharge(player)) { + if(this.hasFSBArmorIgnoreCharge(player) && player.inventory.armorInventory[2].getItem() == ModItems.hev_plate) { if(event.type == ElementType.ARMOR) { event.setCanceled(true); diff --git a/src/main/java/com/hbm/items/armor/ItemModGasmask.java b/src/main/java/com/hbm/items/armor/ItemModGasmask.java index 7c8fd77f6..cacecfc27 100644 --- a/src/main/java/com/hbm/items/armor/ItemModGasmask.java +++ b/src/main/java/com/hbm/items/armor/ItemModGasmask.java @@ -99,9 +99,9 @@ public class ItemModGasmask extends ItemArmorMod implements IGasMask { public ArrayList getBlacklist(ItemStack stack, EntityLivingBase entity) { if(this == ModItems.attachment_mask_mono) { - return new ArrayList(Arrays.asList(new HazardClass[] {HazardClass.GAS_CHLORINE, HazardClass.GAS_CORROSIVE, HazardClass.NERVE_AGENT, HazardClass.BACTERIA})); + return new ArrayList(Arrays.asList(new HazardClass[] {HazardClass.GAS_LUNG, HazardClass.GAS_BLISTERING, HazardClass.BACTERIA})); } else { - return new ArrayList(Arrays.asList(new HazardClass[] {HazardClass.GAS_CORROSIVE, HazardClass.NERVE_AGENT})); + return new ArrayList(Arrays.asList(new HazardClass[] {HazardClass.GAS_BLISTERING})); } } diff --git a/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchTable.java b/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchTable.java index 709db4fdb..164046197 100644 --- a/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchTable.java +++ b/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchTable.java @@ -261,7 +261,7 @@ public class TileEntityLaunchTable extends TileEntityLoadedBase implements ISide public boolean canLaunch() { - if(power >= maxPower * 0.75 && isMissileValid() && hasDesignator() && hasFuel()) + if(power >= maxPower * 0.75 && isMissileValid() && hasFuel()) return true; return false; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineExposureChamber.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineExposureChamber.java index e8f98a245..550deda1a 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineExposureChamber.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineExposureChamber.java @@ -25,6 +25,8 @@ import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.nbt.NBTTagList; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; @@ -45,6 +47,22 @@ public class TileEntityMachineExposureChamber extends TileEntityMachineBase impl public boolean isOn = false; public float rotation; public float prevRotation; + + @Override + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + this.progress = nbt.getInteger("progress"); + this.power = nbt.getLong("power"); + this.savedParticles = nbt.getInteger("savedParticles"); + } + + @Override + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + nbt.setInteger("progress", progress); + nbt.setLong("power", power); + nbt.setInteger("savedParticles", savedParticles); + } public TileEntityMachineExposureChamber() { /* diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRadGen.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRadGen.java index c9a3fe5b5..776289454 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRadGen.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRadGen.java @@ -18,6 +18,7 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; import net.minecraft.inventory.Container; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; @@ -212,15 +213,16 @@ public class TileEntityMachineRadGen extends TileEntityMachineBase implements IE static { for(int i = 0; i < ItemWasteShort.WasteClass.values().length; i++) { - fuels.put( new ComparableStack(ModItems.nuclear_waste_short, 1, i), new Triplet(1500, 30 * 60 * 20, new ItemStack(ModItems.nuclear_waste_short_depleted, 1, i))); - fuels.put( new ComparableStack(ModItems.nuclear_waste_short_tiny, 1, i), new Triplet(150, 3 * 60 * 20, new ItemStack(ModItems.nuclear_waste_short_depleted_tiny, 1, i))); + fuels.put( new ComparableStack(ModItems.nuclear_waste_short, 1, i), new Triplet(1500, 30 * 60 * 20, new ItemStack(ModItems.nuclear_waste_short_depleted, 1, i))); + fuels.put( new ComparableStack(ModItems.nuclear_waste_short_tiny, 1, i), new Triplet(150, 3 * 60 * 20, new ItemStack(ModItems.nuclear_waste_short_depleted_tiny, 1, i))); } for(int i = 0; i < ItemWasteLong.WasteClass.values().length; i++) { - fuels.put( new ComparableStack(ModItems.nuclear_waste_long, 1, i), new Triplet(500, 2 * 60 * 60 * 20, new ItemStack(ModItems.nuclear_waste_long_depleted, 1, i))); - fuels.put( new ComparableStack(ModItems.nuclear_waste_long_tiny, 1, i), new Triplet(50, 12 * 60 * 20, new ItemStack(ModItems.nuclear_waste_long_depleted_tiny, 1, i))); + fuels.put( new ComparableStack(ModItems.nuclear_waste_long, 1, i), new Triplet(500, 2 * 60 * 60 * 20, new ItemStack(ModItems.nuclear_waste_long_depleted, 1, i))); + fuels.put( new ComparableStack(ModItems.nuclear_waste_long_tiny, 1, i), new Triplet(50, 12 * 60 * 20, new ItemStack(ModItems.nuclear_waste_long_depleted_tiny, 1, i))); } - - fuels.put( new ComparableStack(ModItems.scrap_nuclear), new Triplet(50, 5 * 60 * 20, null)); + + fuels.put( new ComparableStack(ModItems.scrap_nuclear), new Triplet(50, 5 * 60 * 20, null)); + fuels.put( new ComparableStack(ModItems.gem_rad), new Triplet(25_000, 30 * 60 * 20, new ItemStack(Items.diamond))); } private Triplet grabResult(ItemStack stack) { diff --git a/src/main/java/com/hbm/util/ArmorRegistry.java b/src/main/java/com/hbm/util/ArmorRegistry.java index fc1a20601..c098d6a89 100644 --- a/src/main/java/com/hbm/util/ArmorRegistry.java +++ b/src/main/java/com/hbm/util/ArmorRegistry.java @@ -100,14 +100,14 @@ public class ArmorRegistry { } public static enum HazardClass { - GAS_CHLORINE("hazard.gasChlorine"), //also attacks eyes -> no half mask + GAS_LUNG("hazard.gasChlorine"), //also attacks eyes -> no half mask GAS_MONOXIDE("hazard.gasMonoxide"), //only affects lungs GAS_INERT("hazard.gasInert"), //SA PARTICLE_COARSE("hazard.particleCoarse"), //only affects lungs PARTICLE_FINE("hazard.particleFine"), //only affects lungs BACTERIA("hazard.bacteria"), //no half masks - NERVE_AGENT("hazard.nerveAgent"), //aggressive nerve agent, also attacks skin - GAS_CORROSIVE("hazard.corrosive"), //corrosive substance, also attacks skin + //NERVE_AGENT("hazard.nerveAgent"), //aggressive nerve agent, also attacks skin + GAS_BLISTERING("hazard.corrosive"), //corrosive substance, also attacks skin SAND("hazard.sand"), //blinding sand particles LIGHT("hazard.light"); //blinding light diff --git a/src/main/java/com/hbm/util/ArmorUtil.java b/src/main/java/com/hbm/util/ArmorUtil.java index ddf3d89dd..5d84f1d3d 100644 --- a/src/main/java/com/hbm/util/ArmorUtil.java +++ b/src/main/java/com/hbm/util/ArmorUtil.java @@ -30,16 +30,16 @@ public class ArmorUtil { */ public static void register() { - ArmorRegistry.registerHazard(ModItems.gas_mask_filter, HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_CHLORINE, HazardClass.BACTERIA, HazardClass.NERVE_AGENT); + ArmorRegistry.registerHazard(ModItems.gas_mask_filter, HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_LUNG, HazardClass.BACTERIA); ArmorRegistry.registerHazard(ModItems.gas_mask_filter_mono, HazardClass.PARTICLE_COARSE, HazardClass.GAS_MONOXIDE); - ArmorRegistry.registerHazard(ModItems.gas_mask_filter_combo, HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_CHLORINE, HazardClass.BACTERIA, HazardClass.GAS_MONOXIDE, HazardClass.NERVE_AGENT); + ArmorRegistry.registerHazard(ModItems.gas_mask_filter_combo, HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_LUNG, HazardClass.BACTERIA, HazardClass.GAS_MONOXIDE); ArmorRegistry.registerHazard(ModItems.gas_mask_filter_rag, HazardClass.PARTICLE_COARSE); - ArmorRegistry.registerHazard(ModItems.gas_mask_filter_piss, HazardClass.PARTICLE_COARSE, HazardClass.GAS_CHLORINE); + ArmorRegistry.registerHazard(ModItems.gas_mask_filter_piss, HazardClass.PARTICLE_COARSE, HazardClass.GAS_LUNG); ArmorRegistry.registerHazard(ModItems.gas_mask, HazardClass.SAND, HazardClass.LIGHT); ArmorRegistry.registerHazard(ModItems.gas_mask_m65, HazardClass.SAND); ArmorRegistry.registerHazard(ModItems.mask_rag, HazardClass.PARTICLE_COARSE); - ArmorRegistry.registerHazard(ModItems.mask_piss, HazardClass.PARTICLE_COARSE, HazardClass.GAS_CHLORINE); + ArmorRegistry.registerHazard(ModItems.mask_piss, HazardClass.PARTICLE_COARSE, HazardClass.GAS_LUNG); ArmorRegistry.registerHazard(ModItems.goggles, HazardClass.LIGHT, HazardClass.SAND); ArmorRegistry.registerHazard(ModItems.ashglasses, HazardClass.LIGHT, HazardClass.SAND); @@ -52,23 +52,23 @@ public class ArmorUtil { ArmorRegistry.registerHazard(ModItems.hazmat_helmet_grey, HazardClass.SAND); ArmorRegistry.registerHazard(ModItems.hazmat_paa_helmet, HazardClass.LIGHT, HazardClass.SAND); ArmorRegistry.registerHazard(ModItems.liquidator_helmet, HazardClass.LIGHT, HazardClass.SAND); - ArmorRegistry.registerHazard(ModItems.t45_helmet, HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_CHLORINE, HazardClass.BACTERIA, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND); - ArmorRegistry.registerHazard(ModItems.ajr_helmet, HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_CHLORINE, HazardClass.BACTERIA, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND); - ArmorRegistry.registerHazard(ModItems.ajro_helmet, HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_CHLORINE, HazardClass.BACTERIA, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND); - ArmorRegistry.registerHazard(ModItems.steamsuit_helmet, HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_CHLORINE, HazardClass.BACTERIA, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND); - ArmorRegistry.registerHazard(ModItems.hev_helmet, HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_CHLORINE, HazardClass.BACTERIA, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND); - ArmorRegistry.registerHazard(ModItems.fau_helmet, HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_CHLORINE, HazardClass.BACTERIA, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND); - ArmorRegistry.registerHazard(ModItems.dns_helmet, HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_CHLORINE, HazardClass.BACTERIA, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND); - ArmorRegistry.registerHazard(ModItems.schrabidium_helmet, HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_CHLORINE, HazardClass.BACTERIA, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND); - ArmorRegistry.registerHazard(ModItems.euphemium_helmet, HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_CHLORINE, HazardClass.BACTERIA, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND); - ArmorRegistry.registerHazard(ModItems.rpa_helmet, HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_CHLORINE, HazardClass.BACTERIA, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND); - ArmorRegistry.registerHazard(ModItems.envsuit_helmet, HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_CHLORINE, HazardClass.BACTERIA, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND); - ArmorRegistry.registerHazard(ModItems.trenchmaster_helmet, HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_CHLORINE, HazardClass.BACTERIA, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND); + ArmorRegistry.registerHazard(ModItems.t45_helmet, HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_LUNG, HazardClass.BACTERIA, HazardClass.GAS_BLISTERING, HazardClass.LIGHT, HazardClass.SAND); + ArmorRegistry.registerHazard(ModItems.ajr_helmet, HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_LUNG, HazardClass.BACTERIA, HazardClass.GAS_BLISTERING, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND); + ArmorRegistry.registerHazard(ModItems.ajro_helmet, HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_LUNG, HazardClass.BACTERIA, HazardClass.GAS_BLISTERING, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND); + ArmorRegistry.registerHazard(ModItems.steamsuit_helmet, HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_LUNG, HazardClass.BACTERIA, HazardClass.GAS_BLISTERING, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND); + ArmorRegistry.registerHazard(ModItems.hev_helmet, HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_LUNG, HazardClass.BACTERIA, HazardClass.GAS_BLISTERING, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND); + ArmorRegistry.registerHazard(ModItems.fau_helmet, HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_LUNG, HazardClass.BACTERIA, HazardClass.GAS_BLISTERING, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND); + ArmorRegistry.registerHazard(ModItems.dns_helmet, HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_LUNG, HazardClass.BACTERIA, HazardClass.GAS_BLISTERING, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND); + ArmorRegistry.registerHazard(ModItems.schrabidium_helmet, HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_LUNG, HazardClass.BACTERIA, HazardClass.GAS_BLISTERING, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND); + ArmorRegistry.registerHazard(ModItems.euphemium_helmet, HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_LUNG, HazardClass.BACTERIA, HazardClass.GAS_BLISTERING, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND); + ArmorRegistry.registerHazard(ModItems.rpa_helmet, HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_LUNG, HazardClass.BACTERIA, HazardClass.GAS_BLISTERING, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND); + ArmorRegistry.registerHazard(ModItems.envsuit_helmet, HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_LUNG, HazardClass.BACTERIA, HazardClass.GAS_BLISTERING, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND); + ArmorRegistry.registerHazard(ModItems.trenchmaster_helmet, HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_LUNG, HazardClass.BACTERIA, HazardClass.GAS_BLISTERING, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND); //Ob ihr wirklich richtig steht, seht ihr wenn das Licht angeht! - registerIfExists(Compat.MOD_GT6, "gt.armor.hazmat.universal.head", HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_CHLORINE, HazardClass.BACTERIA, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND); - registerIfExists(Compat.MOD_GT6, "gt.armor.hazmat.biochemgas.head", HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_CHLORINE, HazardClass.BACTERIA, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND); - registerIfExists(Compat.MOD_GT6, "gt.armor.hazmat.radiation.head", HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_CHLORINE, HazardClass.BACTERIA, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND); + registerIfExists(Compat.MOD_GT6, "gt.armor.hazmat.universal.head", HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_LUNG, HazardClass.BACTERIA, HazardClass.GAS_BLISTERING, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND); + registerIfExists(Compat.MOD_GT6, "gt.armor.hazmat.biochemgas.head", HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_LUNG, HazardClass.BACTERIA, HazardClass.GAS_BLISTERING, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND); + registerIfExists(Compat.MOD_GT6, "gt.armor.hazmat.radiation.head", HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_LUNG, HazardClass.BACTERIA, HazardClass.GAS_BLISTERING, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND); } private static void registerIfExists(String domain, String name, HazardClass... classes) { diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index a4220206f..a3c117d78 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -567,6 +567,7 @@ flare.valve=Flussventil fluid.acid_fluid=Säure fluid.corium_fluid=Corium fluid.mud_fluid=Giftiger Schlamm +fluid.rad_lava_fluid=Vulkanische Lava fluid.schrabidic_fluid=Schrabidische Säure fluid.toxic_fluid=Stereotypischer grüner Schleim fluid.volcanic_lava_fluid=Vulkanische Lava @@ -1853,6 +1854,7 @@ item.gear_large.name=Großes Zahnrad item.gear_large_steel.name=Großes Stahlzahnrad item.geiger_counter.name=Mobiler Geigerzähler item.gem_alexandrite.name=Alexandrit +item.gem_rad.name=Radioaktiver Edelstein item.gem_sodalite.name=Sodalith item.gem_tantalium.name=Tantal-Polykristall item.gem_volcanic.name=Vulkanischer Edelstein @@ -2795,6 +2797,7 @@ item.powder_magic.name=Pulverisierte Verzauberung item.powder_magnetized_tungsten.name=Magnetisierter Wolframstaub item.powder_meteorite.name=Meteoritenstaub item.powder_meteorite_tiny.name=Kleiner Haufen Meteoritenstaub +item.powder_molysite.name=Molysit item.powder_neodymium.name=Neodymstaub item.powder_neodymium_tiny.name=Kleiner Haufen Neodymstaub item.powder_neptunium.name=Neptuniumstaub @@ -3541,13 +3544,9 @@ tile.barrel_steel.name=Stahlfass tile.barrel_tcalloy.name=Technetiumstahlfass tile.barricade.name=Sandsäcke tile.basalt.name=Basalt -tile.basalt_asbestos.name=Asbestreicher Basalt tile.basalt_brick.name=Basaltziegel -tile.basalt_fluorite.name=Fluoritreicher Basalt -tile.basalt_gem.name=Edelsteinreicher Basalt tile.basalt_polished.name=Polierter Basalt tile.basalt_smooth.name=Glatter Basalt -tile.basalt_sulfur.name=Schwefelreicher Basalt tile.basalt_tiles.name=Basaltfliesen tile.blast_door.name=Abschluss-Sprengtür tile.block_actinium.name=Actiniumblock @@ -4244,6 +4243,11 @@ tile.ore_alexandrite.name=Alexandriterz tile.ore_aluminium.name=Aluminiumerz tile.ore_asbestos.name=Asbesterz tile.ore_australium.name=Australisches Erz +tile.ore_basalt_asbestos.name=Asbestreicher Basalt +tile.ore_basalt_fluorite.name=Fluoritreicher Basalt +tile.ore_basalt_gem.name=Edelsteinreicher Basalt +tile.ore_basalt_molysite.name=Molysitreicher Basalt +tile.ore_basalt_sulfur.name=Schwefelreicher Basalt tile.ore_bedrock.name=Bedrock-Erz tile.ore_bedrock_coltan.name=Bedrock-Coltanerz tile.ore_bedrock_oil.name=Bedrock-Ölvorkommen @@ -4302,6 +4306,7 @@ tile.ore_reiium.name=Reiit tile.ore_schrabidium.name=Schrabidiumerz tile.ore_sellafield_diamond.name=Sellafit-Diamanterz tile.ore_sellafield_emerald.name=Sellafit-Smaragderz +tile.ore_sellafield_radgem.name=Sellafite-Edelsteinerz tile.ore_sellafield_schrabidium.name=Sellafit-Schrabidiumerz tile.ore_sellafield_uranium_scorched.name=Verschmortes Sellafit-Uranerz tile.ore_sulfur.name=Schwefelerz @@ -4368,6 +4373,7 @@ tile.pwr_port.name=PWR Zugangsport tile.pwr_port.desc=Erlaubt IO für Items und Flüssigkeiten$Platzierung: Hülle tile.pwr_reflector.name=PWR Neutronenreflektor tile.pwr_reflector.desc=Reflektier Neutronen auf Brennstäbe zurück$Platzierung: Hülle, für höhere Reaktivität$Gültiger Block für Hülle +tile.volcanic_lava_block.name=Vulkanische Lava tile.radar_screen.name=Radarbildschirm tile.radio_telex.name=Telex-Maschine tile.radio_torch_counter.name=Redstone-over-Radio Itemzähler @@ -4556,6 +4562,7 @@ tile.vent_cloud.name=Wolken-Auslass tile.vent_pink_cloud.name=Pinker Wolken-Auslass tile.vitrified_barrel.name=Fass voll vitrifiziertem Atommüll tile.volcano_core.name=Vulkankern +tile.volcano_rad_core.name=Rad-Vulkankern tile.volcanic_lava_block.name=Vulkanische Lava tile.waste_earth.name=Totes Gras tile.waste_leaves.name=Tote Blätter diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index 05365875c..5c5bf6d10 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -1081,6 +1081,7 @@ flare.valve=Flow Valve fluid.acid_fluid=Acid fluid.corium_fluid=Corium fluid.mud_fluid=Poisonous Mud +fluid.rad_lava_fluid=Volcanic Lava fluid.schrabidic_fluid=Schrabidic Acid fluid.toxic_fluid=Stereotypical Green Ooze fluid.volcanic_lava_fluid=Volcanic Lava @@ -2513,8 +2514,8 @@ item.fluid_barrel_infinite.name=Infinite Fluid Barrel item.fluid_duct.name=Fluid Duct: item.fluid_identifier.name=Fluid Identifier item.fluid_identifier.info=Universal fluid identifier for: -item.fluid_identifier.usage0=Right click fluid ducts to designate them for that fluid. -item.fluid_identifier.usage1=Shift right click fluid ducts to designate adjacent ducts +item.fluid_identifier.usage0=Right click fluid ducts to set their fluid type. +item.fluid_identifier.usage1=Shift right click fluid ducts to set adjacent ducts item.fluid_identifier.usage2=up to a maximum range of 64 ducts. item.fluid_identifier_multi.name=Multi Fluid Identifier item.fluid_identifier_multi.info=Universal fluid identifier for: @@ -2574,6 +2575,7 @@ item.gear_large.name=Large Gear item.gear_large_steel.name=Large Steel Gear item.geiger_counter.name=Handheld Geiger Counter item.gem_alexandrite.name=Alexandrite +item.gem_rad.name=Radioactive Gem item.gem_sodalite.name=Sodalite item.gem_tantalium.name=Tantalium Polycrystal item.gem_tantalium.desc='Tantalum' @@ -3604,6 +3606,7 @@ item.powder_magic.name=Pulverized Enchantment item.powder_magnetized_tungsten.name=Magnetized Tungsten Powder item.powder_meteorite.name=Meteorite Powder item.powder_meteorite_tiny.name=Tiny Pile of Meteorite Powder +item.powder_molysite.name=Molysite item.powder_neodymium.name=Neodymium Powder item.powder_neodymium_tiny.name=Tiny Pile of Neodymium Powder item.powder_neptunium.name=Neptunium Powder @@ -4502,13 +4505,9 @@ tile.barrel_steel.name=Steel Barrel tile.barrel_tcalloy.name=Technetium Steel Barrel tile.barricade.name=Sand Bags tile.basalt.name=Basalt -tile.basalt_asbestos.name=Asbestos-Rich Basalt tile.basalt_brick.name=Basalt Bricks -tile.basalt_fluorite.name=Fluorite-Rich Basalt -tile.basalt_gem.name=Gem-Rich Basalt tile.basalt_polished.name=Polished Basalt tile.basalt_smooth.name=Smooth Basalt -tile.basalt_sulfur.name=Sulfur-Rich Basalt tile.basalt_tiles.name=Basalt Tiles tile.blast_door.name=Sliding Blast Door tile.block_actinium.name=Block of Actinium @@ -5244,6 +5243,11 @@ tile.ore_alexandrite.name=Alexandrite Ore tile.ore_aluminium.name=Aluminium Ore tile.ore_asbestos.name=Asbestos Ore tile.ore_australium.name=Australian Ore +tile.ore_basalt_asbestos.name=Asbestos-Rich Basalt +tile.ore_basalt_fluorite.name=Fluorite-Rich Basalt +tile.ore_basalt_gem.name=Gem-Rich Basalt +tile.ore_basalt_molysite.name=Molysite-Rich Basalt +tile.ore_basalt_sulfur.name=Sulfur-Rich Basalt tile.ore_bedrock.name=Bedrock Ore tile.ore_bedrock_coltan.name=Bedrock Coltan Ore tile.ore_bedrock_oil.name=Bedrock Oil Deposit @@ -5302,6 +5306,7 @@ tile.ore_reiium.name=Reiite tile.ore_schrabidium.name=Schrabidium Ore tile.ore_sellafield_diamond.name=Sellafite Diamond Ore tile.ore_sellafield_emerald.name=Sellafite Emerald Ore +tile.ore_sellafield_radgem.name=Sellafite Radioactive Gem Ore tile.ore_sellafield_schrabidium.name=Sellafite Schrabidium Ore tile.ore_sellafield_uranium_scorched.name=Scorched Sellafite Uranium Ore tile.ore_sulfur.name=Sulfur Ore @@ -5369,6 +5374,7 @@ tile.pwr_port.name=PWR Access Port tile.pwr_port.desc=Allows item and fluid IO$Placement: Casing tile.pwr_reflector.name=PWR Neutron Reflector tile.pwr_reflector.desc=Reflects neutrons back to fuel rods$Placement: Grid, for increased reactivity$Valid casing material +tile.rad_lava_block.name=Volcanic Lava tile.radar_screen.name=Radar Screen tile.radio_telex.name=Telex Machine tile.radio_torch_counter.name=Redstone-over-Radio Item Counter @@ -5563,6 +5569,7 @@ tile.vinyl_tile.small.name=Small Vinyl Tiles tile.vitrified_barrel.name=Vitrified Nuclear Waste Drum tile.volcanic_lava_block.name=Volcanic Lava tile.volcano_core.name=Volcano Core +tile.volcano_rad_core.name=Rad Volcano Core tile.waste_earth.name=Dead Grass tile.waste_leaves.name=Dead Leaves tile.waste_log.name=Charred Log diff --git a/src/main/resources/assets/hbm/textures/blocks/basalt_asbestos.png b/src/main/resources/assets/hbm/textures/blocks/ore_basalt_asbestos.png similarity index 100% rename from src/main/resources/assets/hbm/textures/blocks/basalt_asbestos.png rename to src/main/resources/assets/hbm/textures/blocks/ore_basalt_asbestos.png diff --git a/src/main/resources/assets/hbm/textures/blocks/basalt_fluorite.png b/src/main/resources/assets/hbm/textures/blocks/ore_basalt_fluorite.png similarity index 100% rename from src/main/resources/assets/hbm/textures/blocks/basalt_fluorite.png rename to src/main/resources/assets/hbm/textures/blocks/ore_basalt_fluorite.png diff --git a/src/main/resources/assets/hbm/textures/blocks/basalt_gem.png b/src/main/resources/assets/hbm/textures/blocks/ore_basalt_gem.png similarity index 100% rename from src/main/resources/assets/hbm/textures/blocks/basalt_gem.png rename to src/main/resources/assets/hbm/textures/blocks/ore_basalt_gem.png diff --git a/src/main/resources/assets/hbm/textures/blocks/ore_basalt_molysite.png b/src/main/resources/assets/hbm/textures/blocks/ore_basalt_molysite.png new file mode 100644 index 000000000..e688aeaac Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/ore_basalt_molysite.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/basalt_overlay.png b/src/main/resources/assets/hbm/textures/blocks/ore_basalt_overlay.png similarity index 100% rename from src/main/resources/assets/hbm/textures/blocks/basalt_overlay.png rename to src/main/resources/assets/hbm/textures/blocks/ore_basalt_overlay.png diff --git a/src/main/resources/assets/hbm/textures/blocks/basalt_sulfur.png b/src/main/resources/assets/hbm/textures/blocks/ore_basalt_sulfur.png similarity index 100% rename from src/main/resources/assets/hbm/textures/blocks/basalt_sulfur.png rename to src/main/resources/assets/hbm/textures/blocks/ore_basalt_sulfur.png diff --git a/src/main/resources/assets/hbm/textures/blocks/ore_overlay_radgem.png b/src/main/resources/assets/hbm/textures/blocks/ore_overlay_radgem.png new file mode 100644 index 000000000..bb30dc075 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/ore_overlay_radgem.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/rad_lava_flowing.png b/src/main/resources/assets/hbm/textures/blocks/rad_lava_flowing.png new file mode 100644 index 000000000..be3c5aa62 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/rad_lava_flowing.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/rad_lava_flowing.png.mcmeta b/src/main/resources/assets/hbm/textures/blocks/rad_lava_flowing.png.mcmeta new file mode 100755 index 000000000..df9c61a80 --- /dev/null +++ b/src/main/resources/assets/hbm/textures/blocks/rad_lava_flowing.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 3 + } +} diff --git a/src/main/resources/assets/hbm/textures/blocks/rad_lava_still.png b/src/main/resources/assets/hbm/textures/blocks/rad_lava_still.png new file mode 100644 index 000000000..4784bb632 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/rad_lava_still.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/rad_lava_still.png.mcmeta b/src/main/resources/assets/hbm/textures/blocks/rad_lava_still.png.mcmeta new file mode 100755 index 000000000..55438bf34 --- /dev/null +++ b/src/main/resources/assets/hbm/textures/blocks/rad_lava_still.png.mcmeta @@ -0,0 +1,45 @@ +{ + "animation": { + "frametime": 2, + "frames": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 18, + 17, + 16, + 15, + 14, + 13, + 12, + 11, + 10, + 9, + 8, + 7, + 6, + 5, + 4, + 3, + 2, + 1 + ] + } +} \ No newline at end of file diff --git a/src/main/resources/assets/hbm/textures/blocks/volcano_rad_core.png b/src/main/resources/assets/hbm/textures/blocks/volcano_rad_core.png new file mode 100644 index 000000000..f804bda85 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/volcano_rad_core.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/volcano_rad_core.png.mcmeta b/src/main/resources/assets/hbm/textures/blocks/volcano_rad_core.png.mcmeta new file mode 100644 index 000000000..fc4bc9855 --- /dev/null +++ b/src/main/resources/assets/hbm/textures/blocks/volcano_rad_core.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 4 + } +} diff --git a/src/main/resources/assets/hbm/textures/items/gem_rad.png b/src/main/resources/assets/hbm/textures/items/gem_rad.png new file mode 100644 index 000000000..d177e51f9 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/gem_rad.png differ diff --git a/src/main/resources/assets/hbm/textures/items/powder_molysite.png b/src/main/resources/assets/hbm/textures/items/powder_molysite.png new file mode 100644 index 000000000..578d26ced Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/powder_molysite.png differ