finished up most gasses, ancient scraps, digamma achievements
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
4569
src/main/java/assets/hbm/models/projectiles/projectiles.obj
Normal file
BIN
src/main/java/assets/hbm/textures/blocks/ancient_scrap.png
Normal file
|
After Width: | Height: | Size: 692 B |
|
After Width: | Height: | Size: 672 B |
BIN
src/main/java/assets/hbm/textures/blocks/gas_asbestos.png
Normal file
|
After Width: | Height: | Size: 133 B |
BIN
src/main/java/assets/hbm/textures/blocks/gas_flammable.png
Normal file
|
After Width: | Height: | Size: 189 B |
BIN
src/main/java/assets/hbm/textures/blocks/gas_monoxide.png
Normal file
|
After Width: | Height: | Size: 150 B |
BIN
src/main/java/assets/hbm/textures/blocks/gas_radon.png
Normal file
|
After Width: | Height: | Size: 194 B |
BIN
src/main/java/assets/hbm/textures/blocks/gas_radon_dense.png
Normal file
|
After Width: | Height: | Size: 219 B |
BIN
src/main/java/assets/hbm/textures/blocks/gas_radon_tomb.png
Normal file
|
After Width: | Height: | Size: 216 B |
BIN
src/main/java/assets/hbm/textures/items/digamma_feel.png
Normal file
|
After Width: | Height: | Size: 222 B |
BIN
src/main/java/assets/hbm/textures/items/digamma_know.png
Normal file
|
After Width: | Height: | Size: 233 B |
BIN
src/main/java/assets/hbm/textures/items/digamma_see.png
Normal file
|
After Width: | Height: | Size: 184 B |
BIN
src/main/java/assets/hbm/textures/items/plate_armor_fau.png
Normal file
|
After Width: | Height: | Size: 212 B |
|
After Width: | Height: | Size: 143 B |
|
After Width: | Height: | Size: 143 B |
|
After Width: | Height: | Size: 139 B |
BIN
src/main/java/assets/hbm/textures/models/projectiles/grenade.png
Normal file
|
After Width: | Height: | Size: 338 B |
|
After Width: | Height: | Size: 531 B |
|
After Width: | Height: | Size: 521 B |
|
After Width: | Height: | Size: 113 B |
BIN
src/main/java/assets/hbm/textures/models/projectiles/rocket.png
Normal file
|
After Width: | Height: | Size: 189 B |
|
After Width: | Height: | Size: 410 B |
25
src/main/java/com/hbm/blocks/MaterialGas.java
Normal 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;
|
||||
}
|
||||
}
|
||||
@ -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());
|
||||
|
||||
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@ -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) {
|
||||
|
||||
@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
58
src/main/java/com/hbm/blocks/generic/BlockGasFlammable.java
Normal 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;
|
||||
}
|
||||
}
|
||||
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
73
src/main/java/com/hbm/blocks/generic/BlockGasRadonDense.java
Normal 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);
|
||||
}
|
||||
}
|
||||
82
src/main/java/com/hbm/blocks/generic/BlockGasRadonTomb.java
Normal 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);
|
||||
}
|
||||
}
|
||||
29
src/main/java/com/hbm/blocks/generic/BlockNuclearWaste.java
Normal 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);
|
||||
}
|
||||
}
|
||||
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@ -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));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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");
|
||||
|
||||
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -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));
|
||||
}
|
||||
|
||||
@ -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;
|
||||
}
|
||||
|
||||
@ -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) });
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -125,6 +125,8 @@ public class ContainerArmorTable extends Container {
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -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());
|
||||
}
|
||||
|
||||
@ -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) {
|
||||
|
||||
@ -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++) {
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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();
|
||||
|
||||
@ -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));
|
||||
|
||||
@ -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!!
|
||||
|
||||
@ -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)) {
|
||||
|
||||
|
||||
@ -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");
|
||||
|
||||
@ -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) {
|
||||
|
||||
46
src/main/java/com/hbm/world/dungeon/AncientTomb.java
Normal 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);
|
||||
}
|
||||
}
|
||||