molysite, mud hole

This commit is contained in:
Bob 2024-01-21 00:28:26 +01:00
parent a1c4ef8e04
commit aa8e492610
49 changed files with 495 additions and 128 deletions

View File

@ -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??)

View File

@ -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) {

View File

@ -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

View File

@ -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());

View File

@ -81,8 +81,9 @@ public class BlockVolcano extends BlockContainer implements ITooltipProvider, IB
}
public static class TileEntityVolcanoCore extends TileEntity {
private static List<ExAttrib> volcanoExplosion = Arrays.asList(new ExAttrib[] {ExAttrib.NODROP, ExAttrib.LAVA_V, ExAttrib.NOSOUND, ExAttrib.ALLMOD, ExAttrib.NOHURT});
private static List<ExAttrib> 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<ExAttrib> 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);
}
}

View File

@ -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;
}
}

View File

@ -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;
}
}

View File

@ -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) {

View File

@ -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 {

View File

@ -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;

View File

@ -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);
}
}

View File

@ -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;
}

View File

@ -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));

View File

@ -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

View File

@ -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;

View File

@ -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;

View File

@ -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));

View File

@ -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!

View File

@ -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);

View File

@ -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);

View File

@ -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);

View File

@ -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;

View File

@ -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)));

View File

@ -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

View File

@ -148,9 +148,9 @@ public class ArmorGasMask extends ItemArmor implements IGasMask {
public ArrayList<HazardClass> getBlacklist(ItemStack stack, EntityLivingBase entity) {
if(this == ModItems.gas_mask_mono) {
return new ArrayList<HazardClass>(Arrays.asList(new HazardClass[] {HazardClass.GAS_CHLORINE, HazardClass.GAS_CORROSIVE, HazardClass.NERVE_AGENT, HazardClass.BACTERIA}));
return new ArrayList<HazardClass>(Arrays.asList(new HazardClass[] {HazardClass.GAS_LUNG, HazardClass.GAS_BLISTERING, HazardClass.BACTERIA}));
} else {
return new ArrayList<HazardClass>(Arrays.asList(new HazardClass[] {HazardClass.GAS_CORROSIVE, HazardClass.NERVE_AGENT}));
return new ArrayList<HazardClass>(Arrays.asList(new HazardClass[] {HazardClass.GAS_BLISTERING}));
}
}

View File

@ -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);

View File

@ -99,9 +99,9 @@ public class ItemModGasmask extends ItemArmorMod implements IGasMask {
public ArrayList<HazardClass> getBlacklist(ItemStack stack, EntityLivingBase entity) {
if(this == ModItems.attachment_mask_mono) {
return new ArrayList<HazardClass>(Arrays.asList(new HazardClass[] {HazardClass.GAS_CHLORINE, HazardClass.GAS_CORROSIVE, HazardClass.NERVE_AGENT, HazardClass.BACTERIA}));
return new ArrayList<HazardClass>(Arrays.asList(new HazardClass[] {HazardClass.GAS_LUNG, HazardClass.GAS_BLISTERING, HazardClass.BACTERIA}));
} else {
return new ArrayList<HazardClass>(Arrays.asList(new HazardClass[] {HazardClass.GAS_CORROSIVE, HazardClass.NERVE_AGENT}));
return new ArrayList<HazardClass>(Arrays.asList(new HazardClass[] {HazardClass.GAS_BLISTERING}));
}
}

View File

@ -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;

View File

@ -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() {
/*

View File

@ -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<Integer, Integer, ItemStack>(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<Integer, Integer, ItemStack>(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<Integer, Integer, ItemStack>(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<Integer, Integer, ItemStack>(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<Integer, Integer, ItemStack>(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<Integer, Integer, ItemStack>(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<Integer, Integer, ItemStack>(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<Integer, Integer, ItemStack>(50, 12 * 60 * 20, new ItemStack(ModItems.nuclear_waste_long_depleted_tiny, 1, i)));
}
fuels.put( new ComparableStack(ModItems.scrap_nuclear), new Triplet<Integer, Integer, ItemStack>(50, 5 * 60 * 20, null));
fuels.put( new ComparableStack(ModItems.scrap_nuclear), new Triplet<Integer, Integer, ItemStack>(50, 5 * 60 * 20, null));
fuels.put( new ComparableStack(ModItems.gem_rad), new Triplet<Integer, Integer, ItemStack>(25_000, 30 * 60 * 20, new ItemStack(Items.diamond)));
}
private Triplet<Integer, Integer, ItemStack> grabResult(ItemStack stack) {

View File

@ -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

View File

@ -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) {

View File

@ -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

View File

@ -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

View File

Before

Width:  |  Height:  |  Size: 929 B

After

Width:  |  Height:  |  Size: 929 B

View File

Before

Width:  |  Height:  |  Size: 914 B

After

Width:  |  Height:  |  Size: 914 B

View File

Before

Width:  |  Height:  |  Size: 894 B

After

Width:  |  Height:  |  Size: 894 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 926 B

View File

Before

Width:  |  Height:  |  Size: 947 B

After

Width:  |  Height:  |  Size: 947 B

View File

Before

Width:  |  Height:  |  Size: 924 B

After

Width:  |  Height:  |  Size: 924 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 162 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

View File

@ -0,0 +1,5 @@
{
"animation": {
"frametime": 3
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

View File

@ -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
]
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@ -0,0 +1,5 @@
{
"animation": {
"frametime": 4
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 465 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 441 B