mirror of
https://github.com/HbmMods/Hbm-s-Nuclear-Tech-GIT.git
synced 2026-01-25 10:32:49 +00:00
Merge branch 'HbmMods:master' into Optimization
This commit is contained in:
commit
7a0ee15a7e
@ -8,6 +8,8 @@
|
||||
* Fixed 9mm soft points being called ".9mm"
|
||||
* Fixed missing localization for the hard plastic autogen material
|
||||
* Fixed the fat mine's crafting recipe still using the deprecated ammo item
|
||||
* Removed legacy ammo items from all remaining item pools
|
||||
* Removed legacy ammo items and guns from all remaining item pools
|
||||
* Fixed the rubber grip not having a recipe
|
||||
* Fixed the coilgun and bolter not being classified correctly
|
||||
* Fixed the coilgun and bolter not being classified correctly
|
||||
* Fixed new death messages not working
|
||||
* Fixed none of the armors having fall resistance
|
||||
@ -26,7 +26,6 @@ import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.DamageSource;
|
||||
import net.minecraft.util.EntityDamageSourceIndirect;
|
||||
import net.minecraft.util.MovingObjectPosition;
|
||||
import net.minecraft.util.Vec3;
|
||||
import net.minecraft.world.WorldServer;
|
||||
@ -145,8 +144,8 @@ public class BulletConfig implements Cloneable {
|
||||
|
||||
DamageSource dmg;
|
||||
|
||||
if(shooter != null) dmg = new EntityDamageSourceIndirect(dmgClass.name(), projectile, shooter);
|
||||
else dmg = new DamageSource(dmgClass.name());
|
||||
if(shooter != null) dmg = new DamageSourceSednaWithAttacker(dmgClass.name(), projectile, shooter);
|
||||
else dmg = new DamageSourceSednaNoAttacker(dmgClass.name());
|
||||
|
||||
switch(dmgClass) {
|
||||
case PHYSICAL: dmg.setProjectile(); break;
|
||||
|
||||
@ -0,0 +1,21 @@
|
||||
package com.hbm.items.weapon.sedna;
|
||||
|
||||
import java.util.Locale;
|
||||
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.util.ChatComponentTranslation;
|
||||
import net.minecraft.util.DamageSource;
|
||||
import net.minecraft.util.IChatComponent;
|
||||
|
||||
public class DamageSourceSednaNoAttacker extends DamageSource {
|
||||
|
||||
public DamageSourceSednaNoAttacker(String type) {
|
||||
super(type.toLowerCase(Locale.US));
|
||||
}
|
||||
|
||||
@Override
|
||||
public IChatComponent func_151519_b(EntityLivingBase died) {
|
||||
IChatComponent diedName = died.func_145748_c_();
|
||||
return new ChatComponentTranslation("death.sedna." + this.damageType, diedName);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,32 @@
|
||||
package com.hbm.items.weapon.sedna;
|
||||
|
||||
import java.util.Locale;
|
||||
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.util.ChatComponentText;
|
||||
import net.minecraft.util.ChatComponentTranslation;
|
||||
import net.minecraft.util.ChatStyle;
|
||||
import net.minecraft.util.IChatComponent;
|
||||
|
||||
public class DamageSourceSednaWithAttacker extends DamageSourceSednaNoAttacker {
|
||||
|
||||
public Entity projectile;
|
||||
public Entity shooter;
|
||||
|
||||
public DamageSourceSednaWithAttacker(String type, Entity projectile, Entity shooter) {
|
||||
super(type.toLowerCase(Locale.US));
|
||||
this.projectile = projectile;
|
||||
this.shooter = shooter;
|
||||
}
|
||||
|
||||
@Override public Entity getSourceOfDamage() { return this.projectile; } //what even uses this, except for the wackass "shot by bullet" death messages?
|
||||
@Override public Entity getEntity() { return this.shooter; }
|
||||
|
||||
@Override
|
||||
public IChatComponent func_151519_b(EntityLivingBase died) {
|
||||
IChatComponent diedName = died.func_145748_c_();
|
||||
IChatComponent shooterName = shooter != null ? shooter.func_145748_c_() : new ChatComponentText("Unknown").setChatStyle(new ChatStyle().setObfuscated(true));
|
||||
return new ChatComponentTranslation("death.sedna." + this.damageType + ".attacker", diedName, shooterName);
|
||||
}
|
||||
}
|
||||
@ -1,5 +1,7 @@
|
||||
package com.hbm.items.weapon.sedna.factory;
|
||||
|
||||
import java.util.Locale;
|
||||
|
||||
import com.hbm.packet.PacketDispatcher;
|
||||
import com.hbm.packet.toclient.AuxParticlePacketNT;
|
||||
import com.hbm.particle.helper.AshesCreator;
|
||||
@ -16,8 +18,8 @@ public class ConfettiUtil {
|
||||
|
||||
public static void decideConfetti(EntityLivingBase entity, DamageSource source) {
|
||||
if(entity.isEntityAlive()) return;
|
||||
if(source.damageType.equals(DamageClass.LASER.name())) pulverize(entity);
|
||||
if(source.damageType.equals(DamageClass.ELECTRIC.name())) pulverize(entity);
|
||||
if(source.damageType.equals(DamageClass.LASER.name().toLowerCase(Locale.US))) pulverize(entity);
|
||||
if(source.damageType.equals(DamageClass.ELECTRIC.name().toLowerCase(Locale.US))) pulverize(entity);
|
||||
if(source.isExplosion()) gib(entity);
|
||||
if(source.isFireDamage()) cremate(entity);
|
||||
}
|
||||
|
||||
@ -272,7 +272,7 @@ public class Lego {
|
||||
|
||||
public static void standardExplode(EntityBulletBaseMK4 bullet, MovingObjectPosition mop, float range) { standardExplode(bullet, mop, range, 1F); }
|
||||
public static void standardExplode(EntityBulletBaseMK4 bullet, MovingObjectPosition mop, float range, float damageMod) {
|
||||
ExplosionVNT vnt = new ExplosionVNT(bullet.worldObj, mop.hitVec.xCoord, mop.hitVec.yCoord, mop.hitVec.zCoord, range);
|
||||
ExplosionVNT vnt = new ExplosionVNT(bullet.worldObj, mop.hitVec.xCoord, mop.hitVec.yCoord, mop.hitVec.zCoord, range, bullet.getThrower());
|
||||
vnt.setEntityProcessor(new EntityProcessorCrossSmooth(1, bullet.damage * damageMod).setupPiercing(bullet.config.armorThresholdNegation, bullet.config.armorPiercingPercent));
|
||||
vnt.setPlayerProcessor(new PlayerProcessorStandard());
|
||||
vnt.setSFX(new ExplosionEffectWeapon(10, 2.5F, 1F));
|
||||
|
||||
@ -80,7 +80,7 @@ public class XFactory40mm {
|
||||
};
|
||||
public static BiConsumer<EntityBulletBaseMK4, MovingObjectPosition> LAMBDA_STANDARD_EXPLODE_DEMO = (bullet, mop) -> {
|
||||
if(mop.typeOfHit == mop.typeOfHit.ENTITY && bullet.ticksExisted < 3) return;
|
||||
ExplosionVNT vnt = new ExplosionVNT(bullet.worldObj, mop.hitVec.xCoord, mop.hitVec.yCoord, mop.hitVec.zCoord, 5F);
|
||||
ExplosionVNT vnt = new ExplosionVNT(bullet.worldObj, mop.hitVec.xCoord, mop.hitVec.yCoord, mop.hitVec.zCoord, 5F, bullet.getThrower());
|
||||
vnt.setBlockAllocator(new BlockAllocatorStandard());
|
||||
vnt.setBlockProcessor(new BlockProcessorStandard());
|
||||
vnt.setEntityProcessor(new EntityProcessorCrossSmooth(1, bullet.damage));
|
||||
|
||||
@ -63,7 +63,7 @@ public class XFactoryEnergy {
|
||||
mop.hitVec.zCoord += dir.offsetZ * 0.5;
|
||||
}
|
||||
|
||||
ExplosionVNT vnt = new ExplosionVNT(beam.worldObj, mop.hitVec.xCoord, mop.hitVec.yCoord, mop.hitVec.zCoord, 2F);
|
||||
ExplosionVNT vnt = new ExplosionVNT(beam.worldObj, mop.hitVec.xCoord, mop.hitVec.yCoord, mop.hitVec.zCoord, 2F, beam.getThrower());
|
||||
vnt.setEntityProcessor(new EntityProcessorCrossSmooth(1, beam.damage).setDamageClass(beam.config.dmgClass));
|
||||
vnt.setPlayerProcessor(new PlayerProcessorStandard());
|
||||
vnt.explode();
|
||||
|
||||
@ -95,7 +95,7 @@ public class XFactoryRocket {
|
||||
};
|
||||
public static BiConsumer<EntityBulletBaseMK4, MovingObjectPosition> LAMBDA_STANDARD_EXPLODE_DEMO = (bullet, mop) -> {
|
||||
if(mop.typeOfHit == mop.typeOfHit.ENTITY && bullet.ticksExisted < 3) return;
|
||||
ExplosionVNT vnt = new ExplosionVNT(bullet.worldObj, mop.hitVec.xCoord, mop.hitVec.yCoord, mop.hitVec.zCoord, 5F);
|
||||
ExplosionVNT vnt = new ExplosionVNT(bullet.worldObj, mop.hitVec.xCoord, mop.hitVec.yCoord, mop.hitVec.zCoord, 5F, bullet.getThrower());
|
||||
vnt.setBlockAllocator(new BlockAllocatorStandard());
|
||||
vnt.setBlockProcessor(new BlockProcessorStandard());
|
||||
vnt.setEntityProcessor(new EntityProcessorCrossSmooth(1, bullet.damage));
|
||||
|
||||
@ -118,8 +118,8 @@ public class RenderLoot extends TileEntitySpecialRenderer {
|
||||
|
||||
private void renderShotgun() {
|
||||
|
||||
GL11.glScaled(0.5, 0.5, 0.5);
|
||||
GL11.glTranslated(1, 0, 0);
|
||||
GL11.glScaled(0.125, 0.125, 0.125);
|
||||
GL11.glTranslated(3, 0, 0);
|
||||
GL11.glRotated(25, 0, 1, 0);
|
||||
GL11.glRotated(90, 1, 0, 0);
|
||||
GL11.glRotated(90, 0, 1, 0);
|
||||
|
||||
@ -84,6 +84,7 @@ public class DamageResistanceHandler {
|
||||
registerSet(ModItems.steamsuit_helmet, ModItems.steamsuit_plate, ModItems.steamsuit_legs, ModItems.steamsuit_boots, new ResistanceStats()
|
||||
.addCategory(CATEGORY_PROJECTILE, 2F, 0.15F)
|
||||
.addCategory(CATEGORY_FIRE, 0.5F, 0.25F)
|
||||
.addExact(DamageSource.fall.damageType, 5F, 0.25F)
|
||||
.setOther(0F, 0.1F));
|
||||
registerSet(ModItems.dieselsuit_helmet, ModItems.dieselsuit_plate, ModItems.dieselsuit_legs, ModItems.dieselsuit_boots, new ResistanceStats()
|
||||
.addCategory(CATEGORY_PROJECTILE, 1F, 0.15F)
|
||||
@ -94,48 +95,57 @@ public class DamageResistanceHandler {
|
||||
.addCategory(CATEGORY_PROJECTILE, 2F, 0.15F)
|
||||
.addCategory(CATEGORY_FIRE, 0.5F, 0.35F)
|
||||
.addCategory(CATEGORY_EXPLOSION, 5F, 0.25F)
|
||||
.addExact(DamageSource.fall.damageType, 0F, 1F)
|
||||
.setOther(0F, 0.1F));
|
||||
registerSet(ModItems.ajr_helmet, ModItems.ajr_plate, ModItems.ajr_legs, ModItems.ajr_boots, new ResistanceStats()
|
||||
.addCategory(CATEGORY_PROJECTILE, 4F, 0.15F)
|
||||
.addCategory(CATEGORY_FIRE, 0.5F, 0.35F)
|
||||
.addCategory(CATEGORY_EXPLOSION, 7.5F, 0.25F)
|
||||
.addExact(DamageSource.fall.damageType, 0F, 1F)
|
||||
.setOther(0F, 0.15F));
|
||||
registerSet(ModItems.ajro_helmet, ModItems.ajro_plate, ModItems.ajro_legs, ModItems.ajro_boots, new ResistanceStats()
|
||||
.addCategory(CATEGORY_PROJECTILE, 4F, 0.15F)
|
||||
.addCategory(CATEGORY_FIRE, 0.5F, 0.35F)
|
||||
.addCategory(CATEGORY_EXPLOSION, 7.5F, 0.25F)
|
||||
.addExact(DamageSource.fall.damageType, 0F, 1F)
|
||||
.setOther(0F, 0.15F));
|
||||
registerSet(ModItems.rpa_helmet, ModItems.rpa_plate, ModItems.rpa_legs, ModItems.rpa_boots, new ResistanceStats()
|
||||
.addCategory(CATEGORY_PROJECTILE, 20F, 0.65F)
|
||||
.addCategory(CATEGORY_FIRE, 10F, 0.75F)
|
||||
.addCategory(CATEGORY_EXPLOSION, 15F, 0.25F)
|
||||
.addExact(DamageClass.LASER.name(), 10F, 0.75F)
|
||||
.addExact(DamageSource.fall.damageType, 0F, 1F)
|
||||
.setOther(10F, 0.15F));
|
||||
ResistanceStats bj = new ResistanceStats()
|
||||
.addCategory(CATEGORY_PROJECTILE, 5F, 0.5F)
|
||||
.addCategory(CATEGORY_FIRE, 2.5F, 0.5F)
|
||||
.addCategory(CATEGORY_EXPLOSION, 10F, 0.25F)
|
||||
.addExact(DamageSource.fall.damageType, 0F, 1F)
|
||||
.setOther(2F, 0.15F);
|
||||
registerSet(ModItems.bj_helmet, ModItems.bj_plate, ModItems.bj_legs, ModItems.bj_boots, bj);
|
||||
registerSet(ModItems.bj_helmet, ModItems.bj_plate_jetpack, ModItems.bj_legs, ModItems.bj_boots, bj);
|
||||
registerSet(ModItems.envsuit_helmet, ModItems.envsuit_plate, ModItems.envsuit_legs, ModItems.envsuit_boots, new ResistanceStats()
|
||||
.addCategory(CATEGORY_FIRE, 2F, 0.75F)
|
||||
.addExact(DamageSource.drown.damageType, 0F, 1F)
|
||||
.addExact(DamageSource.fall.damageType, 5F, 0.75F)
|
||||
.setOther(0F, 0.1F));
|
||||
registerSet(ModItems.hev_helmet, ModItems.hev_plate, ModItems.hev_legs, ModItems.hev_boots, new ResistanceStats()
|
||||
.addCategory(CATEGORY_PROJECTILE, 2F, 0.25F)
|
||||
.addCategory(CATEGORY_FIRE, 0.5F, 0.5F)
|
||||
.addCategory(CATEGORY_EXPLOSION, 5F, 0.25F)
|
||||
.addExact(DamageSource.onFire.damageType, 0F, 1F)
|
||||
.addExact(DamageSource.fall.damageType, 10F, 0F)
|
||||
.setOther(2F, 0.25F));
|
||||
registerSet(ModItems.bismuth_helmet, ModItems.bismuth_plate, ModItems.bismuth_legs, ModItems.bismuth_boots, new ResistanceStats()
|
||||
.addCategory(CATEGORY_PROJECTILE, 2F, 0.15F)
|
||||
.addCategory(CATEGORY_FIRE, 5F, 0.5F)
|
||||
.addCategory(CATEGORY_EXPLOSION, 5F, 0.25F)
|
||||
.addExact(DamageSource.fall.damageType, 0F, 1F)
|
||||
.setOther(2F, 0.25F));
|
||||
registerSet(ModItems.fau_helmet, ModItems.fau_plate, ModItems.fau_legs, ModItems.fau_boots, new ResistanceStats()
|
||||
.addCategory(CATEGORY_EXPLOSION, 50F, 0.95F)
|
||||
.addExact(DamageClass.LASER.name(), 25F, 0.95F)
|
||||
.addExact(DamageSource.fall.damageType, 0F, 1F)
|
||||
.setOther(100F, 0.99F));
|
||||
registerSet(ModItems.dns_helmet, ModItems.dns_plate, ModItems.dns_legs, ModItems.dns_boots, new ResistanceStats()
|
||||
.addCategory(CATEGORY_EXPLOSION, 100F, 0.99F)
|
||||
@ -145,6 +155,7 @@ public class DamageResistanceHandler {
|
||||
.addCategory(CATEGORY_FIRE, 5F, 0.5F)
|
||||
.addCategory(CATEGORY_EXPLOSION, 5F, 0.25F)
|
||||
.addExact(DamageClass.LASER.name(), 15F, 0.9F)
|
||||
.addExact(DamageSource.fall.damageType, 10F, 0.5F)
|
||||
.setOther(5F, 0.25F));
|
||||
|
||||
registerSet(ModItems.hazmat_helmet, ModItems.hazmat_plate, ModItems.hazmat_legs, ModItems.hazmat_boots, new ResistanceStats());
|
||||
|
||||
@ -482,6 +482,7 @@ damage.category.EXPL=Explosion
|
||||
damage.category.FIRE=Feuer
|
||||
damage.category.PROJ=Projektil
|
||||
damage.exact.drown=Ertrinken
|
||||
damage.exact.fall=Fallschaden
|
||||
damage.exact.LASER=Laser
|
||||
damage.exact.onFire=Nachbrennen
|
||||
damage.other=Andere
|
||||
@ -543,6 +544,23 @@ death.attack.tau=%1$s wurde von %2$s mit negativ geladenen Tauonen durchsiebt.
|
||||
death.attack.tauBlast=%1$s lud die XVL1456 zu lange auf und wurde in Stücke gerissen.
|
||||
death.attack.teleporter=%1$s wurde ins Nichts teleportiert.
|
||||
|
||||
death.sedna.electric=%1$s wurde frittiert.
|
||||
death.sedna.electric.attacker=%1$s wurde von %2$s frittiert.
|
||||
death.sedna.explosive=%1$s wurde gesprengt.
|
||||
death.sedna.explosive.attacker=%1$s wurde von %2$s gesprengt.
|
||||
death.sedna.fire=%1$s wurde eingeäschert.
|
||||
death.sedna.fire.attacker=%1$s wurde von %2$s eingeäschert.
|
||||
death.sedna.laser=%1$s wurde pulverisiert.
|
||||
death.sedna.laser.attacker=%1$s wurde von %2$s pulverisiert.
|
||||
death.sedna.microwave=%1$s wurde gekocht.
|
||||
death.sedna.microwave.attacker=%1$s wurde von %2$s gekocht.
|
||||
death.sedna.subatomic=%1$s wurde atomisiert.
|
||||
death.sedna.subatomic.attacker=%1$s wurde von %2$s atomisiert.
|
||||
death.sedna.other=%1$s wurde getötet.
|
||||
death.sedna.other.attacker=%1$s wurde von %2$s getötet.
|
||||
death.sedna.physical=%1$s wurde erschossen.
|
||||
death.sedna.physical.attacker=%1$s wurde von %2$s erschossen.
|
||||
|
||||
desc.item.rtgHeat=Hitzelevel: %s
|
||||
desc.gui.rtgBFurnace.desc=Benötigt mindestens 15 Hitze um zu starten$Je mehr Hitze, desto schneller der Vorgang$Hitze über dem maximalen Level hat keinen Effekt$Gold-198 kann zu Quecksilber zerfallen
|
||||
desc.gui.rtgBFurnace.heat=§eHitzelevel: %s
|
||||
|
||||
@ -898,6 +898,7 @@ damage.category.EXPL=Explosion
|
||||
damage.category.FIRE=Fire
|
||||
damage.category.PROJ=Projectile
|
||||
damage.exact.drown=Drowning
|
||||
damage.exact.fall=Fall damage
|
||||
damage.exact.LASER=Laser
|
||||
damage.exact.onFire=Afterburn
|
||||
damage.other=Other
|
||||
@ -960,6 +961,23 @@ death.attack.tau=%1$s was riddeled by %2$s using negatively charged tauons.
|
||||
death.attack.tauBlast=%1$s charged the XVL1456 for too long and was blown into pieces.
|
||||
death.attack.teleporter=%1$s was teleported into nothingness.
|
||||
|
||||
death.sedna.electric=%1$s was fried.
|
||||
death.sedna.electric.attacker=%1$s was fried by %2$s.
|
||||
death.sedna.explosive=%1$s was blown up.
|
||||
death.sedna.explosive.attacker=%1$s was blown up by %2$s.
|
||||
death.sedna.fire=%1$s was incinerated.
|
||||
death.sedna.fire.attacker=%1$s was incinerated by %2$s.
|
||||
death.sedna.laser=%1$s was pulverized.
|
||||
death.sedna.laser.attacker=%1$s was pulverized by %2$s.
|
||||
death.sedna.microwave=%1$s was microwaved.
|
||||
death.sedna.microwave.attacker=%1$s was microwaved by %2$s.
|
||||
death.sedna.subatomic=%1$s was atomized.
|
||||
death.sedna.subatomic.attacker=%1$s was atomized by %2$s.
|
||||
death.sedna.other=%1$s was killed.
|
||||
death.sedna.other.attacker=%1$s was killed by %2$s.
|
||||
death.sedna.physical=%1$s was shot.
|
||||
death.sedna.physical.attacker=%1$s was shot by %2$s.
|
||||
|
||||
desc.gui.assembler.warning=§cError:§r This machine requires an assembly template!
|
||||
desc.gui.chemplant.warning=§cError:§r This machine requires an chemistry template!
|
||||
desc.gui.gasCent.enrichment=§2Enrichment§r$Uranium enrichment requires cascades.$Two-centrifuge cascades will give$uranium fuel, four-centrifuge cascades$will give total separation.
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user