mirror of
https://github.com/HbmMods/Hbm-s-Nuclear-Tech-GIT.git
synced 2026-01-25 10:32:49 +00:00
Merge remote-tracking branch 'origin/master'
This commit is contained in:
commit
d2c2bd4d3f
@ -32,7 +32,6 @@ import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.MathHelper;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
@Untested
|
||||
public class NukeCustom extends BlockContainer implements IBomb {
|
||||
|
||||
public TileEntityNukeCustom tetn = new TileEntityNukeCustom();
|
||||
|
||||
@ -3,6 +3,8 @@ package com.hbm.blocks.generic;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Random;
|
||||
|
||||
import com.hbm.extprop.HbmLivingProps;
|
||||
import com.hbm.extprop.HbmLivingProps.ContaminationEffect;
|
||||
import com.hbm.interfaces.IItemHazard;
|
||||
import com.hbm.items.ModItems;
|
||||
import com.hbm.modules.ItemHazardModule;
|
||||
@ -59,7 +61,8 @@ public class BlockFallout extends Block implements IItemHazard {
|
||||
public void onBlockClicked(World world, int x, int y, int z, EntityPlayer player) {
|
||||
|
||||
if(!world.isRemote) {
|
||||
player.addPotionEffect(new PotionEffect(HbmPotion.radiation.id, 15 * 20, 1));
|
||||
//player.addPotionEffect(new PotionEffect(HbmPotion.radiation.id, 15 * 20, 1));
|
||||
HbmLivingProps.addCont(player, new ContaminationEffect(1F, 200, false));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -45,12 +45,6 @@ public class BlockDecon extends BlockContainer {
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void randomDisplayTick(World p_149734_1_, int x, int y, int z, Random rand) {
|
||||
float f = x + 0.5F;
|
||||
float f1 = y + 1.0F;
|
||||
float f2 = z + 0.5F;
|
||||
|
||||
p_149734_1_.spawnParticle("cloud", f, f1, f2, 0.0D, 0.1D, 0.0D);
|
||||
}
|
||||
public void randomDisplayTick(World p_149734_1_, int x, int y, int z, Random rand) { }
|
||||
|
||||
}
|
||||
|
||||
@ -261,13 +261,7 @@ public class EntityBulletBase extends Entity implements IProjectile {
|
||||
//handle entity collision
|
||||
if(movement.entityHit != null) {
|
||||
|
||||
DamageSource damagesource = null;
|
||||
|
||||
if (this.shooter == null) {
|
||||
damagesource = ModDamageSource.causeBulletDamage(this, this);
|
||||
} else {
|
||||
damagesource = ModDamageSource.causeBulletDamage(this, shooter);
|
||||
}
|
||||
DamageSource damagesource = this.config.getDamage(this, shooter);
|
||||
|
||||
if(!worldObj.isRemote) {
|
||||
if(!config.doesPenetrate)
|
||||
|
||||
@ -332,18 +332,7 @@ public class EntityRainbow extends Entity implements IProjectile
|
||||
}
|
||||
else
|
||||
{
|
||||
int j = rand.nextInt(5);
|
||||
|
||||
if(j == 0)
|
||||
damagesource = ModDamageSource.causeSubatomicDamage(this, this.shootingEntity);
|
||||
else if(j == 1)
|
||||
damagesource = ModDamageSource.causeSubatomicDamage2(this, this.shootingEntity);
|
||||
else if(j == 2)
|
||||
damagesource = ModDamageSource.causeSubatomicDamage3(this, this.shootingEntity);
|
||||
else if(j == 3)
|
||||
damagesource = ModDamageSource.causeSubatomicDamage4(this, this.shootingEntity);
|
||||
else
|
||||
damagesource = ModDamageSource.causeSubatomicDamage5(this, this.shootingEntity);
|
||||
damagesource = ModDamageSource.causeSubatomicDamage(this, this.shootingEntity);
|
||||
}
|
||||
|
||||
if (this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman))
|
||||
|
||||
@ -2,15 +2,22 @@ package com.hbm.handler;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.hbm.entity.projectile.EntityBulletBase;
|
||||
import com.hbm.handler.guncfg.BulletConfigFactory;
|
||||
import com.hbm.interfaces.IBulletHitBehavior;
|
||||
import com.hbm.interfaces.IBulletHurtBehavior;
|
||||
import com.hbm.interfaces.IBulletImpactBehavior;
|
||||
import com.hbm.interfaces.IBulletRicochetBehavior;
|
||||
import com.hbm.interfaces.IBulletUpdateBehavior;
|
||||
import com.hbm.interfaces.Untested;
|
||||
import com.hbm.lib.ModDamageSource;
|
||||
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.potion.PotionEffect;
|
||||
import net.minecraft.util.DamageSource;
|
||||
import net.minecraft.util.EntityDamageSourceIndirect;
|
||||
|
||||
public class BulletConfiguration {
|
||||
|
||||
@ -87,6 +94,12 @@ public class BulletConfiguration {
|
||||
public int plink;
|
||||
//vanilla particle FX
|
||||
public String vPFX = "";
|
||||
|
||||
public String damageType = ModDamageSource.s_bullet;
|
||||
public boolean dmgProj = true;
|
||||
public boolean dmgFire = false;
|
||||
public boolean dmgExplosion = false;
|
||||
public boolean dmgBypass = false;
|
||||
|
||||
public static final int STYLE_NONE = -1;
|
||||
public static final int STYLE_NORMAL = 0;
|
||||
@ -156,4 +169,27 @@ public class BulletConfiguration {
|
||||
this.spread *= mod;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Untested
|
||||
public DamageSource getDamage(EntityBulletBase bullet, EntityLivingBase shooter) {
|
||||
|
||||
DamageSource dmg;
|
||||
|
||||
String unloc = damageType;
|
||||
|
||||
if(unloc.equals(ModDamageSource.s_zomg_prefix))
|
||||
unloc += (bullet.worldObj.rand.nextInt(5) + 1); //pain
|
||||
|
||||
if(shooter != null)
|
||||
dmg = new EntityDamageSourceIndirect(unloc, bullet, shooter);
|
||||
else
|
||||
dmg = new DamageSource(unloc);
|
||||
|
||||
if(this.dmgProj) dmg.setProjectile();
|
||||
if(this.dmgFire) dmg.setFireDamage();
|
||||
if(this.dmgExplosion) dmg.setExplosion();
|
||||
if(this.dmgBypass) dmg.setDamageBypassesArmor();
|
||||
|
||||
return dmg;
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,10 +1,13 @@
|
||||
package com.hbm.handler;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Random;
|
||||
|
||||
import com.hbm.config.RadiationConfig;
|
||||
import com.hbm.explosion.ExplosionNukeSmall;
|
||||
import com.hbm.extprop.HbmLivingProps;
|
||||
import com.hbm.extprop.HbmLivingProps.ContaminationEffect;
|
||||
import com.hbm.main.MainRegistry;
|
||||
import com.hbm.packet.AuxParticlePacketNT;
|
||||
import com.hbm.packet.PacketDispatcher;
|
||||
@ -57,10 +60,31 @@ public class EntityEffectHandler {
|
||||
}
|
||||
}
|
||||
|
||||
handleContamination(entity);
|
||||
handleRadiation(entity);
|
||||
handleDigamma(entity);
|
||||
}
|
||||
|
||||
private static void handleContamination(EntityLivingBase entity) {
|
||||
|
||||
if(entity.worldObj.isRemote)
|
||||
return;
|
||||
|
||||
List<ContaminationEffect> contamination = HbmLivingProps.getCont(entity);
|
||||
List<ContaminationEffect> rem = new ArrayList();
|
||||
|
||||
for(ContaminationEffect con : contamination) {
|
||||
ContaminationUtil.contaminate(entity, HazardType.RADIATION, con.ignoreArmor ? ContaminationType.RAD_BYPASS : ContaminationType.CREATIVE, con.getRad());
|
||||
|
||||
con.time--;
|
||||
|
||||
if(con.time <= 0)
|
||||
rem.add(con);
|
||||
}
|
||||
|
||||
contamination.removeAll(rem);
|
||||
}
|
||||
|
||||
private static void handleRadiation(EntityLivingBase entity) {
|
||||
|
||||
if(ContaminationUtil.isRadImmune(entity))
|
||||
@ -71,6 +95,7 @@ public class EntityEffectHandler {
|
||||
RadiationSavedData data = RadiationSavedData.getData(world);
|
||||
|
||||
if(!world.isRemote) {
|
||||
|
||||
int ix = (int)MathHelper.floor_double(entity.posX);
|
||||
int iy = (int)MathHelper.floor_double(entity.posY);
|
||||
int iz = (int)MathHelper.floor_double(entity.posZ);
|
||||
|
||||
@ -12,6 +12,7 @@ import com.hbm.handler.GunConfiguration;
|
||||
import com.hbm.interfaces.IBulletImpactBehavior;
|
||||
import com.hbm.interfaces.IBulletUpdateBehavior;
|
||||
import com.hbm.items.ModItems;
|
||||
import com.hbm.lib.ModDamageSource;
|
||||
import com.hbm.main.MainRegistry;
|
||||
import com.hbm.packet.AuxParticlePacketNT;
|
||||
import com.hbm.packet.PacketDispatcher;
|
||||
@ -181,6 +182,10 @@ public class GunEnergyFactory {
|
||||
bullet.plink = BulletConfiguration.PLINK_NONE;
|
||||
bullet.emp = 10;
|
||||
|
||||
bullet.damageType = ModDamageSource.s_emp;
|
||||
bullet.dmgProj = false;
|
||||
bullet.dmgBypass = true;
|
||||
|
||||
bullet.effects = new ArrayList();
|
||||
bullet.effects.add(new PotionEffect(Potion.moveSlowdown.id, 10 * 20, 1));
|
||||
bullet.effects.add(new PotionEffect(Potion.weakness.id, 10 * 20, 4));
|
||||
@ -212,6 +217,10 @@ public class GunEnergyFactory {
|
||||
bullet.vPFX = "flame";
|
||||
bullet.incendiary = 10;
|
||||
|
||||
bullet.damageType = ModDamageSource.s_flamethrower;
|
||||
bullet.dmgProj = false;
|
||||
bullet.dmgFire = true;
|
||||
|
||||
bullet.bImpact = new IBulletImpactBehavior() {
|
||||
|
||||
@Override
|
||||
@ -279,6 +288,8 @@ public class GunEnergyFactory {
|
||||
bullet.vPFX = "flame";
|
||||
bullet.incendiary = 0;
|
||||
|
||||
bullet.dmgBypass = true;
|
||||
|
||||
PotionEffect eff = new PotionEffect(HbmPotion.phosphorus.id, 20 * 20, 0, true);
|
||||
eff.getCurativeItems().clear();
|
||||
bullet.effects = new ArrayList();
|
||||
@ -302,6 +313,8 @@ public class GunEnergyFactory {
|
||||
bullet.vPFX = "cloud";
|
||||
bullet.incendiary = 0;
|
||||
|
||||
bullet.dmgFire = false;
|
||||
|
||||
bullet.bImpact = BulletConfigFactory.getGasEffect(5, 60 * 20);
|
||||
|
||||
return bullet;
|
||||
@ -557,6 +570,10 @@ public class GunEnergyFactory {
|
||||
bullet.dmgMin = 10000;
|
||||
bullet.dmgMax = 25000;
|
||||
bullet.liveAfterImpact = true;
|
||||
|
||||
bullet.damageType = ModDamageSource.s_zomg_prefix;
|
||||
bullet.dmgProj = false;
|
||||
bullet.dmgBypass = true;
|
||||
|
||||
bullet.style = bullet.STYLE_BOLT;
|
||||
bullet.trail = bullet.BOLT_ZOMG;
|
||||
|
||||
@ -37,7 +37,6 @@ import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraftforge.oredict.OreDictionary;
|
||||
|
||||
@Untested
|
||||
public class AssemblerRecipes {
|
||||
|
||||
public static File config;
|
||||
|
||||
@ -15,22 +15,8 @@ import net.minecraft.item.ItemStack;
|
||||
public class ContainerWatzCore extends Container {
|
||||
|
||||
private TileEntityWatzCore diFurnace;
|
||||
|
||||
private int powerList;
|
||||
private int heatList;
|
||||
private int decayMultiplier;
|
||||
private int powerMultiplier;
|
||||
private int heatMultiplier;
|
||||
private int heat;
|
||||
|
||||
public ContainerWatzCore(InventoryPlayer invPlayer, TileEntityWatzCore tedf) {
|
||||
|
||||
powerList = 0;
|
||||
heatList = 0;
|
||||
decayMultiplier = 0;
|
||||
powerMultiplier = 0;
|
||||
heatMultiplier = 0;
|
||||
heat = 0;
|
||||
|
||||
diFurnace = tedf;
|
||||
|
||||
@ -149,79 +135,4 @@ public class ContainerWatzCore extends Container {
|
||||
public boolean canInteractWith(EntityPlayer player) {
|
||||
return diFurnace.isUseableByPlayer(player);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void detectAndSendChanges() {
|
||||
super.detectAndSendChanges();
|
||||
|
||||
for(int i = 0; i < this.crafters.size(); i++)
|
||||
{
|
||||
ICrafting par1 = (ICrafting)this.crafters.get(i);
|
||||
|
||||
if(this.powerList != this.diFurnace.powerList)
|
||||
{
|
||||
par1.sendProgressBarUpdate(this, 0, this.diFurnace.powerList);
|
||||
}
|
||||
|
||||
if(this.heatList != this.diFurnace.heatList)
|
||||
{
|
||||
par1.sendProgressBarUpdate(this, 1, this.diFurnace.heatList);
|
||||
}
|
||||
|
||||
if(this.decayMultiplier != this.diFurnace.decayMultiplier)
|
||||
{
|
||||
par1.sendProgressBarUpdate(this, 2, this.diFurnace.decayMultiplier);
|
||||
}
|
||||
|
||||
if(this.powerMultiplier != this.diFurnace.powerMultiplier)
|
||||
{
|
||||
par1.sendProgressBarUpdate(this, 3, this.diFurnace.powerMultiplier);
|
||||
}
|
||||
|
||||
if(this.heatMultiplier != this.diFurnace.heatMultiplier)
|
||||
{
|
||||
par1.sendProgressBarUpdate(this, 4, this.diFurnace.heatMultiplier);
|
||||
}
|
||||
|
||||
if(this.heat != this.diFurnace.heat)
|
||||
{
|
||||
par1.sendProgressBarUpdate(this, 5, this.diFurnace.heat);
|
||||
}
|
||||
}
|
||||
|
||||
this.powerList = this.diFurnace.powerList;
|
||||
this.heatList = this.diFurnace.heatList;
|
||||
this.decayMultiplier = this.diFurnace.decayMultiplier;
|
||||
this.powerMultiplier = this.diFurnace.powerMultiplier;
|
||||
this.heatMultiplier = this.diFurnace.heatMultiplier;
|
||||
this.heat = this.diFurnace.heat;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateProgressBar(int i, int j) {
|
||||
if(i == 0)
|
||||
{
|
||||
diFurnace.powerList = j;
|
||||
}
|
||||
if(i == 1)
|
||||
{
|
||||
diFurnace.heatList = j;
|
||||
}
|
||||
if(i == 2)
|
||||
{
|
||||
diFurnace.decayMultiplier = j;
|
||||
}
|
||||
if(i == 3)
|
||||
{
|
||||
diFurnace.powerMultiplier = j;
|
||||
}
|
||||
if(i == 4)
|
||||
{
|
||||
diFurnace.heatMultiplier = j;
|
||||
}
|
||||
if(i == 5)
|
||||
{
|
||||
diFurnace.heat = j;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -52,165 +52,150 @@ public class ModDamageSource extends DamageSource {
|
||||
public static DamageSource monoxide = (new DamageSource("monoxide")).setDamageIsAbsolute().setDamageBypassesArmor();
|
||||
public static DamageSource asbestos = (new DamageSource("asbestos")).setDamageIsAbsolute().setDamageBypassesArmor();
|
||||
|
||||
public static final String s_bullet = "revolverBullet";
|
||||
public static final String s_emplacer = "chopperBullet";
|
||||
public static final String s_tau = "tau";
|
||||
public static final String s_combineball = "cmb";
|
||||
public static final String s_zomg_prefix = "subAtomic";
|
||||
public static final String s_euthanized = "euthanized";
|
||||
public static final String s_emp = "electrified";
|
||||
public static final String s_flamethrower = "flamethrower";
|
||||
public static final String s_immolator = "plasma";
|
||||
public static final String s_cryolator = "ice";
|
||||
public static final String s_laser = "laser";
|
||||
|
||||
public ModDamageSource(String p_i1566_1_) {
|
||||
super(p_i1566_1_);
|
||||
}
|
||||
public static DamageSource causeBulletDamage(EntityBullet p_76353_0_, Entity p_76353_1_)
|
||||
{
|
||||
return (new EntityDamageSourceIndirect("revolverBullet", p_76353_0_, p_76353_1_)).setProjectile();
|
||||
}
|
||||
public static DamageSource causeBulletDamage(EntityBulletBase base, Entity ent)
|
||||
{
|
||||
return (new EntityDamageSourceIndirect("revolverBullet", base, ent)).setProjectile();
|
||||
}
|
||||
public static DamageSource causeDisplacementDamage(EntityBullet p_76353_0_, Entity p_76353_1_)
|
||||
{
|
||||
return (new EntityDamageSourceIndirect("chopperBullet", p_76353_0_, p_76353_1_)).setProjectile();
|
||||
}
|
||||
public static DamageSource causeTauDamage(EntityBullet p_76353_0_, Entity p_76353_1_)
|
||||
{
|
||||
return (new EntityDamageSourceIndirect("tau", p_76353_0_, p_76353_1_)).setProjectile().setDamageBypassesArmor();
|
||||
}
|
||||
public static DamageSource causeCombineDamage(Entity p_76353_0_, Entity p_76353_1_)
|
||||
{
|
||||
return (new EntityDamageSourceIndirect("cmb", p_76353_0_, p_76353_1_)).setProjectile().setDamageBypassesArmor();
|
||||
}
|
||||
public static DamageSource causeSubatomicDamage(EntityRainbow p_76353_0_, Entity p_76353_1_)
|
||||
{
|
||||
return (new EntityDamageSourceIndirect("subAtomic", p_76353_0_, p_76353_1_)).setProjectile().setDamageBypassesArmor();
|
||||
}
|
||||
public static DamageSource causeSubatomicDamage2(EntityRainbow p_76353_0_, Entity p_76353_1_)
|
||||
{
|
||||
return (new EntityDamageSourceIndirect("subAtomic2", p_76353_0_, p_76353_1_)).setProjectile().setDamageBypassesArmor();
|
||||
}
|
||||
public static DamageSource causeSubatomicDamage3(EntityRainbow p_76353_0_, Entity p_76353_1_)
|
||||
{
|
||||
return (new EntityDamageSourceIndirect("subAtomic3", p_76353_0_, p_76353_1_)).setProjectile().setDamageBypassesArmor();
|
||||
}
|
||||
public static DamageSource causeSubatomicDamage4(EntityRainbow p_76353_0_, Entity p_76353_1_)
|
||||
{
|
||||
return (new EntityDamageSourceIndirect("subAtomic4", p_76353_0_, p_76353_1_)).setProjectile().setDamageBypassesArmor();
|
||||
}
|
||||
public static DamageSource causeSubatomicDamage5(EntityRainbow p_76353_0_, Entity p_76353_1_)
|
||||
{
|
||||
return (new EntityDamageSourceIndirect("subAtomic5", p_76353_0_, p_76353_1_)).setProjectile().setDamageBypassesArmor();
|
||||
}
|
||||
public static DamageSource euthanized(Entity p_76353_0_, Entity p_76353_1_)
|
||||
{
|
||||
return (new EntityDamageSourceIndirect("euthanized", p_76353_0_, p_76353_1_)).setDamageBypassesArmor();
|
||||
}
|
||||
public static DamageSource causeDischargeDamage(EntityDischarge p_76353_0_, Entity p_76353_1_)
|
||||
{
|
||||
return (new EntityDamageSourceIndirect("electrified", p_76353_0_, p_76353_1_)).setDamageBypassesArmor();
|
||||
}
|
||||
public static DamageSource causeFireDamage(EntityFire p_76353_0_, Entity p_76353_1_)
|
||||
{
|
||||
return (new EntityDamageSourceIndirect("flamethrower", p_76353_0_, p_76353_1_)).setFireDamage().setDamageBypassesArmor();
|
||||
}
|
||||
public static DamageSource causePlasmaDamage(EntityPlasmaBeam p_76353_0_, Entity p_76353_1_)
|
||||
{
|
||||
return (new EntityDamageSourceIndirect("plasma", p_76353_0_, p_76353_1_)).setDamageBypassesArmor();
|
||||
}
|
||||
public static DamageSource causeIceDamage(EntityLN2 p_76353_0_, Entity p_76353_1_)
|
||||
{
|
||||
return (new EntityDamageSourceIndirect("ice", p_76353_0_, p_76353_1_)).setDamageBypassesArmor();
|
||||
}
|
||||
public static DamageSource causeLaserDamage(EntityLaserBeam p_76353_0_, Entity p_76353_1_)
|
||||
{
|
||||
return (new EntityDamageSourceIndirect("laser", p_76353_0_, p_76353_1_)).setDamageBypassesArmor();
|
||||
}
|
||||
public static DamageSource causeLaserDamage(EntityMinerBeam p_76353_0_, Entity p_76353_1_)
|
||||
{
|
||||
return (new EntityDamageSourceIndirect("laser", p_76353_0_, p_76353_1_)).setDamageBypassesArmor();
|
||||
}
|
||||
|
||||
public static boolean getIsBullet(DamageSource source) {
|
||||
if(source instanceof EntityDamageSourceIndirect)
|
||||
{
|
||||
return ((EntityDamageSourceIndirect)source).damageType.equals("revolverBullet");
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public static boolean getIsEmplacer(DamageSource source) {
|
||||
if(source instanceof EntityDamageSourceIndirect)
|
||||
{
|
||||
return ((EntityDamageSourceIndirect)source).damageType.equals("chopperBullet");
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public static boolean getIsTau(DamageSource source) {
|
||||
if(source instanceof EntityDamageSourceIndirect)
|
||||
{
|
||||
return ((EntityDamageSourceIndirect)source).damageType.equals("tau");
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public static boolean getIsPoison(DamageSource source) {
|
||||
if(source instanceof EntityDamageSourceIndirect)
|
||||
{
|
||||
return ((EntityDamageSourceIndirect)source).damageType.equals("euthanized");
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public static boolean getIsCmb(DamageSource source) {
|
||||
if(source instanceof EntityDamageSourceIndirect)
|
||||
{
|
||||
return ((EntityDamageSourceIndirect)source).damageType.equals("cmb");
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public static boolean getIsSubatomic(DamageSource source) {
|
||||
if(source instanceof EntityDamageSourceIndirect)
|
||||
{
|
||||
String s = ((EntityDamageSourceIndirect)source).damageType;
|
||||
return s.equals("subAtomic") || s.equals("subAtomic2") || s.equals("subAtomic3") || s.equals("subAtomic4") || s.equals("subAtomic5");
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public static boolean getIsDischarge(DamageSource source) {
|
||||
if(source instanceof EntityDamageSourceIndirect)
|
||||
{
|
||||
return ((EntityDamageSourceIndirect)source).damageType.equals("electrified");
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public static boolean getIsFire(DamageSource source) {
|
||||
if(source instanceof EntityDamageSourceIndirect)
|
||||
{
|
||||
return ((EntityDamageSourceIndirect)source).damageType.equals("flamethrower");
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public static boolean getIsPlasma(DamageSource source) {
|
||||
if(source instanceof EntityDamageSourceIndirect)
|
||||
{
|
||||
return ((EntityDamageSourceIndirect)source).damageType.equals("plasma");
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public static boolean getIsLiquidNitrogen(DamageSource source) {
|
||||
if(source instanceof EntityDamageSourceIndirect)
|
||||
{
|
||||
return ((EntityDamageSourceIndirect)source).damageType.equals("ice");
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public static boolean getIsLaser(DamageSource source) {
|
||||
if(source instanceof EntityDamageSourceIndirect)
|
||||
{
|
||||
return ((EntityDamageSourceIndirect)source).damageType.equals("laser");
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public static DamageSource causeBulletDamage(EntityBullet ent, Entity hit) {
|
||||
return (new EntityDamageSourceIndirect(s_bullet, ent, hit)).setProjectile();
|
||||
}
|
||||
|
||||
public static DamageSource causeBulletDamage(Entity base, Entity ent) {
|
||||
return (new EntityDamageSourceIndirect(s_bullet, base, ent)).setProjectile();
|
||||
}
|
||||
|
||||
public static DamageSource causeDisplacementDamage(Entity ent, Entity hit) {
|
||||
return (new EntityDamageSourceIndirect(s_emplacer, ent, hit)).setProjectile();
|
||||
}
|
||||
|
||||
public static DamageSource causeTauDamage(Entity ent, Entity hit) {
|
||||
return (new EntityDamageSourceIndirect(s_tau, ent, hit)).setProjectile().setDamageBypassesArmor();
|
||||
}
|
||||
|
||||
public static DamageSource causeCombineDamage(Entity ent, Entity hit) {
|
||||
return (new EntityDamageSourceIndirect(s_combineball, ent, hit)).setProjectile().setDamageBypassesArmor();
|
||||
}
|
||||
|
||||
public static DamageSource causeSubatomicDamage(Entity ent, Entity hit) {
|
||||
return (new EntityDamageSourceIndirect(s_zomg_prefix + (ent.worldObj.rand.nextInt(5) + 1), ent, hit)).setProjectile().setDamageBypassesArmor();
|
||||
}
|
||||
|
||||
public static DamageSource euthanized(Entity ent, Entity hit) {
|
||||
return (new EntityDamageSourceIndirect(s_euthanized, ent, hit)).setDamageBypassesArmor();
|
||||
}
|
||||
|
||||
public static DamageSource causeDischargeDamage(EntityDischarge ent, Entity hit) {
|
||||
return (new EntityDamageSourceIndirect(s_emp, ent, hit)).setDamageBypassesArmor();
|
||||
}
|
||||
|
||||
public static DamageSource causeFireDamage(EntityFire ent, Entity hit) {
|
||||
return (new EntityDamageSourceIndirect(s_flamethrower, ent, hit)).setFireDamage().setDamageBypassesArmor();
|
||||
}
|
||||
|
||||
public static DamageSource causePlasmaDamage(EntityPlasmaBeam ent, Entity hit) {
|
||||
return (new EntityDamageSourceIndirect(s_immolator, ent, hit)).setDamageBypassesArmor();
|
||||
}
|
||||
|
||||
public static DamageSource causeIceDamage(EntityLN2 ent, Entity hit) {
|
||||
return (new EntityDamageSourceIndirect(s_cryolator, ent, hit)).setDamageBypassesArmor();
|
||||
}
|
||||
|
||||
public static DamageSource causeLaserDamage(EntityLaserBeam ent, Entity hit) {
|
||||
return (new EntityDamageSourceIndirect(s_laser, ent, hit)).setDamageBypassesArmor();
|
||||
}
|
||||
|
||||
public static DamageSource causeLaserDamage(EntityMinerBeam ent, Entity hit) {
|
||||
return (new EntityDamageSourceIndirect("s_laser", ent, hit)).setDamageBypassesArmor();
|
||||
}
|
||||
|
||||
public static boolean getIsBullet(DamageSource source) {
|
||||
if(source instanceof EntityDamageSourceIndirect) {
|
||||
return ((EntityDamageSourceIndirect) source).damageType.equals("revolverBullet");
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public static boolean getIsEmplacer(DamageSource source) {
|
||||
if(source instanceof EntityDamageSourceIndirect) {
|
||||
return ((EntityDamageSourceIndirect) source).damageType.equals("chopperBullet");
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public static boolean getIsTau(DamageSource source) {
|
||||
if(source instanceof EntityDamageSourceIndirect) {
|
||||
return ((EntityDamageSourceIndirect) source).damageType.equals("tau");
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public static boolean getIsPoison(DamageSource source) {
|
||||
if(source instanceof EntityDamageSourceIndirect) {
|
||||
return ((EntityDamageSourceIndirect) source).damageType.equals("euthanized");
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public static boolean getIsCmb(DamageSource source) {
|
||||
if(source instanceof EntityDamageSourceIndirect) {
|
||||
return ((EntityDamageSourceIndirect) source).damageType.equals("cmb");
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public static boolean getIsSubatomic(DamageSource source) {
|
||||
if(source instanceof EntityDamageSourceIndirect) {
|
||||
String s = ((EntityDamageSourceIndirect) source).damageType;
|
||||
return s.startsWith("subAtomic");
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public static boolean getIsDischarge(DamageSource source) {
|
||||
if(source instanceof EntityDamageSourceIndirect) {
|
||||
return ((EntityDamageSourceIndirect) source).damageType.equals("electrified");
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public static boolean getIsFire(DamageSource source) {
|
||||
if(source instanceof EntityDamageSourceIndirect) {
|
||||
return ((EntityDamageSourceIndirect) source).damageType.equals("flamethrower");
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public static boolean getIsPlasma(DamageSource source) {
|
||||
if(source instanceof EntityDamageSourceIndirect) {
|
||||
return ((EntityDamageSourceIndirect) source).damageType.equals("plasma");
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public static boolean getIsLiquidNitrogen(DamageSource source) {
|
||||
if(source instanceof EntityDamageSourceIndirect) {
|
||||
return ((EntityDamageSourceIndirect) source).damageType.equals("ice");
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public static boolean getIsLaser(DamageSource source) {
|
||||
if(source instanceof EntityDamageSourceIndirect) {
|
||||
return ((EntityDamageSourceIndirect) source).damageType.equals("laser");
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -970,6 +970,13 @@ public class ClientProxy extends ServerProxy {
|
||||
}
|
||||
}
|
||||
|
||||
if("townaura".equals(data.getString("mode"))) {
|
||||
fx = new EntityAuraFX(world, x, y, z, 0, 0, 0);
|
||||
float color = 0.5F + rand.nextFloat() * 0.5F;
|
||||
fx.setRBGColorF(0.8F * color, 0.9F * color, 1.0F * color);
|
||||
fx.setVelocity(mX, mY, mZ);
|
||||
}
|
||||
|
||||
if("blockdust".equals(data.getString("mode"))) {
|
||||
|
||||
Block b = Block.getBlockById(data.getInteger("block"));
|
||||
|
||||
@ -22,7 +22,6 @@ import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.AxisAlignedBB;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
@Untested
|
||||
public class TileEntityPylonRedWire extends TileEntity implements IConductor, INBTPacketReceiver {
|
||||
|
||||
public List<UnionOfTileEntitiesAndBooleans> uoteab = new ArrayList<UnionOfTileEntitiesAndBooleans>();
|
||||
|
||||
@ -46,7 +46,6 @@ public class TileEntityChungus extends TileEntity implements IFluidAcceptor, IFl
|
||||
tanks[1] = new FluidTank(FluidType.WATER, 1000000000, 1);
|
||||
}
|
||||
|
||||
@Untested
|
||||
@Override
|
||||
public void updateEntity() {
|
||||
|
||||
|
||||
@ -1,11 +1,14 @@
|
||||
package com.hbm.tileentity.machine;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Random;
|
||||
|
||||
import com.hbm.extprop.HbmLivingProps;
|
||||
import com.hbm.main.MainRegistry;
|
||||
import com.hbm.potion.HbmPotion;
|
||||
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.AxisAlignedBB;
|
||||
|
||||
@ -22,8 +25,23 @@ public class TileEntityDecon extends TileEntity {
|
||||
for(EntityLivingBase e : entities) {
|
||||
HbmLivingProps.incrementRadiation(e, -0.5F);
|
||||
e.removePotionEffect(HbmPotion.radiation.id);
|
||||
HbmLivingProps.getCont(e).clear();
|
||||
}
|
||||
}
|
||||
} else {
|
||||
|
||||
Random rand = worldObj.rand;
|
||||
|
||||
NBTTagCompound nbt = new NBTTagCompound();
|
||||
nbt.setString("type", "vanillaExt");
|
||||
nbt.setString("mode", "townaura");
|
||||
nbt.setDouble("posX", xCoord + 0.125 + rand.nextDouble() * 0.75);
|
||||
nbt.setDouble("posY", yCoord + 1.1);
|
||||
nbt.setDouble("posZ", zCoord + 0.125 + rand.nextDouble() * 0.75);
|
||||
nbt.setDouble("mX", 0.0);
|
||||
nbt.setDouble("mY", 0.04);
|
||||
nbt.setDouble("mZ", 0.0);
|
||||
MainRegistry.proxy.effectNT(nbt);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -19,7 +19,6 @@ import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.AxisAlignedBB;
|
||||
|
||||
@Untested
|
||||
public class TileEntityMachineRadar extends TileEntityTickingBase implements IConsumer {
|
||||
|
||||
public List<Entity> entList = new ArrayList();
|
||||
|
||||
@ -304,7 +304,6 @@ public class TileEntityMachineShredder extends TileEntity implements ISidedInven
|
||||
}
|
||||
}
|
||||
|
||||
@Untested
|
||||
public boolean canProcess() {
|
||||
if(slots[27] != null && slots[28] != null &&
|
||||
this.getGearLeft() > 0 && this.getGearLeft() < 3 &&
|
||||
|
||||
@ -518,17 +518,8 @@ public class TileEntityWatzCore extends TileEntity implements ISidedInventory, I
|
||||
|
||||
@Override
|
||||
public void updateEntity() {
|
||||
if (this.isStructureValid(this.worldObj) && !worldObj.isRemote) {
|
||||
|
||||
age++;
|
||||
if (age >= 20) {
|
||||
age = 0;
|
||||
}
|
||||
|
||||
if (age == 9 || age == 19) {
|
||||
ffgeuaInit();
|
||||
fillFluidInit(tank.getTankType());
|
||||
}
|
||||
|
||||
if (this.isStructureValid(this.worldObj)) {
|
||||
|
||||
powerMultiplier = 100;
|
||||
heatMultiplier = 100;
|
||||
@ -552,35 +543,48 @@ public class TileEntityWatzCore extends TileEntity implements ISidedInventory, I
|
||||
decayPellet(i);
|
||||
}
|
||||
}
|
||||
|
||||
//Only damages filter when heat is present (thus waste being created)
|
||||
if (heatList > 0) {
|
||||
ItemCapacitor.setDura(slots[38], ItemCapacitor.getDura(slots[38]) - 1);
|
||||
|
||||
if(!worldObj.isRemote) {
|
||||
|
||||
age++;
|
||||
if (age >= 20) {
|
||||
age = 0;
|
||||
}
|
||||
|
||||
if (age == 9 || age == 19) {
|
||||
ffgeuaInit();
|
||||
fillFluidInit(tank.getTankType());
|
||||
}
|
||||
|
||||
//Only damages filter when heat is present (thus waste being created)
|
||||
if (heatList > 0) {
|
||||
ItemCapacitor.setDura(slots[38], ItemCapacitor.getDura(slots[38]) - 1);
|
||||
}
|
||||
|
||||
heatList *= heatMultiplier;
|
||||
heatList /= 100;
|
||||
heat = heatList;
|
||||
|
||||
powerList *= powerMultiplier;
|
||||
powerList /= 100;
|
||||
power += powerList;
|
||||
|
||||
tank.setFill(tank.getFill() + ((decayMultiplier * heat) / 100) / 100);
|
||||
|
||||
if(power > maxPower)
|
||||
power = maxPower;
|
||||
|
||||
//Gets rid of 1/4 of the total waste, if at least one access hatch is not occupied
|
||||
if(tank.getFill() > tank.getMaxFill())
|
||||
emptyWaste();
|
||||
|
||||
power = Library.chargeItemsFromTE(slots, 37, power, maxPower);
|
||||
|
||||
tank.updateTank(xCoord, yCoord, zCoord, worldObj.provider.dimensionId);
|
||||
tank.unloadTank(36, 39, slots);
|
||||
|
||||
PacketDispatcher.wrapper.sendToAllAround(new AuxElectricityPacket(xCoord, yCoord, zCoord, power), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 50));
|
||||
}
|
||||
|
||||
heatList *= heatMultiplier;
|
||||
heatList /= 100;
|
||||
heat = heatList;
|
||||
|
||||
powerList *= powerMultiplier;
|
||||
powerList /= 100;
|
||||
power += powerList;
|
||||
|
||||
tank.setFill(tank.getFill() + ((decayMultiplier * heat) / 100) / 100);
|
||||
|
||||
if(power > maxPower)
|
||||
power = maxPower;
|
||||
|
||||
//Gets rid of 1/4 of the total waste, if at least one access hatch is not occupied
|
||||
if(tank.getFill() > tank.getMaxFill())
|
||||
emptyWaste();
|
||||
|
||||
power = Library.chargeItemsFromTE(slots, 37, power, maxPower);
|
||||
|
||||
tank.updateTank(xCoord, yCoord, zCoord, worldObj.provider.dimensionId);
|
||||
tank.unloadTank(36, 39, slots);
|
||||
|
||||
PacketDispatcher.wrapper.sendToAllAround(new AuxElectricityPacket(xCoord, yCoord, zCoord, power), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 50));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -310,6 +310,7 @@ death.attack.exhaust=%1$s wurde von einer startenden Rakete verbrutzelt.
|
||||
death.attack.flamethrower=%1$s wurde von %2$s gegrillt.
|
||||
death.attack.ice=%1$s wurde von %2$s in ein Eis am Stiel verwandelt.
|
||||
death.attack.laser=%1$s wurde von %2$s zerbröselt.
|
||||
death.attack.laser.item=%1$s wurde von %2$s mit %3$s zerbröselt.
|
||||
death.attack.lead=%1$s starb an Bleivergiftung.
|
||||
death.attack.lunar=%1$s vergaß lebenswichtige Organe aufzuladen.
|
||||
death.attack.meteorite=%1$s wurde von einem fallenden Stein aus dem Weltall erschlagen.
|
||||
@ -320,14 +321,15 @@ death.attack.pc=%1$s wurde zu einer Pfütze in der pinken Wolke.
|
||||
death.attack.plasma=%1$s wurde von %2$s eingeäschert.
|
||||
death.attack.radiation=%1$s starb an Strahlenvergiftung.
|
||||
death.attack.revolverBullet=%1$s wurde von %2$s in den Kopf geschossen.
|
||||
death.attack.revolverBullet.item=%1$s wurde von %2$s mit %3$s in den Kopf geschossen.
|
||||
death.attack.rubble=%1$s wurde von Schutt zerquetscht.
|
||||
death.attack.shrapnel=%1$s wurde von einem Schrapnell zerfetzt.
|
||||
death.attack.spikes=%1$s wurde aufgespießt.
|
||||
death.attack.subAtomic1=%1$s's Atome wurden von %2$s vernichtet.
|
||||
death.attack.subAtomic2=%1$s verließ das QPU-Gitter weil %2$s seine De-Facto-Geschwindigkeit manipulierte.
|
||||
death.attack.subAtomic3=%1$s's Divergenzwert fiel wegen %2$s unter 1 Prozent.
|
||||
death.attack.subAtomic4=%1$s wurde von %2$s durch null geteilt.
|
||||
death.attack.subAtomic5=%1$s wurde von %2$s nullifiziert.
|
||||
death.attack.subAtomic=%1$s's Atome wurden von %2$s vernichtet.
|
||||
death.attack.suicide=%1$s blies sich die Rübe weg.
|
||||
death.attack.taint=%1$s starb an Flux-Tumoren.
|
||||
death.attack.tau=%1$s wurde von %2$s mit negativ geladenen Tauonen durchsiebt.
|
||||
|
||||
@ -378,6 +378,7 @@ death.attack.exhaust=%1$s was turned into shish kebab by a starting rocket.
|
||||
death.attack.flamethrower=%1$s was cremated by %2$s.
|
||||
death.attack.ice=%1$s was turned into a popsicle by %2$s.
|
||||
death.attack.laser=%1$s was turned into ash by %2$s.
|
||||
death.attack.laser.item=%1$s was turned into ash by %2$s using %3$s.
|
||||
death.attack.lead=%1$s died from lead poisoning.
|
||||
death.attack.lunar=%1$s forgot to charge their vital organs.
|
||||
death.attack.meteorite=%1$s was hit by a falling rock from outer space.
|
||||
@ -388,14 +389,15 @@ death.attack.pc=%1$s was reduced to a puddle in the pink cloud.
|
||||
death.attack.plasma=%1$s was immolated by %2$s.
|
||||
death.attack.radiation=%1$s died from radiation poisoning.
|
||||
death.attack.revolverBullet=%1$s was shot in the head by %2$s.
|
||||
death.attack.revolverBullet=%1$s was shot in the head by %2$s using %3$s.
|
||||
death.attack.rubble=%1$s was squashed by debris.
|
||||
death.attack.shrapnel=%1$s was ragged by a shrapnel.
|
||||
death.attack.spikes=%1$s got impaled.
|
||||
death.attack.subAtomic1=%1$s's atoms have been destroyed by %2$s.
|
||||
death.attack.subAtomic2=%1$s was QPU-misaligned because %2$s tampered with their de facto speed.
|
||||
death.attack.subAtomic3=%1$s's divergence dropped below 1 percent because of %2$s.
|
||||
death.attack.subAtomic4=%1$s was divided by zero by %2$s.
|
||||
death.attack.subAtomic5=%1$s was nullified by %2$s.
|
||||
death.attack.subAtomic=%1$s's atoms have been destroyed by %2$s.
|
||||
death.attack.suicide=%1$s blew their head off.
|
||||
death.attack.taint=%1$s died from flux tumors.
|
||||
death.attack.tau=%1$s was riddeled by %2$s using negatively charged tauons.
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user