now you're prepped to commit homicide

This commit is contained in:
Bob 2024-11-24 21:12:41 +01:00
parent e3d8919df5
commit 9192f1cf1b
29 changed files with 3461 additions and 1474 deletions

View File

@ -95,6 +95,8 @@ public class EntityBulletBeamBase extends Entity implements IEntityAdditionalSpa
return; return;
} }
if(config.onUpdate != null) config.onUpdate.accept(this);
super.onUpdate(); super.onUpdate();
if(!worldObj.isRemote && this.ticksExisted > config.expires) this.setDead(); if(!worldObj.isRemote && this.ticksExisted > config.expires) this.setDead();

View File

@ -193,7 +193,7 @@ public abstract class EntityThrowableNT extends Entity implements IProjectile {
for(int j = 0; j < list.size(); ++j) { for(int j = 0; j < list.size(); ++j) {
Entity entity = (Entity) list.get(j); Entity entity = (Entity) list.get(j);
if(entity.canBeCollidedWith() && (entity != thrower || this.ticksInAir >= this.selfDamageDelay())) { if(entity.canBeCollidedWith() && (entity != thrower || this.ticksInAir >= this.selfDamageDelay()) && entity.isEntityAlive()) {
double hitbox = 0.3F; double hitbox = 0.3F;
AxisAlignedBB aabb = entity.boundingBox.expand(hitbox, hitbox, hitbox); AxisAlignedBB aabb = entity.boundingBox.expand(hitbox, hitbox, hitbox);
MovingObjectPosition hitMop = aabb.calculateIntercept(pos, nextPos); MovingObjectPosition hitMop = aabb.calculateIntercept(pos, nextPos);

View File

@ -1603,6 +1603,7 @@ public class ModItems {
public static Item gun_congolake; public static Item gun_congolake;
public static Item gun_flamer; public static Item gun_flamer;
public static Item gun_uzi; public static Item gun_uzi;
public static Item gun_uzi_akimbo;
public static Item gun_spas12; public static Item gun_spas12;
public static Item gun_panzerschreck; public static Item gun_panzerschreck;
public static Item gun_g3; public static Item gun_g3;
@ -4573,69 +4574,68 @@ public class ModItems {
beta = new ItemDrop().setUnlocalizedName("beta").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":beta"); beta = new ItemDrop().setUnlocalizedName("beta").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":beta");
//oxy_mask = new ArmorModel(ArmorMaterial.IRON, 7, 0).setUnlocalizedName("oxy_mask").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":oxy_mask"); //oxy_mask = new ArmorModel(ArmorMaterial.IRON, 7, 0).setUnlocalizedName("oxy_mask").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":oxy_mask");
schrabidium_helmet = new ArmorFSB(MainRegistry.aMatSchrab, 0, RefStrings.MODID + ":textures/armor/schrabidium_1.png").setCap(4F).setMod(0.1F) schrabidium_helmet = new ArmorFSB(MainRegistry.aMatSchrab, 0, RefStrings.MODID + ":textures/armor/schrabidium_1.png")
.addEffect(new PotionEffect(Potion.digSpeed.id, 20, 2)) .addEffect(new PotionEffect(Potion.digSpeed.id, 20, 2))
.addEffect(new PotionEffect(Potion.damageBoost.id, 20, 2)) .addEffect(new PotionEffect(Potion.damageBoost.id, 20, 2))
.addEffect(new PotionEffect(Potion.jump.id, 20, 1)) .addEffect(new PotionEffect(Potion.jump.id, 20, 1))
.addEffect(new PotionEffect(Potion.moveSpeed.id, 20, 2)) .addEffect(new PotionEffect(Potion.moveSpeed.id, 20, 2))
.setFireproof(true).setUnlocalizedName("schrabidium_helmet").setTextureName(RefStrings.MODID + ":schrabidium_helmet"); .setUnlocalizedName("schrabidium_helmet").setTextureName(RefStrings.MODID + ":schrabidium_helmet");
schrabidium_plate = new ArmorFSB(MainRegistry.aMatSchrab, 1, RefStrings.MODID + ":textures/armor/schrabidium_1.png").cloneStats((ArmorFSB) schrabidium_helmet).setUnlocalizedName("schrabidium_plate").setTextureName(RefStrings.MODID + ":schrabidium_plate"); schrabidium_plate = new ArmorFSB(MainRegistry.aMatSchrab, 1, RefStrings.MODID + ":textures/armor/schrabidium_1.png").cloneStats((ArmorFSB) schrabidium_helmet).setUnlocalizedName("schrabidium_plate").setTextureName(RefStrings.MODID + ":schrabidium_plate");
schrabidium_legs = new ArmorFSB(MainRegistry.aMatSchrab, 2, RefStrings.MODID + ":textures/armor/schrabidium_2.png").cloneStats((ArmorFSB) schrabidium_helmet).setCap(4F).setMod(0.1F).setUnlocalizedName("schrabidium_legs").setTextureName(RefStrings.MODID + ":schrabidium_legs"); schrabidium_legs = new ArmorFSB(MainRegistry.aMatSchrab, 2, RefStrings.MODID + ":textures/armor/schrabidium_2.png").cloneStats((ArmorFSB) schrabidium_helmet).setUnlocalizedName("schrabidium_legs").setTextureName(RefStrings.MODID + ":schrabidium_legs");
schrabidium_boots = new ArmorFSB(MainRegistry.aMatSchrab, 3, RefStrings.MODID + ":textures/armor/schrabidium_1.png").cloneStats((ArmorFSB) schrabidium_helmet).setCap(4F).setMod(0.1F).setUnlocalizedName("schrabidium_boots").setTextureName(RefStrings.MODID + ":schrabidium_boots"); schrabidium_boots = new ArmorFSB(MainRegistry.aMatSchrab, 3, RefStrings.MODID + ":textures/armor/schrabidium_1.png").cloneStats((ArmorFSB) schrabidium_helmet).setUnlocalizedName("schrabidium_boots").setTextureName(RefStrings.MODID + ":schrabidium_boots");
bismuth_helmet = new ArmorBismuth(MainRegistry.aMatBismuth, 0, RefStrings.MODID + ":textures/armor/starmetal_1.png").setCap(8F).setMod(0.3F) bismuth_helmet = new ArmorBismuth(MainRegistry.aMatBismuth, 0, RefStrings.MODID + ":textures/armor/starmetal_1.png")
.addResistance("fall", 0)
.addEffect(new PotionEffect(Potion.jump.id, 20, 6)) .addEffect(new PotionEffect(Potion.jump.id, 20, 6))
.addEffect(new PotionEffect(Potion.moveSpeed.id, 20, 6)) .addEffect(new PotionEffect(Potion.moveSpeed.id, 20, 6))
.addEffect(new PotionEffect(Potion.regeneration.id, 20, 1)) .addEffect(new PotionEffect(Potion.regeneration.id, 20, 1))
.addEffect(new PotionEffect(Potion.nightVision.id, 15 * 20, 0)) .addEffect(new PotionEffect(Potion.nightVision.id, 15 * 20, 0))
.setDashCount(3) .setDashCount(3)
.setUnlocalizedName("bismuth_helmet").setTextureName(RefStrings.MODID + ":bismuth_helmet"); .setUnlocalizedName("bismuth_helmet").setTextureName(RefStrings.MODID + ":bismuth_helmet");
bismuth_plate = new ArmorBismuth(MainRegistry.aMatBismuth, 1, RefStrings.MODID + ":textures/armor/starmetal_2.png").cloneStats((ArmorFSB) bismuth_helmet).setCap(8F).setMod(0.3F).setUnlocalizedName("bismuth_plate").setTextureName(RefStrings.MODID + ":bismuth_plate"); bismuth_plate = new ArmorBismuth(MainRegistry.aMatBismuth, 1, RefStrings.MODID + ":textures/armor/starmetal_2.png").cloneStats((ArmorFSB) bismuth_helmet).setUnlocalizedName("bismuth_plate").setTextureName(RefStrings.MODID + ":bismuth_plate");
bismuth_legs = new ArmorBismuth(MainRegistry.aMatBismuth, 2, RefStrings.MODID + ":textures/armor/starmetal_1.png").cloneStats((ArmorFSB) bismuth_helmet).setCap(8F).setMod(0.3F).setUnlocalizedName("bismuth_legs").setTextureName(RefStrings.MODID + ":bismuth_legs"); bismuth_legs = new ArmorBismuth(MainRegistry.aMatBismuth, 2, RefStrings.MODID + ":textures/armor/starmetal_1.png").cloneStats((ArmorFSB) bismuth_helmet).setUnlocalizedName("bismuth_legs").setTextureName(RefStrings.MODID + ":bismuth_legs");
bismuth_boots = new ArmorBismuth(MainRegistry.aMatBismuth, 3, RefStrings.MODID + ":textures/armor/starmetal_1.png").cloneStats((ArmorFSB) bismuth_helmet).setCap(8F).setMod(0.3F).setUnlocalizedName("bismuth_boots").setTextureName(RefStrings.MODID + ":bismuth_boots"); bismuth_boots = new ArmorBismuth(MainRegistry.aMatBismuth, 3, RefStrings.MODID + ":textures/armor/starmetal_1.png").cloneStats((ArmorFSB) bismuth_helmet).setUnlocalizedName("bismuth_boots").setTextureName(RefStrings.MODID + ":bismuth_boots");
titanium_helmet = new ArmorFSB(MainRegistry.aMatTitan, 0, RefStrings.MODID + ":textures/armor/titanium_1.png").setMod(0.85F).setUnlocalizedName("titanium_helmet").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":titanium_helmet"); titanium_helmet = new ArmorFSB(MainRegistry.aMatTitan, 0, RefStrings.MODID + ":textures/armor/titanium_1.png").setUnlocalizedName("titanium_helmet").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":titanium_helmet");
titanium_plate = new ArmorFSB(MainRegistry.aMatTitan, 1, RefStrings.MODID + ":textures/armor/titanium_1.png").cloneStats((ArmorFSB) titanium_helmet).setUnlocalizedName("titanium_plate").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":titanium_plate"); titanium_plate = new ArmorFSB(MainRegistry.aMatTitan, 1, RefStrings.MODID + ":textures/armor/titanium_1.png").cloneStats((ArmorFSB) titanium_helmet).setUnlocalizedName("titanium_plate").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":titanium_plate");
titanium_legs = new ArmorFSB(MainRegistry.aMatTitan, 2, RefStrings.MODID + ":textures/armor/titanium_2.png").cloneStats((ArmorFSB) titanium_helmet).setUnlocalizedName("titanium_legs").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":titanium_legs"); titanium_legs = new ArmorFSB(MainRegistry.aMatTitan, 2, RefStrings.MODID + ":textures/armor/titanium_2.png").cloneStats((ArmorFSB) titanium_helmet).setUnlocalizedName("titanium_legs").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":titanium_legs");
titanium_boots = new ArmorFSB(MainRegistry.aMatTitan, 3, RefStrings.MODID + ":textures/armor/titanium_1.png").cloneStats((ArmorFSB) titanium_helmet).setUnlocalizedName("titanium_boots").setTextureName(RefStrings.MODID + ":titanium_boots"); titanium_boots = new ArmorFSB(MainRegistry.aMatTitan, 3, RefStrings.MODID + ":textures/armor/titanium_1.png").cloneStats((ArmorFSB) titanium_helmet).setUnlocalizedName("titanium_boots").setTextureName(RefStrings.MODID + ":titanium_boots");
steel_helmet = new ArmorFSB(MainRegistry.aMatSteel, 0, RefStrings.MODID + ":textures/armor/steel_1.png").setMod(0.9F).setUnlocalizedName("steel_helmet").setTextureName(RefStrings.MODID + ":steel_helmet"); steel_helmet = new ArmorFSB(MainRegistry.aMatSteel, 0, RefStrings.MODID + ":textures/armor/steel_1.png").setUnlocalizedName("steel_helmet").setTextureName(RefStrings.MODID + ":steel_helmet");
steel_plate = new ArmorFSB(MainRegistry.aMatSteel, 1, RefStrings.MODID + ":textures/armor/steel_1.png").cloneStats((ArmorFSB) steel_helmet).setUnlocalizedName("steel_plate").setTextureName(RefStrings.MODID + ":steel_plate"); steel_plate = new ArmorFSB(MainRegistry.aMatSteel, 1, RefStrings.MODID + ":textures/armor/steel_1.png").cloneStats((ArmorFSB) steel_helmet).setUnlocalizedName("steel_plate").setTextureName(RefStrings.MODID + ":steel_plate");
steel_legs = new ArmorFSB(MainRegistry.aMatSteel, 2, RefStrings.MODID + ":textures/armor/steel_2.png").cloneStats((ArmorFSB) steel_helmet).setUnlocalizedName("steel_legs").setTextureName(RefStrings.MODID + ":steel_legs"); steel_legs = new ArmorFSB(MainRegistry.aMatSteel, 2, RefStrings.MODID + ":textures/armor/steel_2.png").cloneStats((ArmorFSB) steel_helmet).setUnlocalizedName("steel_legs").setTextureName(RefStrings.MODID + ":steel_legs");
steel_boots = new ArmorFSB(MainRegistry.aMatSteel, 3, RefStrings.MODID + ":textures/armor/steel_1.png").cloneStats((ArmorFSB) steel_helmet).setUnlocalizedName("steel_boots").setTextureName(RefStrings.MODID + ":steel_boots"); steel_boots = new ArmorFSB(MainRegistry.aMatSteel, 3, RefStrings.MODID + ":textures/armor/steel_1.png").cloneStats((ArmorFSB) steel_helmet).setUnlocalizedName("steel_boots").setTextureName(RefStrings.MODID + ":steel_boots");
alloy_helmet = new ArmorFSB(MainRegistry.aMatAlloy, 0, RefStrings.MODID + ":textures/armor/alloy_1.png").setMod(0.75F).setUnlocalizedName("alloy_helmet").setTextureName(RefStrings.MODID + ":alloy_helmet"); alloy_helmet = new ArmorFSB(MainRegistry.aMatAlloy, 0, RefStrings.MODID + ":textures/armor/alloy_1.png").setUnlocalizedName("alloy_helmet").setTextureName(RefStrings.MODID + ":alloy_helmet");
alloy_plate = new ArmorFSB(MainRegistry.aMatAlloy, 1, RefStrings.MODID + ":textures/armor/alloy_1.png").cloneStats((ArmorFSB) alloy_helmet).setUnlocalizedName("alloy_plate").setTextureName(RefStrings.MODID + ":alloy_plate"); alloy_plate = new ArmorFSB(MainRegistry.aMatAlloy, 1, RefStrings.MODID + ":textures/armor/alloy_1.png").cloneStats((ArmorFSB) alloy_helmet).setUnlocalizedName("alloy_plate").setTextureName(RefStrings.MODID + ":alloy_plate");
alloy_legs = new ArmorFSB(MainRegistry.aMatAlloy, 2, RefStrings.MODID + ":textures/armor/alloy_2.png").cloneStats((ArmorFSB) alloy_helmet).setUnlocalizedName("alloy_legs").setTextureName(RefStrings.MODID + ":alloy_legs"); alloy_legs = new ArmorFSB(MainRegistry.aMatAlloy, 2, RefStrings.MODID + ":textures/armor/alloy_2.png").cloneStats((ArmorFSB) alloy_helmet).setUnlocalizedName("alloy_legs").setTextureName(RefStrings.MODID + ":alloy_legs");
alloy_boots = new ArmorFSB(MainRegistry.aMatAlloy, 3, RefStrings.MODID + ":textures/armor/alloy_1.png").cloneStats((ArmorFSB) alloy_helmet).setUnlocalizedName("alloy_boots").setTextureName(RefStrings.MODID + ":alloy_boots"); alloy_boots = new ArmorFSB(MainRegistry.aMatAlloy, 3, RefStrings.MODID + ":textures/armor/alloy_1.png").cloneStats((ArmorFSB) alloy_helmet).setUnlocalizedName("alloy_boots").setTextureName(RefStrings.MODID + ":alloy_boots");
cmb_helmet = new ArmorFSB(MainRegistry.aMatCMB, 0, RefStrings.MODID + ":textures/armor/cmb_1.png").setCap(2F).setThreshold(2F).setMod(0.05F) cmb_helmet = new ArmorFSB(MainRegistry.aMatCMB, 0, RefStrings.MODID + ":textures/armor/cmb_1.png")
.addEffect(new PotionEffect(Potion.moveSpeed.id, 20, 2)) .addEffect(new PotionEffect(Potion.moveSpeed.id, 20, 2))
.addEffect(new PotionEffect(Potion.digSpeed.id, 20, 2)) .addEffect(new PotionEffect(Potion.digSpeed.id, 20, 2))
.addEffect(new PotionEffect(Potion.damageBoost.id, 20, 4)) .addEffect(new PotionEffect(Potion.damageBoost.id, 20, 4))
.setFireproof(true).setUnlocalizedName("cmb_helmet").setTextureName(RefStrings.MODID + ":cmb_helmet"); .setUnlocalizedName("cmb_helmet").setTextureName(RefStrings.MODID + ":cmb_helmet");
cmb_plate = new ArmorFSB(MainRegistry.aMatCMB, 1, RefStrings.MODID + ":textures/armor/cmb_1.png").cloneStats((ArmorFSB) cmb_helmet).setUnlocalizedName("cmb_plate").setTextureName(RefStrings.MODID + ":cmb_plate"); cmb_plate = new ArmorFSB(MainRegistry.aMatCMB, 1, RefStrings.MODID + ":textures/armor/cmb_1.png").cloneStats((ArmorFSB) cmb_helmet).setUnlocalizedName("cmb_plate").setTextureName(RefStrings.MODID + ":cmb_plate");
cmb_legs = new ArmorFSB(MainRegistry.aMatCMB, 2, RefStrings.MODID + ":textures/armor/cmb_2.png").cloneStats((ArmorFSB) cmb_helmet).setUnlocalizedName("cmb_legs").setTextureName(RefStrings.MODID + ":cmb_legs"); cmb_legs = new ArmorFSB(MainRegistry.aMatCMB, 2, RefStrings.MODID + ":textures/armor/cmb_2.png").cloneStats((ArmorFSB) cmb_helmet).setUnlocalizedName("cmb_legs").setTextureName(RefStrings.MODID + ":cmb_legs");
cmb_boots = new ArmorFSB(MainRegistry.aMatCMB, 3, RefStrings.MODID + ":textures/armor/cmb_1.png").cloneStats((ArmorFSB) cmb_helmet).setUnlocalizedName("cmb_boots").setTextureName(RefStrings.MODID + ":cmb_boots"); cmb_boots = new ArmorFSB(MainRegistry.aMatCMB, 3, RefStrings.MODID + ":textures/armor/cmb_1.png").cloneStats((ArmorFSB) cmb_helmet).setUnlocalizedName("cmb_boots").setTextureName(RefStrings.MODID + ":cmb_boots");
paa_plate = new ArmorFSB(MainRegistry.aMatPaa, 1, RefStrings.MODID + ":textures/armor/paa_1.png").setCap(6F).setMod(0.3F).setNoHelmet(true) paa_plate = new ArmorFSB(MainRegistry.aMatPaa, 1, RefStrings.MODID + ":textures/armor/paa_1.png").setNoHelmet(true)
.addEffect(new PotionEffect(Potion.digSpeed.id, 20, 0)).setUnlocalizedName("paa_plate").setTextureName(RefStrings.MODID + ":paa_plate"); .addEffect(new PotionEffect(Potion.digSpeed.id, 20, 0)).setUnlocalizedName("paa_plate").setTextureName(RefStrings.MODID + ":paa_plate");
paa_legs = new ArmorFSB(MainRegistry.aMatPaa, 2, RefStrings.MODID + ":textures/armor/paa_2.png").cloneStats((ArmorFSB) paa_plate).setUnlocalizedName("paa_legs").setTextureName(RefStrings.MODID + ":paa_legs"); paa_legs = new ArmorFSB(MainRegistry.aMatPaa, 2, RefStrings.MODID + ":textures/armor/paa_2.png").cloneStats((ArmorFSB) paa_plate).setUnlocalizedName("paa_legs").setTextureName(RefStrings.MODID + ":paa_legs");
paa_boots = new ArmorFSB(MainRegistry.aMatPaa, 3, RefStrings.MODID + ":textures/armor/paa_1.png").cloneStats((ArmorFSB) paa_plate).setUnlocalizedName("paa_boots").setTextureName(RefStrings.MODID + ":paa_boots"); paa_boots = new ArmorFSB(MainRegistry.aMatPaa, 3, RefStrings.MODID + ":textures/armor/paa_1.png").cloneStats((ArmorFSB) paa_plate).setUnlocalizedName("paa_boots").setTextureName(RefStrings.MODID + ":paa_boots");
asbestos_helmet = new ArmorFSB(MainRegistry.aMatAsbestos, 0, RefStrings.MODID + ":textures/armor/asbestos_1.png").setFireproof(true).setOverlay(RefStrings.MODID + ":textures/misc/overlay_asbestos.png").setUnlocalizedName("asbestos_helmet").setTextureName(RefStrings.MODID + ":asbestos_helmet"); asbestos_helmet = new ArmorFSB(MainRegistry.aMatAsbestos, 0, RefStrings.MODID + ":textures/armor/asbestos_1.png").setOverlay(RefStrings.MODID + ":textures/misc/overlay_asbestos.png").setUnlocalizedName("asbestos_helmet").setTextureName(RefStrings.MODID + ":asbestos_helmet");
asbestos_plate = new ArmorFSB(MainRegistry.aMatAsbestos, 1, RefStrings.MODID + ":textures/armor/asbestos_1.png").setFireproof(true).setUnlocalizedName("asbestos_plate").setTextureName(RefStrings.MODID + ":asbestos_plate"); asbestos_plate = new ArmorFSB(MainRegistry.aMatAsbestos, 1, RefStrings.MODID + ":textures/armor/asbestos_1.png").setUnlocalizedName("asbestos_plate").setTextureName(RefStrings.MODID + ":asbestos_plate");
asbestos_legs = new ArmorFSB(MainRegistry.aMatAsbestos, 2, RefStrings.MODID + ":textures/armor/asbestos_2.png").setFireproof(true).setUnlocalizedName("asbestos_legs").setTextureName(RefStrings.MODID + ":asbestos_legs"); asbestos_legs = new ArmorFSB(MainRegistry.aMatAsbestos, 2, RefStrings.MODID + ":textures/armor/asbestos_2.png").setUnlocalizedName("asbestos_legs").setTextureName(RefStrings.MODID + ":asbestos_legs");
asbestos_boots = new ArmorFSB(MainRegistry.aMatAsbestos, 3, RefStrings.MODID + ":textures/armor/asbestos_1.png").setFireproof(true).setUnlocalizedName("asbestos_boots").setTextureName(RefStrings.MODID + ":asbestos_boots"); asbestos_boots = new ArmorFSB(MainRegistry.aMatAsbestos, 3, RefStrings.MODID + ":textures/armor/asbestos_1.png").setUnlocalizedName("asbestos_boots").setTextureName(RefStrings.MODID + ":asbestos_boots");
security_helmet = new ArmorFSB(MainRegistry.aMatSecurity, 0, RefStrings.MODID + ":textures/armor/security_1.png").setMod(0.65F).setProjectileProtection(0.5F).setUnlocalizedName("security_helmet").setTextureName(RefStrings.MODID + ":security_helmet"); security_helmet = new ArmorFSB(MainRegistry.aMatSecurity, 0, RefStrings.MODID + ":textures/armor/security_1.png").setUnlocalizedName("security_helmet").setTextureName(RefStrings.MODID + ":security_helmet");
security_plate = new ArmorFSB(MainRegistry.aMatSecurity, 1, RefStrings.MODID + ":textures/armor/security_1.png").cloneStats((ArmorFSB) security_helmet).setUnlocalizedName("security_plate").setTextureName(RefStrings.MODID + ":security_plate"); security_plate = new ArmorFSB(MainRegistry.aMatSecurity, 1, RefStrings.MODID + ":textures/armor/security_1.png").cloneStats((ArmorFSB) security_helmet).setUnlocalizedName("security_plate").setTextureName(RefStrings.MODID + ":security_plate");
security_legs = new ArmorFSB(MainRegistry.aMatSecurity, 2, RefStrings.MODID + ":textures/armor/security_2.png").cloneStats((ArmorFSB) security_helmet).setUnlocalizedName("security_legs").setTextureName(RefStrings.MODID + ":security_legs"); security_legs = new ArmorFSB(MainRegistry.aMatSecurity, 2, RefStrings.MODID + ":textures/armor/security_2.png").cloneStats((ArmorFSB) security_helmet).setUnlocalizedName("security_legs").setTextureName(RefStrings.MODID + ":security_legs");
security_boots = new ArmorFSB(MainRegistry.aMatSecurity, 3, RefStrings.MODID + ":textures/armor/security_1.png").cloneStats((ArmorFSB) security_helmet).setUnlocalizedName("security_boots").setTextureName(RefStrings.MODID + ":security_boots"); security_boots = new ArmorFSB(MainRegistry.aMatSecurity, 3, RefStrings.MODID + ":textures/armor/security_1.png").cloneStats((ArmorFSB) security_helmet).setUnlocalizedName("security_boots").setTextureName(RefStrings.MODID + ":security_boots");
cobalt_helmet = new ArmorFSB(MainRegistry.aMatCobalt, 0, RefStrings.MODID + ":textures/armor/cobalt_1.png").setMod(0.7F).setUnlocalizedName("cobalt_helmet").setTextureName(RefStrings.MODID + ":cobalt_helmet"); cobalt_helmet = new ArmorFSB(MainRegistry.aMatCobalt, 0, RefStrings.MODID + ":textures/armor/cobalt_1.png").setUnlocalizedName("cobalt_helmet").setTextureName(RefStrings.MODID + ":cobalt_helmet");
cobalt_plate = new ArmorFSB(MainRegistry.aMatCobalt, 1, RefStrings.MODID + ":textures/armor/cobalt_1.png").cloneStats((ArmorFSB) cobalt_helmet).setUnlocalizedName("cobalt_plate").setTextureName(RefStrings.MODID + ":cobalt_plate"); cobalt_plate = new ArmorFSB(MainRegistry.aMatCobalt, 1, RefStrings.MODID + ":textures/armor/cobalt_1.png").cloneStats((ArmorFSB) cobalt_helmet).setUnlocalizedName("cobalt_plate").setTextureName(RefStrings.MODID + ":cobalt_plate");
cobalt_legs = new ArmorFSB(MainRegistry.aMatCobalt, 2, RefStrings.MODID + ":textures/armor/cobalt_2.png").cloneStats((ArmorFSB) cobalt_helmet).setUnlocalizedName("cobalt_legs").setTextureName(RefStrings.MODID + ":cobalt_legs"); cobalt_legs = new ArmorFSB(MainRegistry.aMatCobalt, 2, RefStrings.MODID + ":textures/armor/cobalt_2.png").cloneStats((ArmorFSB) cobalt_helmet).setUnlocalizedName("cobalt_legs").setTextureName(RefStrings.MODID + ":cobalt_legs");
cobalt_boots = new ArmorFSB(MainRegistry.aMatCobalt, 3, RefStrings.MODID + ":textures/armor/cobalt_1.png").cloneStats((ArmorFSB) cobalt_helmet).setUnlocalizedName("cobalt_boots").setTextureName(RefStrings.MODID + ":cobalt_boots"); cobalt_boots = new ArmorFSB(MainRegistry.aMatCobalt, 3, RefStrings.MODID + ":textures/armor/cobalt_1.png").cloneStats((ArmorFSB) cobalt_helmet).setUnlocalizedName("cobalt_boots").setTextureName(RefStrings.MODID + ":cobalt_boots");
starmetal_helmet = new ArmorFSB(MainRegistry.aMatStarmetal, 0, RefStrings.MODID + ":textures/armor/starmetal_1.png").setMod(0.5F).setCap(15F) starmetal_helmet = new ArmorFSB(MainRegistry.aMatStarmetal, 0, RefStrings.MODID + ":textures/armor/starmetal_1.png")
.setFireproof(true).setUnlocalizedName("starmetal_helmet").setTextureName(RefStrings.MODID + ":starmetal_helmet"); .setUnlocalizedName("starmetal_helmet").setTextureName(RefStrings.MODID + ":starmetal_helmet");
starmetal_plate = new ArmorFSB(MainRegistry.aMatStarmetal, 1, RefStrings.MODID + ":textures/armor/starmetal_1.png").cloneStats((ArmorFSB) starmetal_helmet).setUnlocalizedName("starmetal_plate").setTextureName(RefStrings.MODID + ":starmetal_plate"); starmetal_plate = new ArmorFSB(MainRegistry.aMatStarmetal, 1, RefStrings.MODID + ":textures/armor/starmetal_1.png").cloneStats((ArmorFSB) starmetal_helmet).setUnlocalizedName("starmetal_plate").setTextureName(RefStrings.MODID + ":starmetal_plate");
starmetal_legs = new ArmorFSB(MainRegistry.aMatStarmetal, 2, RefStrings.MODID + ":textures/armor/starmetal_2.png").cloneStats((ArmorFSB) starmetal_helmet).setUnlocalizedName("starmetal_legs").setTextureName(RefStrings.MODID + ":starmetal_legs"); starmetal_legs = new ArmorFSB(MainRegistry.aMatStarmetal, 2, RefStrings.MODID + ":textures/armor/starmetal_2.png").cloneStats((ArmorFSB) starmetal_helmet).setUnlocalizedName("starmetal_legs").setTextureName(RefStrings.MODID + ":starmetal_legs");
starmetal_boots = new ArmorFSB(MainRegistry.aMatStarmetal, 3, RefStrings.MODID + ":textures/armor/starmetal_1.png").cloneStats((ArmorFSB) starmetal_helmet).setUnlocalizedName("starmetal_boots").setTextureName(RefStrings.MODID + ":starmetal_boots"); starmetal_boots = new ArmorFSB(MainRegistry.aMatStarmetal, 3, RefStrings.MODID + ":textures/armor/starmetal_1.png").cloneStats((ArmorFSB) starmetal_helmet).setUnlocalizedName("starmetal_boots").setTextureName(RefStrings.MODID + ":starmetal_boots");
robes_helmet = new ArmorFSB(ArmorMaterial.CHAIN, 0, RefStrings.MODID + ":textures/armor/robes_1.png").setThreshold(1.0F).setUnlocalizedName("robes_helmet").setTextureName(RefStrings.MODID + ":robes_helmet"); robes_helmet = new ArmorFSB(ArmorMaterial.CHAIN, 0, RefStrings.MODID + ":textures/armor/robes_1.png").setUnlocalizedName("robes_helmet").setTextureName(RefStrings.MODID + ":robes_helmet");
robes_plate = new ArmorFSB(ArmorMaterial.CHAIN, 1, RefStrings.MODID + ":textures/armor/robes_1.png").cloneStats((ArmorFSB) robes_helmet).setUnlocalizedName("robes_plate").setTextureName(RefStrings.MODID + ":robes_plate"); robes_plate = new ArmorFSB(ArmorMaterial.CHAIN, 1, RefStrings.MODID + ":textures/armor/robes_1.png").cloneStats((ArmorFSB) robes_helmet).setUnlocalizedName("robes_plate").setTextureName(RefStrings.MODID + ":robes_plate");
robes_legs = new ArmorFSB(ArmorMaterial.CHAIN, 2, RefStrings.MODID + ":textures/armor/robes_2.png").cloneStats((ArmorFSB) robes_helmet).setUnlocalizedName("robes_legs").setTextureName(RefStrings.MODID + ":robes_legs"); robes_legs = new ArmorFSB(ArmorMaterial.CHAIN, 2, RefStrings.MODID + ":textures/armor/robes_2.png").cloneStats((ArmorFSB) robes_helmet).setUnlocalizedName("robes_legs").setTextureName(RefStrings.MODID + ":robes_legs");
robes_boots = new ArmorFSB(ArmorMaterial.CHAIN, 3, RefStrings.MODID + ":textures/armor/robes_1.png").cloneStats((ArmorFSB) robes_helmet).setUnlocalizedName("robes_boots").setTextureName(RefStrings.MODID + ":robes_boots"); robes_boots = new ArmorFSB(ArmorMaterial.CHAIN, 3, RefStrings.MODID + ":textures/armor/robes_1.png").cloneStats((ArmorFSB) robes_helmet).setUnlocalizedName("robes_boots").setTextureName(RefStrings.MODID + ":robes_boots");
@ -4647,27 +4647,23 @@ public class ModItems {
ArmorMaterial aMatZirconium = EnumHelper.addArmorMaterial("HBM_ZIRCONIUM", 1000, new int[] { 2, 5, 3, 1 }, 100); ArmorMaterial aMatZirconium = EnumHelper.addArmorMaterial("HBM_ZIRCONIUM", 1000, new int[] { 2, 5, 3, 1 }, 100);
aMatZirconium.customCraftingMaterial = ModItems.ingot_zirconium; aMatZirconium.customCraftingMaterial = ModItems.ingot_zirconium;
zirconium_legs = new ArmorFSB(aMatZirconium, 2, RefStrings.MODID + ":textures/armor/zirconium_2.png").setMod(0.0F).setUnlocalizedName("zirconium_legs").setTextureName(RefStrings.MODID + ":zirconium_legs"); zirconium_legs = new ArmorFSB(aMatZirconium, 2, RefStrings.MODID + ":textures/armor/zirconium_2.png").setUnlocalizedName("zirconium_legs").setTextureName(RefStrings.MODID + ":zirconium_legs");
ArmorMaterial aMatDNT = EnumHelper.addArmorMaterial("HBM_DNT_LOLOLOL", 3, new int[] { 1, 1, 1, 1 }, 0); ArmorMaterial aMatDNT = EnumHelper.addArmorMaterial("HBM_DNT_LOLOLOL", 3, new int[] { 1, 1, 1, 1 }, 0);
aMatDNT.customCraftingMaterial = ModItems.ingot_dineutronium; aMatDNT.customCraftingMaterial = ModItems.ingot_dineutronium;
dnt_helmet = new ArmorFSB(aMatDNT, 0, RefStrings.MODID + ":textures/armor/dnt_1.png") dnt_helmet = new ArmorFSB(aMatDNT, 0, RefStrings.MODID + ":textures/armor/dnt_1.png")
.setMod(5F).setUnlocalizedName("dnt_helmet").setTextureName(RefStrings.MODID + ":dnt_helmet"); .setUnlocalizedName("dnt_helmet").setTextureName(RefStrings.MODID + ":dnt_helmet");
dnt_plate = new ArmorFSB(aMatDNT, 1, RefStrings.MODID + ":textures/armor/dnt_1.png").cloneStats((ArmorFSB) dnt_helmet).setUnlocalizedName("dnt_plate").setTextureName(RefStrings.MODID + ":dnt_plate"); dnt_plate = new ArmorFSB(aMatDNT, 1, RefStrings.MODID + ":textures/armor/dnt_1.png").cloneStats((ArmorFSB) dnt_helmet).setUnlocalizedName("dnt_plate").setTextureName(RefStrings.MODID + ":dnt_plate");
dnt_legs = new ArmorFSB(aMatDNT, 2, RefStrings.MODID + ":textures/armor/dnt_2.png").cloneStats((ArmorFSB) dnt_helmet).setUnlocalizedName("dnt_legs").setTextureName(RefStrings.MODID + ":dnt_legs"); dnt_legs = new ArmorFSB(aMatDNT, 2, RefStrings.MODID + ":textures/armor/dnt_2.png").cloneStats((ArmorFSB) dnt_helmet).setUnlocalizedName("dnt_legs").setTextureName(RefStrings.MODID + ":dnt_legs");
dnt_boots = new ArmorFSB(aMatDNT, 3, RefStrings.MODID + ":textures/armor/dnt_1.png").cloneStats((ArmorFSB) dnt_helmet).setUnlocalizedName("dnt_boots").setTextureName(RefStrings.MODID + ":dnt_boots"); dnt_boots = new ArmorFSB(aMatDNT, 3, RefStrings.MODID + ":textures/armor/dnt_1.png").cloneStats((ArmorFSB) dnt_helmet).setUnlocalizedName("dnt_boots").setTextureName(RefStrings.MODID + ":dnt_boots");
ArmorMaterial aMatT45 = EnumHelper.addArmorMaterial("HBM_T45", 150, new int[] { 3, 8, 6, 3 }, 0); ArmorMaterial aMatT45 = EnumHelper.addArmorMaterial("HBM_T45", 150, new int[] { 3, 8, 6, 3 }, 0);
aMatT45.customCraftingMaterial = ModItems.plate_armor_titanium; aMatT45.customCraftingMaterial = ModItems.plate_armor_titanium;
t45_helmet = new ArmorT45(aMatT45, 0, 1000000, 10000, 1000, 5).setCap(10F).setMod(0.5F) t45_helmet = new ArmorT45(aMatT45, 0, 1000000, 10000, 1000, 5)
.setFireproof(true)
.enableVATS(true) .enableVATS(true)
.setHasGeigerSound(true) .setHasGeigerSound(true)
.setHasHardLanding(true) .setHasHardLanding(true)
.addEffect(new PotionEffect(Potion.damageBoost.id, 20, 0)) .addEffect(new PotionEffect(Potion.damageBoost.id, 20, 0))
.setBlastProtection(0.5F)
.addResistance("monoxide", 0F)
.addResistance("fall", 0)
.hides(EnumPlayerPart.HAT) .hides(EnumPlayerPart.HAT)
.setUnlocalizedName("t45_helmet").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":t45_helmet"); .setUnlocalizedName("t45_helmet").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":t45_helmet");
t45_plate = new ArmorT45(aMatT45, 1, 1000000, 10000, 1000, 5).cloneStats((ArmorFSB) t45_helmet).setUnlocalizedName("t45_plate").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":t45_plate"); t45_plate = new ArmorT45(aMatT45, 1, 1000000, 10000, 1000, 5).cloneStats((ArmorFSB) t45_helmet).setUnlocalizedName("t45_plate").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":t45_plate");
@ -4676,13 +4672,9 @@ public class ModItems {
ArmorMaterial aMatDesh = EnumHelper.addArmorMaterial("HBM_DESH", 150, new int[] { 3, 8, 6, 3 }, 0); ArmorMaterial aMatDesh = EnumHelper.addArmorMaterial("HBM_DESH", 150, new int[] { 3, 8, 6, 3 }, 0);
aMatDesh.customCraftingMaterial = ModItems.ingot_desh; aMatDesh.customCraftingMaterial = ModItems.ingot_desh;
steamsuit_helmet = new ArmorDesh(aMatDesh, 0, RefStrings.MODID + ":textures/armor/starmetal_1.png", Fluids.STEAM, 64_000, 500, 50, 1).setThreshold(5F).setMod(0.8F) steamsuit_helmet = new ArmorDesh(aMatDesh, 0, RefStrings.MODID + ":textures/armor/starmetal_1.png", Fluids.STEAM, 64_000, 500, 50, 1)
.setFireproof(true)
.setHasHardLanding(true) .setHasHardLanding(true)
.addEffect(new PotionEffect(Potion.digSpeed.id, 20, 4)) .addEffect(new PotionEffect(Potion.digSpeed.id, 20, 4))
.setBlastProtection(0.5F)
.addResistance("monoxide", 0F)
.addResistance("fall", 0)
.hides(EnumPlayerPart.HAT) .hides(EnumPlayerPart.HAT)
.setUnlocalizedName("steamsuit_helmet").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":steamsuit_helmet"); .setUnlocalizedName("steamsuit_helmet").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":steamsuit_helmet");
steamsuit_plate = new ArmorDesh(aMatDesh, 1, RefStrings.MODID + ":textures/armor/starmetal_1.png", Fluids.STEAM, 64_000, 500, 50, 1).cloneStats((ArmorFSB) steamsuit_helmet).setUnlocalizedName("steamsuit_plate").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":steamsuit_plate"); steamsuit_plate = new ArmorDesh(aMatDesh, 1, RefStrings.MODID + ":textures/armor/starmetal_1.png", Fluids.STEAM, 64_000, 500, 50, 1).cloneStats((ArmorFSB) steamsuit_helmet).setUnlocalizedName("steamsuit_plate").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":steamsuit_plate");
@ -4691,12 +4683,11 @@ public class ModItems {
ArmorMaterial aMatDiesel = EnumHelper.addArmorMaterial("HBM_BNUUY", 150, new int[] { 3, 8, 6, 3 }, 0); ArmorMaterial aMatDiesel = EnumHelper.addArmorMaterial("HBM_BNUUY", 150, new int[] { 3, 8, 6, 3 }, 0);
aMatDiesel.customCraftingMaterial = ModItems.plate_copper; aMatDiesel.customCraftingMaterial = ModItems.plate_copper;
dieselsuit_helmet = new ArmorDiesel(aMatDiesel, 0, RefStrings.MODID + ":textures/armor/starmetal_1.png", Fluids.DIESEL, 64_000, 500, 50, 1).setThreshold(2F).setMod(0.7F) dieselsuit_helmet = new ArmorDiesel(aMatDiesel, 0, RefStrings.MODID + ":textures/armor/starmetal_1.png", Fluids.DIESEL, 64_000, 500, 50, 1)
.addEffect(new PotionEffect(Potion.moveSpeed.id, 20, 2)) .addEffect(new PotionEffect(Potion.moveSpeed.id, 20, 2))
.addEffect(new PotionEffect(Potion.jump.id, 20, 2)) .addEffect(new PotionEffect(Potion.jump.id, 20, 2))
.enableThermalSight(true) .enableThermalSight(true)
.enableVATS(true) .enableVATS(true)
.addResistance("fall", 0)
.setUnlocalizedName("dieselsuit_helmet").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":dieselsuit_helmet"); .setUnlocalizedName("dieselsuit_helmet").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":dieselsuit_helmet");
dieselsuit_plate = new ArmorDiesel(aMatDiesel, 1, RefStrings.MODID + ":textures/armor/starmetal_1.png", Fluids.DIESEL, 64_000, 500, 50, 1).cloneStats((ArmorFSB) dieselsuit_helmet).setUnlocalizedName("dieselsuit_plate").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":dieselsuit_plate"); dieselsuit_plate = new ArmorDiesel(aMatDiesel, 1, RefStrings.MODID + ":textures/armor/starmetal_1.png", Fluids.DIESEL, 64_000, 500, 50, 1).cloneStats((ArmorFSB) dieselsuit_helmet).setUnlocalizedName("dieselsuit_plate").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":dieselsuit_plate");
dieselsuit_legs = new ArmorDiesel(aMatDiesel, 2, RefStrings.MODID + ":textures/armor/starmetal_2.png", Fluids.DIESEL, 64_000, 500, 50, 1).cloneStats((ArmorFSB) dieselsuit_helmet).setUnlocalizedName("dieselsuit_legs").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":dieselsuit_legs"); dieselsuit_legs = new ArmorDiesel(aMatDiesel, 2, RefStrings.MODID + ":textures/armor/starmetal_2.png", Fluids.DIESEL, 64_000, 500, 50, 1).cloneStats((ArmorFSB) dieselsuit_helmet).setUnlocalizedName("dieselsuit_legs").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":dieselsuit_legs");
@ -4704,57 +4695,40 @@ public class ModItems {
ArmorMaterial aMatAJR = EnumHelper.addArmorMaterial("HBM_T45AJR", 150, new int[] { 3, 8, 6, 3 }, 100); ArmorMaterial aMatAJR = EnumHelper.addArmorMaterial("HBM_T45AJR", 150, new int[] { 3, 8, 6, 3 }, 100);
aMatAJR.customCraftingMaterial = ModItems.plate_armor_ajr; aMatAJR.customCraftingMaterial = ModItems.plate_armor_ajr;
ajr_helmet = new ArmorAJR(aMatAJR, 0, RefStrings.MODID + ":textures/armor/starmetal_1.png", 2500000, 10000, 2000, 25).setMod(0.25F).setCap(6.0F).setThreshold(4F) ajr_helmet = new ArmorAJR(aMatAJR, 0, RefStrings.MODID + ":textures/armor/starmetal_1.png", 2500000, 10000, 2000, 25)
.setFireproof(true)
.enableVATS(true) .enableVATS(true)
.setHasGeigerSound(true) .setHasGeigerSound(true)
.setHasHardLanding(true) .setHasHardLanding(true)
.addEffect(new PotionEffect(Potion.jump.id, 20, 0)) .addEffect(new PotionEffect(Potion.jump.id, 20, 0))
.addEffect(new PotionEffect(Potion.damageBoost.id, 20, 0)) .addEffect(new PotionEffect(Potion.damageBoost.id, 20, 0))
.setBlastProtection(0.25F) .setStep("hbm:step.metal").setJump("hbm:step.iron_jump").setFall("hbm:step.iron_land")
.setStep("hbm:step.metal")
.setJump("hbm:step.iron_jump")
.setFall("hbm:step.iron_land")
.addResistance("monoxide", 0F)
.addResistance("fall", 0)
.hides(EnumPlayerPart.HAT) .hides(EnumPlayerPart.HAT)
.setUnlocalizedName("ajr_helmet").setTextureName(RefStrings.MODID + ":ajr_helmet"); .setUnlocalizedName("ajr_helmet").setTextureName(RefStrings.MODID + ":ajr_helmet");
ajr_plate = new ArmorAJR(aMatAJR, 1, RefStrings.MODID + ":textures/armor/starmetal_1.png", 2500000, 10000, 2000, 25).cloneStats((ArmorFSB) ajr_helmet).setUnlocalizedName("ajr_plate").setTextureName(RefStrings.MODID + ":ajr_plate"); ajr_plate = new ArmorAJR(aMatAJR, 1, RefStrings.MODID + ":textures/armor/starmetal_1.png", 2500000, 10000, 2000, 25).cloneStats((ArmorFSB) ajr_helmet).setUnlocalizedName("ajr_plate").setTextureName(RefStrings.MODID + ":ajr_plate");
ajr_legs = new ArmorAJR(aMatAJR, 2, RefStrings.MODID + ":textures/armor/starmetal_2.png", 2500000, 10000, 2000, 25).cloneStats((ArmorFSB) ajr_helmet).setUnlocalizedName("ajr_legs").setTextureName(RefStrings.MODID + ":ajr_legs"); ajr_legs = new ArmorAJR(aMatAJR, 2, RefStrings.MODID + ":textures/armor/starmetal_2.png", 2500000, 10000, 2000, 25).cloneStats((ArmorFSB) ajr_helmet).setUnlocalizedName("ajr_legs").setTextureName(RefStrings.MODID + ":ajr_legs");
ajr_boots = new ArmorAJR(aMatAJR, 3, RefStrings.MODID + ":textures/armor/starmetal_1.png", 2500000, 10000, 2000, 25).cloneStats((ArmorFSB) ajr_helmet).setUnlocalizedName("ajr_boots").setTextureName(RefStrings.MODID + ":ajr_boots"); ajr_boots = new ArmorAJR(aMatAJR, 3, RefStrings.MODID + ":textures/armor/starmetal_1.png", 2500000, 10000, 2000, 25).cloneStats((ArmorFSB) ajr_helmet).setUnlocalizedName("ajr_boots").setTextureName(RefStrings.MODID + ":ajr_boots");
ajro_helmet = new ArmorAJRO(aMatAJR, 0, RefStrings.MODID + ":textures/armor/starmetal_1.png", 2500000, 10000, 2000, 25).setMod(0.25F).setCap(6.0F).setThreshold(4F) ajro_helmet = new ArmorAJRO(aMatAJR, 0, RefStrings.MODID + ":textures/armor/starmetal_1.png", 2500000, 10000, 2000, 25)
.setFireproof(true)
.enableVATS(true) .enableVATS(true)
.setHasGeigerSound(true) .setHasGeigerSound(true)
.setHasHardLanding(true) .setHasHardLanding(true)
.addEffect(new PotionEffect(Potion.jump.id, 20, 0)) .addEffect(new PotionEffect(Potion.jump.id, 20, 0))
.addEffect(new PotionEffect(Potion.damageBoost.id, 20, 0)) .addEffect(new PotionEffect(Potion.damageBoost.id, 20, 0))
.setBlastProtection(0.25F) .setStep("hbm:step.metal").setJump("hbm:step.iron_jump").setFall("hbm:step.iron_land")
.setStep("hbm:step.metal")
.setJump("hbm:step.iron_jump")
.setFall("hbm:step.iron_land")
.addResistance("monoxide", 0F)
.addResistance("fall", 0)
.hides(EnumPlayerPart.HAT) .hides(EnumPlayerPart.HAT)
.setUnlocalizedName("ajro_helmet").setTextureName(RefStrings.MODID + ":ajro_helmet"); .setUnlocalizedName("ajro_helmet").setTextureName(RefStrings.MODID + ":ajro_helmet");
ajro_plate = new ArmorAJRO(aMatAJR, 1, RefStrings.MODID + ":textures/armor/starmetal_1.png", 2500000, 10000, 2000, 25).cloneStats((ArmorFSB) ajro_helmet).setUnlocalizedName("ajro_plate").setTextureName(RefStrings.MODID + ":ajro_plate"); ajro_plate = new ArmorAJRO(aMatAJR, 1, RefStrings.MODID + ":textures/armor/starmetal_1.png", 2500000, 10000, 2000, 25).cloneStats((ArmorFSB) ajro_helmet).setUnlocalizedName("ajro_plate").setTextureName(RefStrings.MODID + ":ajro_plate");
ajro_legs = new ArmorAJRO(aMatAJR, 2, RefStrings.MODID + ":textures/armor/starmetal_2.png", 2500000, 10000, 2000, 25).cloneStats((ArmorFSB) ajro_helmet).setUnlocalizedName("ajro_legs").setTextureName(RefStrings.MODID + ":ajro_legs"); ajro_legs = new ArmorAJRO(aMatAJR, 2, RefStrings.MODID + ":textures/armor/starmetal_2.png", 2500000, 10000, 2000, 25).cloneStats((ArmorFSB) ajro_helmet).setUnlocalizedName("ajro_legs").setTextureName(RefStrings.MODID + ":ajro_legs");
ajro_boots = new ArmorAJRO(aMatAJR, 3, RefStrings.MODID + ":textures/armor/starmetal_1.png", 2500000, 10000, 2000, 25).cloneStats((ArmorFSB) ajro_helmet).setUnlocalizedName("ajro_boots").setTextureName(RefStrings.MODID + ":ajro_boots"); ajro_boots = new ArmorAJRO(aMatAJR, 3, RefStrings.MODID + ":textures/armor/starmetal_1.png", 2500000, 10000, 2000, 25).cloneStats((ArmorFSB) ajro_helmet).setUnlocalizedName("ajro_boots").setTextureName(RefStrings.MODID + ":ajro_boots");
rpa_helmet = new ArmorRPA(aMatAJR, 0, RefStrings.MODID + ":textures/armor/starmetal_1.png", 2500000, 10000, 2000, 25).setMod(0.1F).setCap(6.0F).setThreshold(20F) rpa_helmet = new ArmorRPA(aMatAJR, 0, RefStrings.MODID + ":textures/armor/starmetal_1.png", 2500000, 10000, 2000, 25)
.setFireproof(true)
.enableVATS(true) .enableVATS(true)
.setHasGeigerSound(true) .setHasGeigerSound(true)
.setHasHardLanding(true) .setHasHardLanding(true)
.addEffect(new PotionEffect(Potion.damageBoost.id, 20, 3)) .addEffect(new PotionEffect(Potion.damageBoost.id, 20, 3))
.setBlastProtection(0.25F)
.setProjectileProtection(0.25F)
.setProtectionLevel(1500)
.setStep("hbm:step.powered") .setStep("hbm:step.powered")
.setJump("hbm:step.powered") .setJump("hbm:step.powered")
.setFall("hbm:step.powered") .setFall("hbm:step.powered")
.addResistance("fall", 0)
.hides(EnumPlayerPart.HAT) .hides(EnumPlayerPart.HAT)
.setUnlocalizedName("rpa_helmet").setTextureName(RefStrings.MODID + ":rpa_helmet"); .setUnlocalizedName("rpa_helmet").setTextureName(RefStrings.MODID + ":rpa_helmet");
rpa_plate = new ArmorRPA(aMatAJR, 1, RefStrings.MODID + ":textures/armor/starmetal_1.png", 2500000, 10000, 2000, 25).cloneStats((ArmorFSB) rpa_helmet).setUnlocalizedName("rpa_plate").setTextureName(RefStrings.MODID + ":rpa_plate"); rpa_plate = new ArmorRPA(aMatAJR, 1, RefStrings.MODID + ":textures/armor/starmetal_1.png", 2500000, 10000, 2000, 25).cloneStats((ArmorFSB) rpa_helmet).setUnlocalizedName("rpa_plate").setTextureName(RefStrings.MODID + ":rpa_plate");
@ -4763,8 +4737,7 @@ public class ModItems {
ArmorMaterial aMatBJ = EnumHelper.addArmorMaterial("HBM_BLACKJACK", 150, new int[] { 3, 8, 6, 3 }, 100); ArmorMaterial aMatBJ = EnumHelper.addArmorMaterial("HBM_BLACKJACK", 150, new int[] { 3, 8, 6, 3 }, 100);
aMatBJ.customCraftingMaterial = ModItems.plate_armor_lunar; aMatBJ.customCraftingMaterial = ModItems.plate_armor_lunar;
bj_helmet = new ArmorBJ(aMatBJ, 0, RefStrings.MODID + ":textures/armor/starmetal_1.png", 10000000, 10000, 1000, 100).setMod(0.25F).setCap(4.0F).setThreshold(4F) bj_helmet = new ArmorBJ(aMatBJ, 0, RefStrings.MODID + ":textures/armor/starmetal_1.png", 10000000, 10000, 1000, 100)
.setFireproof(true)
.enableVATS(true) .enableVATS(true)
.enableThermalSight(true) .enableThermalSight(true)
.setHasGeigerSound(true) .setHasGeigerSound(true)
@ -4773,12 +4746,9 @@ public class ModItems {
.addEffect(new PotionEffect(Potion.jump.id, 20, 0)) .addEffect(new PotionEffect(Potion.jump.id, 20, 0))
.addEffect(new PotionEffect(Potion.field_76443_y.id, 20, 0)) .addEffect(new PotionEffect(Potion.field_76443_y.id, 20, 0))
.addEffect(new PotionEffect(HbmPotion.radx.id, 20, 0)) .addEffect(new PotionEffect(HbmPotion.radx.id, 20, 0))
.setBlastProtection(0.5F)
.setProtectionLevel(500F)
.setStep("hbm:step.metal") .setStep("hbm:step.metal")
.setJump("hbm:step.iron_jump") .setJump("hbm:step.iron_jump")
.setFall("hbm:step.iron_land") .setFall("hbm:step.iron_land").setUnlocalizedName("bj_helmet").setTextureName(RefStrings.MODID + ":bj_helmet");
.addResistance("fall", 0).setUnlocalizedName("bj_helmet").setTextureName(RefStrings.MODID + ":bj_helmet");
bj_plate = new ArmorBJ(aMatBJ, 1, RefStrings.MODID + ":textures/armor/starmetal_1.png", 10000000, 10000, 1000, 100).cloneStats((ArmorFSB) bj_helmet).setUnlocalizedName("bj_plate").setTextureName(RefStrings.MODID + ":bj_plate"); bj_plate = new ArmorBJ(aMatBJ, 1, RefStrings.MODID + ":textures/armor/starmetal_1.png", 10000000, 10000, 1000, 100).cloneStats((ArmorFSB) bj_helmet).setUnlocalizedName("bj_plate").setTextureName(RefStrings.MODID + ":bj_plate");
bj_plate_jetpack = new ArmorBJJetpack(aMatBJ, 1, RefStrings.MODID + ":textures/armor/starmetal_1.png", 10000000, 10000, 1000, 100).cloneStats((ArmorFSB) bj_helmet).setUnlocalizedName("bj_plate_jetpack").setTextureName(RefStrings.MODID + ":bj_plate_jetpack"); bj_plate_jetpack = new ArmorBJJetpack(aMatBJ, 1, RefStrings.MODID + ":textures/armor/starmetal_1.png", 10000000, 10000, 1000, 100).cloneStats((ArmorFSB) bj_helmet).setUnlocalizedName("bj_plate_jetpack").setTextureName(RefStrings.MODID + ":bj_plate_jetpack");
bj_legs = new ArmorBJ(aMatBJ, 2, RefStrings.MODID + ":textures/armor/starmetal_2.png", 10000000, 10000, 1000, 100).cloneStats((ArmorFSB) bj_helmet).setUnlocalizedName("bj_legs").setTextureName(RefStrings.MODID + ":bj_legs"); bj_legs = new ArmorBJ(aMatBJ, 2, RefStrings.MODID + ":textures/armor/starmetal_2.png", 10000000, 10000, 1000, 100).cloneStats((ArmorFSB) bj_helmet).setUnlocalizedName("bj_legs").setTextureName(RefStrings.MODID + ":bj_legs");
@ -4786,12 +4756,9 @@ public class ModItems {
ArmorMaterial aMatEnv = EnumHelper.addArmorMaterial("HBM_ENV", 150, new int[] { 3, 8, 6, 3 }, 100); ArmorMaterial aMatEnv = EnumHelper.addArmorMaterial("HBM_ENV", 150, new int[] { 3, 8, 6, 3 }, 100);
aMatEnv.customCraftingMaterial = ModItems.plate_armor_hev; aMatEnv.customCraftingMaterial = ModItems.plate_armor_hev;
envsuit_helmet = new ArmorEnvsuit(aMatEnv, 0, RefStrings.MODID + ":textures/armor/starmetal_1.png", 100_000, 1_000, 250, 0).setMod(0.5F).setThreshold(2.0F) envsuit_helmet = new ArmorEnvsuit(aMatEnv, 0, RefStrings.MODID + ":textures/armor/starmetal_1.png", 100_000, 1_000, 250, 0)
.addEffect(new PotionEffect(Potion.moveSpeed.id, 20, 1)) .addEffect(new PotionEffect(Potion.moveSpeed.id, 20, 1))
.addEffect(new PotionEffect(Potion.jump.id, 20, 0)) .addEffect(new PotionEffect(Potion.jump.id, 20, 0))
.addResistance("fall", 0.25F)
.addResistance("monoxide", 0F)
.addResistance("onFire", 0F)
.hides(EnumPlayerPart.HAT) .hides(EnumPlayerPart.HAT)
.setUnlocalizedName("envsuit_helmet").setTextureName(RefStrings.MODID + ":envsuit_helmet"); .setUnlocalizedName("envsuit_helmet").setTextureName(RefStrings.MODID + ":envsuit_helmet");
envsuit_plate = new ArmorEnvsuit(aMatEnv, 1, RefStrings.MODID + ":textures/armor/starmetal_1.png", 100_000, 1_000, 250, 0).cloneStats((ArmorFSB) envsuit_helmet).setUnlocalizedName("envsuit_plate").setTextureName(RefStrings.MODID + ":envsuit_plate"); envsuit_plate = new ArmorEnvsuit(aMatEnv, 1, RefStrings.MODID + ":textures/armor/starmetal_1.png", 100_000, 1_000, 250, 0).cloneStats((ArmorFSB) envsuit_helmet).setUnlocalizedName("envsuit_plate").setTextureName(RefStrings.MODID + ":envsuit_plate");
@ -4800,16 +4767,11 @@ public class ModItems {
ArmorMaterial aMatHEV = EnumHelper.addArmorMaterial("HBM_HEV", 150, new int[] { 3, 8, 6, 3 }, 100); ArmorMaterial aMatHEV = EnumHelper.addArmorMaterial("HBM_HEV", 150, new int[] { 3, 8, 6, 3 }, 100);
aMatHEV.customCraftingMaterial = ModItems.plate_armor_hev; aMatHEV.customCraftingMaterial = ModItems.plate_armor_hev;
hev_helmet = new ArmorHEV(aMatHEV, 0, RefStrings.MODID + ":textures/armor/starmetal_1.png", 1000000, 10000, 2500, 0).setMod(0.20F).setCap(4.0F).setThreshold(2.0F) hev_helmet = new ArmorHEV(aMatHEV, 0, RefStrings.MODID + ":textures/armor/starmetal_1.png", 1000000, 10000, 2500, 0)
.addEffect(new PotionEffect(Potion.moveSpeed.id, 20, 1)) .addEffect(new PotionEffect(Potion.moveSpeed.id, 20, 1))
.addEffect(new PotionEffect(Potion.jump.id, 20, 0)) .addEffect(new PotionEffect(Potion.jump.id, 20, 0))
.setBlastProtection(0.25F)
.setProtectionLevel(500F)
.setHasGeigerSound(true) .setHasGeigerSound(true)
.setHasCustomGeiger(true) .setHasCustomGeiger(true)
.addResistance("fall", 0.5F)
.addResistance("monoxide", 0F)
.addResistance("onFire", 0F)
.hides(EnumPlayerPart.HAT) .hides(EnumPlayerPart.HAT)
.setUnlocalizedName("hev_helmet").setTextureName(RefStrings.MODID + ":hev_helmet"); .setUnlocalizedName("hev_helmet").setTextureName(RefStrings.MODID + ":hev_helmet");
hev_plate = new ArmorHEV(aMatHEV, 1, RefStrings.MODID + ":textures/armor/starmetal_1.png", 1000000, 10000, 2500, 0).cloneStats((ArmorFSB) hev_helmet).setUnlocalizedName("hev_plate").setTextureName(RefStrings.MODID + ":hev_plate"); hev_plate = new ArmorHEV(aMatHEV, 1, RefStrings.MODID + ":textures/armor/starmetal_1.png", 1000000, 10000, 2500, 0).cloneStats((ArmorFSB) hev_helmet).setUnlocalizedName("hev_plate").setTextureName(RefStrings.MODID + ":hev_plate");
@ -4821,20 +4783,14 @@ public class ModItems {
ArmorMaterial aMatFau = EnumHelper.addArmorMaterial("HBM_DIGAMMA", 150, new int[] { 3, 8, 6, 3 }, 100); ArmorMaterial aMatFau = EnumHelper.addArmorMaterial("HBM_DIGAMMA", 150, new int[] { 3, 8, 6, 3 }, 100);
aMatFau.customCraftingMaterial = ModItems.plate_armor_fau; aMatFau.customCraftingMaterial = ModItems.plate_armor_fau;
fau_helmet = new ArmorDigamma(aMatFau, 0, RefStrings.MODID + ":textures/armor/starmetal_1.png", 10000000, 10000, 2500, 0).setMod(0.25F).setCap(4.0F).setThreshold(2.0F) fau_helmet = new ArmorDigamma(aMatFau, 0, RefStrings.MODID + ":textures/armor/starmetal_1.png", 10000000, 10000, 2500, 0)
.addEffect(new PotionEffect(Potion.jump.id, 20, 1)) .addEffect(new PotionEffect(Potion.jump.id, 20, 1))
.setBlastProtection(0.05F)
.setMod(0.05F)
.setHasGeigerSound(true) .setHasGeigerSound(true)
.enableThermalSight(true) .enableThermalSight(true)
.setHasHardLanding(true) .setHasHardLanding(true)
.setStep("hbm:step.metal") .setStep("hbm:step.metal")
.setJump("hbm:step.iron_jump") .setJump("hbm:step.iron_jump")
.setFall("hbm:step.iron_land") .setFall("hbm:step.iron_land")
.setProtectionLevel(1000F)
.addResistance("fall", 0F)
.addResistance("monoxide", 0F)
.setFireproof(true)
.hides(EnumPlayerPart.HAT) .hides(EnumPlayerPart.HAT)
.setUnlocalizedName("fau_helmet").setTextureName(RefStrings.MODID + ":fau_helmet"); .setUnlocalizedName("fau_helmet").setTextureName(RefStrings.MODID + ":fau_helmet");
fau_plate = new ArmorDigamma(aMatFau, 1, RefStrings.MODID + ":textures/armor/starmetal_1.png", 10000000, 10000, 2500, 0).cloneStats((ArmorFSB) fau_helmet).setFullSetForHide().setUnlocalizedName("fau_plate").setTextureName(RefStrings.MODID + ":fau_plate"); fau_plate = new ArmorDigamma(aMatFau, 1, RefStrings.MODID + ":textures/armor/starmetal_1.png", 10000000, 10000, 2500, 0).cloneStats((ArmorFSB) fau_helmet).setFullSetForHide().setUnlocalizedName("fau_plate").setTextureName(RefStrings.MODID + ":fau_plate");
@ -4854,7 +4810,6 @@ public class ModItems {
.setStep("hbm:step.metal") .setStep("hbm:step.metal")
.setJump("hbm:step.iron_jump") .setJump("hbm:step.iron_jump")
.setFall("hbm:step.iron_land") .setFall("hbm:step.iron_land")
.setFireproof(true)
.hides(EnumPlayerPart.HAT) .hides(EnumPlayerPart.HAT)
.setUnlocalizedName("dns_helmet").setTextureName(RefStrings.MODID + ":dns_helmet"); .setUnlocalizedName("dns_helmet").setTextureName(RefStrings.MODID + ":dns_helmet");
dns_plate = new ArmorDNT(aMatDNS, 1, RefStrings.MODID + ":textures/armor/starmetal_1.png", 1000000000, 1000000, 100000, 115).cloneStats((ArmorFSB) dns_helmet).setUnlocalizedName("dns_plate").setTextureName(RefStrings.MODID + ":dns_plate"); dns_plate = new ArmorDNT(aMatDNS, 1, RefStrings.MODID + ":textures/armor/starmetal_1.png", 1000000000, 1000000, 100000, 115).cloneStats((ArmorFSB) dns_helmet).setUnlocalizedName("dns_plate").setTextureName(RefStrings.MODID + ":dns_plate");
@ -4863,14 +4818,12 @@ public class ModItems {
ArmorMaterial aMatTrench = EnumHelper.addArmorMaterial("HBM_TRENCH", 150, new int[] { 3, 8, 6, 3 }, 100); ArmorMaterial aMatTrench = EnumHelper.addArmorMaterial("HBM_TRENCH", 150, new int[] { 3, 8, 6, 3 }, 100);
aMatTrench.customCraftingMaterial = ModItems.plate_iron; aMatTrench.customCraftingMaterial = ModItems.plate_iron;
trenchmaster_helmet = new ArmorTrenchmaster(aMatTrench, 0, RefStrings.MODID + ":textures/armor/starmetal_1.png").setMod(0.125F).setThreshold(5.0F) trenchmaster_helmet = new ArmorTrenchmaster(aMatTrench, 0, RefStrings.MODID + ":textures/armor/starmetal_1.png")
.addEffect(new PotionEffect(Potion.damageBoost.id, 20, 2)) .addEffect(new PotionEffect(Potion.damageBoost.id, 20, 2))
.addEffect(new PotionEffect(Potion.digSpeed.id, 20, 1)) .addEffect(new PotionEffect(Potion.digSpeed.id, 20, 1))
.addEffect(new PotionEffect(Potion.jump.id, 20, 1)) .addEffect(new PotionEffect(Potion.jump.id, 20, 1))
.addEffect(new PotionEffect(Potion.moveSpeed.id, 20, 0)) .addEffect(new PotionEffect(Potion.moveSpeed.id, 20, 0))
.enableVATS(true) .enableVATS(true)
.addResistance("fall", 0F)
.setFireproof(true)
.setStepSize(1) .setStepSize(1)
.hides(EnumPlayerPart.HAT) .hides(EnumPlayerPart.HAT)
.setUnlocalizedName("trenchmaster_helmet").setTextureName(RefStrings.MODID + ":trenchmaster_helmet"); .setUnlocalizedName("trenchmaster_helmet").setTextureName(RefStrings.MODID + ":trenchmaster_helmet");
@ -5243,12 +5196,12 @@ public class ModItems {
hazmat_legs_red = new ArmorHazmat(MainRegistry.aMatHaz2, 2, RefStrings.MODID + ":textures/armor/hazmat_2_red.png").setUnlocalizedName("hazmat_legs_red").setTextureName(RefStrings.MODID + ":hazmat_legs_red"); hazmat_legs_red = new ArmorHazmat(MainRegistry.aMatHaz2, 2, RefStrings.MODID + ":textures/armor/hazmat_2_red.png").setUnlocalizedName("hazmat_legs_red").setTextureName(RefStrings.MODID + ":hazmat_legs_red");
hazmat_boots_red = new ArmorHazmat(MainRegistry.aMatHaz2, 3, RefStrings.MODID + ":textures/armor/hazmat_1_red.png").setUnlocalizedName("hazmat_boots_red").setTextureName(RefStrings.MODID + ":hazmat_boots_red"); hazmat_boots_red = new ArmorHazmat(MainRegistry.aMatHaz2, 3, RefStrings.MODID + ":textures/armor/hazmat_1_red.png").setUnlocalizedName("hazmat_boots_red").setTextureName(RefStrings.MODID + ":hazmat_boots_red");
hazmat_helmet_grey = new ArmorHazmatMask(MainRegistry.aMatHaz3, 0, "hbm:textures/models/ModelHazGrey.png") hazmat_helmet_grey = new ArmorHazmatMask(MainRegistry.aMatHaz3, 0, "hbm:textures/models/ModelHazGrey.png")
.setFireproof(true).setUnlocalizedName("hazmat_helmet_grey").setTextureName(RefStrings.MODID + ":hazmat_helmet_grey"); .setUnlocalizedName("hazmat_helmet_grey").setTextureName(RefStrings.MODID + ":hazmat_helmet_grey");
hazmat_plate_grey = new ArmorHazmat(MainRegistry.aMatHaz3, 1, RefStrings.MODID + ":textures/armor/hazmat_1_grey.png").cloneStats((ArmorFSB) hazmat_helmet_grey).setUnlocalizedName("hazmat_plate_grey").setTextureName(RefStrings.MODID + ":hazmat_plate_grey"); hazmat_plate_grey = new ArmorHazmat(MainRegistry.aMatHaz3, 1, RefStrings.MODID + ":textures/armor/hazmat_1_grey.png").cloneStats((ArmorFSB) hazmat_helmet_grey).setUnlocalizedName("hazmat_plate_grey").setTextureName(RefStrings.MODID + ":hazmat_plate_grey");
hazmat_legs_grey = new ArmorHazmat(MainRegistry.aMatHaz3, 2, RefStrings.MODID + ":textures/armor/hazmat_2_grey.png").cloneStats((ArmorFSB) hazmat_helmet_grey).setUnlocalizedName("hazmat_legs_grey").setTextureName(RefStrings.MODID + ":hazmat_legs_grey"); hazmat_legs_grey = new ArmorHazmat(MainRegistry.aMatHaz3, 2, RefStrings.MODID + ":textures/armor/hazmat_2_grey.png").cloneStats((ArmorFSB) hazmat_helmet_grey).setUnlocalizedName("hazmat_legs_grey").setTextureName(RefStrings.MODID + ":hazmat_legs_grey");
hazmat_boots_grey = new ArmorHazmat(MainRegistry.aMatHaz3, 3, RefStrings.MODID + ":textures/armor/hazmat_1_grey.png").cloneStats((ArmorFSB) hazmat_helmet_grey).setUnlocalizedName("hazmat_boots_grey").setTextureName(RefStrings.MODID + ":hazmat_boots_grey"); hazmat_boots_grey = new ArmorHazmat(MainRegistry.aMatHaz3, 3, RefStrings.MODID + ":textures/armor/hazmat_1_grey.png").cloneStats((ArmorFSB) hazmat_helmet_grey).setUnlocalizedName("hazmat_boots_grey").setTextureName(RefStrings.MODID + ":hazmat_boots_grey");
hazmat_paa_helmet = new ArmorHazmatMask(MainRegistry.aMatPaa, 0, RefStrings.MODID + ":textures/armor/hazmat_paa_1.png") hazmat_paa_helmet = new ArmorHazmatMask(MainRegistry.aMatPaa, 0, RefStrings.MODID + ":textures/armor/hazmat_paa_1.png")
.setFireproof(true).setUnlocalizedName("hazmat_paa_helmet").setTextureName(RefStrings.MODID + ":hazmat_paa_helmet"); .setUnlocalizedName("hazmat_paa_helmet").setTextureName(RefStrings.MODID + ":hazmat_paa_helmet");
hazmat_paa_plate = new ArmorHazmat(MainRegistry.aMatPaa, 1, RefStrings.MODID + ":textures/armor/hazmat_paa_1.png").cloneStats((ArmorFSB) hazmat_paa_helmet).setUnlocalizedName("hazmat_paa_plate").setTextureName(RefStrings.MODID + ":hazmat_paa_plate"); hazmat_paa_plate = new ArmorHazmat(MainRegistry.aMatPaa, 1, RefStrings.MODID + ":textures/armor/hazmat_paa_1.png").cloneStats((ArmorFSB) hazmat_paa_helmet).setUnlocalizedName("hazmat_paa_plate").setTextureName(RefStrings.MODID + ":hazmat_paa_plate");
hazmat_paa_legs = new ArmorHazmat(MainRegistry.aMatPaa, 2, RefStrings.MODID + ":textures/armor/hazmat_paa_2.png").cloneStats((ArmorFSB) hazmat_paa_helmet).setUnlocalizedName("hazmat_paa_legs").setTextureName(RefStrings.MODID + ":hazmat_paa_legs"); hazmat_paa_legs = new ArmorHazmat(MainRegistry.aMatPaa, 2, RefStrings.MODID + ":textures/armor/hazmat_paa_2.png").cloneStats((ArmorFSB) hazmat_paa_helmet).setUnlocalizedName("hazmat_paa_legs").setTextureName(RefStrings.MODID + ":hazmat_paa_legs");
hazmat_paa_boots = new ArmorHazmat(MainRegistry.aMatPaa, 3, RefStrings.MODID + ":textures/armor/hazmat_paa_1.png").cloneStats((ArmorFSB) hazmat_paa_helmet).setUnlocalizedName("hazmat_paa_boots").setTextureName(RefStrings.MODID + ":hazmat_paa_boots"); hazmat_paa_boots = new ArmorHazmat(MainRegistry.aMatPaa, 3, RefStrings.MODID + ":textures/armor/hazmat_paa_1.png").cloneStats((ArmorFSB) hazmat_paa_helmet).setUnlocalizedName("hazmat_paa_boots").setTextureName(RefStrings.MODID + ":hazmat_paa_boots");
@ -5256,9 +5209,6 @@ public class ModItems {
ArmorMaterial aMatLiquidator = EnumHelper.addArmorMaterial("HBM_LIQUIDATOR", 750, new int[] { 3, 8, 6, 3 }, 10); ArmorMaterial aMatLiquidator = EnumHelper.addArmorMaterial("HBM_LIQUIDATOR", 750, new int[] { 3, 8, 6, 3 }, 10);
aMatLiquidator.customCraftingMaterial = ModItems.plate_lead; aMatLiquidator.customCraftingMaterial = ModItems.plate_lead;
liquidator_helmet = new ArmorLiquidatorMask(aMatLiquidator, 0, RefStrings.MODID + ":textures/armor/liquidator_helmet.png") liquidator_helmet = new ArmorLiquidatorMask(aMatLiquidator, 0, RefStrings.MODID + ":textures/armor/liquidator_helmet.png")
.setThreshold(1.0F)
.setBlastProtection(0.25F)
.setFireproof(true)
.setStep("hbm:step.metal") .setStep("hbm:step.metal")
.setJump("hbm:step.iron_jump") .setJump("hbm:step.iron_jump")
.setFall("hbm:step.iron_land").setUnlocalizedName("liquidator_helmet").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":liquidator_helmet"); .setFall("hbm:step.iron_land").setUnlocalizedName("liquidator_helmet").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":liquidator_helmet");
@ -6951,6 +6901,7 @@ public class ModItems {
GameRegistry.registerItem(gun_congolake, gun_congolake.getUnlocalizedName()); GameRegistry.registerItem(gun_congolake, gun_congolake.getUnlocalizedName());
GameRegistry.registerItem(gun_flamer, gun_flamer.getUnlocalizedName()); GameRegistry.registerItem(gun_flamer, gun_flamer.getUnlocalizedName());
GameRegistry.registerItem(gun_uzi, gun_uzi.getUnlocalizedName()); GameRegistry.registerItem(gun_uzi, gun_uzi.getUnlocalizedName());
GameRegistry.registerItem(gun_uzi_akimbo, gun_uzi_akimbo.getUnlocalizedName());
GameRegistry.registerItem(gun_spas12, gun_spas12.getUnlocalizedName()); GameRegistry.registerItem(gun_spas12, gun_spas12.getUnlocalizedName());
GameRegistry.registerItem(gun_panzerschreck, gun_panzerschreck.getUnlocalizedName()); GameRegistry.registerItem(gun_panzerschreck, gun_panzerschreck.getUnlocalizedName());
GameRegistry.registerItem(gun_g3, gun_g3.getUnlocalizedName()); GameRegistry.registerItem(gun_g3, gun_g3.getUnlocalizedName());

View File

@ -3,10 +3,8 @@ package com.hbm.items.armor;
import java.lang.reflect.Field; import java.lang.reflect.Field;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections; import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet; import java.util.HashSet;
import java.util.List; import java.util.List;
import java.util.Map.Entry;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL11;
@ -28,7 +26,6 @@ import net.minecraft.client.renderer.OpenGlHelper;
import net.minecraft.client.renderer.Tessellator; import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.resources.I18n; import net.minecraft.client.resources.I18n;
import net.minecraft.entity.Entity; import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.item.EntityItem;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemArmor; import net.minecraft.item.ItemArmor;
@ -51,14 +48,6 @@ public class ArmorFSB extends ItemArmor implements IArmorDisableModel {
private String texture = ""; private String texture = "";
private ResourceLocation overlay = null; private ResourceLocation overlay = null;
public List<PotionEffect> effects = new ArrayList<PotionEffect>(); public List<PotionEffect> effects = new ArrayList<PotionEffect>();
public HashMap<String, Float> resistance = new HashMap<String, Float>();
public float blastProtection = -1;
public float projectileProtection = -1;
public float damageCap = -1;
public float damageMod = -1;
public float damageThreshold = 0;
public float protectionYield = 100F;
public boolean fireproof = false;
public boolean noHelmet = false; public boolean noHelmet = false;
public boolean vats = false; public boolean vats = false;
public boolean thermal = false; public boolean thermal = false;
@ -82,46 +71,6 @@ public class ArmorFSB extends ItemArmor implements IArmorDisableModel {
return this; return this;
} }
public ArmorFSB addResistance(String damage, float mod) {
resistance.put(damage, mod);
return this;
}
public ArmorFSB setCap(float cap) {
this.damageCap = cap;
return this;
}
public ArmorFSB setMod(float mod) {
this.damageMod = mod;
return this;
}
public ArmorFSB setThreshold(float threshold) {
this.damageThreshold = threshold;
return this;
}
public ArmorFSB setProtectionLevel(float damageYield) {
this.protectionYield = damageYield;
return this;
}
public ArmorFSB setBlastProtection(float blastProtection) {
this.blastProtection = blastProtection;
return this;
}
public ArmorFSB setProjectileProtection(float projectileProtection) {
this.projectileProtection = projectileProtection;
return this;
}
public ArmorFSB setFireproof(boolean fire) {
this.fireproof = fire;
return this;
}
public ArmorFSB setNoHelmet(boolean noHelmet) { public ArmorFSB setNoHelmet(boolean noHelmet) {
this.noHelmet = noHelmet; this.noHelmet = noHelmet;
return this; return this;
@ -191,14 +140,6 @@ public class ArmorFSB extends ItemArmor implements IArmorDisableModel {
//lists aren't being modified after instantiation, so there's no need to dereference //lists aren't being modified after instantiation, so there's no need to dereference
this.effects = original.effects; this.effects = original.effects;
this.resistance = original.resistance;
this.damageCap = original.damageCap;
this.damageMod = original.damageMod;
this.damageThreshold = original.damageThreshold;
this.protectionYield = original.protectionYield;
this.blastProtection = original.blastProtection;
this.projectileProtection = original.projectileProtection;
this.fireproof = original.fireproof;
this.noHelmet = original.noHelmet; this.noHelmet = original.noHelmet;
this.vats = original.vats; this.vats = original.vats;
this.thermal = original.thermal; this.thermal = original.thermal;
@ -226,82 +167,19 @@ public class ArmorFSB extends ItemArmor implements IArmorDisableModel {
list.add(EnumChatFormatting.GOLD + I18nUtil.resolveKey("armor.fullSetBonus")); list.add(EnumChatFormatting.GOLD + I18nUtil.resolveKey("armor.fullSetBonus"));
if(!effects.isEmpty()) { if(!effects.isEmpty()) {
for(PotionEffect effect : effects) { for(PotionEffect effect : effects) {
list.add(EnumChatFormatting.AQUA + " " + I18n.format(Potion.potionTypes[effect.getPotionID()].getName())); list.add(EnumChatFormatting.AQUA + " " + I18n.format(Potion.potionTypes[effect.getPotionID()].getName()));
} }
} }
if(!resistance.isEmpty()) { if(geigerSound) list.add(EnumChatFormatting.GOLD + " " + I18nUtil.resolveKey("armor.geigerSound"));
if(customGeiger) list.add(EnumChatFormatting.GOLD + " " + I18nUtil.resolveKey("armor.geigerHUD"));
for(Entry<String, Float> struct : resistance.entrySet()) { if(vats) list.add(EnumChatFormatting.RED + " " + I18nUtil.resolveKey("armor.vats"));
if(thermal) list.add(EnumChatFormatting.RED + " " + I18nUtil.resolveKey("armor.thermal"));
if(struct.getValue() != 0) if(hardLanding) list.add(EnumChatFormatting.RED + " " + I18nUtil.resolveKey("armor.hardLanding"));
list.add(EnumChatFormatting.YELLOW + " " + I18nUtil.resolveKey("armor.damageModifier", struct.getValue(), I18n.format(struct.getKey()))); if(gravity != 0) list.add(EnumChatFormatting.BLUE + " " + I18nUtil.resolveKey("armor.gravity", gravity));
else if(stepSize != 0) list.add(EnumChatFormatting.BLUE + " " + I18nUtil.resolveKey("armor.stepSize", stepSize));
list.add(EnumChatFormatting.RED + " " + I18nUtil.resolveKey("armor.nullDamage", I18n.format(struct.getKey()))); if(dashCount > 0) list.add(EnumChatFormatting.AQUA + " " + I18nUtil.resolveKey("armor.dash", dashCount));
}
}
if(blastProtection != -1) {
list.add(EnumChatFormatting.YELLOW + " " + I18nUtil.resolveKey("armor.blastProtection", blastProtection));
}
if(projectileProtection != -1) {
list.add(EnumChatFormatting.YELLOW + " " + I18nUtil.resolveKey("armor.projectileProtection", projectileProtection));
}
if(damageCap != -1) {
list.add(EnumChatFormatting.YELLOW + " " + I18nUtil.resolveKey("armor.cap", damageCap));
}
if(damageMod != -1) {
list.add(EnumChatFormatting.YELLOW + " " + I18nUtil.resolveKey("armor.modifier", damageMod));
}
if(damageThreshold > 0) {
list.add(EnumChatFormatting.YELLOW + " " + I18nUtil.resolveKey("armor.threshold", damageThreshold));
}
if(fireproof) {
list.add(EnumChatFormatting.RED + " " + I18nUtil.resolveKey("armor.fireproof"));
}
if(geigerSound) {
list.add(EnumChatFormatting.GOLD + " " + I18nUtil.resolveKey("armor.geigerSound"));
}
if(customGeiger) {
list.add(EnumChatFormatting.GOLD + " " + I18nUtil.resolveKey("armor.geigerHUD"));
}
if(vats) {
list.add(EnumChatFormatting.RED + " " + I18nUtil.resolveKey("armor.vats"));
}
if(thermal) {
list.add(EnumChatFormatting.RED + " " + I18nUtil.resolveKey("armor.thermal"));
}
if(hardLanding) {
list.add(EnumChatFormatting.RED + " " + I18nUtil.resolveKey("armor.hardLanding"));
}
if(gravity != 0) {
list.add(EnumChatFormatting.BLUE + " " + I18nUtil.resolveKey("armor.gravity", gravity));
}
if(stepSize != 0) {
list.add(EnumChatFormatting.BLUE + " " + I18nUtil.resolveKey("armor.stepSize", stepSize));
}
if(dashCount > 0) {
list.add(EnumChatFormatting.AQUA + " " + I18nUtil.resolveKey("armor.dash", dashCount));
}
if(protectionYield != 100F) {
list.add(EnumChatFormatting.BLUE + " " + I18nUtil.resolveKey("armor.yield", protectionYield));
}
} }
public static boolean hasFSBArmor(EntityPlayer player) { public static boolean hasFSBArmor(EntityPlayer player) {
@ -359,80 +237,6 @@ public class ArmorFSB extends ItemArmor implements IArmorDisableModel {
return false; return false;
} }
public void handleAttack(LivingAttackEvent event) {
EntityLivingBase e = event.entityLiving;
if(e instanceof EntityPlayer) {
EntityPlayer player = (EntityPlayer) e;
if(ArmorFSB.hasFSBArmor(player)) {
ItemStack plate = player.inventory.armorInventory[2];
ArmorFSB chestplate = (ArmorFSB) plate.getItem();
if(chestplate.damageThreshold >= event.ammount && !event.source.isUnblockable()) {
event.setCanceled(true);
}
if(chestplate.fireproof && event.source.isFireDamage()) {
player.extinguish();
event.setCanceled(true);
}
if(chestplate.resistance.get(event.source.getDamageType()) != null && chestplate.resistance.get(event.source.getDamageType()) <= 0) {
event.setCanceled(true);
}
}
}
}
public void handleHurt(LivingHurtEvent event) {
EntityLivingBase e = event.entityLiving;
if(e instanceof EntityPlayer) {
EntityPlayer player = (EntityPlayer) e;
if(ArmorFSB.hasFSBArmor(player)) {
ArmorFSB chestplate = (ArmorFSB) player.inventory.armorInventory[2].getItem();
//store any damage above the yield
float overFlow = Math.max(0, event.ammount - chestplate.protectionYield);
//reduce the damage to the yield cap if it exceeds the yield
event.ammount = Math.min(event.ammount, chestplate.protectionYield);
if(!event.source.isUnblockable())
event.ammount -= chestplate.damageThreshold;
if(chestplate.damageMod != -1) {
event.ammount *= chestplate.damageMod;
}
if(chestplate.resistance.get(event.source.getDamageType()) != null) {
event.ammount *= chestplate.resistance.get(event.source.getDamageType());
}
if(chestplate.blastProtection != -1 && event.source.isExplosion()) {
event.ammount *= chestplate.blastProtection;
}
if(chestplate.projectileProtection != -1 && event.source.isProjectile()) {
event.ammount *= chestplate.projectileProtection;
}
if(chestplate.damageCap != -1) {
event.ammount = Math.min(event.ammount, chestplate.damageCap);
}
//add back anything that was above the protection yield before
event.ammount += overFlow;
}
}
}
public void handleTick(TickEvent.PlayerTickEvent event) { public void handleTick(TickEvent.PlayerTickEvent event) {
EntityPlayer player = event.player; EntityPlayer player = event.player;
@ -624,4 +428,7 @@ public class ArmorFSB extends ItemArmor implements IArmorDisableModel {
public boolean disablesPart(EntityPlayer player, ItemStack stack, EnumPlayerPart part) { public boolean disablesPart(EntityPlayer player, ItemStack stack, EnumPlayerPart part) {
return hidden.contains(part) && (!needsFullSet || hasFSBArmorIgnoreCharge(player)); return hidden.contains(part) && (!needsFullSet || hasFSBArmorIgnoreCharge(player));
} }
public void handleAttack(LivingAttackEvent event) { }
public void handleHurt(LivingHurtEvent event) { }
} }

View File

@ -46,7 +46,9 @@ public class BulletConfig implements Cloneable {
public ProjectileType pType = ProjectileType.BULLET; public ProjectileType pType = ProjectileType.BULLET;
public float damageMult = 1.0F; public float damageMult = 1.0F;
public float armorThresholdNegation = 0.0F;
public float armorPiercingPercent = 0.0F; public float armorPiercingPercent = 0.0F;
public float knockbackMult = 1.0F;
public float headshotMult = 1.0F; public float headshotMult = 1.0F;
public String damageType = ModDamageSource.s_bullet; public String damageType = ModDamageSource.s_bullet;
@ -103,7 +105,9 @@ public class BulletConfig implements Cloneable {
public BulletConfig setProjectiles(int amount) { this.projectilesMin = this.projectilesMax = amount; return this; } public BulletConfig setProjectiles(int amount) { this.projectilesMin = this.projectilesMax = amount; return this; }
public BulletConfig setProjectiles(int min, int max) { this.projectilesMin = min; this.projectilesMax = max; return this; } public BulletConfig setProjectiles(int min, int max) { this.projectilesMin = min; this.projectilesMax = max; return this; }
public BulletConfig setDamage(float damageMult) { this.damageMult = damageMult; return this; } public BulletConfig setDamage(float damageMult) { this.damageMult = damageMult; return this; }
public BulletConfig setThresholdNegation(float armorThresholdNegation) { this.armorThresholdNegation = armorThresholdNegation; return this; }
public BulletConfig setArmorPiercing(float armorPiercingPercent) { this.armorPiercingPercent = armorPiercingPercent; return this; } public BulletConfig setArmorPiercing(float armorPiercingPercent) { this.armorPiercingPercent = armorPiercingPercent; return this; }
public BulletConfig setKnockback(float knockbackMult) { this.knockbackMult = knockbackMult; return this; }
public BulletConfig setHeadshot(float headshotMult) { this.headshotMult = headshotMult; return this; } public BulletConfig setHeadshot(float headshotMult) { this.headshotMult = headshotMult; return this; }
public BulletConfig setDamageType(String type) { this.damageType = type; return this; } public BulletConfig setDamageType(String type) { this.damageType = type; return this; }
public BulletConfig setupDamageClass(boolean proj, boolean fire, boolean explosion, boolean bypass) { this.dmgProj = proj; this.dmgFire = fire; this.dmgExplosion = explosion; this.dmgBypass = bypass; return this; } public BulletConfig setupDamageClass(boolean proj, boolean fire, boolean explosion, boolean bypass) { this.dmgProj = proj; this.dmgFire = fire; this.dmgExplosion = explosion; this.dmgBypass = bypass; return this; }
@ -193,22 +197,17 @@ public class BulletConfig implements Cloneable {
if(entity == bullet.getThrower() && bullet.ticksExisted < bullet.selfDamageDelay()) return; if(entity == bullet.getThrower() && bullet.ticksExisted < bullet.selfDamageDelay()) return;
if(entity instanceof EntityLivingBase && ((EntityLivingBase) entity).getHealth() <= 0) return; if(entity instanceof EntityLivingBase && ((EntityLivingBase) entity).getHealth() <= 0) return;
DamageSource damageCalc = bullet.config.getDamage(bullet, bullet.getThrower(), false); DamageSource source = bullet.config.getDamage(bullet, bullet.getThrower(), false);
if(!(entity instanceof EntityLivingBase)) { if(!(entity instanceof EntityLivingBase)) {
EntityDamageUtil.attackEntityFromIgnoreIFrame(entity, damageCalc, bullet.damage); EntityDamageUtil.attackEntityFromIgnoreIFrame(entity, source, bullet.damage);
return; return;
} }
EntityLivingBase living = (EntityLivingBase) entity; EntityLivingBase living = (EntityLivingBase) entity;
float prevHealth = living.getHealth(); float prevHealth = living.getHealth();
if(bullet.config.armorPiercingPercent == 0) { EntityDamageUtil.attackEntityFromNT(living, source, bullet.damage, true, false, bullet.config.knockbackMult, bullet.config.armorThresholdNegation, bullet.config.armorPiercingPercent);
EntityDamageUtil.attackEntityFromIgnoreIFrame(entity, damageCalc, bullet.damage);
} else {
DamageSource damagePiercing = bullet.config.getDamage(bullet, bullet.getThrower(), true);
EntityDamageUtil.attackArmorPiercing(living, damageCalc, damagePiercing, bullet.damage, bullet.config.armorPiercingPercent);
}
float newHealth = living.getHealth(); float newHealth = living.getHealth();
@ -226,22 +225,16 @@ public class BulletConfig implements Cloneable {
Entity entity = mop.entityHit; Entity entity = mop.entityHit;
if(entity instanceof EntityLivingBase && ((EntityLivingBase) entity).getHealth() <= 0) return; if(entity instanceof EntityLivingBase && ((EntityLivingBase) entity).getHealth() <= 0) return;
DamageSource damageCalc = bullet.config.getDamage(bullet, bullet.getThrower(), false); DamageSource source = bullet.config.getDamage(bullet, bullet.getThrower(), false);
if(!(entity instanceof EntityLivingBase)) { if(!(entity instanceof EntityLivingBase)) {
EntityDamageUtil.attackEntityFromIgnoreIFrame(entity, damageCalc, bullet.damage); EntityDamageUtil.attackEntityFromIgnoreIFrame(entity, source, bullet.damage);
return; return;
} }
EntityLivingBase living = (EntityLivingBase) entity; EntityLivingBase living = (EntityLivingBase) entity;
EntityDamageUtil.attackEntityFromNT(living, source, bullet.damage, true, false, bullet.config.knockbackMult, bullet.config.armorThresholdNegation, bullet.config.armorPiercingPercent);
if(bullet.config.armorPiercingPercent == 0) {
EntityDamageUtil.attackEntityFromIgnoreIFrame(entity, damageCalc, bullet.damage);
} else {
DamageSource damagePiercing = bullet.config.getDamage(bullet, bullet.getThrower(), true);
EntityDamageUtil.attackArmorPiercing(living, damageCalc, damagePiercing, bullet.damage, bullet.config.armorPiercingPercent);
}
} }
}; };
@ -252,21 +245,15 @@ public class BulletConfig implements Cloneable {
if(entity instanceof EntityLivingBase && ((EntityLivingBase) entity).getHealth() <= 0) return; if(entity instanceof EntityLivingBase && ((EntityLivingBase) entity).getHealth() <= 0) return;
DamageSource damageCalc = beam.config.getDamage(beam, beam.thrower, false); DamageSource source = beam.config.getDamage(beam, beam.thrower, false);
if(!(entity instanceof EntityLivingBase)) { if(!(entity instanceof EntityLivingBase)) {
EntityDamageUtil.attackEntityFromIgnoreIFrame(entity, damageCalc, beam.damage); EntityDamageUtil.attackEntityFromIgnoreIFrame(entity, source, beam.damage);
return; return;
} }
EntityLivingBase living = (EntityLivingBase) entity; EntityLivingBase living = (EntityLivingBase) entity;
EntityDamageUtil.attackEntityFromNT(living, source, beam.damage, true, false, beam.config.knockbackMult, beam.config.armorThresholdNegation, beam.config.armorPiercingPercent);
if(beam.config.armorPiercingPercent == 0) {
EntityDamageUtil.attackEntityFromIgnoreIFrame(entity, damageCalc, beam.damage);
} else {
DamageSource damagePiercing = beam.config.getDamage(beam, beam.thrower, true);
EntityDamageUtil.attackArmorPiercing(living, damageCalc, damagePiercing, beam.damage, beam.config.armorPiercingPercent);
}
} }
}; };

View File

@ -53,6 +53,7 @@ public class GunFactoryClient {
MinecraftForgeClient.registerItemRenderer(ModItems.gun_flamer, new ItemRenderFlamer()); MinecraftForgeClient.registerItemRenderer(ModItems.gun_flamer, new ItemRenderFlamer());
MinecraftForgeClient.registerItemRenderer(ModItems.gun_lag, new ItemRenderLAG()); MinecraftForgeClient.registerItemRenderer(ModItems.gun_lag, new ItemRenderLAG());
MinecraftForgeClient.registerItemRenderer(ModItems.gun_uzi, new ItemRenderUzi()); MinecraftForgeClient.registerItemRenderer(ModItems.gun_uzi, new ItemRenderUzi());
MinecraftForgeClient.registerItemRenderer(ModItems.gun_uzi_akimbo, new ItemRenderUziAkimbo());
MinecraftForgeClient.registerItemRenderer(ModItems.gun_spas12, new ItemRenderSPAS12()); MinecraftForgeClient.registerItemRenderer(ModItems.gun_spas12, new ItemRenderSPAS12());
MinecraftForgeClient.registerItemRenderer(ModItems.gun_panzerschreck, new ItemRenderPanzerschreck()); MinecraftForgeClient.registerItemRenderer(ModItems.gun_panzerschreck, new ItemRenderPanzerschreck());
MinecraftForgeClient.registerItemRenderer(ModItems.gun_g3, new ItemRenderG3()); MinecraftForgeClient.registerItemRenderer(ModItems.gun_g3, new ItemRenderG3());
@ -206,6 +207,8 @@ public class GunFactoryClient {
((ItemGunBaseNT) ModItems.gun_light_revolver_dani) .getConfig(null, 1).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO); ((ItemGunBaseNT) ModItems.gun_light_revolver_dani) .getConfig(null, 1).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO);
((ItemGunBaseNT) ModItems.gun_maresleg_akimbo) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY_MIRROR, LegoClient.HUD_COMPONENT_AMMO_MIRROR); ((ItemGunBaseNT) ModItems.gun_maresleg_akimbo) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY_MIRROR, LegoClient.HUD_COMPONENT_AMMO_MIRROR);
((ItemGunBaseNT) ModItems.gun_maresleg_akimbo) .getConfig(null, 1).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO); ((ItemGunBaseNT) ModItems.gun_maresleg_akimbo) .getConfig(null, 1).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO);
((ItemGunBaseNT) ModItems.gun_uzi_akimbo) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY_MIRROR, LegoClient.HUD_COMPONENT_AMMO_MIRROR);
((ItemGunBaseNT) ModItems.gun_uzi_akimbo) .getConfig(null, 1).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO);
} }
public static void setRendererBulk(BiConsumer<EntityBulletBaseMK4, Float> renderer, BulletConfig... configs) { for(BulletConfig config : configs) config.setRenderer(renderer); } public static void setRendererBulk(BiConsumer<EntityBulletBaseMK4, Float> renderer, BulletConfig... configs) { for(BulletConfig config : configs) config.setRenderer(renderer); }

View File

@ -613,6 +613,38 @@ public class Orchestras {
} }
}; };
public static BiConsumer<ItemStack, LambdaContext> ORCHESTRA_UZI_AKIMBO = (stack, ctx) -> {
EntityLivingBase entity = ctx.entity;
if(entity.worldObj.isRemote) return;
AnimType type = ItemGunBaseNT.getLastAnim(stack, ctx.configIndex);
int timer = ItemGunBaseNT.getAnimTimer(stack, ctx.configIndex);
if(type == AnimType.EQUIP) {
if(timer == 8) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.openLatch", 1F, 1.25F);
}
if(type == AnimType.CYCLE) {
if(timer == 1) {
int mult = ctx.configIndex == 0 ? -1 : 1;
SpentCasing casing = ctx.config.getReceivers(stack)[0].getMagazine(stack).getCasing(stack, ctx.inventory);
if(casing != null) CasingCreator.composeEffect(entity.worldObj, entity, 0.375, -0.125, -0.375D * mult, 0, 0.18, -0.12 * mult, 0.01, casing.getName());
}
}
if(type == AnimType.CYCLE_DRY) {
if(timer == 0) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.dryFireClick", 1F, 1F);
if(timer == 8) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.pistolCock", 1F, 1F);
}
if(type == AnimType.RELOAD) {
if(timer == 4) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.magRemove", 1F, 1F);
if(timer == 26) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.magInsert", 1F, 1F);
if(timer == 36) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.pistolCock", 1F, 1F);
}
if(type == AnimType.JAMMED) {
if(timer == 17) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.pistolCock", 1F, 1F);
if(timer == 31) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.pistolCock", 1F, 1F);
}
};
public static BiConsumer<ItemStack, LambdaContext> ORCHESTRA_SPAS = (stack, ctx) -> { public static BiConsumer<ItemStack, LambdaContext> ORCHESTRA_SPAS = (stack, ctx) -> {
EntityLivingBase entity = ctx.entity; EntityLivingBase entity = ctx.entity;
if(entity.worldObj.isRemote) return; if(entity.worldObj.isRemote) return;
@ -1156,11 +1188,6 @@ public class Orchestras {
if(entity.worldObj.isRemote) return; if(entity.worldObj.isRemote) return;
AnimType type = ItemGunBaseNT.getLastAnim(stack, ctx.configIndex); AnimType type = ItemGunBaseNT.getLastAnim(stack, ctx.configIndex);
int timer = ItemGunBaseNT.getAnimTimer(stack, ctx.configIndex); int timer = ItemGunBaseNT.getAnimTimer(stack, ctx.configIndex);
boolean aiming = ItemGunBaseNT.getIsAiming(stack);
if(type == AnimType.CYCLE_DRY) {
if(timer == 0) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.dryFireClick", 1F, 0.75F);
}
if(type == AnimType.RELOAD) { if(type == AnimType.RELOAD) {
if(timer == 20) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.screw", 1F, 1F); if(timer == 20) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.screw", 1F, 1F);

View File

@ -9,6 +9,7 @@ import com.hbm.items.weapon.sedna.Crosshair;
import com.hbm.items.weapon.sedna.GunConfig; import com.hbm.items.weapon.sedna.GunConfig;
import com.hbm.items.weapon.sedna.ItemGunBaseNT; import com.hbm.items.weapon.sedna.ItemGunBaseNT;
import com.hbm.items.weapon.sedna.Receiver; import com.hbm.items.weapon.sedna.Receiver;
import com.hbm.items.weapon.sedna.ItemGunBaseNT.GunState;
import com.hbm.items.weapon.sedna.ItemGunBaseNT.LambdaContext; import com.hbm.items.weapon.sedna.ItemGunBaseNT.LambdaContext;
import com.hbm.items.weapon.sedna.ItemGunBaseNT.WeaponQuality; import com.hbm.items.weapon.sedna.ItemGunBaseNT.WeaponQuality;
import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmo; import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmo;
@ -73,10 +74,39 @@ public class XFactory9mm {
.setupStandardConfiguration() .setupStandardConfiguration()
.anim(LAMBDA_UZI_ANIMS).orchestra(Orchestras.ORCHESTRA_UZI) .anim(LAMBDA_UZI_ANIMS).orchestra(Orchestras.ORCHESTRA_UZI)
).setUnlocalizedName("gun_uzi"); ).setUnlocalizedName("gun_uzi");
ModItems.gun_uzi_akimbo = new ItemGunBaseNT(WeaponQuality.B_SIDE,
new GunConfig().dura(3_000).draw(15).inspect(31).crosshair(Crosshair.CIRCLE).smoke(LAMBDA_SMOKE)
.rec(new Receiver(0)
.dmg(7.5F).delay(2).dry(25).auto(true).spread(0.005F).reload(55).jam(50).sound("hbm:weapon.fire.blackPowder", 1.0F, 1.0F)
.mag(new MagazineFullReload(0, 30).addConfigs(p9_sp, p9_fmj, p9_jhp, p9_ap))
.offset(1, -0.0625 * 2.5, 0.375D)
.setupStandardFire().recoil(Lego.LAMBDA_STANDARD_RECOIL))
.pp(Lego.LAMBDA_STANDARD_CLICK_PRIMARY).pr(Lego.LAMBDA_STANDARD_RELOAD)
.decider(GunStateDecider.LAMBDA_STANDARD_DECIDER)
.anim(LAMBDA_UZI_ANIMS).orchestra(Orchestras.ORCHESTRA_UZI_AKIMBO),
new GunConfig().dura(3_000).draw(15).inspect(31).crosshair(Crosshair.CIRCLE).smoke(LAMBDA_SMOKE)
.rec(new Receiver(0)
.dmg(7.5F).delay(2).dry(25).auto(true).spread(0.005F).reload(55).jam(50).sound("hbm:weapon.fire.blackPowder", 1.0F, 1.0F)
.mag(new MagazineFullReload(1, 30).addConfigs(p9_sp, p9_fmj, p9_jhp, p9_ap))
.offset(1, -0.0625 * 2.5, -0.375D)
.setupStandardFire().recoil(Lego.LAMBDA_STANDARD_RECOIL))
.ps(Lego.LAMBDA_STANDARD_CLICK_PRIMARY).pr(Lego.LAMBDA_STANDARD_RELOAD)
.decider(LAMBDA_SECOND_UZI)
.anim(LAMBDA_UZI_ANIMS).orchestra(Orchestras.ORCHESTRA_UZI_AKIMBO)
).setUnlocalizedName("gun_uzi_akimbo");
} }
public static BiConsumer<ItemStack, LambdaContext> LAMBDA_SECOND_UZI = (stack, ctx) -> {
int index = ctx.configIndex;
GunState lastState = ItemGunBaseNT.getState(stack, index);
GunStateDecider.deciderStandardFinishDraw(stack, lastState, index);
GunStateDecider.deciderStandardClearJam(stack, lastState, index);
GunStateDecider.deciderStandardReload(stack, ctx, lastState, 0, index);
GunStateDecider.deciderAutoRefire(stack, ctx, lastState, 0, index, () -> { return ItemGunBaseNT.getSecondary(stack, index) && ItemGunBaseNT.getMode(stack, ctx.configIndex) == 0; });
};
public static BiConsumer<ItemStack, LambdaContext> LAMBDA_SMOKE = (stack, ctx) -> { public static BiConsumer<ItemStack, LambdaContext> LAMBDA_SMOKE = (stack, ctx) -> {
Lego.handleStandardSmoke(ctx.entity, stack, 2000, 0.05D, 1.1D, 0); Lego.handleStandardSmoke(ctx.entity, stack, 2000, 0.05D, 1.1D, ctx.configIndex);
}; };
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, AnimType, BusAnimation> LAMBDA_GREASEGUN_ANIMS = (stack, type) -> { @SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, AnimType, BusAnimation> LAMBDA_GREASEGUN_ANIMS = (stack, type) -> {

View File

@ -1,8 +1,11 @@
package com.hbm.items.weapon.sedna.factory; package com.hbm.items.weapon.sedna.factory;
import java.util.List;
import java.util.function.BiConsumer; import java.util.function.BiConsumer;
import java.util.function.BiFunction; import java.util.function.BiFunction;
import java.util.function.Consumer;
import com.hbm.entity.projectile.EntityBulletBeamBase;
import com.hbm.items.ModItems; import com.hbm.items.ModItems;
import com.hbm.items.weapon.sedna.BulletConfig; import com.hbm.items.weapon.sedna.BulletConfig;
import com.hbm.items.weapon.sedna.Crosshair; import com.hbm.items.weapon.sedna.Crosshair;
@ -14,28 +17,79 @@ import com.hbm.items.weapon.sedna.ItemGunBaseNT.LambdaContext;
import com.hbm.items.weapon.sedna.ItemGunBaseNT.WeaponQuality; import com.hbm.items.weapon.sedna.ItemGunBaseNT.WeaponQuality;
import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmoSecret; import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmoSecret;
import com.hbm.items.weapon.sedna.mags.MagazineSingleReload; import com.hbm.items.weapon.sedna.mags.MagazineSingleReload;
import com.hbm.packet.PacketDispatcher;
import com.hbm.packet.toclient.AuxParticlePacketNT;
import com.hbm.render.anim.BusAnimation; import com.hbm.render.anim.BusAnimation;
import com.hbm.render.anim.BusAnimationSequence; import com.hbm.render.anim.BusAnimationSequence;
import com.hbm.render.anim.BusAnimationKeyframe.IType; import com.hbm.render.anim.BusAnimationKeyframe.IType;
import com.hbm.render.anim.HbmAnimations.AnimType; import com.hbm.render.anim.HbmAnimations.AnimType;
import com.hbm.util.ContaminationUtil;
import com.hbm.util.EntityDamageUtil;
import com.hbm.util.Vec3NT;
import com.hbm.util.ContaminationUtil.ContaminationType;
import com.hbm.util.ContaminationUtil.HazardType;
import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint;
import net.minecraft.entity.Entity;
import net.minecraft.init.Blocks;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.AxisAlignedBB;
public class XFactoryFolly { public class XFactoryFolly {
public static BulletConfig folly_sm; public static BulletConfig folly_sm;
public static Consumer<Entity> LAMBDA_SM_UPDATE = (entity) -> {
if(entity.worldObj.isRemote) return;
EntityBulletBeamBase beam = (EntityBulletBeamBase) entity;
Vec3NT dir = new Vec3NT(beam.headingX, beam.headingY, beam.headingZ).normalizeSelf();
if(beam.ticksExisted < 50) {
double spacing = 10;
double dist = beam.ticksExisted * spacing;
NBTTagCompound data = new NBTTagCompound();
data.setString("type", "plasmablast");
data.setFloat("r", 0.75F);
data.setFloat("g", 0.75F);
data.setFloat("b", 0.75F);
data.setFloat("pitch", (float) beam.rotationPitch + 90);
data.setFloat("yaw", (float) -beam.rotationYaw);
data.setFloat("scale", 2F + beam.ticksExisted / (float)(beam.beamLength / spacing) * 3F);
PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, beam.posX + dir.xCoord * dist, beam.posY + dir.yCoord * dist, beam.posZ + dir.zCoord * dist), new TargetPoint(beam.dimension, beam.posX, beam.posY, beam.posZ, 250));
}
if(entity.ticksExisted != 2) return;
if(beam.thrower != null) ContaminationUtil.contaminate(beam.thrower, HazardType.RADIATION, ContaminationType.CREATIVE, 150F);
List<Entity> entities = beam.worldObj.getEntitiesWithinAABBExcludingEntity(beam, beam.boundingBox.addCoord(beam.headingX, beam.headingY, beam.headingZ).expand(1.0D, 1.0D, 1.0D));
for(int i = 1; i < beam.beamLength; i += 2) {
int x = (int) Math.floor(beam.posX + dir.xCoord * i);
int y = (int) Math.floor(beam.posY + dir.yCoord * i);
int z = (int) Math.floor(beam.posZ + dir.zCoord * i);
for(int ix = x - 1; ix <= x + 1; ix++) for(int iy = y - 1; iy <= y + 1; iy++) for(int iz = z - 1; iz <= z + 1; iz++) {
if(iy > 0 && iy < 256) beam.worldObj.setBlock(ix, iy, iz, Blocks.air);
AxisAlignedBB aabb = AxisAlignedBB.getBoundingBox(ix - 1, iy - 1, iz - 1, ix + 2, iy + 2, iz + 2);
for(Entity e : entities) if(e != beam.thrower && e.boundingBox.intersectsWith(aabb)) EntityDamageUtil.attackEntityFromIgnoreIFrame(e, beam.config.getDamage(beam, beam.thrower, true), beam.damage);
}
}
};
public static void init() { public static void init() {
folly_sm = new BulletConfig().setItem(EnumAmmoSecret.FOLLY_SM).setBeam().setLife(100).setVel(2F).setGrav(0.015D).setRenderRotations(false); folly_sm = new BulletConfig().setItem(EnumAmmoSecret.FOLLY_SM).setBeam().setLife(100).setVel(2F).setGrav(0.015D).setRenderRotations(false).setSpectral(true).setDoesPenetrate(true)
.setOnUpdate(LAMBDA_SM_UPDATE);
ModItems.gun_folly = new ItemGunBaseNT(WeaponQuality.A_SIDE, new GunConfig() ModItems.gun_folly = new ItemGunBaseNT(WeaponQuality.A_SIDE, new GunConfig()
.dura(100).draw(40).crosshair(Crosshair.NONE) .dura(0).draw(40).crosshair(Crosshair.NONE)
.rec(new Receiver(0) .rec(new Receiver(0)
.dmg(15F).delay(26).dry(10).reload(160).jam(0).sound("hbm:weapon.fire.loudestNoiseOnEarth", 100.0F, 1.0F) .dmg(15F).delay(26).dryfire(false).reload(160).jam(0).sound("hbm:weapon.fire.loudestNoiseOnEarth", 100.0F, 1.0F)
.mag(new MagazineSingleReload(0, 1).addConfigs(folly_sm)) .mag(new MagazineSingleReload(0, 1).addConfigs(folly_sm))
.offset(0.75, -0.0625, -0.1875D) .offset(0.75, -0.0625, -0.1875D)
.canFire(LAMBDA_CAN_FIRE).fire(Lego.LAMBDA_STANDARD_FIRE).recoil(Lego.LAMBDA_STANDARD_RECOIL)) .canFire(LAMBDA_CAN_FIRE).fire(LAMBDA_FIRE).recoil(Lego.LAMBDA_STANDARD_RECOIL))
.setupStandardConfiguration().pt(LAMBDA_TOGGLE_AIM) .setupStandardConfiguration().pt(LAMBDA_TOGGLE_AIM)
.anim(LAMBDA_FOLLY_ANIMS).orchestra(Orchestras.ORCHESTRA_FOLLY) .anim(LAMBDA_FOLLY_ANIMS).orchestra(Orchestras.ORCHESTRA_FOLLY)
).setUnlocalizedName("gun_folly"); ).setUnlocalizedName("gun_folly");
@ -49,10 +103,15 @@ public class XFactoryFolly {
} }
}; };
public static BiConsumer<ItemStack, LambdaContext> LAMBDA_FIRE = (stack, ctx) -> {
Lego.doStandardFire(stack, ctx, AnimType.CYCLE, false);
};
public static BiFunction<ItemStack, LambdaContext, Boolean> LAMBDA_CAN_FIRE = (stack, ctx) -> { public static BiFunction<ItemStack, LambdaContext, Boolean> LAMBDA_CAN_FIRE = (stack, ctx) -> {
if(!ItemGunBaseNT.getIsAiming(stack)) return false;
if(ItemGunBaseNT.getLastAnim(stack, ctx.configIndex) != AnimType.SPINUP) return false; if(ItemGunBaseNT.getLastAnim(stack, ctx.configIndex) != AnimType.SPINUP) return false;
if(ItemGunBaseNT.getAnimTimer(stack, ctx.configIndex) < 100) return false; if(ItemGunBaseNT.getAnimTimer(stack, ctx.configIndex) < 100) return false;
return ItemGunBaseNT.getIsAiming(stack) && ctx.config.getReceivers(stack)[0].getMagazine(stack).getAmount(stack, ctx.inventory) > 0; return ctx.config.getReceivers(stack)[0].getMagazine(stack).getAmount(stack, ctx.inventory) > 0;
}; };
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, AnimType, BusAnimation> LAMBDA_FOLLY_ANIMS = (stack, type) -> { @SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, AnimType, BusAnimation> LAMBDA_FOLLY_ANIMS = (stack, type) -> {

View File

@ -560,11 +560,8 @@ public class ClientProxy extends ServerProxy {
MinecraftForgeClient.registerItemRenderer(ModItems.gun_hp, new ItemRenderOverkill()); MinecraftForgeClient.registerItemRenderer(ModItems.gun_hp, new ItemRenderOverkill());
MinecraftForgeClient.registerItemRenderer(ModItems.gun_euthanasia, new ItemRenderOverkill()); MinecraftForgeClient.registerItemRenderer(ModItems.gun_euthanasia, new ItemRenderOverkill());
MinecraftForgeClient.registerItemRenderer(ModItems.gun_defabricator, new ItemRenderOverkill()); MinecraftForgeClient.registerItemRenderer(ModItems.gun_defabricator, new ItemRenderOverkill());
MinecraftForgeClient.registerItemRenderer(ModItems.gun_lever_action, new ItemRenderWeaponFFMaresLeg(ResourceManager.ff_gun_bright, ResourceManager.ff_wood));
MinecraftForgeClient.registerItemRenderer(ModItems.gun_bolt_action, new ItemRenderWeaponFFBolt(ResourceManager.rem700, ResourceManager.rem700_tex)); MinecraftForgeClient.registerItemRenderer(ModItems.gun_bolt_action, new ItemRenderWeaponFFBolt(ResourceManager.rem700, ResourceManager.rem700_tex));
MinecraftForgeClient.registerItemRenderer(ModItems.gun_lever_action_dark, new ItemRenderWeaponFFMaresLeg(ResourceManager.ff_gun_normal, ResourceManager.ff_wood_red));
MinecraftForgeClient.registerItemRenderer(ModItems.gun_bolt_action_green, new ItemRenderWeaponFFBolt(ResourceManager.rem700poly, ResourceManager.rem700poly_tex)); MinecraftForgeClient.registerItemRenderer(ModItems.gun_bolt_action_green, new ItemRenderWeaponFFBolt(ResourceManager.rem700poly, ResourceManager.rem700poly_tex));
MinecraftForgeClient.registerItemRenderer(ModItems.gun_lever_action_sonata, new ItemRenderGunAnim());
MinecraftForgeClient.registerItemRenderer(ModItems.gun_bolt_action_saturnite, new ItemRenderGunAnim()); MinecraftForgeClient.registerItemRenderer(ModItems.gun_bolt_action_saturnite, new ItemRenderGunAnim());
MinecraftForgeClient.registerItemRenderer(ModItems.gun_bolt_action_saturnite, new ItemRenderWeaponFFBolt(ResourceManager.rem700sat, ResourceManager.rem700sat_tex)); MinecraftForgeClient.registerItemRenderer(ModItems.gun_bolt_action_saturnite, new ItemRenderWeaponFFBolt(ResourceManager.rem700sat, ResourceManager.rem700sat_tex));
MinecraftForgeClient.registerItemRenderer(ModItems.gun_b92, new ItemRenderGunAnim()); MinecraftForgeClient.registerItemRenderer(ModItems.gun_b92, new ItemRenderGunAnim());

View File

@ -921,6 +921,9 @@ public class MainRegistry {
PollutionHandler pollution = new PollutionHandler(); PollutionHandler pollution = new PollutionHandler();
MinecraftForge.EVENT_BUS.register(pollution); MinecraftForge.EVENT_BUS.register(pollution);
FMLCommonHandler.instance().bus().register(pollution); FMLCommonHandler.instance().bus().register(pollution);
DamageResistanceHandler dmgHandler = new DamageResistanceHandler();
MinecraftForge.EVENT_BUS.register(dmgHandler);
if(event.getSide() == Side.CLIENT) { if(event.getSide() == Side.CLIENT) {
HbmKeybinds.register(); HbmKeybinds.register();

View File

@ -1249,10 +1249,8 @@ public class ResourceManager {
public static final ResourceLocation casings_tex = new ResourceLocation(RefStrings.MODID, "textures/particle/casings.png"); public static final ResourceLocation casings_tex = new ResourceLocation(RefStrings.MODID, "textures/particle/casings.png");
//Bomber //Bomber
public static final ResourceLocation dornier_0_tex = new ResourceLocation(RefStrings.MODID, "textures/models/dornier_0.png");
public static final ResourceLocation dornier_1_tex = new ResourceLocation(RefStrings.MODID, "textures/models/dornier_1.png"); public static final ResourceLocation dornier_1_tex = new ResourceLocation(RefStrings.MODID, "textures/models/dornier_1.png");
public static final ResourceLocation dornier_2_tex = new ResourceLocation(RefStrings.MODID, "textures/models/dornier_2.png"); public static final ResourceLocation dornier_2_tex = new ResourceLocation(RefStrings.MODID, "textures/models/dornier_2.png");
public static final ResourceLocation dornier_3_tex = new ResourceLocation(RefStrings.MODID, "textures/models/dornier_3.png");
public static final ResourceLocation dornier_4_tex = new ResourceLocation(RefStrings.MODID, "textures/models/dornier_4.png"); public static final ResourceLocation dornier_4_tex = new ResourceLocation(RefStrings.MODID, "textures/models/dornier_4.png");
public static final ResourceLocation b29_0_tex = new ResourceLocation(RefStrings.MODID, "textures/models/b29_0.png"); public static final ResourceLocation b29_0_tex = new ResourceLocation(RefStrings.MODID, "textures/models/b29_0.png");
public static final ResourceLocation b29_1_tex = new ResourceLocation(RefStrings.MODID, "textures/models/b29_1.png"); public static final ResourceLocation b29_1_tex = new ResourceLocation(RefStrings.MODID, "textures/models/b29_1.png");

View File

@ -28,36 +28,16 @@ public class RenderBomber extends Render {
int i = entity.getDataWatcher().getWatchableObjectByte(16); int i = entity.getDataWatcher().getWatchableObjectByte(16);
switch(i) { switch(i) {
case 0: case 0: bindTexture(ResourceManager.dornier_1_tex); break;
bindTexture(ResourceManager.dornier_0_tex); case 1: bindTexture(ResourceManager.dornier_1_tex); break;
break; case 2: bindTexture(ResourceManager.dornier_2_tex); break;
case 1: case 3: bindTexture(ResourceManager.dornier_1_tex); break;
bindTexture(ResourceManager.dornier_1_tex); case 4: bindTexture(ResourceManager.dornier_4_tex); break;
break; case 5: bindTexture(ResourceManager.b29_0_tex); break;
case 2: case 6: bindTexture(ResourceManager.b29_1_tex); break;
bindTexture(ResourceManager.dornier_2_tex); case 7: bindTexture(ResourceManager.b29_2_tex); break;
break; case 8: bindTexture(ResourceManager.b29_3_tex); break;
case 3: default: bindTexture(ResourceManager.dornier_1_tex); break;
bindTexture(ResourceManager.dornier_3_tex);
break;
case 4:
bindTexture(ResourceManager.dornier_4_tex);
break;
case 5:
bindTexture(ResourceManager.b29_0_tex);
break;
case 6:
bindTexture(ResourceManager.b29_1_tex);
break;
case 7:
bindTexture(ResourceManager.b29_2_tex);
break;
case 8:
bindTexture(ResourceManager.b29_3_tex);
break;
default:
bindTexture(ResourceManager.dornier_1_tex);
break;
} }
GL11.glRotatef((float) Math.sin((entity.ticksExisted + interp) * 0.05) * 10, 1F, 0F, 0F); GL11.glRotatef((float) Math.sin((entity.ticksExisted + interp) * 0.05) * 10, 1F, 0F, 0F);

View File

@ -11,6 +11,7 @@ import com.hbm.items.weapon.sedna.mags.IMagazine;
import com.hbm.main.MainRegistry; import com.hbm.main.MainRegistry;
import com.hbm.main.ResourceManager; import com.hbm.main.ResourceManager;
import com.hbm.render.anim.HbmAnimations; import com.hbm.render.anim.HbmAnimations;
import com.hbm.util.EntityDamageUtil;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.FontRenderer; import net.minecraft.client.gui.FontRenderer;
@ -19,6 +20,7 @@ import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.EnumChatFormatting;
import net.minecraft.util.MathHelper; import net.minecraft.util.MathHelper;
import net.minecraft.util.MovingObjectPosition;
public class ItemRenderFolly extends ItemRenderWeaponBase { public class ItemRenderFolly extends ItemRenderWeaponBase {
@ -225,13 +227,24 @@ public class ItemRenderFolly extends ItemRenderWeaponBase {
List<String> tty = new ArrayList(); List<String> tty = new ArrayList();
long now = System.currentTimeMillis(); long now = System.currentTimeMillis();
int time = (int)((now - timeAiming)); int time = (int)((now - timeAiming));
if(time > 3000) return tty; if(time < 3000) {
if(time > 250) tty.add(EnumChatFormatting.GREEN + "POST successful - Code 0"); if(time > 250) tty.add(EnumChatFormatting.GREEN + "POST successful - Code 0");
if(time > 500) tty.add(EnumChatFormatting.GREEN + "8,388,608 bytes of RAM installed"); if(time > 500) tty.add(EnumChatFormatting.GREEN + "8,388,608 bytes of RAM installed");
if(time > 500) tty.add(EnumChatFormatting.GREEN + "5,187,427 bytes available"); if(time > 500) tty.add(EnumChatFormatting.GREEN + "5,187,427 bytes available");
if(time > 750) tty.add(EnumChatFormatting.GREEN + "Reticulating splines..."); if(time > 750) tty.add(EnumChatFormatting.GREEN + "Reticulating splines...");
if(time > 1500) tty.add(EnumChatFormatting.GREEN + "No keyboard found!"); if(time > 1500) tty.add(EnumChatFormatting.GREEN + "No keyboard found!");
if(time > 2000) tty.add(EnumChatFormatting.GREEN + "Booting from /dev/sda1..."); if(time > 2000) tty.add(EnumChatFormatting.GREEN + "Booting from /dev/sda1...");
}
if(time > 5000) {
EntityPlayer player = MainRegistry.proxy.me();
MovingObjectPosition mop = EntityDamageUtil.getMouseOver(player, 250);
String target = EnumChatFormatting.GREEN + "Target: ";
if(mop.typeOfHit == mop.typeOfHit.MISS) target += "N/A";
if(mop.typeOfHit == mop.typeOfHit.BLOCK) target += mop.blockX + "/" + mop.blockY + "/" + mop.blockZ;
if(mop.typeOfHit == mop.typeOfHit.ENTITY) target += mop.entityHit.getCommandSenderName();
tty.add(target);
tty.add(EnumChatFormatting.GREEN + "Angle: " + ((int)(-player.rotationPitch * 100) / 100D));
}
return tty; return tty;
} }
} }

View File

@ -127,6 +127,8 @@ public class ItemRenderMareslegAkimbo extends ItemRenderWeaponBase {
@Override @Override
public void setupInv(ItemStack stack) { public void setupInv(ItemStack stack) {
GL11.glAlphaFunc(GL11.GL_GREATER, 0F);
GL11.glEnable(GL11.GL_ALPHA_TEST);
GL11.glScaled(1, 1, -1); GL11.glScaled(1, 1, -1);
GL11.glTranslated(8, 8, 0); GL11.glTranslated(8, 8, 0);
double scale = 2.5D; double scale = 2.5D;

View File

@ -0,0 +1,204 @@
package com.hbm.render.item.weapon.sedna;
import org.lwjgl.opengl.GL11;
import com.hbm.items.weapon.sedna.ItemGunBaseNT;
import com.hbm.main.ResourceManager;
import com.hbm.render.anim.HbmAnimations;
import net.minecraft.client.Minecraft;
import net.minecraft.item.ItemStack;
public class ItemRenderUziAkimbo extends ItemRenderWeaponBase {
@Override public boolean isAkimbo() { return true; }
@Override
protected float getTurnMagnitude(ItemStack stack) { return ItemGunBaseNT.getIsAiming(stack) ? 2.5F : -0.25F; }
@Override
public float getViewFOV(ItemStack stack, float fov) {
float aimingProgress = ItemGunBaseNT.prevAimingProgress + (ItemGunBaseNT.aimingProgress - ItemGunBaseNT.prevAimingProgress) * interp;
return fov * (1 - aimingProgress * 0.33F);
}
@Override
public void setupFirstPerson(ItemStack stack) {
GL11.glTranslated(0, 0, 0.875);
}
@Override
public void renderFirstPerson(ItemStack stack) {
ItemGunBaseNT gun = (ItemGunBaseNT) stack.getItem();
float offset = 0.8F;
for(int i = -1; i <= 1; i += 2) {
Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.uzi_tex);
GL11.glPushMatrix();
int index = i == -1 ? 0 : 1;
standardAimingTransform(stack, -2.25F * offset * i, -1.5F * offset, 2.5F * offset, 0, -4.375 / 8D, 1);
double scale = 0.25D;
GL11.glScaled(scale, scale, scale);
double[] equip = HbmAnimations.getRelevantTransformation("EQUIP", index);
double[] stockFront = HbmAnimations.getRelevantTransformation("STOCKFRONT", index);
double[] stockBack = HbmAnimations.getRelevantTransformation("STOCKBACK", index);
double[] recoil = HbmAnimations.getRelevantTransformation("RECOIL", index);
double[] lift = HbmAnimations.getRelevantTransformation("LIFT", index);
double[] mag = HbmAnimations.getRelevantTransformation("MAG", index);
double[] bullet = HbmAnimations.getRelevantTransformation("BULLET", index);
double[] slide = HbmAnimations.getRelevantTransformation("SLIDE", index);
double[] yeet = HbmAnimations.getRelevantTransformation("YEET", index);
double[] speen = HbmAnimations.getRelevantTransformation("SPEEN", index);
GL11.glTranslated(yeet[0], yeet[1], yeet[2]);
GL11.glRotated(speen[0], 0, 0, 1);
GL11.glTranslated(0, -2, -4);
GL11.glRotated(equip[0], 1, 0, 0);
GL11.glTranslated(0, 2, 4);
GL11.glTranslated(0, 0, -6);
GL11.glRotated(lift[0], 1, 0, 0);
GL11.glTranslated(0, 0, 6);
GL11.glTranslated(0, 0, recoil[2]);
GL11.glShadeModel(GL11.GL_SMOOTH);
ResourceManager.uzi.renderPart(index == 0 ? "GunMirror" : "Gun");
GL11.glPushMatrix();
GL11.glTranslated(0, 0.3125D, -5.75);
GL11.glRotated(180 - stockFront[0], 1, 0, 0);
GL11.glTranslated(0, -0.3125D, 5.75);
ResourceManager.uzi.renderPart("StockFront");
GL11.glTranslated(0, -0.3125D, -3);
GL11.glRotated(-200 - stockBack[0], 1, 0, 0);
GL11.glTranslated(0, 0.3125D, 3);
ResourceManager.uzi.renderPart("StockBack");
GL11.glPopMatrix();
GL11.glPushMatrix();
GL11.glTranslated(0, 0, slide[2]);
ResourceManager.uzi.renderPart("Slide");
GL11.glPopMatrix();
GL11.glPushMatrix();
GL11.glTranslated(mag[0], mag[1], mag[2]);
ResourceManager.uzi.renderPart("Magazine");
if(bullet[0] == 1) ResourceManager.uzi.renderPart("Bullet");
GL11.glPopMatrix();
double smokeScale = 0.5;
GL11.glPushMatrix();
GL11.glTranslated(0, 0.75, 8.5);
GL11.glRotated(90, 0, 1, 0);
GL11.glScaled(smokeScale, smokeScale, smokeScale);
this.renderSmokeNodes(gun.getConfig(stack, index).smokeNodes, 0.75D);
GL11.glPopMatrix();
GL11.glShadeModel(GL11.GL_FLAT);
GL11.glPushMatrix();
GL11.glTranslated(0, 0.75, 8.5);
GL11.glRotated(90, 0, 1, 0);
GL11.glRotated(90 * gun.shotRand, 1, 0, 0);
this.renderMuzzleFlash(gun.lastShot[index], 75, 7.5);
GL11.glPopMatrix();
GL11.glPopMatrix();
}
}
@Override
public void setupThirdPerson(ItemStack stack) {
super.setupThirdPerson(stack);
GL11.glTranslated(0, 1, 1);
}
@Override
public void setupThirdPersonAkimbo(ItemStack stack) {
super.setupThirdPersonAkimbo(stack);
GL11.glTranslated(0, 1, 1);
}
@Override
public void setupInv(ItemStack stack) {
GL11.glAlphaFunc(GL11.GL_GREATER, 0F);
GL11.glEnable(GL11.GL_ALPHA_TEST);
GL11.glScaled(1, 1, -1);
GL11.glTranslated(8, 8, 0);
double scale = 1.5D;
GL11.glScaled(scale, scale, scale);
}
@Override
public void renderEquipped(ItemStack stack) {
GL11.glShadeModel(GL11.GL_SMOOTH);
Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.uzi_tex);
ResourceManager.uzi.renderPart("Gun");
ResourceManager.uzi.renderPart("StockBack");
ResourceManager.uzi.renderPart("StockFront");
ResourceManager.uzi.renderPart("Slide");
ResourceManager.uzi.renderPart("Magazine");
GL11.glShadeModel(GL11.GL_FLAT);
}
@Override
public void renderEquippedAkimbo(ItemStack stack) {
GL11.glShadeModel(GL11.GL_SMOOTH);
Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.uzi_tex);
ResourceManager.uzi.renderPart("GunMirror");
ResourceManager.uzi.renderPart("StockBack");
ResourceManager.uzi.renderPart("StockFront");
ResourceManager.uzi.renderPart("Slide");
ResourceManager.uzi.renderPart("Magazine");
GL11.glShadeModel(GL11.GL_FLAT);
}
@Override
public void renderOther(ItemStack stack, ItemRenderType type) {
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glShadeModel(GL11.GL_SMOOTH);
Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.uzi_tex);
GL11.glPushMatrix();
GL11.glRotated(225, 0, 0, 1);
GL11.glRotated(90, 0, 1, 0);
GL11.glRotated(25, 1, 0, 0);
GL11.glRotated(45, 0, 1, 0);
GL11.glTranslated(0, 1, 0);
ResourceManager.uzi.renderPart("Gun");
ResourceManager.uzi.renderPart("StockBack");
ResourceManager.uzi.renderPart("StockFront");
ResourceManager.uzi.renderPart("Slide");
ResourceManager.uzi.renderPart("Magazine");
GL11.glPopMatrix();
GL11.glTranslated(0, 0, 5);
GL11.glPushMatrix();
GL11.glRotated(225, 0, 0, 1);
GL11.glRotated(-90, 0, 1, 0);
GL11.glRotated(-90, 1, 0, 0);
GL11.glRotated(25, 1, 0, 0);
GL11.glRotated(-45, 0, 1, 0);
GL11.glTranslated(0, 1, 0);
ResourceManager.uzi.renderPart("GunMirror");
ResourceManager.uzi.renderPart("StockBack");
ResourceManager.uzi.renderPart("StockFront");
ResourceManager.uzi.renderPart("Slide");
ResourceManager.uzi.renderPart("Magazine");
GL11.glPopMatrix();
GL11.glShadeModel(GL11.GL_FLAT);
}
}

View File

@ -4,12 +4,16 @@ import java.util.HashMap;
import com.hbm.util.Tuple.Quartet; import com.hbm.util.Tuple.Quartet;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import net.minecraft.entity.Entity; import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.monster.EntityCreeper;
import net.minecraft.item.Item; import net.minecraft.item.Item;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.util.DamageSource; import net.minecraft.util.DamageSource;
import net.minecraft.util.MathHelper; import net.minecraft.util.MathHelper;
import net.minecraftforge.event.entity.living.LivingAttackEvent;
import net.minecraftforge.event.entity.living.LivingHurtEvent;
/** /**
* Basic handling/registry class for our custom resistance stats. * Basic handling/registry class for our custom resistance stats.
@ -18,19 +22,73 @@ import net.minecraft.util.MathHelper;
* @author hbm * @author hbm
*/ */
public class DamageResistanceHandler { public class DamageResistanceHandler {
/** Currently cached DT reduction */
public static float currentPDT = 0F;
/** Currently cached armor piercing % */
public static float currentPDR = 0F;
public static final String KEY_EXPLOSION = "EXPL";
public static HashMap<Item, ResistanceStats> itemStats = new HashMap(); public static HashMap<Item, ResistanceStats> itemStats = new HashMap();
public static HashMap<Quartet<Item, Item, Item, Item>, ResistanceStats> setStats = new HashMap(); public static HashMap<Quartet<Item, Item, Item, Item>, ResistanceStats> setStats = new HashMap();
public static HashMap<Class<? extends Entity>, ResistanceStats> entityStats = new HashMap(); public static HashMap<Class<? extends Entity>, ResistanceStats> entityStats = new HashMap();
public static void init() { public static void init() {
entityStats.put(EntityCreeper.class, new ResistanceStats().add(KEY_EXPLOSION, 2F, 0.5F));
}
public static void setup(float dt, float dr) {
currentPDT = dt;
currentPDR = dr;
}
public static void reset() {
currentPDT = 0;
currentPDR = 0;
}
@SubscribeEvent
public void onEntityAttacked(LivingAttackEvent event) {
EntityLivingBase e = event.entityLiving;
float amount = event.ammount;
float[] vals = getDTDR(e, event.source, amount, currentPDT, currentPDR);
float dt = vals[0];
if(dt > 0 && dt >= event.ammount) event.setCanceled(true);
}
@SubscribeEvent
public void onEntityDamaged(LivingHurtEvent event) {
event.ammount = calculateDamage(event.entityLiving, event.source, event.ammount, currentPDT, currentPDR);
}
public static String typeToKey(DamageSource source) {
if(source.isExplosion()) return KEY_EXPLOSION;
return source.damageType;
} }
public static float calculateDamage(EntityLivingBase entity, DamageSource damage, float amount, float pierceDT, float pierce) { public static float calculateDamage(EntityLivingBase entity, DamageSource damage, float amount, float pierceDT, float pierce) {
if(damage.isDamageAbsolute() || damage.isUnblockable()) return amount; if(damage.isDamageAbsolute() || damage.isUnblockable()) return amount;
String key = damage.damageType; float[] vals = getDTDR(entity, damage, amount, pierceDT, pierce);
float dt = vals[0];
float dr = vals[1];
dt = Math.max(0F, dt - pierceDT);
if(dt >= amount) return 0F;
amount -= dt;
dr *= MathHelper.clamp_float(1F - pierce, 0F, 1F);
System.out.println(dt + " " + dr);
return amount *= (1F - dr);
}
public static float[] getDTDR(EntityLivingBase entity, DamageSource damage, float amount, float pierceDT, float pierce) {
String key = typeToKey(damage);
float dt = 0; float dt = 0;
float dr = 0; float dr = 0;
@ -72,14 +130,8 @@ public class DamageResistanceHandler {
dr += res.resistance; dr += res.resistance;
} }
} }
/// MATH ///
dt = Math.max(0F, dt - pierceDT);
if(dt <= amount) return 0F;
amount -= dt;
dr *= MathHelper.clamp_float(1F - pierce, 0F, 1F);
return amount *= (1F - dr); return new float[] {dt, dr};
} }
public static class ResistanceStats { public static class ResistanceStats {

View File

@ -20,27 +20,6 @@ import net.minecraftforge.common.ForgeHooks;
public class EntityDamageUtil { public class EntityDamageUtil {
/**
* Attacks the given entity twice, based on a piercing percentage. The second hit sets the damage source to bypass armor.
* The damage source is modified, so you can't reuse damage source instances.
*/
@Deprecated public static boolean attackEntityFromArmorPiercing(Entity victim, DamageSource src, float damage, float piercing) {
if(src.isUnblockable() || piercing == 0) return victim.attackEntityFrom(src, damage);
if(piercing == 1) {
src.setDamageBypassesArmor();
return victim.attackEntityFrom(src, damage);
}
boolean ret = false;
ret |= victim.attackEntityFrom(src, damage * (1F - piercing));
src.setDamageBypassesArmor();
ret |= victim.attackEntityFrom(src, damage * piercing);
return ret;
}
public static boolean attackEntityFromIgnoreIFrame(Entity victim, DamageSource src, float damage) { public static boolean attackEntityFromIgnoreIFrame(Entity victim, DamageSource src, float damage) {
if(!victim.attackEntityFrom(src, damage)) { if(!victim.attackEntityFrom(src, damage)) {
@ -58,24 +37,14 @@ public class EntityDamageUtil {
} }
} }
@Deprecated public static float getDamageAfterTax(EntityLivingBase living, DamageSource source, float amount) { public static boolean attackEntityFromNT(EntityLivingBase living, DamageSource source, float amount, boolean ignoreIFrame, boolean allowSpecialCancel, double knockbackMultiplier, float pierceDT, float pierce) {
amount = ForgeHooks.onLivingHurt(living, source, amount); DamageResistanceHandler.setup(pierceDT, pierce);
if(amount <= 0) return 0; boolean ret = attackEntityFromNTInternal(living, source, amount, ignoreIFrame, allowSpecialCancel, knockbackMultiplier);
amount = applyArmorCalculations(living, source, amount); DamageResistanceHandler.reset();
return amount; return ret;
} }
@Deprecated public static boolean attackArmorPiercing(EntityLivingBase living, DamageSource sourceDamageCalc, DamageSource sourceArmorPiercing, float amount, float piercing) { private static boolean attackEntityFromNTInternal(EntityLivingBase living, DamageSource source, float amount, boolean ignoreIFrame, boolean allowSpecialCancel, double knockbackMultiplier) {
if(piercing <= 0) return living.attackEntityFrom(sourceDamageCalc, amount);
//damage intended to pass the armor
float afterTax = getDamageAfterTax(living, sourceDamageCalc, amount);
//damage removed by the calculation
float reduced = Math.max(amount - afterTax, 0F);
//damage that would pass + damage tthat wouldn't pass * AP percentage
return attackEntityFromIgnoreIFrame(living, sourceArmorPiercing, Math.max(afterTax + (reduced * piercing), 0F));
}
public static boolean attackEntityFromNT(EntityLivingBase living, DamageSource source, float amount, boolean ignoreIFrame, boolean allowSpecialCancel, double knockbackMultiplier) {
if(ForgeHooks.onLivingAttack(living, source, amount) && allowSpecialCancel) return false; if(ForgeHooks.onLivingAttack(living, source, amount) && allowSpecialCancel) return false;
if(living.isEntityInvulnerable()) return false; if(living.isEntityInvulnerable()) return false;
if(living.worldObj.isRemote) return false; if(living.worldObj.isRemote) return false;
@ -89,14 +58,14 @@ public class EntityDamageUtil {
if(living.hurtResistantTime > living.maxHurtResistantTime / 2.0F && !ignoreIFrame) { if(living.hurtResistantTime > living.maxHurtResistantTime / 2.0F && !ignoreIFrame) {
if(amount <= living.lastDamage) { return false; } if(amount <= living.lastDamage) { return false; }
damageEntityNT(living, source, amount - living.lastDamage); //TODO: override damageEntityNT(living, source, amount - living.lastDamage);
living.lastDamage = amount; living.lastDamage = amount;
didAttackRegister = false; didAttackRegister = false;
} else { } else {
living.lastDamage = amount; living.lastDamage = amount;
living.prevHealth = living.getHealth(); living.prevHealth = living.getHealth();
living.hurtResistantTime = living.maxHurtResistantTime; living.hurtResistantTime = living.maxHurtResistantTime;
damageEntityNT(living, source, amount); //TODO: override damageEntityNT(living, source, amount);
living.hurtTime = living.maxHurtTime = 10; living.hurtTime = living.maxHurtTime = 10;
} }

View File

@ -1150,9 +1150,12 @@ item.ammo_shell.name=240mm Geschoss
item.ammo_shell_apfsds_du.name=240mm APFSDS-DU item.ammo_shell_apfsds_du.name=240mm APFSDS-DU
item.ammo_shell_apfsds_t.name=240mm APFSDS-T item.ammo_shell_apfsds_t.name=240mm APFSDS-T
item.ammo_shell_explosive.name=240mm HE-Geschoss item.ammo_shell_explosive.name=240mm HE-Geschoss
item.ammo_secret.bmg50_equestrian.name=.50 BMG Zerstörer
item.ammo_secret.folly_sm.name=Silberne Kugel
item.ammo_secret.g12_equestrian.name=Kaliber 12 Gleisnägel
item.ammo_secret.m44_equestrian.name=.44 Magnum Schädelsprenger
item.ammo_standard.bmg50_ap.name=.50 BMG Patrone (Panzerbrechend) item.ammo_standard.bmg50_ap.name=.50 BMG Patrone (Panzerbrechend)
item.ammo_standard.bmg50_du.name=.50 BMG Patrone (Urangeschoss) item.ammo_standard.bmg50_du.name=.50 BMG Patrone (Urangeschoss)
item.ammo_standard.bmg50_equestrian.name=.50 BMG Zerstörer
item.ammo_standard.bmg50_fmj.name=.50 BMG Patrone (Vollmantelgeschoss) item.ammo_standard.bmg50_fmj.name=.50 BMG Patrone (Vollmantelgeschoss)
item.ammo_standard.bmg50_jhp.name=.50 BMG Patrone (Hohlspitz) item.ammo_standard.bmg50_jhp.name=.50 BMG Patrone (Hohlspitz)
item.ammo_standard.bmg50_sp.name=.50 BMG Patrone (Teilmantelgeschoss) item.ammo_standard.bmg50_sp.name=.50 BMG Patrone (Teilmantelgeschoss)
@ -1165,7 +1168,6 @@ item.ammo_standard.g12_anthrax.name=Kaliber 12 Anthrax
item.ammo_standard.g12_bp.name=Kaliber 12 Schwarzpulver item.ammo_standard.g12_bp.name=Kaliber 12 Schwarzpulver
item.ammo_standard.g12_bp_magnum.name=Kaliber 12 Schwarzpulver Magnum item.ammo_standard.g12_bp_magnum.name=Kaliber 12 Schwarzpulver Magnum
item.ammo_standard.g12_bp_slug.name=Kaliber 12 Schwarzpulver Laufgeschoss item.ammo_standard.g12_bp_slug.name=Kaliber 12 Schwarzpulver Laufgeschoss
item.ammo_standard.g12_equestrian.name=Kaliber 12 Gleisnägel
item.ammo_standard.g12_explosive.name=Kaliber 12 Explosivgeschoss item.ammo_standard.g12_explosive.name=Kaliber 12 Explosivgeschoss
item.ammo_standard.g12_flechette.name=Kaliber 12 Flechett item.ammo_standard.g12_flechette.name=Kaliber 12 Flechett
item.ammo_standard.g12_magnum.name=Kaliber 12 Magnum item.ammo_standard.g12_magnum.name=Kaliber 12 Magnum
@ -1186,7 +1188,6 @@ item.ammo_standard.m357_jhp.name=.357 Magnumkugel (Hohlspitz)
item.ammo_standard.m357_sp.name=.357 Magnumkugel (Teilmantelgeschoss) item.ammo_standard.m357_sp.name=.357 Magnumkugel (Teilmantelgeschoss)
item.ammo_standard.m44_ap.name=.44 Magnumkugel (Panzerbrechend) item.ammo_standard.m44_ap.name=.44 Magnumkugel (Panzerbrechend)
item.ammo_standard.m44_bp.name=.44 Magnumkugel (Schwarzpulver) item.ammo_standard.m44_bp.name=.44 Magnumkugel (Schwarzpulver)
item.ammo_standard.m44_equestrian.name=.44 Magnum Schädelsprenger
item.ammo_standard.m44_express.name=.44 Magnumkugel (VMG Express) item.ammo_standard.m44_express.name=.44 Magnumkugel (VMG Express)
item.ammo_standard.m44_fmj.name=.44 Magnumkugel (Vollmantelgeschoss) item.ammo_standard.m44_fmj.name=.44 Magnumkugel (Vollmantelgeschoss)
item.ammo_standard.m44_jhp.name=.44 Magnumkugel (Hohlspitz) item.ammo_standard.m44_jhp.name=.44 Magnumkugel (Hohlspitz)
@ -2171,7 +2172,7 @@ item.gun_fireext.name=Feuerlöscher
item.gun_flamer.name=Flammenwerfer item.gun_flamer.name=Flammenwerfer
item.gun_flaregun.name=Signalpistole item.gun_flaregun.name=Signalpistole
item.gun_flechette.name=Flechet-Gewehr item.gun_flechette.name=Flechet-Gewehr
item.gun_folly.name=Prototyp Digamma "Irrsinn" item.gun_folly.name=Folly
item.gun_g3.name=Sturmgewehr item.gun_g3.name=Sturmgewehr
item.gun_greasegun.name=Grease Gun item.gun_greasegun.name=Grease Gun
item.gun_hangman.name=Hangman item.gun_hangman.name=Hangman
@ -2268,6 +2269,7 @@ item.gun_uac_pistol.name=UAC .45 Pistole
item.gun_uboinik.name=Ubojnik item.gun_uboinik.name=Ubojnik
item.gun_uboinik_ammo.name=12x70 Schrotmunition (LEGACY) item.gun_uboinik_ammo.name=12x70 Schrotmunition (LEGACY)
item.gun_uzi.name=Uzi item.gun_uzi.name=Uzi
item.gun_uzi_akimbo.name=Uzis
item.gun_uzi_ammo.name=.22 lfB Patrone (LEGACY) item.gun_uzi_ammo.name=.22 lfB Patrone (LEGACY)
item.gun_uzi_saturnite.name=Saturnit-Uzi item.gun_uzi_saturnite.name=Saturnit-Uzi
item.gun_uzi_saturnite_silencer.name=Saturnit-Uzi mit Schalldämpfer item.gun_uzi_saturnite_silencer.name=Saturnit-Uzi mit Schalldämpfer

View File

@ -1873,9 +1873,12 @@ item.ammo_shell_apfsds_du.name=240mm APFSDS-DU
item.ammo_shell_apfsds_t.name=240mm APFSDS-T item.ammo_shell_apfsds_t.name=240mm APFSDS-T
item.ammo_shell_explosive.name=240mm HE Shell item.ammo_shell_explosive.name=240mm HE Shell
item.ammo_shell_w9.name=240mm W9 Nuclear Shell item.ammo_shell_w9.name=240mm W9 Nuclear Shell
item.ammo_secret.bmg50_equestrian.name=.50 BMG Demolisher
item.ammo_secret.folly_sm.name=Silver Bullet
item.ammo_secret.g12_equestrian.name=12 Gauge Railway Spike Shot
item.ammo_secret.m44_equestrian.name=.44 Magnum Head-Exploder
item.ammo_standard.bmg50_ap.name=.50 BMG Round (Armor Piercing) item.ammo_standard.bmg50_ap.name=.50 BMG Round (Armor Piercing)
item.ammo_standard.bmg50_du.name=.50 BMG Round (Depleted Uranium) item.ammo_standard.bmg50_du.name=.50 BMG Round (Depleted Uranium)
item.ammo_standard.bmg50_equestrian.name=.50 BMG Demolisher
item.ammo_standard.bmg50_fmj.name=.50 BMG Round (Full Metal Jacket) item.ammo_standard.bmg50_fmj.name=.50 BMG Round (Full Metal Jacket)
item.ammo_standard.bmg50_jhp.name=.50 BMG Round (Jacketed Hollow Point) item.ammo_standard.bmg50_jhp.name=.50 BMG Round (Jacketed Hollow Point)
item.ammo_standard.bmg50_sp.name=.50 BMG Round (Soft Point) item.ammo_standard.bmg50_sp.name=.50 BMG Round (Soft Point)
@ -1888,7 +1891,6 @@ item.ammo_standard.g12_anthrax.name=12 Gauge Anthrax Shell
item.ammo_standard.g12_bp.name=12 Gauge Black Powder Buckshot item.ammo_standard.g12_bp.name=12 Gauge Black Powder Buckshot
item.ammo_standard.g12_bp_magnum.name=12 Gauge Black Powder Magnum Shell item.ammo_standard.g12_bp_magnum.name=12 Gauge Black Powder Magnum Shell
item.ammo_standard.g12_bp_slug.name=12 Gauge Black Powder Slug item.ammo_standard.g12_bp_slug.name=12 Gauge Black Powder Slug
item.ammo_standard.g12_equestrian.name=12 Gauge Railway Spike Shot
item.ammo_standard.g12_explosive.name=12 Gauge Explosive Shell item.ammo_standard.g12_explosive.name=12 Gauge Explosive Shell
item.ammo_standard.g12_flechette.name=12 Gauge Flechette Shell item.ammo_standard.g12_flechette.name=12 Gauge Flechette Shell
item.ammo_standard.g12_magnum.name=12 Gauge Magnum Shell item.ammo_standard.g12_magnum.name=12 Gauge Magnum Shell
@ -1909,7 +1911,6 @@ item.ammo_standard.m357_jhp.name=.357 Magnum Round (Jacketed Hollow Point)
item.ammo_standard.m357_sp.name=.357 Magnum Round (Soft Point) item.ammo_standard.m357_sp.name=.357 Magnum Round (Soft Point)
item.ammo_standard.m44_ap.name=.44 Magnum Round (Armor Piercing) item.ammo_standard.m44_ap.name=.44 Magnum Round (Armor Piercing)
item.ammo_standard.m44_bp.name=.44 Magnum Round (Black Powder) item.ammo_standard.m44_bp.name=.44 Magnum Round (Black Powder)
item.ammo_standard.m44_equestrian.name=.44 Magnum Head-Exploder
item.ammo_standard.m44_express.name=.44 Magnum Round (FMJ Express) item.ammo_standard.m44_express.name=.44 Magnum Round (FMJ Express)
item.ammo_standard.m44_fmj.name=.44 Magnum Round (Full Metal Jacket) item.ammo_standard.m44_fmj.name=.44 Magnum Round (Full Metal Jacket)
item.ammo_standard.m44_jhp.name=.44 Magnum Round (Jacketed Hollow Point) item.ammo_standard.m44_jhp.name=.44 Magnum Round (Jacketed Hollow Point)
@ -2979,7 +2980,7 @@ item.gun_fireext.name=Fire Extinguisher
item.gun_flamer.name=Flamethrower item.gun_flamer.name=Flamethrower
item.gun_flaregun.name=Flare Gun item.gun_flaregun.name=Flare Gun
item.gun_flechette.name=Flechette Rifle item.gun_flechette.name=Flechette Rifle
item.gun_folly.name=Prototype Digamma "Folly" item.gun_folly.name=Folly
item.gun_g3.name=Assault Rifle item.gun_g3.name=Assault Rifle
item.gun_glass_cannon.name=The Glass Cannon item.gun_glass_cannon.name=The Glass Cannon
item.gun_greasegun.name=Grease Gun item.gun_greasegun.name=Grease Gun
@ -3078,6 +3079,7 @@ item.gun_uac_pistol.name=UAC .45 Pistol
item.gun_uboinik.name=Uboinik item.gun_uboinik.name=Uboinik
item.gun_uboinik_ammo.name=12x70 Buckshot (LEGACY) item.gun_uboinik_ammo.name=12x70 Buckshot (LEGACY)
item.gun_uzi.name=Uzi item.gun_uzi.name=Uzi
item.gun_uzi_akimbo.name=Uzis
item.gun_uzi_ammo.name=.22 LR Round (LEGACY) item.gun_uzi_ammo.name=.22 LR Round (LEGACY)
item.gun_uzi_saturnite.name=Saturnite Uzi item.gun_uzi_saturnite.name=Saturnite Uzi
item.gun_uzi_saturnite_silencer.name=Saturnite Uzi with Silencer item.gun_uzi_saturnite_silencer.name=Saturnite Uzi with Silencer

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 311 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 811 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 437 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 653 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 786 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 629 B