finished up most gasses, ancient scraps, digamma achievements

This commit is contained in:
Bob 2021-02-06 23:50:50 +01:00
parent 43329d890d
commit 0490a82c19
58 changed files with 5528 additions and 558 deletions

View File

@ -254,6 +254,7 @@ death.attack.cheater=%1$s's Innereien wurden zu Hafer. (???)
death.attack.chopperBullet=%1$s wurde von %2$s gerekt.
death.attack.cloud=%1$s schmolz wie ein Eis in der Sonne.
death.attack.cmb=%1$s wurde von %2$s pulverisiert.
death.attack.digamma=%1$s schritt in den Abgrund.
death.attack.electricity=%1$s bekam einen tödlichen Stromschlag.
death.attack.electrified=%1$s wurde von %2$s elektrisiert.
death.attack.euthanized=%1$s wurde von %2$s eingeschläfert.
@ -2215,6 +2216,7 @@ tile.acid_block.name=Säure
tile.ams_base.name=AMS-Basis [WIP]
tile.ams_emitter.name=AMS-Emitter [WIP]
tile.ams_limiter.name=AMS-Stabilisator [WIP]
tile.ancient_scrap.name=Antikes Altmetall
tile.asphalt.name=Asphalt
tile.barbed_wire.name=Stacheldraht
tile.barbed_wire_acid.name=Ätzender Stacheldraht

View File

@ -16,6 +16,12 @@ achievement.c44.desc=Galvanized! I mean, zinc!
achievement.c44=Chapter 44
achievement.chemistry.desc=Bobmazon Level 3 (Concrete Bricks)
achievement.chemistry=Chemistry
achievement.digammaFeel.desc=the hollow within.
achievement.digammaFeel=The Terror of Feeling
achievement.digammaKnow.desc=what this world is about.
achievement.digammaKnow=The Terror of Knowing
achievement.digammaSee.desc=into the abyss.
achievement.digammaSee=The Terror of Seeing
achievement.fiend.desc=Be mean.
achievement.fiend2.desc=Be meaner.
achievement.fiend2=Delinquent 2: Delinquent Harder
@ -254,6 +260,7 @@ death.attack.cheater=%1$s's intestines turned into oats. (???)
death.attack.chopperBullet=%1$s was rekt by %2$s.
death.attack.cloud=%1$s melted like a popsicle in the sun.
death.attack.cmb=%1$s was fizzeled by %2$s.
death.attack.digamma=%1$s stepped into the abyss.
death.attack.electricity=%1$s was electrocuted.
death.attack.electrified=%1$s was electrified by %2$s.
death.attack.euthanized=%1$s was euthanized by %2$s.
@ -2215,6 +2222,7 @@ tile.acid_block.name=Acid
tile.ams_base.name=AMS Base [WIP]
tile.ams_emitter.name=AMS Emitter [WIP]
tile.ams_limiter.name=AMS Stabilizer [WIP]
tile.ancient_scrap.name=Ancient Scrap Metal
tile.asphalt.name=Asphalt
tile.barbed_wire.name=Barbed Wire
tile.barbed_wire_acid.name=Caustic Barbed Wire

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 692 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 672 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 133 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 189 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 150 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 194 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 219 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 216 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 222 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 233 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 184 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 212 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 143 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 143 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 139 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 338 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 531 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 521 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 113 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 189 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 410 B

View File

@ -0,0 +1,25 @@
package com.hbm.blocks;
import net.minecraft.block.material.MapColor;
import net.minecraft.block.material.Material;
public class MaterialGas extends Material {
public MaterialGas() {
super(MapColor.airColor);
this.setNoPushMobility();
this.setReplaceable();
}
public boolean isSolid() {
return true;
}
public boolean getCanBlockGrass() {
return false;
}
public boolean blocksMovement() {
return false;
}
}

View File

@ -134,6 +134,7 @@ public class ModBlocks {
public static Block block_trinitite;
public static Block block_waste;
public static Block block_waste_painted;
public static Block ancient_scrap;
public static Block block_scrap;
public static Block block_electrical_scrap;
public static Block block_beryllium;
@ -813,8 +814,11 @@ public class ModBlocks {
public static Block chlorine_gas;
public static Block gas_radon;
public static Block gas_radon_dense;
public static Block gas_radon_tomb;
public static Block gas_monoxide;
public static Block gas_asbestos;
public static Block gas_flammable;
public static Block absorber;
public static Block absorber_red;
@ -892,6 +896,8 @@ public class ModBlocks {
public static Block ff;
public static Material materialGas = new MaterialGas();
private static void initializeBlock() {
test_render = new TestRender(Material.rock).setBlockName("test_render").setCreativeTab(null);
@ -1001,8 +1007,9 @@ public class ModBlocks {
block_steel = new BlockGeneric(Material.iron).setBlockName("block_steel").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_steel");
block_lead = new BlockGeneric(Material.iron).setBlockName("block_lead").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_lead");
block_trinitite = new BlockOre(Material.iron, 3F, 35F).setBlockName("block_trinitite").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_trinitite");
block_waste = new BlockOre(Material.iron, 5F, 60F).setBlockName("block_waste").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_waste");
block_waste_painted = new BlockOre(Material.iron, 5F, 60F).setBlockName("block_waste_painted").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_waste_painted");
block_waste = new BlockNuclearWaste(Material.iron, 5F, 60F).setBlockName("block_waste").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_waste");
block_waste_painted = new BlockNuclearWaste(Material.iron, 5F, 60F).setBlockName("block_waste_painted").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_waste_painted");
ancient_scrap = new BlockOutgas(Material.iron, true, 1, true).setBlockName("ancient_scrap").setCreativeTab(MainRegistry.blockTab).setHardness(100.0F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":ancient_scrap");
block_scrap = new BlockFalling(Material.sand).setBlockName("block_scrap").setCreativeTab(MainRegistry.blockTab).setHardness(2.5F).setResistance(5.0F).setStepSound(Block.soundTypeGravel).setBlockTextureName(RefStrings.MODID + ":block_scrap");
block_electrical_scrap = new BlockFalling(Material.iron).setBlockName("block_electrical_scrap").setCreativeTab(MainRegistry.blockTab).setHardness(2.5F).setResistance(5.0F).setStepSound(Block.soundTypeMetal).setBlockTextureName(RefStrings.MODID + ":electrical_scrap_alt2");
block_beryllium = new BlockGeneric(Material.iron).setBlockName("block_beryllium").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_beryllium");
@ -1529,11 +1536,14 @@ public class ModBlocks {
vent_cloud = new BlockVent(Material.iron).setBlockName("vent_cloud").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":vent_cloud");
vent_pink_cloud = new BlockVent(Material.iron).setBlockName("vent_pink_cloud").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":vent_pink_cloud");
vent_chlorine_seal = new BlockClorineSeal(Material.iron).setBlockName("vent_chlorine_seal").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab);
chlorine_gas = new BlockClorine(Material.cloth).setBlockName("chlorine_gas").setHardness(0.0F).setResistance(0.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":chlorine_gas");
chlorine_gas = new BlockGasClorine().setBlockName("chlorine_gas").setHardness(0.0F).setResistance(0.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":chlorine_gas");
gas_radon = new BlockGasRadon().setBlockName("gas_radon").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":chlorine_gas");
gas_monoxide = new BlockGasMonoxide().setBlockName("gas_monoxide").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":chlorine_gas");
gas_asbestos = new BlockGasAsbestos().setBlockName("gas_asbestos").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":chlorine_gas");
gas_radon = new BlockGasRadon().setBlockName("gas_radon").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":gas_radon");
gas_radon_dense = new BlockGasRadonDense().setBlockName("gas_radon_dense").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":gas_radon_dense");
gas_radon_tomb = new BlockGasRadonTomb().setBlockName("gas_radon_tomb").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":gas_radon_tomb");
gas_monoxide = new BlockGasMonoxide().setBlockName("gas_monoxide").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":gas_monoxide");
gas_asbestos = new BlockGasAsbestos().setBlockName("gas_asbestos").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":gas_asbestos");
gas_flammable = new BlockGasFlammable().setBlockName("gas_flammable").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":gas_flammable");
absorber = new BlockAbsorber(Material.iron, 2.5F).setBlockName("absorber").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":absorber");
absorber_red = new BlockAbsorber(Material.iron, 10F).setBlockName("absorber_red").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":absorber_red");
@ -1749,6 +1759,7 @@ public class ModBlocks {
GameRegistry.registerBlock(block_trinitite, block_trinitite.getUnlocalizedName());
GameRegistry.registerBlock(block_waste, block_waste.getUnlocalizedName());
GameRegistry.registerBlock(block_waste_painted, block_waste_painted.getUnlocalizedName());
GameRegistry.registerBlock(ancient_scrap, ancient_scrap.getUnlocalizedName());
GameRegistry.registerBlock(block_schraranium, ItemBlockLore.class, block_schraranium.getUnlocalizedName());
GameRegistry.registerBlock(block_schrabidium, ItemBlockLore.class, block_schrabidium.getUnlocalizedName());
GameRegistry.registerBlock(block_schrabidate, ItemBlockLore.class, block_schrabidate.getUnlocalizedName());
@ -2343,8 +2354,11 @@ public class ModBlocks {
GameRegistry.registerBlock(vent_chlorine_seal, vent_chlorine_seal.getUnlocalizedName());
GameRegistry.registerBlock(chlorine_gas, chlorine_gas.getUnlocalizedName());
GameRegistry.registerBlock(gas_radon, gas_radon.getUnlocalizedName());
GameRegistry.registerBlock(gas_radon_dense, gas_radon_dense.getUnlocalizedName());
GameRegistry.registerBlock(gas_radon_tomb, gas_radon_tomb.getUnlocalizedName());
GameRegistry.registerBlock(gas_monoxide, gas_monoxide.getUnlocalizedName());
GameRegistry.registerBlock(gas_asbestos, gas_asbestos.getUnlocalizedName());
GameRegistry.registerBlock(gas_flammable, gas_flammable.getUnlocalizedName());
//???
GameRegistry.registerBlock(crystal_virus, crystal_virus.getUnlocalizedName());

View File

@ -1,5 +1,6 @@
package com.hbm.blocks.generic;
import java.util.ArrayList;
import java.util.Random;
import com.hbm.items.ModItems;
@ -44,7 +45,9 @@ public class BlockFallout extends Block {
public void onEntityWalking(World world, int x, int y, int z, Entity entity) {
if(!world.isRemote && entity instanceof EntityLivingBase) {
((EntityLivingBase) entity).addPotionEffect(new PotionEffect(HbmPotion.radiation.id, 30 * 20, 1));
PotionEffect effect = new PotionEffect(HbmPotion.radiation.id, 10 * 60 * 20, 0);
effect.setCurativeItems(new ArrayList());
((EntityLivingBase) entity).addPotionEffect(effect);
}
}

View File

@ -32,4 +32,15 @@ public class BlockGasAsbestos extends BlockGasBase {
public ForgeDirection getSecondDirection(World world, int x, int y, int z) {
return this.randomHorizontal(world);
}
@Override
public void updateTick(World world, int x, int y, int z, Random rand) {
if(!world.isRemote && rand.nextInt(50) == 0) {
world.setBlockToAir(x, y, z);
return;
}
super.updateTick(world, x, y, z, rand);
}
}

View File

@ -2,10 +2,11 @@ package com.hbm.blocks.generic;
import java.util.Random;
import com.hbm.blocks.ModBlocks;
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.init.Blocks;
import net.minecraft.item.Item;
import net.minecraft.util.AxisAlignedBB;
@ -16,7 +17,7 @@ import net.minecraftforge.common.util.ForgeDirection;
public abstract class BlockGasBase extends Block {
public BlockGasBase() {
super(Material.cloth);
super(ModBlocks.materialGas);
this.setHardness(0.0F);
this.setResistance(0.0F);
this.lightOpacity = 0;
@ -26,6 +27,11 @@ public abstract class BlockGasBase extends Block {
public boolean isOpaqueCube() {
return false;
}
@Override
public int getRenderType() {
return -1;
}
@Override
public AxisAlignedBB getCollisionBoundingBoxFromPool(World p_149668_1_, int p_149668_2_, int p_149668_3_, int p_149668_4_) {
@ -42,17 +48,6 @@ public abstract class BlockGasBase extends Block {
return false;
}
/*
* @Override
*
* @SideOnly(Side.CLIENT) public int getRenderBlockPass() { return 1; }
*/
@Override
public int getRenderType() {
return 1;
}
@Override
@SideOnly(Side.CLIENT)
public boolean shouldSideBeRendered(IBlockAccess world, int x, int y, int z, int side) {

View File

@ -1,68 +1,31 @@
package com.hbm.blocks.generic;
import java.util.Random;
import com.hbm.util.ArmorUtil;
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.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
import net.minecraft.item.Item;
import net.minecraft.potion.Potion;
import net.minecraft.potion.PotionEffect;
import net.minecraft.util.AxisAlignedBB;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection;
public class BlockClorine extends Block {
public BlockClorine(Material p_i45394_1_) {
super(p_i45394_1_);
this.setTickRandomly(true);
}
public class BlockGasClorine extends BlockGasBase {
@Override
public boolean isOpaqueCube() {
return false;
public int getRenderType() {
return 0;
}
@Override
@SideOnly(Side.CLIENT)
public boolean shouldSideBeRendered(IBlockAccess p_149646_1_, int p_149646_2_, int p_149646_3_, int p_149646_4_, int p_149646_5_) {
return super.shouldSideBeRendered(p_149646_1_, p_149646_2_, p_149646_3_, p_149646_4_, p_149646_5_);
/*
* Block block = p_149646_1_.getBlock(p_149646_2_, p_149646_3_,
* p_149646_4_);
*
* if (p_149646_1_.getBlockMetadata(p_149646_2_, p_149646_3_,
* p_149646_4_) != p_149646_1_.getBlockMetadata(p_149646_2_ -
* Facing.offsetsXForSide[p_149646_5_], p_149646_3_ -
* Facing.offsetsYForSide[p_149646_5_], p_149646_4_ -
* Facing.offsetsZForSide[p_149646_5_])) { return true; }
*
* if (block == this) { return false; }
*
* return block == this ? false :
* super.shouldSideBeRendered(p_149646_1_, p_149646_2_, p_149646_3_,
* p_149646_4_, p_149646_5_);
*/
}
@Override
public void updateTick(World world, int x, int y, int z, Random rand) {
world.setBlock(x, y, z, Blocks.air);
}
@Override
public AxisAlignedBB getCollisionBoundingBoxFromPool(World p_149668_1_, int p_149668_2_, int p_149668_3_, int p_149668_4_) {
return null;
public int getRenderBlockPass() {
return 1;
}
@Override
@ -82,26 +45,33 @@ public class BlockClorine extends Block {
}
@Override
public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) {
return null;
public void updateTick(World world, int x, int y, int z, Random rand) {
if(!world.isRemote && rand.nextInt(10) == 0) {
world.setBlockToAir(x, y, z);
return;
}
super.updateTick(world, x, y, z, rand);
}
@Override
public boolean renderAsNormalBlock() {
return false;
}
@SideOnly(Side.CLIENT)
public int getRenderBlockPass() {
return 1;
public boolean shouldSideBeRendered(IBlockAccess p_149646_1_, int p_149646_2_, int p_149646_3_, int p_149646_4_, int p_149646_5_) {
return p_149646_5_ == 0 && this.minY > 0.0D ? true : (p_149646_5_ == 1 && this.maxY < 1.0D ? true : (p_149646_5_ == 2 && this.minZ > 0.0D ? true : (p_149646_5_ == 3 && this.maxZ < 1.0D ? true : (p_149646_5_ == 4 && this.minX > 0.0D ? true : (p_149646_5_ == 5 && this.maxX < 1.0D ? true : !p_149646_1_.getBlock(p_149646_2_, p_149646_3_, p_149646_4_).isOpaqueCube())))));
}
public boolean canCollideCheck(int p_149678_1_, boolean p_149678_2_) {
return false;
@Override
public ForgeDirection getFirstDirection(World world, int x, int y, int z) {
if(world.rand.nextInt(5) == 0)
return ForgeDirection.UP;
return ForgeDirection.DOWN;
}
public boolean isReplaceable(IBlockAccess world, int x, int y, int z) {
return true;
@Override
public ForgeDirection getSecondDirection(World world, int x, int y, int z) {
return this.randomHorizontal(world);
}
}

View File

@ -0,0 +1,58 @@
package com.hbm.blocks.generic;
import java.util.Random;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.init.Blocks;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection;
public class BlockGasFlammable extends BlockGasBase {
@Override
public ForgeDirection getFirstDirection(World world, int x, int y, int z) {
if(world.rand.nextInt(3) == 0)
return ForgeDirection.getOrientation(world.rand.nextInt(2));
return this.randomHorizontal(world);
}
@Override
public ForgeDirection getSecondDirection(World world, int x, int y, int z) {
return this.randomHorizontal(world);
}
@Override
public void updateTick(World world, int x, int y, int z, Random rand) {
if(!world.isRemote) {
for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) {
Block b = world.getBlock(x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ);
if(b == Blocks.fire || b.getMaterial() == Material.lava || b == Blocks.torch) {
world.setBlock(x, y, z, Blocks.fire);
return;
}
}
if(rand.nextInt(20) == 0 && world.getBlock(x, y - 1, z) == Blocks.air) {
world.setBlockToAir(x, y, z);
return;
}
}
super.updateTick(world, x, y, z, rand);
}
public boolean isFlammable(IBlockAccess world, int x, int y, int z, ForgeDirection face) {
return true;
}
public int getDelay(World world) {
return world.rand.nextInt(5) + 16;
}
}

View File

@ -1,5 +1,7 @@
package com.hbm.blocks.generic;
import java.util.Random;
import com.hbm.lib.ModDamageSource;
import net.minecraft.entity.Entity;
@ -26,4 +28,15 @@ public class BlockGasMonoxide extends BlockGasBase {
public ForgeDirection getSecondDirection(World world, int x, int y, int z) {
return this.randomHorizontal(world);
}
@Override
public void updateTick(World world, int x, int y, int z, Random rand) {
if(!world.isRemote && rand.nextInt(100) == 0) {
world.setBlockToAir(x, y, z);
return;
}
super.updateTick(world, x, y, z, rand);
}
}

View File

@ -1,12 +1,13 @@
package com.hbm.blocks.generic;
import com.hbm.potion.HbmPotion;
import java.util.Random;
import com.hbm.util.ArmorUtil;
import com.hbm.util.ContaminationUtil;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.potion.PotionEffect;
import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection;
@ -15,13 +16,17 @@ public class BlockGasRadon extends BlockGasBase {
@Override
public void onEntityCollidedWithBlock(World world, int p_149670_2_, int p_149670_3_, int p_149670_4_, Entity entity) {
if(entity instanceof EntityLivingBase && !(entity instanceof EntityPlayer && ArmorUtil.checkForGasMask((EntityPlayer) entity))) {
((EntityLivingBase)entity).addPotionEffect(new PotionEffect(HbmPotion.radiation.id, 30, 1));
if(entity instanceof EntityLivingBase) {
ContaminationUtil.applyRadDirect(entity, 0.05F);
}
}
@Override
public ForgeDirection getFirstDirection(World world, int x, int y, int z) {
if(world.rand.nextInt(5) == 0)
return ForgeDirection.UP;
return ForgeDirection.DOWN;
}
@ -29,4 +34,15 @@ public class BlockGasRadon extends BlockGasBase {
public ForgeDirection getSecondDirection(World world, int x, int y, int z) {
return this.randomHorizontal(world);
}
@Override
public void updateTick(World world, int x, int y, int z, Random rand) {
if(!world.isRemote && rand.nextInt(50) == 0) {
world.setBlockToAir(x, y, z);
return;
}
super.updateTick(world, x, y, z, rand);
}
}

View File

@ -0,0 +1,73 @@
package com.hbm.blocks.generic;
import java.util.Random;
import com.hbm.blocks.ModBlocks;
import com.hbm.potion.HbmPotion;
import com.hbm.util.ContaminationUtil;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.init.Blocks;
import net.minecraft.potion.PotionEffect;
import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection;
public class BlockGasRadonDense extends BlockGasBase {
@Override
public void onEntityCollidedWithBlock(World world, int p_149670_2_, int p_149670_3_, int p_149670_4_, Entity entity) {
if(entity instanceof EntityLivingBase) {
ContaminationUtil.applyRadDirect(entity, 0.5F);
((EntityLivingBase) entity).addPotionEffect(new PotionEffect(HbmPotion.radiation.id, 15 * 20, 0));
}
}
@Override
@SideOnly(Side.CLIENT)
public void randomDisplayTick(World world, int x, int y, int z, Random rand) {
super.randomDisplayTick(world, x, y, z, rand);
world.spawnParticle("townaura", x + rand.nextFloat(), y + rand.nextFloat(), z + rand.nextFloat(), 0.0D, 0.0D, 0.0D);
}
@Override
public ForgeDirection getFirstDirection(World world, int x, int y, int z) {
if(world.rand.nextInt(5) == 0)
return ForgeDirection.UP;
return ForgeDirection.DOWN;
}
@Override
public ForgeDirection getSecondDirection(World world, int x, int y, int z) {
return this.randomHorizontal(world);
}
@Override
public void updateTick(World world, int x, int y, int z, Random rand) {
if(!world.isRemote) {
if(rand.nextInt(20) == 0) {
if(world.getBlock(x, y - 1, z) == Blocks.grass)
world.setBlock(x, y - 1, z, ModBlocks.waste_earth);
}
if(rand.nextInt(30) == 0) {
world.setBlockToAir(x, y, z);
if(ModBlocks.fallout.canPlaceBlockAt(world, x, y, z)) {
world.setBlock(x, y, z, ModBlocks.fallout);
}
return;
}
}
super.updateTick(world, x, y, z, rand);
}
}

View File

@ -0,0 +1,82 @@
package com.hbm.blocks.generic;
import java.util.Random;
import com.hbm.blocks.ModBlocks;
import com.hbm.util.ContaminationUtil;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.init.Blocks;
import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection;
public class BlockGasRadonTomb extends BlockGasBase {
/*
* You should not have come here.
*
* This is not a place of honor. No great deed is commemorated here.
*
* Nothing of value is here.
*
* What is here is dangerous and repulsive.
*
* We considered ourselves a powerful culture. We harnessed the hidden fire,
* and used it for our own purposes.
*
* Then we saw the fire could burn within living things, unnoticed until it
* destroyed them.
*
* And we were afraid.
*
* We built great tombs to hold the fire for one hundred thousand years,
* after which it would no longer kill.
*
* If this place is opened, the fire will not be isolated from the world,
* and we will have failed to protect you.
*
* Leave this place and never come back.
*/
@Override
public void onEntityCollidedWithBlock(World world, int p_149670_2_, int p_149670_3_, int p_149670_4_, Entity entity) {
if(entity instanceof EntityLivingBase) {
ContaminationUtil.applyRadData(entity, 0.5F);
}
}
@Override
public ForgeDirection getFirstDirection(World world, int x, int y, int z) {
if(world.rand.nextInt(3) == 0)
return ForgeDirection.UP;
return ForgeDirection.DOWN;
}
@Override
public ForgeDirection getSecondDirection(World world, int x, int y, int z) {
return this.randomHorizontal(world);
}
@Override
public void updateTick(World world, int x, int y, int z, Random rand) {
if(!world.isRemote) {
if(rand.nextInt(10) == 0) {
if(world.getBlock(x, y - 1, z) == Blocks.grass)
world.setBlock(x, y - 1, z, ModBlocks.waste_earth);
}
if(rand.nextInt(600) == 0) {
world.setBlockToAir(x, y, z);
return;
}
}
super.updateTick(world, x, y, z, rand);
}
}

View File

@ -0,0 +1,29 @@
package com.hbm.blocks.generic;
import java.util.Random;
import com.hbm.blocks.ModBlocks;
import net.minecraft.block.material.Material;
import net.minecraft.init.Blocks;
import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection;
public class BlockNuclearWaste extends BlockOre {
public BlockNuclearWaste(Material mat, float rad, float max) {
super(mat, rad, max);
}
@Override
public void updateTick(World world, int x, int y, int z, Random rand) {
ForgeDirection dir = ForgeDirection.getOrientation(rand.nextInt(6));
if(rand.nextInt(2) == 0 && 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_radon_dense);
}
super.updateTick(world, x, y, z, rand);
}
}

View File

@ -21,7 +21,7 @@ import net.minecraft.potion.PotionEffect;
import net.minecraft.world.World;
public class BlockOre extends Block {
private float radIn = 0.0F;
private float radMax = 0.0F;
@ -31,315 +31,306 @@ public class BlockOre extends Block {
public BlockOre(Material mat, boolean tick) {
super(mat);
this.setTickRandomly(tick);
this.setTickRandomly(tick);
}
public BlockOre(Material mat, float rad, float max) {
super(mat);
this.setTickRandomly(true);
radIn = rad;
radMax = max;
this.setTickRandomly(true);
radIn = rad;
radMax = max;
}
@Override
public Item getItemDropped(int i, Random rand, int j)
{
if(this == ModBlocks.ore_fluorite)
{
public Item getItemDropped(int i, Random rand, int j) {
if(this == ModBlocks.ore_fluorite) {
return ModItems.fluorite;
}
if(this == ModBlocks.ore_niter)
{
if(this == ModBlocks.ore_niter) {
return ModItems.niter;
}
if(this == ModBlocks.ore_sulfur || this == ModBlocks.ore_nether_sulfur || this == ModBlocks.ore_meteor_sulfur)
{
if(this == ModBlocks.ore_sulfur || this == ModBlocks.ore_nether_sulfur || this == ModBlocks.ore_meteor_sulfur) {
return ModItems.sulfur;
}
if(this == ModBlocks.waste_trinitite || this == ModBlocks.waste_trinitite_red)
{
if(this == ModBlocks.waste_trinitite || this == ModBlocks.waste_trinitite_red) {
return ModItems.trinitite;
}
if(this == ModBlocks.waste_planks)
{
if(this == ModBlocks.waste_planks) {
return Items.coal;
}
if(this == ModBlocks.frozen_dirt)
{
if(this == ModBlocks.frozen_dirt) {
return Items.snowball;
}
if(this == ModBlocks.frozen_planks)
{
if(this == ModBlocks.frozen_planks) {
return Items.snowball;
}
if(this == ModBlocks.ore_nether_fire)
{
if(this == ModBlocks.ore_nether_fire) {
return rand.nextInt(10) == 0 ? ModItems.ingot_phosphorus : ModItems.powder_fire;
}
if(this == ModBlocks.block_meteor)
{
if(this == ModBlocks.block_meteor) {
return rand.nextInt(10) == 0 ? ModItems.plate_dalekanium : Item.getItemFromBlock(ModBlocks.block_meteor);
}
if(this == ModBlocks.block_meteor_cobble)
{
if(this == ModBlocks.block_meteor_cobble) {
return ModItems.fragment_meteorite;
}
if(this == ModBlocks.block_meteor_broken)
{
if(this == ModBlocks.block_meteor_broken) {
return ModItems.fragment_meteorite;
}
if(this == ModBlocks.block_meteor_treasure)
{
if(this == ModBlocks.block_meteor_treasure) {
switch(rand.nextInt(36)) {
case 0: return ModItems.coil_advanced_alloy;
case 1: return ModItems.plate_advanced_alloy;
case 2: return ModItems.powder_desh_mix;
case 3: return ModItems.ingot_desh;
case 4: return ModItems.battery_advanced;
case 5: return ModItems.battery_lithium_cell;
case 6: return ModItems.battery_advanced_cell;
case 7: return ModItems.nugget_schrabidium;
case 8: return ModItems.ingot_plutonium;
case 9: return ModItems.ingot_thorium_fuel;
case 10: return ModItems.ingot_u233;
case 11: return ModItems.turbine_tungsten;
case 12: return ModItems.ingot_dura_steel;
case 13: return ModItems.ingot_polymer;
case 14: return ModItems.ingot_tungsten;
case 15: return ModItems.ingot_combine_steel;
case 16: return ModItems.ingot_lanthanium;
case 17: return ModItems.ingot_actinium;
case 18: return Item.getItemFromBlock(ModBlocks.block_meteor);
case 19: return Item.getItemFromBlock(ModBlocks.fusion_heater);
case 20: return Item.getItemFromBlock(ModBlocks.fusion_core);
case 21: return Item.getItemFromBlock(ModBlocks.watz_element);
case 22: return Item.getItemFromBlock(ModBlocks.ore_rare);
case 23: return Item.getItemFromBlock(ModBlocks.fusion_conductor);
case 24: return Item.getItemFromBlock(ModBlocks.reactor_computer);
case 25: return Item.getItemFromBlock(ModBlocks.machine_diesel);
case 26: return Item.getItemFromBlock(ModBlocks.machine_rtg_grey);
case 27: return ModItems.pellet_rtg;
case 28: return ModItems.pellet_rtg_weak;
case 29: return ModItems.rtg_unit;
case 30: return ModItems.gun_spark_ammo;
case 31: return ModItems.ammo_nuke_low;
case 32: return ModItems.gun_mirv_ammo;
case 33: return ModItems.gun_defabricator_ammo;
case 34: return ModItems.gun_osipr_ammo2;
case 35: return ModItems.glitch;
case 0:
return ModItems.coil_advanced_alloy;
case 1:
return ModItems.plate_advanced_alloy;
case 2:
return ModItems.powder_desh_mix;
case 3:
return ModItems.ingot_desh;
case 4:
return ModItems.battery_advanced;
case 5:
return ModItems.battery_lithium_cell;
case 6:
return ModItems.battery_advanced_cell;
case 7:
return ModItems.nugget_schrabidium;
case 8:
return ModItems.ingot_plutonium;
case 9:
return ModItems.ingot_thorium_fuel;
case 10:
return ModItems.ingot_u233;
case 11:
return ModItems.turbine_tungsten;
case 12:
return ModItems.ingot_dura_steel;
case 13:
return ModItems.ingot_polymer;
case 14:
return ModItems.ingot_tungsten;
case 15:
return ModItems.ingot_combine_steel;
case 16:
return ModItems.ingot_lanthanium;
case 17:
return ModItems.ingot_actinium;
case 18:
return Item.getItemFromBlock(ModBlocks.block_meteor);
case 19:
return Item.getItemFromBlock(ModBlocks.fusion_heater);
case 20:
return Item.getItemFromBlock(ModBlocks.fusion_core);
case 21:
return Item.getItemFromBlock(ModBlocks.watz_element);
case 22:
return Item.getItemFromBlock(ModBlocks.ore_rare);
case 23:
return Item.getItemFromBlock(ModBlocks.fusion_conductor);
case 24:
return Item.getItemFromBlock(ModBlocks.reactor_computer);
case 25:
return Item.getItemFromBlock(ModBlocks.machine_diesel);
case 26:
return Item.getItemFromBlock(ModBlocks.machine_rtg_grey);
case 27:
return ModItems.pellet_rtg;
case 28:
return ModItems.pellet_rtg_weak;
case 29:
return ModItems.rtg_unit;
case 30:
return ModItems.gun_spark_ammo;
case 31:
return ModItems.ammo_nuke_low;
case 32:
return ModItems.gun_mirv_ammo;
case 33:
return ModItems.gun_defabricator_ammo;
case 34:
return ModItems.gun_osipr_ammo2;
case 35:
return ModItems.glitch;
}
}
if(this == ModBlocks.ore_rare || this == ModBlocks.ore_gneiss_rare)
{
if(this == ModBlocks.ore_rare || this == ModBlocks.ore_gneiss_rare) {
switch(rand.nextInt(6)) {
case 0: return ModItems.fragment_actinium;
case 1: return ModItems.fragment_cerium;
case 2: return ModItems.fragment_cobalt;
case 3: return ModItems.fragment_lanthanium;
case 4: return ModItems.fragment_neodymium;
case 5: return ModItems.fragment_niobium;
case 0:
return ModItems.fragment_actinium;
case 1:
return ModItems.fragment_cerium;
case 2:
return ModItems.fragment_cobalt;
case 3:
return ModItems.fragment_lanthanium;
case 4:
return ModItems.fragment_neodymium;
case 5:
return ModItems.fragment_niobium;
}
}
if(this == ModBlocks.deco_aluminium)
{
if(this == ModBlocks.deco_aluminium) {
return ModItems.ingot_aluminium;
}
if(this == ModBlocks.deco_beryllium)
{
if(this == ModBlocks.deco_beryllium) {
return ModItems.ingot_beryllium;
}
if(this == ModBlocks.deco_lead)
{
if(this == ModBlocks.deco_lead) {
return ModItems.ingot_lead;
}
if(this == ModBlocks.deco_red_copper)
{
if(this == ModBlocks.deco_red_copper) {
return ModItems.ingot_red_copper;
}
if(this == ModBlocks.deco_steel)
{
if(this == ModBlocks.deco_steel) {
return ModItems.ingot_steel;
}
if(this == ModBlocks.deco_titanium)
{
if(this == ModBlocks.deco_titanium) {
return ModItems.ingot_titanium;
}
if(this == ModBlocks.deco_tungsten)
{
if(this == ModBlocks.deco_tungsten) {
return ModItems.ingot_tungsten;
}
if(this == ModBlocks.deco_asbestos)
{
if(this == ModBlocks.deco_asbestos) {
return ModItems.ingot_asbestos;
}
if(this == ModBlocks.ore_asbestos || this == ModBlocks.ore_gneiss_asbestos)
{
if(this == ModBlocks.ore_asbestos || this == ModBlocks.ore_gneiss_asbestos) {
return ModItems.ingot_asbestos;
}
if(this == ModBlocks.ore_lignite)
{
if(this == ModBlocks.ore_lignite) {
return ModItems.lignite;
}
return Item.getItemFromBlock(this);
}
@Override
public int quantityDropped(Random p_149745_1_)
{
if(this == ModBlocks.ore_fluorite)
{
return 2 + p_149745_1_.nextInt(3);
}
if(this == ModBlocks.ore_niter)
{
return 2 + p_149745_1_.nextInt(3);
}
if(this == ModBlocks.ore_sulfur || this == ModBlocks.ore_nether_sulfur || this == ModBlocks.ore_meteor_sulfur)
{
return 2 + p_149745_1_.nextInt(3);
}
if(this == ModBlocks.ore_rare || this == ModBlocks.ore_gneiss_rare)
{
return 4 + p_149745_1_.nextInt(8);
}
if(this == ModBlocks.block_meteor_broken)
{
return 1 + p_149745_1_.nextInt(3);
}
if(this == ModBlocks.block_meteor_treasure)
{
return 1 + p_149745_1_.nextInt(3);
}
return 1;
}
@Override
public int damageDropped(int p_149692_1_)
{
return this == ModBlocks.waste_planks ? 1 : 0;
}
@Override
public void onEntityWalking(World p_149724_1_, int p_149724_2_, int p_149724_3_, int p_149724_4_, Entity entity)
{
if (entity instanceof EntityLivingBase && this == ModBlocks.frozen_dirt)
{
((EntityLivingBase) entity).addPotionEffect(new PotionEffect(Potion.moveSlowdown.id, 2 * 60 * 20, 2));
}
if (entity instanceof EntityLivingBase && this == ModBlocks.block_trinitite)
{
((EntityLivingBase) entity).addPotionEffect(new PotionEffect(HbmPotion.radiation.id, 30 * 20, 2));
}
if (entity instanceof EntityLivingBase && this == ModBlocks.block_waste)
{
((EntityLivingBase) entity).addPotionEffect(new PotionEffect(HbmPotion.radiation.id, 30 * 20, 2));
}
if (entity instanceof EntityLivingBase && (this == ModBlocks.waste_trinitite || this == ModBlocks.waste_trinitite_red))
{
((EntityLivingBase) entity).addPotionEffect(new PotionEffect(HbmPotion.radiation.id, 30 * 20, 0));
}
if (entity instanceof EntityLivingBase && this == ModBlocks.sellafield_0)
{
((EntityLivingBase) entity).addPotionEffect(new PotionEffect(HbmPotion.radiation.id, 30 * 20, 0));
}
if (entity instanceof EntityLivingBase && this == ModBlocks.sellafield_1)
{
((EntityLivingBase) entity).addPotionEffect(new PotionEffect(HbmPotion.radiation.id, 30 * 20, 1));
}
if (entity instanceof EntityLivingBase && this == ModBlocks.sellafield_2)
{
((EntityLivingBase) entity).addPotionEffect(new PotionEffect(HbmPotion.radiation.id, 30 * 20, 2));
}
if (entity instanceof EntityLivingBase && this == ModBlocks.sellafield_3)
{
((EntityLivingBase) entity).addPotionEffect(new PotionEffect(HbmPotion.radiation.id, 30 * 20, 3));
}
if (entity instanceof EntityLivingBase && this == ModBlocks.sellafield_4)
{
((EntityLivingBase) entity).addPotionEffect(new PotionEffect(HbmPotion.radiation.id, 30 * 20, 4));
}
if (entity instanceof EntityLivingBase && this == ModBlocks.sellafield_core)
{
((EntityLivingBase) entity).addPotionEffect(new PotionEffect(HbmPotion.radiation.id, 30 * 20, 5));
}
if (entity instanceof EntityLivingBase && this == ModBlocks.brick_jungle_ooze)
{
((EntityLivingBase) entity).addPotionEffect(new PotionEffect(HbmPotion.radiation.id, 15 * 20, 9));
}
if (entity instanceof EntityLivingBase && this == ModBlocks.brick_jungle_mystic)
{
((EntityLivingBase) entity).addPotionEffect(new PotionEffect(HbmPotion.taint.id, 15 * 20, 2));
}
if(this == ModBlocks.block_meteor_molten)
entity.setFire(5);
}
@Override
@SideOnly(Side.CLIENT)
public void randomDisplayTick(World p_149734_1_, int p_149734_2_, int p_149734_3_, int p_149734_4_, Random p_149734_5_)
{
super.randomDisplayTick(p_149734_1_, p_149734_2_, p_149734_3_, p_149734_4_, p_149734_5_);
if (this == ModBlocks.waste_trinitite || this == ModBlocks.waste_trinitite_red || this == ModBlocks.block_trinitite || this == ModBlocks.block_waste)
{
p_149734_1_.spawnParticle("townaura", p_149734_2_ + p_149734_5_.nextFloat(), p_149734_3_ + 1.1F, p_149734_4_ + p_149734_5_.nextFloat(), 0.0D, 0.0D, 0.0D);
}
}
}
@Override
public void onNeighborBlockChange(World world, int x, int y, int z, Block block)
{
if (world.getBlock(x, y - 1, z) == ModBlocks.ore_oil_empty)
{
world.setBlock(x, y, z, ModBlocks.ore_oil_empty);
world.setBlock(x, y - 1, z, ModBlocks.ore_oil);
}
}
@Override
public void updateTick(World world, int x, int y, int z, Random rand)
{
if(this == ModBlocks.block_meteor_molten) {
if(!world.isRemote)
world.setBlock(x, y, z, ModBlocks.block_meteor_cobble);
world.playSoundEffect((double)((float)x + 0.5F), (double)((float)y + 0.5F), (double)((float)z + 0.5F), "random.fizz", 0.5F, 2.6F + (world.rand.nextFloat() - world.rand.nextFloat()) * 0.8F);
return;
}
if(this.radIn > 0) {
RadiationSavedData.incrementRad(world, x, z, radIn, radMax);
public int quantityDropped(Random p_149745_1_) {
if(this == ModBlocks.ore_fluorite) {
return 2 + p_149745_1_.nextInt(3);
}
if(this == ModBlocks.ore_niter) {
return 2 + p_149745_1_.nextInt(3);
}
if(this == ModBlocks.ore_sulfur || this == ModBlocks.ore_nether_sulfur || this == ModBlocks.ore_meteor_sulfur) {
return 2 + p_149745_1_.nextInt(3);
}
if(this == ModBlocks.ore_rare || this == ModBlocks.ore_gneiss_rare) {
return 4 + p_149745_1_.nextInt(8);
}
if(this == ModBlocks.block_meteor_broken) {
return 1 + p_149745_1_.nextInt(3);
}
if(this == ModBlocks.block_meteor_treasure) {
return 1 + p_149745_1_.nextInt(3);
}
world.scheduleBlockUpdate(x, y, z, this, this.tickRate(world));
}
}
@Override
public int tickRate(World world) {
if(this.radIn > 0)
return 20;
return 100;
}
public void onBlockAdded(World world, int x, int y, int z)
{
super.onBlockAdded(world, x, y, z);
if(this.radIn > 0)
world.scheduleBlockUpdate(x, y, z, this, this.tickRate(world));
}
return 1;
}
@Override
public int damageDropped(int p_149692_1_) {
return this == ModBlocks.waste_planks ? 1 : 0;
}
@Override
public void onEntityWalking(World p_149724_1_, int p_149724_2_, int p_149724_3_, int p_149724_4_, Entity entity) {
if(entity instanceof EntityLivingBase && this == ModBlocks.frozen_dirt) {
((EntityLivingBase) entity).addPotionEffect(new PotionEffect(Potion.moveSlowdown.id, 2 * 60 * 20, 2));
}
if(entity instanceof EntityLivingBase && this == ModBlocks.block_trinitite) {
((EntityLivingBase) entity).addPotionEffect(new PotionEffect(HbmPotion.radiation.id, 30 * 20, 2));
}
if(entity instanceof EntityLivingBase && this == ModBlocks.block_waste) {
((EntityLivingBase) entity).addPotionEffect(new PotionEffect(HbmPotion.radiation.id, 30 * 20, 2));
}
if(entity instanceof EntityLivingBase && (this == ModBlocks.waste_trinitite || this == ModBlocks.waste_trinitite_red)) {
((EntityLivingBase) entity).addPotionEffect(new PotionEffect(HbmPotion.radiation.id, 30 * 20, 0));
}
if(entity instanceof EntityLivingBase && this == ModBlocks.sellafield_0) {
((EntityLivingBase) entity).addPotionEffect(new PotionEffect(HbmPotion.radiation.id, 30 * 20, 0));
}
if(entity instanceof EntityLivingBase && this == ModBlocks.sellafield_1) {
((EntityLivingBase) entity).addPotionEffect(new PotionEffect(HbmPotion.radiation.id, 30 * 20, 1));
}
if(entity instanceof EntityLivingBase && this == ModBlocks.sellafield_2) {
((EntityLivingBase) entity).addPotionEffect(new PotionEffect(HbmPotion.radiation.id, 30 * 20, 2));
}
if(entity instanceof EntityLivingBase && this == ModBlocks.sellafield_3) {
((EntityLivingBase) entity).addPotionEffect(new PotionEffect(HbmPotion.radiation.id, 30 * 20, 3));
}
if(entity instanceof EntityLivingBase && this == ModBlocks.sellafield_4) {
((EntityLivingBase) entity).addPotionEffect(new PotionEffect(HbmPotion.radiation.id, 30 * 20, 4));
}
if(entity instanceof EntityLivingBase && this == ModBlocks.sellafield_core) {
((EntityLivingBase) entity).addPotionEffect(new PotionEffect(HbmPotion.radiation.id, 30 * 20, 5));
}
if(entity instanceof EntityLivingBase && this == ModBlocks.brick_jungle_ooze) {
((EntityLivingBase) entity).addPotionEffect(new PotionEffect(HbmPotion.radiation.id, 15 * 20, 9));
}
if(entity instanceof EntityLivingBase && this == ModBlocks.brick_jungle_mystic) {
((EntityLivingBase) entity).addPotionEffect(new PotionEffect(HbmPotion.taint.id, 15 * 20, 2));
}
if(this == ModBlocks.block_meteor_molten)
entity.setFire(5);
}
@Override
@SideOnly(Side.CLIENT)
public void randomDisplayTick(World p_149734_1_, int p_149734_2_, int p_149734_3_, int p_149734_4_, Random p_149734_5_) {
super.randomDisplayTick(p_149734_1_, p_149734_2_, p_149734_3_, p_149734_4_, p_149734_5_);
if(this == ModBlocks.waste_trinitite || this == ModBlocks.waste_trinitite_red || this == ModBlocks.block_trinitite || this == ModBlocks.block_waste) {
p_149734_1_.spawnParticle("townaura", p_149734_2_ + p_149734_5_.nextFloat(), p_149734_3_ + 1.1F, p_149734_4_ + p_149734_5_.nextFloat(), 0.0D, 0.0D, 0.0D);
}
}
@Override
public void onNeighborBlockChange(World world, int x, int y, int z, Block block) {
if(world.getBlock(x, y - 1, z) == ModBlocks.ore_oil_empty) {
world.setBlock(x, y, z, ModBlocks.ore_oil_empty);
world.setBlock(x, y - 1, z, ModBlocks.ore_oil);
}
}
@Override
public void updateTick(World world, int x, int y, int z, Random rand) {
if(this == ModBlocks.block_meteor_molten) {
if(!world.isRemote)
world.setBlock(x, y, z, ModBlocks.block_meteor_cobble);
world.playSoundEffect((double) ((float) x + 0.5F), (double) ((float) y + 0.5F), (double) ((float) z + 0.5F), "random.fizz", 0.5F, 2.6F + (world.rand.nextFloat() - world.rand.nextFloat()) * 0.8F);
return;
}
if(this.radIn > 0) {
RadiationSavedData.incrementRad(world, x, z, radIn, radMax);
world.scheduleBlockUpdate(x, y, z, this, this.tickRate(world));
}
}
@Override
public int tickRate(World world) {
if(this.radIn > 0)
return 20;
return 100;
}
public void onBlockAdded(World world, int x, int y, int z) {
super.onBlockAdded(world, x, y, z);
if(this.radIn > 0)
world.scheduleBlockUpdate(x, y, z, this, this.tickRate(world));
}
@Override
public void onBlockDestroyedByPlayer(World world, int x, int y, int z, int i) {
if(this == ModBlocks.block_meteor_molten) {
if(!world.isRemote)
world.setBlock(x, y, z, Blocks.lava);
}
if(this == ModBlocks.block_meteor_molten) {
if(!world.isRemote)
world.setBlock(x, y, z, Blocks.lava);
}
}
}

View File

@ -37,6 +37,9 @@ public class BlockOutgas extends BlockOre {
return ModBlocks.gas_radon;
}
if(this == ModBlocks.ancient_scrap)
return ModBlocks.gas_radon_tomb;
if(this == ModBlocks.ore_coal_oil_burning || this == ModBlocks.ore_nether_coal) {
return ModBlocks.gas_monoxide;
}
@ -78,10 +81,12 @@ public class BlockOutgas extends BlockOre {
}
@Override
public void breakBlock(World world, int x, int y, int z, Block block, int meta) {
public void dropBlockAsItemWithChance(World world, int x, int y, int z, int meta, float chance, int fortune) {
if(onBreak) {
world.setBlock(x, y, z, getGas());
}
super.dropBlockAsItemWithChance(world, x, y, z, meta, chance, fortune);
}
}

View File

@ -10,107 +10,111 @@ 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.init.Blocks;
import net.minecraft.util.AxisAlignedBB;
import net.minecraft.world.Explosion;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
public class YellowBarrel extends Block {
Random rand = new Random();
public YellowBarrel(Material p_i45386_1_) {
super(p_i45386_1_);
}
@Override
public void onBlockDestroyedByExplosion(World p_149723_1_, int p_149723_2_, int p_149723_3_, int p_149723_4_, Explosion p_149723_5_)
{
if (!p_149723_1_.isRemote && this == ModBlocks.yellow_barrel)
{
explode(p_149723_1_, p_149723_2_, p_149723_3_, p_149723_4_);
}
}
public void explode(World p_149695_1_, int x, int y, int z) {
if(rand.nextInt(3) == 0) {
p_149695_1_.setBlock(x, y, z, ModBlocks.toxic_block);
} else {
p_149695_1_.createExplosion(null, x, y, z, 18.0F, true);
}
ExplosionNukeGeneric.waste(p_149695_1_, x, y, z, 35);
RadiationSavedData.incrementRad(p_149695_1_, x, z, 35, 1500);
}
@Override
public int getRenderType(){
public void onBlockDestroyedByExplosion(World p_149723_1_, int p_149723_2_, int p_149723_3_, int p_149723_4_, Explosion p_149723_5_) {
if(!p_149723_1_.isRemote && this == ModBlocks.yellow_barrel) {
explode(p_149723_1_, p_149723_2_, p_149723_3_, p_149723_4_);
}
}
public void explode(World world, int x, int y, int z) {
if(rand.nextInt(3) == 0) {
world.setBlock(x, y, z, ModBlocks.toxic_block);
} else {
world.createExplosion(null, x, y, z, 18.0F, true);
}
ExplosionNukeGeneric.waste(world, x, y, z, 35);
for(int i = -5; i <= 5; i++) {
for(int j = -5; j <= 5; j++) {
for(int k = -5; k <= 5; k++) {
if(world.rand.nextInt(5) == 0 && world.getBlock(x + i, y + j, z + k) == Blocks.air)
world.setBlock(x + i, y + j, z + k, ModBlocks.gas_radon_dense);
}
}
}
RadiationSavedData.incrementRad(world, x, z, 35, 1500);
}
@Override
public int getRenderType() {
return BlockFluidBarrel.renderID;
}
@Override
public boolean isOpaqueCube() {
return false;
}
@Override
public boolean renderAsNormalBlock() {
return false;
}
@Override
public void setBlockBoundsBasedOnState(IBlockAccess p_149719_1_, int p_149719_2_, int p_149719_3_, int p_149719_4_)
{
float f = 0.0625F;
this.setBlockBounds(2*f, 0.0F, 2*f, 14*f, 1.0F, 14*f);
}
public void setBlockBoundsBasedOnState(IBlockAccess p_149719_1_, int p_149719_2_, int p_149719_3_, int p_149719_4_) {
float f = 0.0625F;
this.setBlockBounds(2 * f, 0.0F, 2 * f, 14 * f, 1.0F, 14 * f);
}
@Override
public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z) {
float f = 0.0625F;
this.setBlockBounds(2*f, 0.0F, 2*f, 14*f, 1.0F, 14*f);
float f = 0.0625F;
this.setBlockBounds(2 * f, 0.0F, 2 * f, 14 * f, 1.0F, 14 * f);
return AxisAlignedBB.getBoundingBox(x + this.minX, y + this.minY, z + this.minZ, x + this.maxX, y + this.maxY, z + this.maxZ);
}
@Override
public boolean canDropFromExplosion(Explosion p_149659_1_)
{
return false;
}
@Override
@Override
public boolean canDropFromExplosion(Explosion p_149659_1_) {
return false;
}
@Override
@SideOnly(Side.CLIENT)
public void randomDisplayTick(World p_149734_1_, int p_149734_2_, int p_149734_3_, int p_149734_4_, Random p_149734_5_)
{
super.randomDisplayTick(p_149734_1_, p_149734_2_, p_149734_3_, p_149734_4_, p_149734_5_);
public void randomDisplayTick(World p_149734_1_, int p_149734_2_, int p_149734_3_, int p_149734_4_, Random p_149734_5_) {
super.randomDisplayTick(p_149734_1_, p_149734_2_, p_149734_3_, p_149734_4_, p_149734_5_);
p_149734_1_.spawnParticle("townaura", p_149734_2_ + p_149734_5_.nextFloat() * 0.5F + 0.25F, p_149734_3_ + 1.1F, p_149734_4_ + p_149734_5_.nextFloat() * 0.5F + 0.25F, 0.0D, 0.0D, 0.0D);
}
@Override
public void updateTick(World world, int x, int y, int z, Random rand)
{
super.updateTick(world, x, y, z, rand);
if(this == ModBlocks.yellow_barrel)
RadiationSavedData.incrementRad(world, x, z, 5, 75);
else
RadiationSavedData.incrementRad(world, x, z, 0.5F, 5);
p_149734_1_.spawnParticle("townaura", p_149734_2_ + p_149734_5_.nextFloat() * 0.5F + 0.25F, p_149734_3_ + 1.1F, p_149734_4_ + p_149734_5_.nextFloat() * 0.5F + 0.25F, 0.0D, 0.0D, 0.0D);
}
world.scheduleBlockUpdate(x, y, z, this, this.tickRate(world));
}
@Override
public int tickRate(World world) {
return 20;
}
public void onBlockAdded(World world, int x, int y, int z)
{
super.onBlockAdded(world, x, y, z);
world.scheduleBlockUpdate(x, y, z, this, this.tickRate(world));
}
@Override
public void updateTick(World world, int x, int y, int z, Random rand) {
super.updateTick(world, x, y, z, rand);
if(this == ModBlocks.yellow_barrel)
RadiationSavedData.incrementRad(world, x, z, 5, 75);
else
RadiationSavedData.incrementRad(world, x, z, 0.5F, 5);
world.scheduleBlockUpdate(x, y, z, this, this.tickRate(world));
}
@Override
public int tickRate(World world) {
return 20;
}
public void onBlockAdded(World world, int x, int y, int z) {
super.onBlockAdded(world, x, y, z);
world.scheduleBlockUpdate(x, y, z, this, this.tickRate(world));
}
}

View File

@ -22,6 +22,7 @@ public class WorldConfig {
public static int lithiumSpawn = 6;
public static int oilcoalSpawn = 128;
public static int gassshaleSpawn = 5;
public static int gasbubbleSpawn = 64;
public static int netherUraniumuSpawn = 8;
public static int netherTungstenSpawn = 10;
@ -82,6 +83,7 @@ public class WorldConfig {
rareSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.14_rareEarthSpawnRate", "Amount of rare earth ore veins per chunk", 6);
oilcoalSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.15_oilCoalSpawnRate", "Spawns an oily coal vein every nTH chunk", 128);
gassshaleSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.16_gasShaleSpawnRate", "Amount of oil shale veins per chunk", 5);
gasbubbleSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.17_gasBubbleSpawnRate", "Spawns a gas bubble every nTH chunk", 64);
netherUraniumuSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.N00_uraniumSpawnrate", "Amount of nether uranium per chunk", 8);
netherTungstenSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.N01_tungstenSpawnrate", "Amount of nether tungsten per chunk", 10);

View File

@ -377,9 +377,6 @@ public class EntityBulletBase extends Entity implements IProjectile {
/// SPECIAL UPDATE BEHAVIOR ///
if(this.config.bUpdate != null)
this.config.bUpdate.behaveUpdate(this);
if(this.config.style == BulletConfiguration.STYLE_ROCKET && !worldObj.isRemote)
this.worldObj.spawnEntityInWorld(new EntityTSmokeFX(worldObj, this.posX, this.posY, this.posZ, 0, 0, 0));
float f2;
this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI);
@ -408,7 +405,7 @@ public class EntityBulletBase extends Entity implements IProjectile {
double motion = Math.min(Vec3.createVectorHelper(motionX, motionY, motionZ).lengthVector(), 0.1);
for(double d = 0; d < 1; d += 1 / motion) {
for(double d = 0; d < motion; d += 0.0625) {
NBTTagCompound nbt = new NBTTagCompound();
nbt.setString("type", "vanillaExt");

View File

@ -3,12 +3,14 @@ package com.hbm.extprop;
import java.util.UUID;
import com.hbm.lib.ModDamageSource;
import com.hbm.main.MainRegistry;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.SharedMonsterAttributes;
import net.minecraft.entity.ai.attributes.AttributeModifier;
import net.minecraft.entity.ai.attributes.IAttributeInstance;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.world.World;
import net.minecraftforge.common.IExtendedEntityProperties;
@ -85,11 +87,21 @@ public class HbmLivingProps implements IExtendedEntityProperties {
if((entity.getMaxHealth() <= 0 || digamma >= 10.0F) && entity.isEntityAlive()) {
entity.setAbsorptionAmount(0);
entity.attackEntityFrom(ModDamageSource.radiation, 500F);
entity.attackEntityFrom(ModDamageSource.digamma, 500F);
entity.setHealth(0);
entity.onDeath(ModDamageSource.digamma);
}
if(entity instanceof EntityPlayer) {
if(entity.isEntityAlive())
entity.onDeath(ModDamageSource.radiation);
float di = getData(entity).digamma;
if(di > 0F)
((EntityPlayer) entity).triggerAchievement(MainRegistry.digammaSee);
if(di >= 2F)
((EntityPlayer) entity).triggerAchievement(MainRegistry.digammaFeel);
if(di >= 10F)
((EntityPlayer) entity).triggerAchievement(MainRegistry.digammaKnow);
}
}

View File

@ -2,6 +2,7 @@ package com.hbm.handler;
import com.hbm.config.RadiationConfig;
import com.hbm.extprop.HbmLivingProps;
import com.hbm.main.MainRegistry;
import com.hbm.packet.AuxParticlePacketNT;
import com.hbm.packet.PacketDispatcher;
import com.hbm.packet.ExtPropPacket;
@ -39,51 +40,61 @@ public class EntityEffectHandler {
World world = entity.worldObj;
if(world.isRemote)
return;
if(entity instanceof EntityPlayer && ((EntityPlayer)entity).capabilities.isCreativeMode)
return;
RadiationSavedData data = RadiationSavedData.getData(world);
int ix = (int)MathHelper.floor_double(entity.posX);
int iy = (int)MathHelper.floor_double(entity.posY);
int iz = (int)MathHelper.floor_double(entity.posZ);
Chunk chunk = world.getChunkFromBlockCoords(ix, iz);
float rad = data.getRadNumFromCoord(chunk.xPosition, chunk.zPosition);
if(world.provider.isHellWorld && RadiationConfig.hellRad > 0 && rad < RadiationConfig.hellRad)
rad = RadiationConfig.hellRad;
if(rad > 0) {
ContaminationUtil.applyRadData(entity, rad / 20F);
}
if(entity.worldObj.isRaining() && RadiationConfig.cont > 0 && AuxSavedData.getThunder(entity.worldObj) > 0 && entity.worldObj.canBlockSeeTheSky(ix, iy, iz)) {
ContaminationUtil.applyRadData(entity, RadiationConfig.cont * 0.0005F);
}
if(HbmLivingProps.getRadiation(entity) > 600 && world.getTotalWorldTime() % 600 == 0) {
if(!world.isRemote) {
NBTTagCompound nbt = new NBTTagCompound();
nbt.setString("type", "bloodvomit");
nbt.setInteger("entity", entity.getEntityId());
PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(nbt, 0, 0, 0), new TargetPoint(entity.dimension, entity.posX, entity.posY, entity.posZ, 25));
if(entity instanceof EntityPlayer && ((EntityPlayer)entity).capabilities.isCreativeMode)
return;
int ix = (int)MathHelper.floor_double(entity.posX);
int iy = (int)MathHelper.floor_double(entity.posY);
int iz = (int)MathHelper.floor_double(entity.posZ);
Chunk chunk = world.getChunkFromBlockCoords(ix, iz);
float rad = data.getRadNumFromCoord(chunk.xPosition, chunk.zPosition);
if(world.provider.isHellWorld && RadiationConfig.hellRad > 0 && rad < RadiationConfig.hellRad)
rad = RadiationConfig.hellRad;
if(rad > 0) {
ContaminationUtil.applyRadData(entity, rad / 20F);
}
if(entity.worldObj.isRaining() && RadiationConfig.cont > 0 && AuxSavedData.getThunder(entity.worldObj) > 0 && entity.worldObj.canBlockSeeTheSky(ix, iy, iz)) {
ContaminationUtil.applyRadData(entity, RadiationConfig.cont * 0.0005F);
}
world.playSoundEffect(ix, iy, iz, "hbm:entity.vomit", 1.0F, 1.0F);
entity.addPotionEffect(new PotionEffect(Potion.hunger.id, 60, 19));
} else if(HbmLivingProps.getRadiation(entity) > 200 && world.getTotalWorldTime() % 1200 == 0) {
if(HbmLivingProps.getRadiation(entity) > 600 && world.getTotalWorldTime() % 600 == 0) {
NBTTagCompound nbt = new NBTTagCompound();
nbt.setString("type", "bloodvomit");
nbt.setInteger("entity", entity.getEntityId());
PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(nbt, 0, 0, 0), new TargetPoint(entity.dimension, entity.posX, entity.posY, entity.posZ, 25));
world.playSoundEffect(ix, iy, iz, "hbm:entity.vomit", 1.0F, 1.0F);
entity.addPotionEffect(new PotionEffect(Potion.hunger.id, 60, 19));
} else if(HbmLivingProps.getRadiation(entity) > 200 && world.getTotalWorldTime() % 1200 == 0) {
NBTTagCompound nbt = new NBTTagCompound();
nbt.setString("type", "vomit");
nbt.setInteger("entity", entity.getEntityId());
PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(nbt, 0, 0, 0), new TargetPoint(entity.dimension, entity.posX, entity.posY, entity.posZ, 25));
world.playSoundEffect(ix, iy, iz, "hbm:entity.vomit", 1.0F, 1.0F);
entity.addPotionEffect(new PotionEffect(Potion.hunger.id, 60, 19));
NBTTagCompound nbt = new NBTTagCompound();
nbt.setString("type", "vomit");
nbt.setInteger("entity", entity.getEntityId());
PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(nbt, 0, 0, 0), new TargetPoint(entity.dimension, entity.posX, entity.posY, entity.posZ, 25));
}
} else {
float radiation = HbmLivingProps.getRadiation(entity);
world.playSoundEffect(ix, iy, iz, "hbm:entity.vomit", 1.0F, 1.0F);
entity.addPotionEffect(new PotionEffect(Potion.hunger.id, 60, 19));
if(entity instanceof EntityPlayer && radiation > 600) {
NBTTagCompound nbt = new NBTTagCompound();
nbt.setString("type", "radiation");
nbt.setInteger("count", radiation > 900 ? 4 : radiation > 800 ? 2 : 1);
MainRegistry.proxy.effectNT(nbt);
}
}
}
@ -102,6 +113,7 @@ public class EntityEffectHandler {
NBTTagCompound data = new NBTTagCompound();
data.setString("type", "digammaDecay");
data.setInteger("count", 1);
data.setInteger("entity", entity.getEntityId());
PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, 0, 0, 0), new TargetPoint(entity.dimension, entity.posX, entity.posY, entity.posZ, 25));
}

View File

@ -190,6 +190,7 @@ public class BulletConfigFactory {
bullet.explosive = 5.0F;
bullet.style = BulletConfiguration.STYLE_ROCKET;
bullet.plink = BulletConfiguration.PLINK_GRENADE;
bullet.vPFX = "smoke";
return bullet;
}

View File

@ -27,13 +27,13 @@ public class CentrifugeRecipes {
new ItemStack(ModItems.nuclear_waste_tiny, 2) });
recipes.put(new ComparableStack(ModItems.waste_plutonium), new ItemStack[] {
new ItemStack(ModItems.nugget_pu239, 1),
new ItemStack(ModItems.nugget_pu240, 1),
new ItemStack(ModItems.nugget_pu_mix, 1),
new ItemStack(ModItems.nugget_pu_mix, 1),
new ItemStack(ModItems.nugget_polonium, 1),
new ItemStack(ModItems.nuclear_waste_tiny, 3) });
recipes.put(new ComparableStack(ModItems.waste_mox), new ItemStack[] {
new ItemStack(ModItems.nugget_pu239, 1),
new ItemStack(ModItems.nugget_pu_mix, 1),
new ItemStack(ModItems.nugget_u238, 2),
new ItemStack(ModItems.nugget_polonium, 1),
new ItemStack(ModItems.nuclear_waste_tiny, 2) });

View File

@ -3,7 +3,6 @@ package com.hbm.inventory;
import java.util.List;
import net.minecraft.block.Block;
import net.minecraft.entity.ai.attributes.AttributeModifier;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;

View File

@ -125,6 +125,8 @@ public class ContainerArmorTable extends Container {
} else {
return null;
}
} else {
return null;
}
}

View File

@ -957,6 +957,7 @@ public class ModItems {
public static Item mirror_tool;
public static Item template_folder;
public static Item journal_pip;
public static Item assembly_template;
public static Item chemistry_template;
public static Item chemistry_icon;
@ -2123,6 +2124,10 @@ public class ModItems {
public static Item bob_chemistry;
public static Item bob_oil;
public static Item bob_nuclear;
public static Item digamma_see;
public static Item digamma_feel;
public static Item digamma_know;
public static final int guiID_item_folder = 1099;
public static final int guiID_item_designator = 10100;
@ -2371,7 +2376,7 @@ public class ModItems {
powder_uranium = new ItemRadioactive(0.5F, true).setUnlocalizedName("powder_uranium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_uranium");
powder_plutonium = new ItemRadioactive(2.5F, true).setUnlocalizedName("powder_plutonium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_plutonium");
dust = new ItemCustomLore().setUnlocalizedName("dust").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":dust");
fallout = new ItemRadioactive(0.1F).setUnlocalizedName("fallout").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":fallout");
fallout = new ItemRadioactive(10.0F).setUnlocalizedName("fallout").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":fallout");
powder_advanced_alloy = new Item().setUnlocalizedName("powder_advanced_alloy").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_advanced_alloy");
powder_coal = new Item().setUnlocalizedName("powder_coal").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_coal");
powder_combine_steel = new Item().setUnlocalizedName("powder_combine_steel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_combine_steel");
@ -3815,6 +3820,7 @@ public class ModItems {
turret_cheapo_ammo = new ItemTurretAmmo(ModBlocks.turret_cheapo, 100).setUnlocalizedName("turret_cheapo_ammo").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":turret_cheapo_ammo");
template_folder = new ItemTemplateFolder().setUnlocalizedName("template_folder").setMaxStackSize(1).setCreativeTab(MainRegistry.templateTab).setTextureName(RefStrings.MODID + ":template_folder");
journal_pip = new ItemTemplateFolder().setUnlocalizedName("journal_pip").setMaxStackSize(1).setCreativeTab(MainRegistry.templateTab).setTextureName(RefStrings.MODID + ":journal_pip");
assembly_template = new ItemAssemblyTemplate().setUnlocalizedName("assembly_template").setMaxStackSize(1).setCreativeTab(MainRegistry.templateTab).setTextureName(RefStrings.MODID + ":assembly_template");
chemistry_template = new ItemChemistryTemplate().setUnlocalizedName("chemistry_template").setMaxStackSize(1).setCreativeTab(MainRegistry.templateTab).setTextureName(RefStrings.MODID + ":chemistry_template");
chemistry_icon = new ItemChemistryIcon().setUnlocalizedName("chemistry_icon").setMaxStackSize(1).setCreativeTab(null);
@ -4456,6 +4462,9 @@ public class ModItems {
bob_chemistry = new Item().setUnlocalizedName("bob_chemistry").setTextureName(RefStrings.MODID + ":bob_chemistry");
bob_oil = new Item().setUnlocalizedName("bob_oil").setTextureName(RefStrings.MODID + ":bob_oil");
bob_nuclear = new Item().setUnlocalizedName("bob_nuclear").setTextureName(RefStrings.MODID + ":bob_nuclear");
digamma_see = new Item().setUnlocalizedName("digamma_see").setTextureName(RefStrings.MODID + ":digamma_see");
digamma_feel = new Item().setUnlocalizedName("digamma_feel").setTextureName(RefStrings.MODID + ":digamma_feel");
digamma_know = new Item().setUnlocalizedName("digamma_know").setTextureName(RefStrings.MODID + ":digamma_know");
mysteryshovel = new ItemMS().setUnlocalizedName("mysteryshovel").setFull3D().setMaxStackSize(1).setTextureName(RefStrings.MODID + ":cursed_shovel");
memory = new ItemBattery(Long.MAX_VALUE / 100L, 100000000000000L, 100000000000000L).setUnlocalizedName("memory").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":mo8_anim");
@ -5147,6 +5156,7 @@ public class ModItems {
//Folders
GameRegistry.registerItem(template_folder, template_folder.getUnlocalizedName());
GameRegistry.registerItem(journal_pip, journal_pip.getUnlocalizedName());
GameRegistry.registerItem(bobmazon_materials, bobmazon_materials.getUnlocalizedName());
GameRegistry.registerItem(bobmazon_machines, bobmazon_machines.getUnlocalizedName());
GameRegistry.registerItem(bobmazon_weapons, bobmazon_weapons.getUnlocalizedName());
@ -6630,6 +6640,9 @@ public class ModItems {
GameRegistry.registerItem(bob_chemistry, bob_chemistry.getUnlocalizedName());
GameRegistry.registerItem(bob_oil, bob_oil.getUnlocalizedName());
GameRegistry.registerItem(bob_nuclear, bob_nuclear.getUnlocalizedName());
GameRegistry.registerItem(digamma_see, digamma_see.getUnlocalizedName());
GameRegistry.registerItem(digamma_feel, digamma_feel.getUnlocalizedName());
GameRegistry.registerItem(digamma_know, digamma_know.getUnlocalizedName());
GameRegistry.registerItem(mysteryshovel, mysteryshovel.getUnlocalizedName());
GameRegistry.registerItem(memory, memory.getUnlocalizedName());
}

View File

@ -14,6 +14,8 @@ import com.hbm.entity.effect.EntityVortex;
import com.hbm.entity.logic.EntityNukeExplosionMK3;
import com.hbm.explosion.ExplosionChaos;
import com.hbm.explosion.ExplosionLarge;
import com.hbm.explosion.ExplosionNT;
import com.hbm.explosion.ExplosionNT.ExAttrib;
import com.hbm.interfaces.IBomb;
import com.hbm.items.ModItems;
import com.hbm.main.MainRegistry;
@ -89,8 +91,9 @@ public class ItemDrop extends Item {
}
if (stack.getItem() != null && stack.getItem() == ModItems.pellet_antimatter && WeaponConfig.dropCell) {
if (!entityItem.worldObj.isRemote) {
ExplosionLarge.explodeFire(entityItem.worldObj, entityItem.posX, entityItem.posY,
entityItem.posZ, 100, true, true, true);
new ExplosionNT(entityItem.worldObj, entityItem, entityItem.posX, entityItem.posY, entityItem.posZ, 30).overrideResolution(64).addAttrib(ExAttrib.FIRE).addAttrib(ExAttrib.NOSOUND).explode();
ExplosionLarge.spawnParticles(entityItem.worldObj, entityItem.posX, entityItem.posY, entityItem.posZ, ExplosionLarge.cloudFunction(100));
entityItem.worldObj.playSoundEffect(entityItem.posX, entityItem.posY, entityItem.posZ, "hbm:weapon.mukeExplosion", 15.0F, 1.0F);
}
}
if (stack.getItem() != null && stack.getItem() == ModItems.cell_anti_schrabidium && WeaponConfig.dropCell) {

View File

@ -4,6 +4,7 @@ import java.util.List;
import com.hbm.lib.Library;
import com.hbm.main.MainRegistry;
import com.hbm.world.dungeon.AncientTomb;
import com.hbm.world.dungeon.Spaceship;
import com.hbm.world.generator.CellularDungeonFactory;
@ -42,10 +43,12 @@ public class ItemWandD extends Item {
//new Ruin001().generate_r0(world, world.rand, x, y - 8, z);
CellularDungeonFactory.jungle.generate(world, x, y, z, world.rand);
//CellularDungeonFactory.jungle.generate(world, x, y, z, world.rand);
//CellularDungeonFactory.jungle.generate(world, x, y + 4, z, world.rand);
//CellularDungeonFactory.jungle.generate(world, x, y + 8, z, world.rand);
new AncientTomb().build(world, x, y + 10, z);
//new ArcticVault().trySpawn(world, x, y, z);
/*for(int ix = x - 10; ix <= x + 10; ix++) {

View File

@ -149,6 +149,9 @@ public class HbmWorldGen implements IWorldGenerator {
if(WorldConfig.oilcoalSpawn > 0 && rand.nextInt(WorldConfig.oilcoalSpawn) == 0)
DungeonToolbox.generateOre(world, rand, i, j, 1, 64, 32, 32, ModBlocks.ore_coal_oil);
if(WorldConfig.gasbubbleSpawn > 0 && rand.nextInt(WorldConfig.gasbubbleSpawn) == 0)
DungeonToolbox.generateOre(world, rand, i, j, 1, 32, 30, 10, ModBlocks.gas_flammable);
for (int k = 0; k < 6; k++) {
int randPosX = i + rand.nextInt(16);
int randPosY = rand.nextInt(35);

View File

@ -24,6 +24,7 @@ public class ModDamageSource extends DamageSource {
public static DamageSource euthanizedSelf2 = (new DamageSource("euthanizedSelf2")).setDamageBypassesArmor();
public static DamageSource tauBlast = (new DamageSource("tauBlast")).setDamageBypassesArmor();
public static DamageSource radiation = (new DamageSource("radiation")).setDamageBypassesArmor();
public static DamageSource digamma = (new DamageSource("digamma")).setDamageIsAbsolute().setDamageBypassesArmor().setDamageAllowedInCreativeMode();
public static DamageSource suicide = (new DamageSource("suicide")).setProjectile();
public static DamageSource teleporter = (new DamageSource("teleporter")).setDamageIsAbsolute();
public static DamageSource cheater = (new DamageSource("cheater")).setDamageIsAbsolute().setDamageBypassesArmor().setDamageAllowedInCreativeMode();

View File

@ -3,6 +3,7 @@
import net.minecraft.block.Block;
import net.minecraft.client.Minecraft;
import net.minecraft.client.model.ModelChicken;
import net.minecraft.client.particle.EntityAuraFX;
import net.minecraft.client.particle.EntityBlockDustFX;
import net.minecraft.client.particle.EntityCloudFX;
import net.minecraft.client.particle.EntityFX;
@ -1059,16 +1060,19 @@ public class ClientProxy extends ServerProxy {
Entity e = world.getEntityByID(data.getInteger("entity"));
if(e instanceof EntityLivingBase) {
double ix = e.boundingBox.minX - 0.2 + (e.boundingBox.maxX - e.boundingBox.minX + 0.4) * rand.nextDouble();
double iy = e.boundingBox.minY + (e.boundingBox.maxY - e.boundingBox.minY + 0.2) * rand.nextDouble();
double iz = e.boundingBox.minZ - 0.2 + (e.boundingBox.maxZ - e.boundingBox.minZ + 0.4) * rand.nextDouble();
EntityFX fx = new net.minecraft.client.particle.EntityBlockDustFX(world, ix, iy, iz, 0, 0, 0, Blocks.soul_sand, 0);
ReflectionHelper.setPrivateValue(EntityFX.class, fx, 150 + rand.nextInt(50), "particleMaxAge", "field_70547_e");
Minecraft.getMinecraft().effectRenderer.addEffect(fx);
for(int i = 0; i < data.getInteger("count"); i++) {
double ix = e.boundingBox.minX - 0.2 + (e.boundingBox.maxX - e.boundingBox.minX + 0.4) * rand.nextDouble();
double iy = e.boundingBox.minY + (e.boundingBox.maxY - e.boundingBox.minY + 0.2) * rand.nextDouble();
double iz = e.boundingBox.minZ - 0.2 + (e.boundingBox.maxZ - e.boundingBox.minZ + 0.4) * rand.nextDouble();
EntityFX fx = new net.minecraft.client.particle.EntityBlockDustFX(world, ix, iy, iz, 0, 0, 0, Blocks.soul_sand, 0);
ReflectionHelper.setPrivateValue(EntityFX.class, fx, 150 + rand.nextInt(50), "particleMaxAge", "field_70547_e");
Minecraft.getMinecraft().effectRenderer.addEffect(fx);
}
}
}
@ -1112,6 +1116,22 @@ public class ClientProxy extends ServerProxy {
}
}
if("radiation".equals(type)) {
for(int i = 0; i < data.getInteger("count"); i++) {
EntityAuraFX flash = new EntityAuraFX(world,
player.posX + rand.nextGaussian() * 4,
player.posY + rand.nextGaussian() * 2,
player.posZ + rand.nextGaussian() * 4,
0, 0, 0);
flash.setRBGColorF(0F, 0.75F, 1F);
flash.setVelocity(rand.nextGaussian(), rand.nextGaussian(), rand.nextGaussian());
Minecraft.getMinecraft().effectRenderer.addEffect(flash);
}
}
if("hadron".equals(type)) {
Minecraft.getMinecraft().effectRenderer.addEffect(new ParticleHadron(man, world, x, y, z));

View File

@ -189,6 +189,9 @@ public class MainRegistry {
public static Achievement bossMeltdown;
public static Achievement bossMaskman;
public static Achievement bossWorm;
public static Achievement digammaSee;
public static Achievement digammaFeel;
public static Achievement digammaKnow;
public static int generalOverride = 0;
public static int polaroidID = 1;
@ -908,6 +911,10 @@ public class MainRegistry {
achRadPoison = new Achievement("achievement.radPoison", "radPoison", -2, 6, ModItems.geiger_counter, null).initIndependentStat().registerStat();
achRadDeath = new Achievement("achievement.radDeath", "radDeath", 0, 6, Items.skull, achRadPoison).initIndependentStat().registerStat().setSpecial();
digammaSee = new Achievement("achievement.digammaSee", "digammaSee", -2, 8, ModItems.digamma_see, null).initIndependentStat().registerStat();
digammaFeel = new Achievement("achievement.digammaFeel", "digammaFeel", 0, 8, ModItems.digamma_feel, digammaSee).initIndependentStat().registerStat();
digammaKnow = new Achievement("achievement.digammaKnow", "digammaKnow", 2, 8, ModItems.digamma_know, digammaFeel).initIndependentStat().registerStat().setSpecial();
AchievementPage.registerAchievementPage(new AchievementPage("Nuclear Tech", new Achievement[] {
achSacrifice,
achImpossible,
@ -939,7 +946,10 @@ public class MainRegistry {
bossCreeper,
bossMeltdown,
bossMaskman,
bossWorm
bossWorm,
digammaSee,
digammaFeel,
digammaKnow
}));
// MUST be initialized AFTER achievements!!

View File

@ -91,7 +91,7 @@ public class ModEventHandlerClient {
/// HANDLE GEIGER COUNTER HUD ///
if(event.type == ElementType.HOTBAR) {
if(!(ArmorFSB.hasFSBArmor(player) && ((ArmorFSB)player.inventory.armorInventory[3].getItem()).customGeiger)) {
if(!(ArmorFSB.hasFSBArmor(player) && ((ArmorFSB)player.inventory.armorInventory[2].getItem()).customGeiger)) {
if(player.inventory.hasItem(ModItems.geiger_counter)) {

View File

@ -590,6 +590,9 @@ public class ResourceManager {
public static final IModelCustom tom_flame = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/weapons/tom_flame.hmf"));
public static final IModelCustom nikonium = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/nikonium.obj"));
//Projectiles
public static final IModelCustom projectiles = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/projectiles/projectiles.obj"));
//Bomber
public static final IModelCustom dornier = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/dornier.obj"));
public static final IModelCustom b29 = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/b29.obj"));
@ -697,6 +700,17 @@ public class ResourceManager {
public static final ResourceLocation tom_flame_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/tom_flame.png");
public static final ResourceLocation nikonium_tex = new ResourceLocation(RefStrings.MODID, "textures/models/misc/nikonium.png");
//Projectiles
public static final ResourceLocation bullet_pistol_tex = new ResourceLocation(RefStrings.MODID, "textures/models/projectiles/bullet_pistol.png");
public static final ResourceLocation bullet_rifle_tex = new ResourceLocation(RefStrings.MODID, "textures/models/projectiles/bullet_rifle.png");
public static final ResourceLocation buckshot_tex = new ResourceLocation(RefStrings.MODID, "textures/models/projectiles/pellet_buckshot.png");
public static final ResourceLocation flechette_tex = new ResourceLocation(RefStrings.MODID, "textures/models/projectiles/flechette.png");
public static final ResourceLocation grenade_tex = new ResourceLocation(RefStrings.MODID, "textures/models/projectiles/grenade.png");
public static final ResourceLocation rocket_tex = new ResourceLocation(RefStrings.MODID, "textures/models/projectiles/rocket.png");
public static final ResourceLocation rocket_mirv_tex = new ResourceLocation(RefStrings.MODID, "textures/models/projectiles/rocket_mirv.png");
public static final ResourceLocation mini_nuke_tex = new ResourceLocation(RefStrings.MODID, "textures/models/projectiles/mini_nuke.png");
public static final ResourceLocation mini_mirv_tex = new ResourceLocation(RefStrings.MODID, "textures/models/projectiles/mini_mirv.png");
//Bomber
public static final ResourceLocation dornier_0_tex = new ResourceLocation(RefStrings.MODID, "textures/models/dornier_0.png");
public static final ResourceLocation dornier_1_tex = new ResourceLocation(RefStrings.MODID, "textures/models/dornier_1.png");

View File

@ -57,6 +57,8 @@ public class RenderBullet extends Render {
int style = bullet.getDataWatcher().getWatchableObjectByte(16);
int trail = bullet.getDataWatcher().getWatchableObjectByte(17);
GL11.glEnable(GL11.GL_CULL_FACE);
switch(style) {
case BulletConfiguration.STYLE_NONE: break;
case BulletConfiguration.STYLE_NORMAL: renderBullet(trail); break;
@ -82,20 +84,34 @@ public class RenderBullet extends Render {
if (type == 2) {
bindTexture(new ResourceLocation(RefStrings.MODID + ":textures/models/emplacer.png"));
bullet.renderAll(0.0625F);
} else if (type == 1) {
bindTexture(new ResourceLocation(RefStrings.MODID + ":textures/models/tau.png"));
bullet.renderAll(0.0625F);
} else if (type == 0) {
bindTexture(new ResourceLocation(RefStrings.MODID + ":textures/models/bullet.png"));
GL11.glScaled(0.5, 0.5, 0.5);
GL11.glRotated(90, 0, 0, 1);
GL11.glRotated(90, 0, 1, 0);
GL11.glShadeModel(GL11.GL_SMOOTH);
bindTexture(ResourceManager.bullet_rifle_tex);
ResourceManager.projectiles.renderPart("BulletRifle");
GL11.glShadeModel(GL11.GL_FLAT);
}
bullet.renderAll(0.0625F);
}
private void renderBuckshot() {
bindTexture(new ResourceLocation(RefStrings.MODID + ":textures/entity/buckshot.png"));
buckshot.renderAll(0.0625F);
GL11.glScaled(0.5, 0.5, 0.5);
GL11.glRotated(90, 0, 0, 1);
GL11.glRotated(90, 0, 1, 0);
GL11.glShadeModel(GL11.GL_SMOOTH);
bindTexture(ResourceManager.buckshot_tex);
ResourceManager.projectiles.renderPart("Buckshot");
GL11.glShadeModel(GL11.GL_FLAT);
}
private void renderRocket(int type) {
@ -129,9 +145,17 @@ public class RenderBullet extends Render {
GL11.glRotatef(180, 1, 0, 0);
ResourceManager.rpc.renderAll();
return;
} else {
GL11.glScaled(0.5, 0.5, 0.5);
GL11.glRotated(90, 0, 0, 1);
GL11.glRotated(90, 0, 1, 0);
GL11.glShadeModel(GL11.GL_SMOOTH);
bindTexture(ResourceManager.rocket_tex);
ResourceManager.projectiles.renderPart("Rocket");
GL11.glShadeModel(GL11.GL_FLAT);
}
rocket.renderAll(0.0625F);
}
private void renderGrenade(int type) {
@ -152,21 +176,32 @@ public class RenderBullet extends Render {
case 5:
bindTexture(new ResourceLocation(RefStrings.MODID + ":textures/entity/ModelGrenadeTraining.png")); break;
}
grenade.renderAll(0.0625F);
GL11.glShadeModel(GL11.GL_SMOOTH);
bindTexture(ResourceManager.grenade_tex);
ResourceManager.projectiles.renderPart("Grenade");
GL11.glShadeModel(GL11.GL_FLAT);
}
private void renderNuke(int type) {
GL11.glScalef(1.5F, 1.5F, 1.5F);
GL11.glScaled(0.5, 0.5, 0.5);
GL11.glRotated(90, 0, 0, 1);
GL11.glRotated(90, 0, 1, 0);
switch(type) {
case 0:
bindTexture(new ResourceLocation(RefStrings.MODID + ":textures/models/MiniNuke.png"));
nuke.renderAll(0.0625F); break;
GL11.glShadeModel(GL11.GL_SMOOTH);
bindTexture(ResourceManager.mini_nuke_tex);
ResourceManager.projectiles.renderPart("MiniNuke");
GL11.glShadeModel(GL11.GL_FLAT);
break;
case 1:
bindTexture(new ResourceLocation(RefStrings.MODID + ":textures/models/Mirv.png"));
mirv.renderAll(0.0625F); break;
GL11.glShadeModel(GL11.GL_SMOOTH);
bindTexture(ResourceManager.mini_mirv_tex);
ResourceManager.projectiles.renderPart("MiniMIRV");
GL11.glShadeModel(GL11.GL_FLAT);
break;
case 2:
bindTexture(new ResourceLocation(RefStrings.MODID + ":textures/models/BaleFlare.png"));
bf.renderAll(0.0625F); break;
@ -232,82 +267,11 @@ public class RenderBullet extends Render {
}
private void renderFlechette() {
GL11.glPushMatrix();
GL11.glDisable(GL11.GL_TEXTURE_2D);
GL11.glDisable(GL11.GL_LIGHTING);
GL11.glScalef(1F/16F, 1F/16F, 1F/16F);
GL11.glScalef(-1, 1, 1);
Tessellator tess = Tessellator.instance;
//back
GL11.glColor3f(0.15F, 0.15F, 0.15F);
tess.startDrawingQuads();
tess.addVertex(0, -1, -1);
tess.addVertex(0, 1, -1);
tess.addVertex(0, 1, 1);
tess.addVertex(0, -1, 1);
tess.draw();
//base
tess.startDrawingQuads();
tess.addVertex(0, -1, -1);
tess.addVertex(1, -0.5, -0.5);
tess.addVertex(1, 0.5, -0.5);
tess.addVertex(0, 1, -1);
tess.draw();
tess.startDrawingQuads();
tess.addVertex(1, -0.5, 0.5);
tess.addVertex(0, -1, 1);
tess.addVertex(0, 1, 1);
tess.addVertex(1, 0.5, 0.5);
tess.draw();
tess.startDrawingQuads();
tess.addVertex(1, -0.5, -0.5);
tess.addVertex(0, -1, -1);
tess.addVertex(0, -1, 1);
tess.addVertex(1, -0.5, 0.5);
tess.draw();
tess.startDrawingQuads();
tess.addVertex(0, 1, -1);
tess.addVertex(1, 0.5, -0.5);
tess.addVertex(1, 0.5, 0.5);
tess.addVertex(0, 1, 1);
tess.draw();
//pin
tess.startDrawing(4);
tess.addVertex(1, 0.5, -0.5);
tess.addVertex(1, -0.5, -0.5);
tess.addVertex(6, 0, 0);
tess.draw();
tess.startDrawing(4);
tess.addVertex(6, 0, 0);
tess.addVertex(1, -0.5, 0.5);
tess.addVertex(1, 0.5, 0.5);
tess.draw();
tess.startDrawing(4);
tess.addVertex(6, 0, 0);
tess.addVertex(1, -0.5, -0.5);
tess.addVertex(1, -0.5, 0.5);
tess.draw();
tess.startDrawing(4);
tess.addVertex(1, 0.5, 0.5);
tess.addVertex(1, 0.5, -0.5);
tess.addVertex(6, 0, 0);
tess.draw();
GL11.glEnable(GL11.GL_TEXTURE_2D);
GL11.glPopMatrix();
GL11.glShadeModel(GL11.GL_SMOOTH);
bindTexture(ResourceManager.flechette_tex);
ResourceManager.projectiles.renderPart("Flechette");
GL11.glShadeModel(GL11.GL_FLAT);
}
private void renderDart(int style, int eID) {

View File

@ -0,0 +1,46 @@
package com.hbm.world.dungeon;
import java.util.Arrays;
import java.util.List;
import com.hbm.blocks.ModBlocks;
import com.hbm.inventory.RecipesCommon.MetaBlock;
import com.hbm.world.generator.DungeonToolbox;
import net.minecraft.world.World;
public class AncientTomb {
public void build(World world, int x, int y, int z) {
List<MetaBlock> concrete = Arrays.asList(new MetaBlock[] {
new MetaBlock(ModBlocks.brick_concrete),
new MetaBlock(ModBlocks.brick_concrete_broken),
new MetaBlock(ModBlocks.brick_concrete_cracked)});
int size = 5;
int cladding = size - 1;
int core = size -2;
int dimOuter = size * 2 + 1;
int dimInner = cladding * 2 + 1;
int dimCore = core * 2 + 1;
DungeonToolbox.generateBox(world, x - size, y - size, z - size, 1, dimOuter, dimOuter, concrete);
DungeonToolbox.generateBox(world, x - size, y - size, z - size, dimOuter, 1, dimOuter, concrete);
DungeonToolbox.generateBox(world, x - size, y - size, z - size, dimOuter, dimOuter, 1, concrete);
DungeonToolbox.generateBox(world, x + size, y - size, z - size, 1, dimOuter, dimOuter, concrete);
DungeonToolbox.generateBox(world, x - size, y + size, z - size, dimOuter, 1, dimOuter, concrete);
DungeonToolbox.generateBox(world, x - size, y - size, z + size, dimOuter, dimOuter, 1, concrete);
DungeonToolbox.generateBox(world, x - cladding, y - cladding, z - cladding, 1, dimInner, dimInner, ModBlocks.brick_obsidian);
DungeonToolbox.generateBox(world, x - cladding, y - cladding, z - cladding, dimInner, 1, dimInner, ModBlocks.brick_obsidian);
DungeonToolbox.generateBox(world, x - cladding, y - cladding, z - cladding, dimInner, dimInner, 1, ModBlocks.brick_obsidian);
DungeonToolbox.generateBox(world, x + cladding, y - cladding, z - cladding, 1, dimInner, dimInner, ModBlocks.brick_obsidian);
DungeonToolbox.generateBox(world, x - cladding, y + cladding, z - cladding, dimInner, 1, dimInner, ModBlocks.brick_obsidian);
DungeonToolbox.generateBox(world, x - cladding, y - cladding, z + cladding, dimInner, dimInner, 1, ModBlocks.brick_obsidian);
DungeonToolbox.generateBox(world, x - core, y - core, z - core, dimCore, dimCore, dimCore, ModBlocks.ancient_scrap);
}
}