Changed all explosions to MK4, added bepis texture, recipes and stuff

This commit is contained in:
HbmMods 2018-03-10 16:06:23 +01:00
parent 451ff927ed
commit b50398cbb0
32 changed files with 200 additions and 232 deletions

View File

@ -212,6 +212,7 @@ tile.flame_war.name=Flamewar aus der Box
tile.float_bomb.name=Schwebebombe
tile.therm_endo.name=Endothermische Bombe
tile.therm_exo.name=Exothermische Bombe
tile.emp_bomb.name=EMP-Ladung
tile.crashed_bomb.name=Blindgänger
tile.boxcar.name=Güterwagon
@ -1057,6 +1058,7 @@ item.turret_rocket_ammo.name=Raketengeschütz 2x4 Munition
item.turret_flamer_ammo.name=Flammenwerfergeschütz-Tanks
item.turret_tau_ammo.name=Tauonengeschütz-Uranmunition
item.turret_spitfire_ammo.name=AA-Geschoss
item.turret_cwis_ammo.name=CIWS 20mm Munitionstrommel
item.clip_revolver_iron.name=Box voll Eisenkugeln
item.clip_revolver.name=.357 Magnum Patronen

View File

@ -199,6 +199,7 @@ tile.flame_war.name=Flame War in a Box
tile.float_bomb.name=Levitation Bomb
tile.therm_endo.name=Endothermic Bomb
tile.therm_exo.name=Exothermic Bomb
tile.emp_bomb.name=EMP Device
tile.crashed_bomb.name=Dud
tile.boxcar.name=Boxcar
@ -1060,6 +1061,7 @@ item.turret_rocket_ammo.name=Rocket Turret 2x4 Ammunition
item.turret_flamer_ammo.name=Flamer Turret Fuel Tanks
item.turret_tau_ammo.name=Tau Turret Uranium Ammo
item.turret_spitfire_ammo.name=AA-Shell
item.turret_cwis_ammo.name=CIWS 20mm Ammo Drum
item.clip_revolver_iron.name=Box of Iron Rounds
item.clip_revolver.name=Box of .357 Rounds

Binary file not shown.

After

Width:  |  Height:  |  Size: 242 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 775 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 663 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 334 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 179 B

View File

@ -163,6 +163,7 @@ public class ModBlocks {
public static Block float_bomb;
public static Block therm_endo;
public static Block therm_exo;
public static Block emp_bomb;
public static Block det_cord;
public static Block det_charge;
public static Block red_barrel;
@ -624,6 +625,7 @@ public class ModBlocks {
float_bomb = new BombFloat(Material.iron).setBlockName("float_bomb").setCreativeTab(MainRegistry.tabNuke).setHardness(5.0F).setResistance(6000.0F);
therm_endo = new BombThermo(Material.iron).setBlockName("therm_endo").setCreativeTab(MainRegistry.tabNuke).setHardness(5.0F).setResistance(6000.0F);
therm_exo = new BombThermo(Material.iron).setBlockName("therm_exo").setCreativeTab(MainRegistry.tabNuke).setHardness(5.0F).setResistance(6000.0F);
emp_bomb = new BombFloat(Material.iron).setBlockName("emp_bomb").setCreativeTab(MainRegistry.tabNuke).setHardness(5.0F).setResistance(6000.0F);
det_cord = new DetCord(Material.iron).setBlockName("det_cord").setCreativeTab(MainRegistry.tabNuke).setHardness(0.1F).setResistance(0.0F).setBlockTextureName(RefStrings.MODID + ":det_cord");
det_charge = new DetCord(Material.iron).setBlockName("det_charge").setCreativeTab(MainRegistry.tabNuke).setHardness(0.1F).setResistance(0.0F).setBlockTextureName(RefStrings.MODID + ":det_charge");
red_barrel = new RedBarrel(Material.iron).setBlockName("red_barrel").setCreativeTab(MainRegistry.tabNuke).setHardness(0.5F).setResistance(2.5F);
@ -1007,6 +1009,7 @@ public class ModBlocks {
GameRegistry.registerBlock(float_bomb, float_bomb.getUnlocalizedName());
GameRegistry.registerBlock(therm_endo, therm_endo.getUnlocalizedName());
GameRegistry.registerBlock(therm_exo, therm_exo.getUnlocalizedName());
GameRegistry.registerBlock(emp_bomb, emp_bomb.getUnlocalizedName());
//GameRegistry.registerBlock(rejuvinator, rejuvinator.getUnlocalizedName());
GameRegistry.registerBlock(det_cord, det_cord.getUnlocalizedName());
GameRegistry.registerBlock(det_charge, det_charge.getUnlocalizedName());

View File

@ -5,6 +5,7 @@ import java.util.Random;
import com.hbm.blocks.ModBlocks;
import com.hbm.entity.logic.EntityNukeExplosionAdvanced;
import com.hbm.entity.logic.EntityNukeExplosionMK3;
import com.hbm.entity.logic.EntityNukeExplosionMK4;
import com.hbm.explosion.ExplosionParticleB;
import com.hbm.interfaces.IBomb;
import com.hbm.main.MainRegistry;
@ -75,19 +76,11 @@ public class BlockCrashedBomb extends BlockContainer implements IBomb {
@Override
public void explode(World world, int x, int y, int z) {
if (!world.isRemote)
{
EntityNukeExplosionMK3 entity0 = new EntityNukeExplosionMK3(world);
entity0.posX = x;
entity0.posY = y;
entity0.posZ = z;
entity0.destructionRange = (int)(MainRegistry.fatmanRadius * 1.25);
entity0.speed = 25;
entity0.coefficient = 10.0F;
if (!world.isRemote) {
world.setBlockToAir(x, y, z);
world.spawnEntityInWorld(entity0);
ExplosionParticleB.spawnMush(world, x, y - 3, z);
world.spawnEntityInWorld(EntityNukeExplosionMK4.statFac(world, (int)(MainRegistry.fatmanRadius * 1.25), x + 0.5, y + 0.5, z + 0.5));
ExplosionParticleB.spawnMush(world, x, y, z);
}
}
}

View File

@ -1,6 +1,9 @@
package com.hbm.blocks.bomb;
import com.hbm.blocks.ModBlocks;
import com.hbm.entity.effect.EntityEMPBlast;
import com.hbm.explosion.ExplosionChaos;
import com.hbm.explosion.ExplosionNukeGeneric;
import com.hbm.interfaces.IBomb;
import com.hbm.lib.RefStrings;
@ -27,8 +30,14 @@ public class BombFloat extends Block implements IBomb {
@Override
@SideOnly(Side.CLIENT)
public void registerBlockIcons(IIconRegister iconRegister) {
this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":bomb_float_top");
this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":bomb_float");
if(this == ModBlocks.float_bomb) {
this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":bomb_float_top");
this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":bomb_float");
}
if(this == ModBlocks.emp_bomb) {
this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":bomb_emp_top");
this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":bomb_emp_side");
}
}
@Override
@ -43,17 +52,27 @@ public class BombFloat extends Block implements IBomb {
this.worldObj = p_149695_1_;
if (p_149695_1_.isBlockIndirectlyGettingPowered(x, y, z))
{
p_149695_1_.setBlock(x, y, z, Blocks.air);
ExplosionChaos.floater(p_149695_1_, x, y, z, 15, 50);
ExplosionChaos.move(p_149695_1_, x, y, z, 15, 0, 50, 0);
explode(p_149695_1_, x, y, z);
}
}
@Override
public void explode(World world, int x, int y, int z) {
world.setBlock(x, y, z, Blocks.air);
ExplosionChaos.floater(world, x, y, z, 15, 50);
ExplosionChaos.move(world, x, y, z, 15, 0, 50, 0);
if(!world.isRemote) {
world.setBlock(x, y, z, Blocks.air);
if(this == ModBlocks.float_bomb) {
ExplosionChaos.floater(world, x, y, z, 15, 50);
ExplosionChaos.move(world, x, y, z, 15, 0, 50, 0);
}
if(this == ModBlocks.emp_bomb) {
ExplosionNukeGeneric.empBlast(world, x, y, z, 50);
EntityEMPBlast wave = new EntityEMPBlast(world, 50);
wave.posX = x + 0.5;
wave.posY = y + 0.5;
wave.posZ = z + 0.5;
world.spawnEntityInWorld(wave);
}
}
}
}

View File

@ -6,6 +6,7 @@ import com.hbm.blocks.ModBlocks;
import com.hbm.entity.effect.EntityNukeCloudNoShroom;
import com.hbm.entity.effect.EntityNukeCloudSmall;
import com.hbm.entity.logic.EntityNukeExplosionMK3;
import com.hbm.entity.logic.EntityNukeExplosionMK4;
import com.hbm.interfaces.IBomb;
import com.hbm.main.MainRegistry;
import com.hbm.tileentity.bomb.TileEntityNukeBoy;
@ -145,22 +146,15 @@ public class NukeBoy extends BlockContainer implements IBomb {
*
* world.spawnEntityInWorld(entity);
*/
EntityNukeExplosionMK3 entity = new EntityNukeExplosionMK3(world);
entity.posX = x;
entity.posY = y;
entity.posZ = z;
entity.destructionRange = MainRegistry.boyRadius;
entity.speed = MainRegistry.blastSpeed;
entity.coefficient = 10.0F;
world.spawnEntityInWorld(entity);
world.spawnEntityInWorld(EntityNukeExplosionMK4.statFac(world, MainRegistry.boyRadius, x + 0.5, y + 0.5, z + 0.5));
// ExplosionNukeAdvanced.mush(world, x, y, z);
if (MainRegistry.enableNukeClouds) {
EntityNukeCloudSmall entity2 = new EntityNukeCloudSmall(world, 1000);
entity2.posX = x;
entity2.posY = y - 11;
entity2.posY = y;
entity2.posZ = z;
world.spawnEntityInWorld(entity2);
} else {

View File

@ -9,6 +9,7 @@ import com.hbm.entity.effect.EntityNukeCloudNoShroom;
import com.hbm.entity.effect.EntityNukeCloudSmall;
import com.hbm.entity.logic.EntityNukeExplosionAdvanced;
import com.hbm.entity.logic.EntityNukeExplosionMK3;
import com.hbm.entity.logic.EntityNukeExplosionMK4;
import com.hbm.interfaces.IBomb;
import com.hbm.main.MainRegistry;
import com.hbm.tileentity.bomb.TileEntityNukeGadget;
@ -159,22 +160,14 @@ public class NukeGadget extends BlockContainer implements IBomb {
* world.spawnEntityInWorld(entity);
*/
EntityNukeExplosionMK3 entity = new EntityNukeExplosionMK3(world);
entity.posX = x;
entity.posY = y;
entity.posZ = z;
entity.destructionRange = MainRegistry.gadgetRadius;
entity.speed = MainRegistry.blastSpeed;
entity.coefficient = 10.0F;
world.spawnEntityInWorld(entity);
world.spawnEntityInWorld(EntityNukeExplosionMK4.statFac(world, MainRegistry.gadgetRadius, x + 0.5, y + 0.5, z + 0.5));
// ExplosionNukeAdvanced.mush(world, x, y, z);
if (MainRegistry.enableNukeClouds) {
EntityNukeCloudSmall entity2 = new EntityNukeCloudSmall(world, 1000);
entity2.posX = x;
entity2.posY = y - 15;
entity2.posY = y;
entity2.posZ = z;
world.spawnEntityInWorld(entity2);
} else {

View File

@ -9,6 +9,7 @@ import com.hbm.entity.effect.EntityNukeCloudNoShroom;
import com.hbm.entity.effect.EntityNukeCloudSmall;
import com.hbm.entity.logic.EntityNukeExplosionAdvanced;
import com.hbm.entity.logic.EntityNukeExplosionMK3;
import com.hbm.entity.logic.EntityNukeExplosionMK4;
import com.hbm.interfaces.IBomb;
import com.hbm.main.MainRegistry;
import com.hbm.tileentity.bomb.TileEntityNukeMan;
@ -173,22 +174,14 @@ public class NukeMan extends BlockContainer implements IBomb {
world.spawnEntityInWorld(entity);*/
EntityNukeExplosionMK3 entity = new EntityNukeExplosionMK3(world);
entity.posX = x;
entity.posY = y;
entity.posZ = z;
entity.destructionRange = MainRegistry.manRadius;
entity.speed = MainRegistry.blastSpeed;
entity.coefficient = 10.0F;
world.spawnEntityInWorld(entity);
world.spawnEntityInWorld(EntityNukeExplosionMK4.statFac(world, MainRegistry.manRadius, x + 0.5, y + 0.5, z + 0.5));
//ExplosionNukeAdvanced.mush(world, x, y, z);
if (MainRegistry.enableNukeClouds) {
EntityNukeCloudSmall entity2 = new EntityNukeCloudSmall(world, 1000);
entity2.posX = x;
entity2.posY = y - 17;
entity2.posY = y;
entity2.posZ = z;
world.spawnEntityInWorld(entity2);
} else {

View File

@ -10,6 +10,7 @@ import com.hbm.entity.effect.EntityNukeCloudNoShroom;
import com.hbm.entity.effect.EntityNukeCloudSmall;
import com.hbm.entity.logic.EntityNukeExplosionAdvanced;
import com.hbm.entity.logic.EntityNukeExplosionMK3;
import com.hbm.entity.logic.EntityNukeExplosionMK4;
import com.hbm.interfaces.IBomb;
import com.hbm.main.MainRegistry;
import com.hbm.tileentity.bomb.TileEntityNukeMike;
@ -141,27 +142,19 @@ public class NukeMike extends BlockContainer implements IBomb {
// world.spawnParticle("hugeexplosion", x, y, z, 0, 0, 0);
world.playSoundEffect(x, y, z, "random.explode", 1.0f, world.rand.nextFloat() * 0.1F + 0.9F);
EntityNukeExplosionMK3 entity = new EntityNukeExplosionMK3(world);
entity.posX = x;
entity.posY = y;
entity.posZ = z;
entity.destructionRange = r;
entity.speed = MainRegistry.blastSpeed;
entity.coefficient = 10.0F;
world.spawnEntityInWorld(entity);
world.spawnEntityInWorld(EntityNukeExplosionMK4.statFac(world, MainRegistry.mikeRadius, x + 0.5, y + 0.5, z + 0.5));
if (MainRegistry.enableNukeClouds) {
if (r < 200) {
EntityNukeCloudSmall entity2 = new EntityNukeCloudSmall(world, 1000);
entity2.posX = x;
entity2.posY = y - (r / 10);
entity2.posY = y;
entity2.posZ = z;
world.spawnEntityInWorld(entity2);
} else {
EntityNukeCloudBig entity2 = new EntityNukeCloudBig(world, 1000);
EntityNukeCloudSmall entity2 = new EntityNukeCloudSmall(world, 1000);
entity2.posX = x;
entity2.posY = y - (r / 10);
entity2.posY = y;
entity2.posZ = z;
world.spawnEntityInWorld(entity2);
}

View File

@ -5,8 +5,10 @@ import java.util.Map;
import java.util.Random;
import com.hbm.blocks.ModBlocks;
import com.hbm.entity.effect.EntityNukeCloudSmall;
import com.hbm.entity.logic.EntityNukeExplosionAdvanced;
import com.hbm.entity.logic.EntityNukeExplosionMK3;
import com.hbm.entity.logic.EntityNukeExplosionMK4;
import com.hbm.interfaces.IBomb;
import com.hbm.main.MainRegistry;
import com.hbm.tileentity.bomb.TileEntityNukeTsar;
@ -149,16 +151,14 @@ public class NukeTsar extends BlockContainer implements IBomb {
tetn.clearSlots();
//world.spawnParticle("hugeexplosion", x, y, z, 0, 0, 0);
world.playSoundEffect(x, y, z, "random.explode", 1.0f, world.rand.nextFloat() * 0.1F + 0.9F);
EntityNukeExplosionMK3 entity = new EntityNukeExplosionMK3(world);
entity.posX = x;
entity.posY = y;
entity.posZ = z;
entity.destructionRange = r;
entity.speed = MainRegistry.blastSpeed;
entity.coefficient = 10.0F;
world.spawnEntityInWorld(entity);
world.spawnEntityInWorld(EntityNukeExplosionMK4.statFac(world, MainRegistry.tsarRadius, x + 0.5, y + 0.5, z + 0.5));
EntityNukeCloudSmall entity2 = new EntityNukeCloudSmall(world, 1000);
entity2.posX = x;
entity2.posY = y;
entity2.posZ = z;
world.spawnEntityInWorld(entity2);
//ExplosionNukeAdvanced.mush(world, x, y, z);
}

View File

@ -1,6 +1,8 @@
package com.hbm.entity.logic;
import com.hbm.entity.effect.EntityFalloutRain;
import com.hbm.explosion.ExplosionLarge;
import com.hbm.explosion.ExplosionNukeGeneric;
import com.hbm.explosion.ExplosionNukeRay;
import com.hbm.main.MainRegistry;
@ -40,6 +42,8 @@ public class EntityNukeExplosionMK4 extends Entity {
return;
}
ExplosionNukeGeneric.dealDamage(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, this.length * 2);
if(explosion == null)
explosion = new ExplosionNukeRay(worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, this.strength, this.count, this.speed, this.length);
@ -52,6 +56,15 @@ public class EntityNukeExplosionMK4 extends Entity {
//MainRegistry.logger.info(explosion.getProgress() + " / " + count / length);
explosion.processTip(speed);
} else {
EntityFalloutRain fallout = new EntityFalloutRain(this.worldObj, (int)(this.length * 1.8) * 10);
fallout.posX = this.posX;
fallout.posY = this.posY;
fallout.posZ = this.posZ;
fallout.setScale((int)(this.length * 1.8));
this.worldObj.spawnEntityInWorld(fallout);
this.setDead();
}
}

View File

@ -3,6 +3,7 @@ package com.hbm.entity.missile;
import com.hbm.entity.effect.EntityNukeCloudSmall;
import com.hbm.entity.logic.EntityNukeExplosionAdvanced;
import com.hbm.entity.logic.EntityNukeExplosionMK3;
import com.hbm.entity.logic.EntityNukeExplosionMK4;
import com.hbm.entity.particle.EntitySmokeFX;
import com.hbm.main.MainRegistry;
@ -39,19 +40,11 @@ public class EntityMIRV extends EntityThrowable {
{
if(!this.worldObj.isRemote)
{
EntityNukeExplosionMK3 entity = new EntityNukeExplosionMK3(this.worldObj);
entity.posX = this.posX;
entity.posY = this.posY;
entity.posZ = this.posZ;
entity.destructionRange = MainRegistry.mirvRadius;
entity.speed = 25;
entity.coefficient = 10.0F;
this.worldObj.spawnEntityInWorld(entity);
worldObj.spawnEntityInWorld(EntityNukeExplosionMK4.statFac(worldObj, MainRegistry.mirvRadius, posX, posY, posZ));
EntityNukeCloudSmall entity2 = new EntityNukeCloudSmall(this.worldObj, 1000);
entity2.posX = this.posX;
entity2.posY = this.posY - 9;
entity2.posY = this.posY;
entity2.posZ = this.posZ;
this.worldObj.spawnEntityInWorld(entity2);
}

View File

@ -6,6 +6,7 @@ import java.util.List;
import com.hbm.entity.effect.EntityNukeCloudSmall;
import com.hbm.entity.logic.EntityNukeExplosionAdvanced;
import com.hbm.entity.logic.EntityNukeExplosionMK3;
import com.hbm.entity.logic.EntityNukeExplosionMK4;
import com.hbm.entity.particle.EntitySmokeFX;
import com.hbm.explosion.ExplosionChaos;
import com.hbm.items.ModItems;
@ -28,15 +29,8 @@ public class EntityMissileMirv extends EntityMissileBaseAdvanced {
@Override
public void onImpact() {
EntityNukeExplosionMK3 entity = new EntityNukeExplosionMK3(this.worldObj);
entity.posX = this.posX;
entity.posY = this.posY;
entity.posZ = this.posZ;
entity.destructionRange = MainRegistry.missileRadius;
entity.speed = MainRegistry.blastSpeed;
entity.coefficient = 10.0F;
this.worldObj.spawnEntityInWorld(entity);
worldObj.spawnEntityInWorld(EntityNukeExplosionMK4.statFac(worldObj, MainRegistry.missileRadius, posX, posY, posZ));
EntityNukeCloudSmall entity2 = new EntityNukeCloudSmall(this.worldObj, 1000);
entity2.posX = this.posX;

View File

@ -5,11 +5,13 @@ import java.util.List;
import com.hbm.entity.effect.EntityNukeCloudSmall;
import com.hbm.entity.logic.EntityNukeExplosionMK3;
import com.hbm.entity.logic.EntityNukeExplosionMK4;
import com.hbm.explosion.ExplosionParticle;
import com.hbm.explosion.ExplosionParticleB;
import com.hbm.items.ModItems;
import com.hbm.lib.Library;
import com.hbm.lib.ModDamageSource;
import com.hbm.main.MainRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
@ -451,21 +453,14 @@ public class EntityNuclearCreeper extends EntityMob {
//this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, (float)(this.explosionRadius * 2), flag);
this.explosionRadius *= 3;
}
EntityNukeExplosionMK3 explosion = new EntityNukeExplosionMK3(this.worldObj);
explosion.speed = 25;
explosion.coefficient = 5.0F;
explosion.destructionRange = this.explosionRadius;
explosion.posX = this.posX;
explosion.posY = this.posY;
explosion.posZ = this.posZ;
this.worldObj.spawnEntityInWorld(explosion);
worldObj.spawnEntityInWorld(EntityNukeExplosionMK4.statFac(worldObj, explosionRadius, posX, posY, posZ));
if(this.getPowered())
{
EntityNukeCloudSmall entity2 = new EntityNukeCloudSmall(this.worldObj, 1000);
entity2.posX = this.posX;
entity2.posY = this.posY - 11;
entity2.posY = this.posY;
entity2.posZ = this.posZ;
this.worldObj.spawnEntityInWorld(entity2);
} else {

View File

@ -2,7 +2,7 @@ package com.hbm.entity.projectile;
import java.util.List;
import com.hbm.entity.logic.EntityNukeExplosionMK3;
import com.hbm.entity.logic.EntityNukeExplosionMK4;
import com.hbm.entity.particle.EntitySSmokeFX;
import com.hbm.explosion.ExplosionParticleB;
import com.hbm.main.MainRegistry;
@ -243,15 +243,7 @@ public class EntityBaleflare extends Entity implements IProjectile {
{
if (!this.worldObj.isRemote)
{
EntityNukeExplosionMK3 entity0 = new EntityNukeExplosionMK3(this.worldObj);
entity0.posX = this.posX;
entity0.posY = this.posY;
entity0.posZ = this.posZ;
entity0.destructionRange = MainRegistry.fatmanRadius;
entity0.speed = 25;
entity0.coefficient = 10.0F;
this.worldObj.spawnEntityInWorld(entity0);
worldObj.spawnEntityInWorld(EntityNukeExplosionMK4.statFac(worldObj, MainRegistry.fatmanRadius, posX, posY, posZ));
ExplosionParticleB.spawnMush(this.worldObj, (int)this.posX, (int)this.posY - 3, (int)this.posZ);
}

View File

@ -2,7 +2,7 @@ package com.hbm.entity.projectile;
import java.util.List;
import com.hbm.entity.logic.EntityNukeExplosionMK3;
import com.hbm.entity.logic.EntityNukeExplosionMK4;
import com.hbm.explosion.ExplosionChaos;
import com.hbm.explosion.ExplosionParticle;
import com.hbm.explosion.ExplosionParticleB;
@ -250,15 +250,8 @@ public class EntityMiniMIRV extends Entity implements IProjectile
{
if (!this.worldObj.isRemote)
{
EntityNukeExplosionMK3 entity0 = new EntityNukeExplosionMK3(this.worldObj);
entity0.posX = this.posX;
entity0.posY = this.posY;
entity0.posZ = this.posZ;
entity0.destructionRange = MainRegistry.fatmanRadius;
entity0.speed = MainRegistry.blastSpeed;
entity0.coefficient = 10.0F;
this.worldObj.spawnEntityInWorld(entity0);
worldObj.spawnEntityInWorld(EntityNukeExplosionMK4.statFac(worldObj, MainRegistry.fatmanRadius, posX, posY, posZ));
if(rand.nextInt(100) == 0)
{
ExplosionParticleB.spawnMush(this.worldObj, (int)this.posX, (int)this.posY - 3, (int)this.posZ);
@ -389,15 +382,8 @@ public class EntityMiniMIRV extends Entity implements IProjectile
{
if (!this.worldObj.isRemote)
{
EntityNukeExplosionMK3 entity0 = new EntityNukeExplosionMK3(this.worldObj);
entity0.posX = this.posX;
entity0.posY = this.posY;
entity0.posZ = this.posZ;
entity0.destructionRange = MainRegistry.fatmanRadius;
entity0.speed = 25;
entity0.coefficient = 10.0F;
this.worldObj.spawnEntityInWorld(entity0);
worldObj.spawnEntityInWorld(EntityNukeExplosionMK4.statFac(worldObj, MainRegistry.fatmanRadius, posX, posY, posZ));
if(rand.nextInt(100) == 0)
{
ExplosionParticleB.spawnMush(this.worldObj, (int)this.posX, (int)this.posY - 3, (int)this.posZ);

View File

@ -2,7 +2,7 @@ package com.hbm.entity.projectile;
import java.util.List;
import com.hbm.entity.logic.EntityNukeExplosionMK3;
import com.hbm.entity.logic.EntityNukeExplosionMK4;
import com.hbm.explosion.ExplosionParticle;
import com.hbm.explosion.ExplosionParticleB;
import com.hbm.main.MainRegistry;
@ -237,15 +237,8 @@ public class EntityMiniNuke extends Entity implements IProjectile
{
if (!this.worldObj.isRemote)
{
EntityNukeExplosionMK3 entity0 = new EntityNukeExplosionMK3(this.worldObj);
entity0.posX = this.posX;
entity0.posY = this.posY;
entity0.posZ = this.posZ;
entity0.destructionRange = MainRegistry.fatmanRadius;
entity0.speed = MainRegistry.blastSpeed;
entity0.coefficient = 10.0F;
this.worldObj.spawnEntityInWorld(entity0);
worldObj.spawnEntityInWorld(EntityNukeExplosionMK4.statFac(worldObj, MainRegistry.fatmanRadius, posX, posY, posZ));
//Perma-baleflare mode if the polaroid's glitched
if(MainRegistry.polaroidID == 11)
if(rand.nextInt(100) >= 0) //edited
@ -385,15 +378,8 @@ public class EntityMiniNuke extends Entity implements IProjectile
{
if (!this.worldObj.isRemote)
{
EntityNukeExplosionMK3 entity0 = new EntityNukeExplosionMK3(this.worldObj);
entity0.posX = this.posX;
entity0.posY = this.posY;
entity0.posZ = this.posZ;
entity0.destructionRange = MainRegistry.fatmanRadius;
entity0.speed = 25;
entity0.coefficient = 10.0F;
this.worldObj.spawnEntityInWorld(entity0);
worldObj.spawnEntityInWorld(EntityNukeExplosionMK4.statFac(worldObj, MainRegistry.fatmanRadius, posX, posY, posZ));
if(rand.nextInt(100) == 0)
{
ExplosionParticleB.spawnMush(this.worldObj, (int)this.posX, (int)this.posY - 3, (int)this.posZ);

View File

@ -17,6 +17,7 @@ import net.minecraft.entity.passive.EntityOcelot;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.init.Blocks;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.AxisAlignedBB;
import net.minecraft.util.MathHelper;
import net.minecraft.util.Vec3;
@ -41,9 +42,11 @@ import com.hbm.lib.Library;
import com.hbm.lib.ModDamageSource;
import com.hbm.tileentity.machine.TileEntityDummy;
import cofh.api.energy.IEnergyProvider;
public class ExplosionNukeGeneric {
private final static Random field_149933_a = new Random();
private final static Random random = new Random();
public static void detonateTestBomb(World world, int x, int y, int z, int bombStartStrength) {
int r = bombStartStrength;
@ -224,7 +227,7 @@ public class ExplosionNukeGeneric {
// entity.attackEntityFrom(DamageSource.generic,
// ((int)((d11 * d11 + d11) / 2.0D * 8.0D *
// bombStartStrength + 1.0D)));
double d8 = 0.125 + (field_149933_a.nextDouble() * 0.25);
double d8 = 0.125 + (random.nextDouble() * 0.25);
entity.motionX -= d5 * d8;
entity.motionY -= d6 * d8;
entity.motionZ -= d7 * d8;
@ -292,7 +295,7 @@ public class ExplosionNukeGeneric {
}
if(!(entity instanceof EntityLivingBase) && !(entity instanceof EntityPlayerMP) && !(entity instanceof EntityBlackHole)) {
if(field_149933_a.nextInt(8) == 0)
if(random.nextInt(8) == 0)
entity.setDead();
}
}
@ -330,13 +333,13 @@ public class ExplosionNukeGeneric {
//blocks to be spared
int protection = (int)(b.getExplosionResistance(null)/300f);
if (b == ModBlocks.brick_concrete) {
rand = field_149933_a.nextInt(8);
rand = random.nextInt(8);
if (rand == 0) {
world.setBlock(x, y, z, Blocks.gravel, 0, 3);
return 0;
}
} else if (b == ModBlocks.brick_light) {
rand = field_149933_a.nextInt(3);
rand = random.nextInt(3);
if (rand == 0) {
world.setBlock(x, y, z, ModBlocks.waste_planks, 0, 3);
return 0;
@ -345,14 +348,14 @@ public class ExplosionNukeGeneric {
return 0;
}
} else if (b == ModBlocks.brick_obsidian) {
rand = field_149933_a.nextInt(20);
rand = random.nextInt(20);
if (rand == 0) {
world.setBlock(x, y, z, Blocks.obsidian, 0, 3);
}
} else if (b == Blocks.obsidian) {
world.setBlock(x, y, z, ModBlocks.gravel_obsidian, 0, 3);
return 0;
} else if(field_149933_a.nextInt(protection+3)==0){
} else if(random.nextInt(protection+3)==0){
world.setBlock(x, y, z, ModBlocks.block_scrap,0,3);
}
return protection;
@ -427,7 +430,7 @@ public class ExplosionNukeGeneric {
}
else if (b == Blocks.sand) {
rand = field_149933_a.nextInt(20);
rand = random.nextInt(20);
if (rand == 1 && world.getBlockMetadata(x, y, z) == 0) {
world.setBlock(x, y, z, ModBlocks.waste_trinitite);
}
@ -445,7 +448,7 @@ public class ExplosionNukeGeneric {
}
else if (b == Blocks.coal_ore) {
rand = field_149933_a.nextInt(10);
rand = random.nextInt(10);
if (rand == 1 || rand == 2 || rand == 3) {
world.setBlock(x, y, z, Blocks.diamond_ore);
}
@ -479,14 +482,14 @@ public class ExplosionNukeGeneric {
}
else if (b == ModBlocks.ore_uranium) {
rand = field_149933_a.nextInt(30);
rand = random.nextInt(30);
if (rand == 1) {
world.setBlock(x, y, z, ModBlocks.ore_schrabidium);
}
}
else if (b == ModBlocks.ore_nether_uranium) {
rand = field_149933_a.nextInt(30);
rand = random.nextInt(30);
if (rand == 1) {
world.setBlock(x, y, z, ModBlocks.ore_nether_schrabidium);
}
@ -536,7 +539,7 @@ public class ExplosionNukeGeneric {
}
else if (world.getBlock(x, y, z) == Blocks.sand) {
rand = field_149933_a.nextInt(20);
rand = random.nextInt(20);
if (rand == 1 && world.getBlockMetadata(x, y, z) == 0) {
world.setBlock(x, y, z, ModBlocks.waste_trinitite);
}
@ -554,7 +557,7 @@ public class ExplosionNukeGeneric {
}
else if (world.getBlock(x, y, z) == Blocks.coal_ore) {
rand = field_149933_a.nextInt(30);
rand = random.nextInt(30);
if (rand == 1 || rand == 2 || rand == 3) {
world.setBlock(x, y, z, Blocks.diamond_ore);
}
@ -593,54 +596,36 @@ public class ExplosionNukeGeneric {
if (!world.isRemote) {
Block b = world.getBlock(x,y,z);
if (world.getTileEntity(x, y, z) != null && (world.getTileEntity(x, y, z) instanceof ISource
|| world.getTileEntity(x, y, z) instanceof IConsumer
|| world.getTileEntity(x, y, z) instanceof TileEntityDummy)) {
world.setBlock(x, y, z, ModBlocks.block_electrical_scrap,0,2);
TileEntity te = world.getTileEntity(x, y, z);
if (te != null && te instanceof ISource) {
((ISource)te).setSPower(0);
if(random.nextInt(5) < 1)
world.setBlock(x, y, z, ModBlocks.block_electrical_scrap);
}
if (te != null && te instanceof IConsumer) {
((IConsumer)te).setPower(0);
if(random.nextInt(5) < 1)
world.setBlock(x, y, z, ModBlocks.block_electrical_scrap);
}
if (te != null && te instanceof IEnergyProvider) {
else if (b == ModBlocks.red_wire_coated ||
b == ModBlocks.factory_titanium_furnace ||
b == ModBlocks.factory_titanium_conductor ||
b == ModBlocks.factory_advanced_furnace ||
b == ModBlocks.factory_advanced_conductor ||
b == ModBlocks.reactor_conductor ||
b == ModBlocks.fusion_conductor ||
b == ModBlocks.fusion_center ||
b == ModBlocks.fusion_motor ||
b == ModBlocks.watz_conductor ||
b == ModBlocks.fwatz_conductor ||
b == ModBlocks.fwatz_hatch ||
b == ModBlocks.fwatz_computer) {
world.setBlock(x, y, z, ModBlocks.block_electrical_scrap,0,2);
}
else if (b == ModBlocks.red_cable ||
b == Blocks.redstone_wire ||
b == Blocks.powered_repeater ||
b == Blocks.unpowered_repeater ||
b == Blocks.activator_rail ||
b == Blocks.detector_rail ||
b == Blocks.golden_rail ||
b == Blocks.redstone_block ||
b == Blocks.redstone_lamp ||
b == Blocks.redstone_ore ||
b == Blocks.redstone_torch ||
b == Blocks.unlit_redstone_torch ||
b == Blocks.powered_comparator ||
b == Blocks.unpowered_comparator) {
world.setBlock(x, y, z, Blocks.air,0,2);
}
else if (b == Blocks.dispenser ||
b == Blocks.dropper ||
b == Blocks.piston ||
b == Blocks.piston_extension ||
b == Blocks.piston_head ||
b == Blocks.sticky_piston) {
world.setBlock(x, y, z, Blocks.gravel,0,2);
((IEnergyProvider)te).extractEnergy(ForgeDirection.UP, ((IEnergyProvider)te).getEnergyStored(ForgeDirection.UP), false);
((IEnergyProvider)te).extractEnergy(ForgeDirection.DOWN, ((IEnergyProvider)te).getEnergyStored(ForgeDirection.DOWN), false);
((IEnergyProvider)te).extractEnergy(ForgeDirection.NORTH, ((IEnergyProvider)te).getEnergyStored(ForgeDirection.NORTH), false);
((IEnergyProvider)te).extractEnergy(ForgeDirection.SOUTH, ((IEnergyProvider)te).getEnergyStored(ForgeDirection.SOUTH), false);
((IEnergyProvider)te).extractEnergy(ForgeDirection.EAST, ((IEnergyProvider)te).getEnergyStored(ForgeDirection.EAST), false);
((IEnergyProvider)te).extractEnergy(ForgeDirection.WEST, ((IEnergyProvider)te).getEnergyStored(ForgeDirection.WEST), false);
if(random.nextInt(5) <= 1)
world.setBlock(x, y, z, ModBlocks.block_electrical_scrap);
}
if((b == ModBlocks.fusion_conductor || b == ModBlocks.fwatz_conductor || b == ModBlocks.fusion_motor || b == ModBlocks.fusion_heater || b == ModBlocks.fwatz_computer) && random.nextInt(10) == 0)
world.setBlock(x, y, z, ModBlocks.block_electrical_scrap);
}
//world.setBlock(x, y, z, Blocks.air);
}
}

View File

@ -2667,6 +2667,27 @@ public class MachineRecipes {
list.add(new ItemStack(ModItems.motor, 2));
list.add(new ItemStack(ModItems.circuit_gold, 4));
break;
case TURRET_SPITFIRE:
list.add(new ItemStack(ModItems.ingot_steel, 6));
list.add(new ItemStack(ModItems.ingot_red_copper, 6));
list.add(new ItemStack(ModItems.plate_steel, 16));
list.add(new ItemStack(ModItems.plate_iron, 8));
list.add(new ItemStack(ModItems.hull_small_steel, 4));
list.add(new ItemStack(ModItems.pipes_steel, 2));
list.add(new ItemStack(ModItems.motor, 3));
list.add(new ItemStack(ModItems.circuit_red_copper, 4));
break;
case TURRET_CIWS:
list.add(new ItemStack(ModItems.ingot_steel, 6));
list.add(new ItemStack(ModItems.ingot_red_copper, 8));
list.add(new ItemStack(ModItems.plate_steel, 10));
list.add(new ItemStack(ModItems.plate_titanium, 4));
list.add(new ItemStack(ModItems.hull_small_aluminium, 2));
list.add(new ItemStack(ModItems.pipes_steel, 6));
list.add(new ItemStack(ModItems.motor, 4));
list.add(new ItemStack(ModItems.circuit_gold, 5));
list.add(new ItemStack(ModItems.magnetron, 3));
break;
case HUNTER_CHOPPER:
list.add(new ItemStack(ModItems.chopper_blades, 5));
list.add(new ItemStack(ModItems.chopper_gun, 1));
@ -3550,6 +3571,12 @@ public class MachineRecipes {
case TURRET_TAU:
output = new ItemStack(ModBlocks.turret_tau, 1);
break;
case TURRET_SPITFIRE:
output = new ItemStack(ModBlocks.turret_spitfire, 1);
break;
case TURRET_CIWS:
output = new ItemStack(ModBlocks.turret_cwis, 1);
break;
case HUNTER_CHOPPER:
output = new ItemStack(ModItems.chopper, 1);
break;

View File

@ -1083,6 +1083,7 @@ public class ModItems {
public static Item turret_flamer_ammo;
public static Item turret_tau_ammo;
public static Item turret_spitfire_ammo;
public static Item turret_cwis_ammo;
public static Item bucket_mud;
public static Item bucket_acid;
@ -2059,6 +2060,7 @@ public class ModItems {
turret_flamer_ammo = new ItemTurretAmmo(ModBlocks.turret_flamer, 200).setUnlocalizedName("turret_flamer_ammo").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":turret_flamer_ammo");
turret_tau_ammo = new ItemTurretAmmo(ModBlocks.turret_tau, 100).setUnlocalizedName("turret_tau_ammo").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":turret_tau_ammo");
turret_spitfire_ammo = new ItemTurretAmmo(ModBlocks.turret_spitfire, 2).setUnlocalizedName("turret_spitfire_ammo").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":turret_spitfire_ammo");
turret_cwis_ammo = new ItemTurretAmmo(ModBlocks.turret_cwis, 250).setUnlocalizedName("turret_cwis_ammo").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":turret_cwis_ammo");
template_folder = new ItemTemplateFolder().setUnlocalizedName("template_folder").setMaxStackSize(1).setCreativeTab(MainRegistry.tabMachine).setTextureName(RefStrings.MODID + ":template_folder");
assembly_template = new ItemAssemblyTemplate().setUnlocalizedName("assembly_template").setMaxStackSize(1).setCreativeTab(MainRegistry.tabMachine).setTextureName(RefStrings.MODID + ":assembly_template");
@ -3116,6 +3118,7 @@ public class ModItems {
GameRegistry.registerItem(turret_flamer_ammo, turret_flamer_ammo.getUnlocalizedName());
GameRegistry.registerItem(turret_tau_ammo, turret_tau_ammo.getUnlocalizedName());
GameRegistry.registerItem(turret_spitfire_ammo, turret_spitfire_ammo.getUnlocalizedName());
GameRegistry.registerItem(turret_cwis_ammo, turret_cwis_ammo.getUnlocalizedName());
//-C-l-i-p-s- Magazines
GameRegistry.registerItem(clip_revolver_iron, clip_revolver_iron.getUnlocalizedName());

View File

@ -1,7 +1,9 @@
package com.hbm.items.food;
import com.hbm.entity.logic.EntityNukeExplosionAdvanced;
import com.hbm.entity.logic.EntityNukeExplosionMK4;
import com.hbm.explosion.ExplosionParticle;
import com.hbm.main.MainRegistry;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemFood;
@ -17,14 +19,7 @@ public class ItemWaffle extends ItemFood {
@Override
public void onFoodEaten(ItemStack stack, World world, EntityPlayer player)
{
EntityNukeExplosionAdvanced explosion = new EntityNukeExplosionAdvanced(world);
explosion.speed = 25;
explosion.coefficient = 5.0F;
explosion.destructionRange = 25;
explosion.posX = player.posX;
explosion.posY = player.posY;
explosion.posZ = player.posZ;
world.spawnEntityInWorld(explosion);
world.spawnEntityInWorld(EntityNukeExplosionMK4.statFac(world, (int)(MainRegistry.fatmanRadius * 1.5), player.posX, player.posY, player.posZ));
ExplosionParticle.spawnMush(world, (int)player.posX, (int)player.posY - 3, (int)player.posZ);
}

View File

@ -179,6 +179,8 @@ public class ItemAssemblyTemplate extends Item {
TURRET_ROCKET,
TURRET_FLAMER,
TURRET_TAU,
TURRET_SPITFIRE,
TURRET_CIWS,
MISSILE_HE_1,
MISSILE_FIRE_1,
MISSILE_CLUSTER_1,
@ -620,6 +622,10 @@ public class ItemAssemblyTemplate extends Item {
return 250;
case TURRET_TAU:
return 350;
case TURRET_SPITFIRE:
return 350;
case TURRET_CIWS:
return 400;
case HUNTER_CHOPPER:
return 300;
case MISSILE_HE_1:

View File

@ -724,6 +724,8 @@ public class CraftingManager {
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.turret_rocket_ammo, 1), new Object[] { "TS ", "SGS", " SR", 'T', Blocks.tnt, 'S', "plateSteel", 'G', Items.gunpowder, 'R', "dustRedstone" }));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.turret_flamer_ammo, 1), new Object[] { "FSF", "FPF", "FPF", 'F', ModItems.gun_immolator_ammo, 'S', ModItems.pipes_steel, 'P', "plateCopper" }));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.turret_tau_ammo, 1), new Object[] { "AAA", "AUA", "AAA", 'A', ModItems.gun_xvl1456_ammo, 'U', "blockUranium" }));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.turret_spitfire_ammo, 1), new Object[] { "CP ", "PTP", " PR", 'P', "plateSteel", 'C', ModItems.circuit_copper, 'T', Blocks.tnt, 'R', "dustRedstone" }));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.turret_cwis_ammo, 1), new Object[] { "LLL", "GGG", "IGI", 'L', "plateLead", 'I', "plateIron", 'G', Items.gunpowder }));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.grenade_generic, 4), new Object[] { "RS ", "ITI", " I ", 'I', "plateIron", 'R', ModItems.wire_red_copper, 'S', "plateSteel", 'T', Item.getItemFromBlock(Blocks.tnt) }));
GameRegistry.addRecipe(new ItemStack(ModItems.grenade_strong, 2), new Object[] { " G ", "SGS", " S ", 'G', ModItems.grenade_generic, 'S', Items.gunpowder });
@ -742,6 +744,10 @@ public class CraftingManager {
//GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.grenade_zomg, 1), new Object[] {"RC ", "PXP", "NPN", 'P', ModItems.plate_paa, 'R', ModItems.wire_red_copper, 'C', "plateCMBSteel", 'X', ModItems.crystal_xen, 'N', ModItems.powder_power }));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.grenade_aschrab, 1), new Object[] {"RS ", "ITI", " S ", 'I', "paneGlassColorless", 'R', ModItems.wire_red_copper, 'S', "plateSteel", 'T', ModItems.cell_anti_schrabidium }));
GameRegistry.addRecipe(new ItemStack(ModItems.grenade_mk2, 2), new Object[] { " G ", "SGS", " S ", 'G', ModItems.grenade_strong, 'S', Items.gunpowder });
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.grenade_gascan, 1), new Object[] { ModItems.canister_fuel, Items.flint });
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.grenade_gascan, 1), new Object[] { ModItems.canister_biofuel, Items.flint });
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.grenade_gascan, 1), new Object[] { ModItems.canister_petroil, Items.flint });
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.grenade_gascan, 1), new Object[] { ModItems.canister_kerosene, Items.flint });
//GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.grenade_pulse, 4), new Object[] { "WPW", "WSW", "SMS", 'W', ModItems.wire_red_copper, 'P', "plateIron", 'S', "plateSteel", 'M', ModItems.magnetron }));
GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.grenade_lemon, 1), new Object[] { ModItems.lemon, ModItems.grenade_strong }));
//GameRegistry.addRecipe(new ItemStack(ModItems.grenade_black_hole, 1), new Object[] { " C ", "PBP", "PCP", 'C', ModItems.coil_advanced_alloy, 'P', ModItems.ingot_polymer, 'B', ModItems.black_hole });
@ -832,6 +838,7 @@ public class CraftingManager {
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.det_cord), 8), new Object[] { "TNT", "NGN", "TNT", 'T', "plateIron", 'N', "dustNiter", 'G', Items.gunpowder }));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.det_charge), 1), new Object[] { "PDP", "DTD", "PDP", 'P', "plateSteel", 'D', ModBlocks.det_cord, 'T', Blocks.tnt }));
////GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.rejuvinator), 1), new Object[] { "TDT", "PCP", "TST", 'P', ModItems.pipes_steel, 'T', ModBlocks.factory_titanium_hull, 'D', "ingotDesh", 'S', "ingotSchrabidium", 'C', Items.clock }));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.emp_bomb), 1), new Object[] { "LML", "LCL", "LML", 'L', "plateLead", 'M', ModItems.magnetron, 'C', ModItems.circuit_gold }));
//GameRegistry.addRecipe(new ItemStack(ModItems.gadget_core, 1), new Object[] { "PPP", "PUP", "PPP", 'P', ModItems.nugget_pu239, 'U', ModItems.nugget_u238 });
//GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gadget_explosive, 16), new Object[] { "ATP", "ATW", "ATP", 'P', "plateTitanium", 'A', "plateAluminum", 'T', Item.getItemFromBlock(Blocks.tnt), 'W', ModItems.wire_gold }));

View File

@ -70,15 +70,15 @@ public class RenderSmallNukeMK3 extends Render {
// make the fireball fade so it looks like the cloud is formed by it
// use more rings. really.
// more polygons, this is a cloud, not a metal pillar made by a seven-yo
// duration: as long as you please
// duration: as long as you want
//
//your other render classes look like shit, write code like a sensible person for once. good luck, you'll need it
public void render(EntityNukeCloudSmall cloud, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_, float p_76986_9_) {
public void render(EntityNukeCloudSmall cloud, double posX, double posY, double posZ, float fa, float fb) {
GL11.glPushMatrix();
GL11.glTranslatef((float)p_76986_2_, (float)p_76986_4_ + 0.25F, (float)p_76986_6_);
GL11.glTranslatef((float)posX, (float)posY + 0.25F, (float)posZ);
GL11.glDisable(GL11.GL_LIGHTING);
GL11.glEnable(GL11.GL_CULL_FACE);
@ -208,9 +208,11 @@ public class RenderSmallNukeMK3 extends Render {
}
//very professional, i love me some null textures /s
//there, fixed it ~bob
@Override
protected ResourceLocation getEntityTexture(Entity p_110775_1_) {
return null;
return blastTexture;
}
}

View File

@ -16,10 +16,6 @@ public class TileEntityTurretCIWS extends TileEntityTurretBase {
super.updateEntity();
this.ammo = 100;
if(!worldObj.isRemote) {
if(spin > 0)

View File

@ -8,6 +8,7 @@ import java.util.Random;
import com.hbm.blocks.ModBlocks;
import com.hbm.blocks.machine.MachineGenerator;
import com.hbm.entity.logic.EntityNukeExplosionMK3;
import com.hbm.entity.logic.EntityNukeExplosionMK4;
import com.hbm.entity.mob.EntityNuclearCreeper;
import com.hbm.explosion.ExplosionParticle;
import com.hbm.handler.FluidTypeHandler.FluidType;
@ -20,6 +21,7 @@ import com.hbm.inventory.FluidTank;
import com.hbm.items.ModItems;
import com.hbm.items.special.ItemFuelRod;
import com.hbm.lib.Library;
import com.hbm.main.MainRegistry;
import com.hbm.packet.AuxElectricityPacket;
import com.hbm.packet.PacketDispatcher;
@ -679,15 +681,9 @@ public class TileEntityReactorMultiblock extends TileEntity implements ISidedInv
{
this.slots[i] = null;
}
EntityNukeExplosionMK3 explosion = new EntityNukeExplosionMK3(this.worldObj);
explosion.speed = 25;
explosion.coefficient = 5.0F;
explosion.destructionRange = 35;
explosion.posX = this.xCoord;
explosion.posY = this.yCoord;
explosion.posZ = this.zCoord;
this.worldObj.spawnEntityInWorld(explosion);
worldObj.spawnEntityInWorld(EntityNukeExplosionMK4.statFac(worldObj, 50, xCoord + 0.5, yCoord + 0.5, zCoord + 0.5));
ExplosionParticle.spawnMush(this.worldObj, this.xCoord, this.yCoord - 3, this.zCoord);
}