mirror of
https://github.com/HbmMods/Hbm-s-Nuclear-Tech-GIT.git
synced 2026-01-25 10:32:49 +00:00
ace combat zero reference
This commit is contained in:
parent
f5ceaddfbb
commit
5f07bb7896
@ -6,8 +6,10 @@ import java.util.List;
|
||||
import com.hbm.blocks.BlockDummyable;
|
||||
import com.hbm.blocks.ILookOverlay;
|
||||
import com.hbm.blocks.IPersistentInfoProvider;
|
||||
import com.hbm.entity.projectile.EntityBombletZeta;
|
||||
import com.hbm.inventory.fluid.Fluids;
|
||||
import com.hbm.inventory.fluid.tank.FluidTank;
|
||||
import com.hbm.inventory.fluid.trait.FT_Flammable;
|
||||
import com.hbm.main.MainRegistry;
|
||||
import com.hbm.tileentity.IPersistentNBT;
|
||||
import com.hbm.tileentity.IRepairable;
|
||||
@ -26,6 +28,7 @@ import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.stats.StatList;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.AxisAlignedBB;
|
||||
import net.minecraft.util.EnumChatFormatting;
|
||||
import net.minecraft.world.Explosion;
|
||||
import net.minecraft.world.World;
|
||||
@ -134,6 +137,15 @@ public class MachineFluidTank extends BlockDummyable implements IPersistentInfoP
|
||||
|
||||
if(!tank.hasExploded) {
|
||||
tank.explode();
|
||||
|
||||
if(explosion.exploder != null && explosion.exploder instanceof EntityBombletZeta) {
|
||||
if(tank.tank.getTankType().getTrait(FT_Flammable.class) == null) return;
|
||||
|
||||
List<EntityPlayer> players = world.getEntitiesWithinAABB(EntityPlayer.class,
|
||||
AxisAlignedBB.getBoundingBox(x + 0.5, y + 0.5, z + 0.5, x + 0.5, y + 0.5, z + 0.5).expand(100, 100, 100));
|
||||
|
||||
for(EntityPlayer p : players) p.triggerAchievement(MainRegistry.achInferno);
|
||||
}
|
||||
} else {
|
||||
world.setBlock(pos[0], pos[1], pos[2], Blocks.air);
|
||||
}
|
||||
|
||||
@ -7,6 +7,7 @@ import com.hbm.blocks.BlockDummyable;
|
||||
import com.hbm.blocks.ILookOverlay;
|
||||
import com.hbm.blocks.IPersistentInfoProvider;
|
||||
import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.entity.projectile.EntityBombletZeta;
|
||||
import com.hbm.inventory.fluid.Fluids;
|
||||
import com.hbm.inventory.fluid.tank.FluidTank;
|
||||
import com.hbm.main.MainRegistry;
|
||||
@ -27,6 +28,7 @@ import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.stats.StatList;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.AxisAlignedBB;
|
||||
import net.minecraft.util.EnumChatFormatting;
|
||||
import net.minecraft.world.Explosion;
|
||||
import net.minecraft.world.World;
|
||||
@ -127,6 +129,13 @@ public class MachineRefinery extends BlockDummyable implements IPersistentInfoPr
|
||||
|
||||
if(!refinery.hasExploded) {
|
||||
refinery.explode(world, x, y, z);
|
||||
|
||||
if(explosion.exploder != null && explosion.exploder instanceof EntityBombletZeta) {
|
||||
List<EntityPlayer> players = world.getEntitiesWithinAABB(EntityPlayer.class,
|
||||
AxisAlignedBB.getBoundingBox(x + 0.5, y + 0.5, z + 0.5, x + 0.5, y + 0.5, z + 0.5).expand(100, 100, 100));
|
||||
|
||||
for(EntityPlayer p : players) p.triggerAchievement(MainRegistry.achInferno);
|
||||
}
|
||||
} else {
|
||||
world.setBlock(pos[0], pos[1], pos[2], Blocks.air);
|
||||
}
|
||||
|
||||
@ -46,11 +46,11 @@ public class EntityBombletZeta extends EntityThrowable {
|
||||
if(!this.worldObj.isRemote)
|
||||
{
|
||||
if(type == 0) {
|
||||
ExplosionLarge.explode(worldObj, this.posX + 0.5F, this.posY + 0.5F, this.posZ + 0.5F, 5.0F, true, false, false);
|
||||
ExplosionLarge.explode(worldObj, this.posX + 0.5F, this.posY + 0.5F, this.posZ + 0.5F, 5.0F, true, false, false, this);
|
||||
worldObj.playSoundEffect((double)(posX + 0.5F), (double)(posY + 0.5F), (double)(posZ + 0.5F), "hbm:entity.bombDet", 25.0F, 0.8F + rand.nextFloat() * 0.4F);
|
||||
}
|
||||
if(type == 1) {
|
||||
ExplosionLarge.explode(worldObj, this.posX + 0.5F, this.posY + 0.5F, this.posZ + 0.5F, 2.5F, false, false, false);
|
||||
ExplosionLarge.explode(worldObj, this.posX + 0.5F, this.posY + 0.5F, this.posZ + 0.5F, 2.5F, false, false, false, this);
|
||||
ExplosionChaos.burn(worldObj, (int)posX, (int)posY, (int)posZ, 9);
|
||||
ExplosionChaos.flameDeath(worldObj, (int)posX, (int)posY, (int)posZ, 14);
|
||||
worldObj.playSoundEffect((double)(posX + 0.5F), (double)(posY + 0.5F), (double)(posZ + 0.5F), "hbm:entity.bombDet", 25.0F, 1.0F);
|
||||
|
||||
@ -168,6 +168,16 @@ public class ExplosionLarge {
|
||||
}
|
||||
}
|
||||
|
||||
public static void explode(World world, double x, double y, double z, float strength, boolean cloud, boolean rubble, boolean shrapnel, Entity exploder) {
|
||||
world.createExplosion(exploder, x, y, z, strength, true);
|
||||
if(cloud)
|
||||
spawnParticles(world, x, y, z, cloudFunction((int)strength));
|
||||
if(rubble)
|
||||
spawnRubble(world, x, y, z, rubbleFunction((int)strength));
|
||||
if(shrapnel)
|
||||
spawnShrapnels(world, x, y, z, shrapnelFunction((int)strength));
|
||||
}
|
||||
|
||||
public static void explode(World world, double x, double y, double z, float strength, boolean cloud, boolean rubble, boolean shrapnel) {
|
||||
world.createExplosion(null, x, y, z, strength, true);
|
||||
if(cloud)
|
||||
|
||||
@ -177,6 +177,7 @@ public class MainRegistry {
|
||||
public static Achievement achSlimeball;
|
||||
public static Achievement achSulfuric;
|
||||
public static Achievement achWitchtaunter;
|
||||
public static Achievement achInferno;
|
||||
public static Achievement bobHidden;
|
||||
public static Achievement horizonsStart;
|
||||
public static Achievement horizonsEnd;
|
||||
@ -621,7 +622,8 @@ public class MainRegistry {
|
||||
achWitchtaunter = new Achievement("achievement.witchtaunter", "witchtaunter", -8, 7, ModItems.ammo_4gauge.stackFromEnum(Ammo4Gauge.VAMPIRE), null).initIndependentStat().setSpecial().registerStat();
|
||||
achSlimeball = new Achievement("achievement.slimeball", "slimeball", -10, 6, Items.slime_ball, null).initIndependentStat().registerStat();
|
||||
achSulfuric = new Achievement("achievement.sulfuric", "sulfuric", -10, 8, ModItems.bucket_sulfuric_acid, achSlimeball).initIndependentStat().setSpecial().registerStat();
|
||||
|
||||
achInferno = new Achievement("achievement.inferno", "inferno", -8, 10, ModItems.canister_napalm, null).initIndependentStat().setSpecial().registerStat();
|
||||
|
||||
bobHidden = new Achievement("achievement.hidden", "hidden", 15, -4, ModItems.gun_dampfmaschine, null).initIndependentStat().registerStat();
|
||||
|
||||
horizonsStart = new Achievement("achievement.horizonsStart", "horizonsStart", -5, 4, ModItems.sat_gerald, null).initIndependentStat().registerStat();
|
||||
@ -697,6 +699,7 @@ public class MainRegistry {
|
||||
achRadPoison,
|
||||
achRadDeath,
|
||||
achWitchtaunter,
|
||||
achInferno,
|
||||
achSlimeball,
|
||||
achSulfuric,
|
||||
bossCreeper,
|
||||
|
||||
@ -66,6 +66,8 @@ achievement.horizonsStart.desc=Send a lad to the moon.
|
||||
achievement.horizonsStart=Apogee
|
||||
achievement.impossible.desc=You can't get this achievement.
|
||||
achievement.impossible=Literally impossible
|
||||
achievement.inferno.desc="Turn it to ashes! That's not enough! Drop more bombs!"
|
||||
achievement.inferno=Operation Cannibal
|
||||
achievement.manhattan.desc=8:15; August 6th, 1945
|
||||
achievement.manhattan=The Manhattan Project
|
||||
achievement.meltdown.desc=You got this far, how could you mess this up?
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user