diff --git a/src/main/java/com/hbm/handler/GunConfiguration.java b/src/main/java/com/hbm/handler/GunConfiguration.java index af2056e54..3fa4ff1a7 100644 --- a/src/main/java/com/hbm/handler/GunConfiguration.java +++ b/src/main/java/com/hbm/handler/GunConfiguration.java @@ -5,6 +5,7 @@ import java.util.HashMap; import java.util.List; import java.util.Optional; +import com.hbm.lib.HbmCollection.EnumGunManufacturer; import com.hbm.render.anim.BusAnimation; import com.hbm.render.anim.HbmAnimations.AnimType; import com.hbm.render.util.RenderScreenOverlay.Crosshair; @@ -77,7 +78,7 @@ public class GunConfiguration implements Cloneable { public Crosshair crosshair; //casing eject behavior - public Optional casingConfig = Optional.empty(); + //public Optional casingConfig = Optional.empty(); public static final int MODE_NORMAL = 0; public static final int MODE_RELEASE = 1; diff --git a/src/main/java/com/hbm/handler/guncfg/Gun12GaugeFactory.java b/src/main/java/com/hbm/handler/guncfg/Gun12GaugeFactory.java index 1ab0b2d26..52d2114be 100644 --- a/src/main/java/com/hbm/handler/guncfg/Gun12GaugeFactory.java +++ b/src/main/java/com/hbm/handler/guncfg/Gun12GaugeFactory.java @@ -7,7 +7,10 @@ import com.hbm.handler.BulletConfigSyncingUtil; import com.hbm.handler.BulletConfiguration; import com.hbm.handler.GunConfiguration; import com.hbm.interfaces.IBulletHurtBehavior; +import com.hbm.inventory.RecipesCommon.ComparableStack; import com.hbm.items.ModItems; +import com.hbm.lib.HbmCollection; +import com.hbm.lib.HbmCollection.EnumGunManufacturer; import com.hbm.potion.HbmPotion; import com.hbm.render.anim.BusAnimation; import com.hbm.render.anim.BusAnimationKeyframe; @@ -39,18 +42,12 @@ public class Gun12GaugeFactory { config.reloadSound = GunConfiguration.RSOUND_SHOTGUN; config.firingSound = "hbm:weapon.shotgunPump"; - config.name = "Franchi SPAS-12"; - config.manufacturer = "Black Mesa Armory"; + config.name = "spas12"; + config.manufacturer = EnumGunManufacturer.BLACK_MESA; config.comment.add("\"Here, I have a more suitable gun for you. You'll need it - Catch!\""); config.comment.add("Alt-fire with Mouse 2 (Right-click) to fire 2 shells at once"); - config.config = new ArrayList(); - config.config.add(BulletConfigSyncingUtil.G12_NORMAL); - config.config.add(BulletConfigSyncingUtil.G12_INCENDIARY); - config.config.add(BulletConfigSyncingUtil.G12_SHRAPNEL); - config.config.add(BulletConfigSyncingUtil.G12_DU); - config.config.add(BulletConfigSyncingUtil.G12_AM); - config.config.add(BulletConfigSyncingUtil.G12_SLEEK); + config.config = HbmCollection.twelveGauge; config.animations.put(AnimType.CYCLE, new BusAnimation() .addBus("SPAS_RECOIL_TRANSLATE", new BusAnimationSequence() @@ -115,16 +112,10 @@ public static GunConfiguration getSpas12AltConfig() { config.reloadSound = GunConfiguration.RSOUND_REVOLVER; config.firingSound = "hbm:weapon.shotgunShoot"; - config.name = "Uboinik Revolving Shotgun"; - config.manufacturer = "Metro Gunsmiths"; - - config.config = new ArrayList(); - config.config.add(BulletConfigSyncingUtil.G12_NORMAL); - config.config.add(BulletConfigSyncingUtil.G12_INCENDIARY); - config.config.add(BulletConfigSyncingUtil.G12_SHRAPNEL); - config.config.add(BulletConfigSyncingUtil.G12_DU); - config.config.add(BulletConfigSyncingUtil.G12_AM); - config.config.add(BulletConfigSyncingUtil.G12_SLEEK); + config.name = "uboinik"; + config.manufacturer = EnumGunManufacturer.METRO; + + config.config = HbmCollection.twelveGauge; return config; } @@ -171,17 +162,11 @@ public static GunConfiguration getSpas12AltConfig() { ) ); - config.name = "Double-Barreled Combat Shotgun"; - config.manufacturer = "Union Aerospace Corporation"; + config.name = "supershotty"; + config.manufacturer = EnumGunManufacturer.UAC; config.comment.add("God-damned ARCH-VILES!"); - config.config = new ArrayList(); - config.config.add(BulletConfigSyncingUtil.G12_NORMAL); - config.config.add(BulletConfigSyncingUtil.G12_INCENDIARY); - config.config.add(BulletConfigSyncingUtil.G12_SHRAPNEL); - config.config.add(BulletConfigSyncingUtil.G12_DU); - config.config.add(BulletConfigSyncingUtil.G12_AM); - config.config.add(BulletConfigSyncingUtil.G12_SLEEK); + config.config = HbmCollection.twelveGauge; return config; } @@ -190,7 +175,7 @@ public static GunConfiguration getSpas12AltConfig() { BulletConfiguration bullet = BulletConfigFactory.standardBuckshotConfig(); - bullet.ammo = ModItems.ammo_12gauge; + bullet.ammo = new ComparableStack(ModItems.ammo_12gauge, 1, 0); bullet.dmgMin = 5; bullet.dmgMax = 7; @@ -199,9 +184,9 @@ public static GunConfiguration getSpas12AltConfig() { public static BulletConfiguration get12GaugeFireConfig() { - BulletConfiguration bullet = BulletConfigFactory.standardBuckshotConfig(); - - bullet.ammo = ModItems.ammo_12gauge_incendiary; + BulletConfiguration bullet = get12GaugeConfig(); + + bullet.ammo = new ComparableStack(ModItems.ammo_12gauge, 1, 1); bullet.wear = 15; bullet.dmgMin = 5; bullet.dmgMax = 7; @@ -212,9 +197,9 @@ public static GunConfiguration getSpas12AltConfig() { public static BulletConfiguration get12GaugeShrapnelConfig() { - BulletConfiguration bullet = BulletConfigFactory.standardBuckshotConfig(); - - bullet.ammo = ModItems.ammo_12gauge_shrapnel; + BulletConfiguration bullet = get12GaugeConfig(); + + bullet.ammo = new ComparableStack(ModItems.ammo_12gauge, 1, 2); bullet.wear = 15; bullet.dmgMin = 10; bullet.dmgMax = 17; @@ -229,7 +214,7 @@ public static GunConfiguration getSpas12AltConfig() { BulletConfiguration bullet = BulletConfigFactory.standardBuckshotConfig(); - bullet.ammo = ModItems.ammo_12gauge_du; + bullet.ammo = new ComparableStack(ModItems.ammo_12gauge, 1, 3); bullet.wear = 20; bullet.dmgMin = 18; bullet.dmgMax = 22; @@ -243,7 +228,7 @@ public static GunConfiguration getSpas12AltConfig() { BulletConfiguration bullet = BulletConfigFactory.standardBuckshotConfig(); - bullet.ammo = ModItems.ammo_12gauge_marauder; + bullet.ammo = new ComparableStack(ModItems.ammo_12gauge, 1, 4); bullet.wear = 20; bullet.dmgMin = 100; bullet.dmgMax = 500; @@ -267,7 +252,7 @@ public static GunConfiguration getSpas12AltConfig() { BulletConfiguration bullet = BulletConfigFactory.standardAirstrikeConfig(); - bullet.ammo = ModItems.ammo_12gauge_sleek; + bullet.ammo = new ComparableStack(ModItems.ammo_12gauge, 1, 5); return bullet; } diff --git a/src/main/java/com/hbm/handler/guncfg/Gun20GaugeFactory.java b/src/main/java/com/hbm/handler/guncfg/Gun20GaugeFactory.java index 08d3d7ba9..85ddca986 100644 --- a/src/main/java/com/hbm/handler/guncfg/Gun20GaugeFactory.java +++ b/src/main/java/com/hbm/handler/guncfg/Gun20GaugeFactory.java @@ -2,10 +2,12 @@ package com.hbm.handler.guncfg; import java.util.ArrayList; -import com.hbm.handler.BulletConfigSyncingUtil; import com.hbm.handler.BulletConfiguration; import com.hbm.handler.GunConfiguration; +import com.hbm.inventory.RecipesCommon.ComparableStack; import com.hbm.items.ModItems; +import com.hbm.lib.HbmCollection; +import com.hbm.lib.HbmCollection.EnumGunManufacturer; import com.hbm.render.anim.BusAnimation; import com.hbm.render.anim.BusAnimationKeyframe; import com.hbm.render.anim.BusAnimationSequence; @@ -48,17 +50,7 @@ public class Gun20GaugeFactory { ) ); - config.config = new ArrayList(); - config.config.add(BulletConfigSyncingUtil.G20_NORMAL); - config.config.add(BulletConfigSyncingUtil.G20_SLUG); - config.config.add(BulletConfigSyncingUtil.G20_FLECHETTE); - config.config.add(BulletConfigSyncingUtil.G20_FIRE); - config.config.add(BulletConfigSyncingUtil.G20_SHRAPNEL); - config.config.add(BulletConfigSyncingUtil.G20_EXPLOSIVE); - config.config.add(BulletConfigSyncingUtil.G20_CAUSTIC); - config.config.add(BulletConfigSyncingUtil.G20_SHOCK); - config.config.add(BulletConfigSyncingUtil.G20_WITHER); - config.config.add(BulletConfigSyncingUtil.G20_SLEEK); + config.config = HbmCollection.twentyGauge; return config; } @@ -72,20 +64,10 @@ public class Gun20GaugeFactory { config.firingSound = "hbm:weapon.revolverShootAlt"; config.firingPitch = 0.75F; - config.name = "Winchester Model 1887"; - config.manufacturer = "Winchester Repeating Arms Company"; - - config.config = new ArrayList(); - config.config.add(BulletConfigSyncingUtil.G20_NORMAL); - config.config.add(BulletConfigSyncingUtil.G20_SLUG); - config.config.add(BulletConfigSyncingUtil.G20_FLECHETTE); - config.config.add(BulletConfigSyncingUtil.G20_FIRE); - config.config.add(BulletConfigSyncingUtil.G20_SHRAPNEL); - config.config.add(BulletConfigSyncingUtil.G20_EXPLOSIVE); - config.config.add(BulletConfigSyncingUtil.G20_CAUSTIC); - config.config.add(BulletConfigSyncingUtil.G20_SHOCK); - config.config.add(BulletConfigSyncingUtil.G20_WITHER); - config.config.add(BulletConfigSyncingUtil.G20_SLEEK); + config.name = "win1887"; + config.manufacturer = EnumGunManufacturer.WINCHESTER; + + config.config = HbmCollection.twentyGauge; return config; } @@ -99,20 +81,10 @@ public class Gun20GaugeFactory { config.firingSound = "hbm:weapon.revolverShootAlt"; config.firingPitch = 0.75F; - config.name = "Winchester Model 1887 Inox"; - config.manufacturer = "Winchester Repeating Arms Company"; - - config.config = new ArrayList(); - config.config.add(BulletConfigSyncingUtil.G20_NORMAL); - config.config.add(BulletConfigSyncingUtil.G20_SLUG); - config.config.add(BulletConfigSyncingUtil.G20_FLECHETTE); - config.config.add(BulletConfigSyncingUtil.G20_FIRE); - config.config.add(BulletConfigSyncingUtil.G20_SHRAPNEL); - config.config.add(BulletConfigSyncingUtil.G20_EXPLOSIVE); - config.config.add(BulletConfigSyncingUtil.G20_CAUSTIC); - config.config.add(BulletConfigSyncingUtil.G20_SHOCK); - config.config.add(BulletConfigSyncingUtil.G20_WITHER); - config.config.add(BulletConfigSyncingUtil.G20_SLEEK); + config.name = "win1887Inox"; + config.manufacturer = EnumGunManufacturer.WINCHESTER; + + config.config = HbmCollection.twentyGauge; return config; } @@ -145,20 +117,10 @@ public class Gun20GaugeFactory { ) ); - config.name = "Remington Model 700"; - config.manufacturer = "Remington Arms Company"; + config.name = "win20Inox"; + config.manufacturer = EnumGunManufacturer.WINCHESTER; - config.config = new ArrayList(); - config.config.add(BulletConfigSyncingUtil.G20_SLUG); - config.config.add(BulletConfigSyncingUtil.G20_NORMAL); - config.config.add(BulletConfigSyncingUtil.G20_FLECHETTE); - config.config.add(BulletConfigSyncingUtil.G20_FIRE); - config.config.add(BulletConfigSyncingUtil.G20_SHRAPNEL); - config.config.add(BulletConfigSyncingUtil.G20_EXPLOSIVE); - config.config.add(BulletConfigSyncingUtil.G20_CAUSTIC); - config.config.add(BulletConfigSyncingUtil.G20_SHOCK); - config.config.add(BulletConfigSyncingUtil.G20_WITHER); - config.config.add(BulletConfigSyncingUtil.G20_SLEEK); + config.config = HbmCollection.twentyGauge; return config; } @@ -191,20 +153,10 @@ public class Gun20GaugeFactory { ) ); - config.name = "Winchester Model 20 Polymer"; - config.manufacturer = "Winchester Repeating Arms Company"; + config.name = "win20Poly"; + config.manufacturer = EnumGunManufacturer.WINCHESTER; - config.config = new ArrayList(); - config.config.add(BulletConfigSyncingUtil.G20_SLUG); - config.config.add(BulletConfigSyncingUtil.G20_NORMAL); - config.config.add(BulletConfigSyncingUtil.G20_FLECHETTE); - config.config.add(BulletConfigSyncingUtil.G20_FIRE); - config.config.add(BulletConfigSyncingUtil.G20_SHRAPNEL); - config.config.add(BulletConfigSyncingUtil.G20_EXPLOSIVE); - config.config.add(BulletConfigSyncingUtil.G20_CAUSTIC); - config.config.add(BulletConfigSyncingUtil.G20_SHOCK); - config.config.add(BulletConfigSyncingUtil.G20_WITHER); - config.config.add(BulletConfigSyncingUtil.G20_SLEEK); + config.config = HbmCollection.twentyGauge; return config; } @@ -237,29 +189,20 @@ public class Gun20GaugeFactory { ) ); - config.name = "Winchester Model 20 D-25A"; - config.manufacturer = "Winchester Repeating Arms Company / Big MT"; + config.name = "win20Satur"; + config.manufacturer = EnumGunManufacturer.WINCHESTER_BIGMT; - config.config = new ArrayList(); - config.config.add(BulletConfigSyncingUtil.G20_SLUG_FIRE); - config.config.add(BulletConfigSyncingUtil.G20_NORMAL_FIRE); - config.config.add(BulletConfigSyncingUtil.G20_FLECHETTE_FIRE); - config.config.add(BulletConfigSyncingUtil.G20_FIRE); - config.config.add(BulletConfigSyncingUtil.G20_SHRAPNEL); - config.config.add(BulletConfigSyncingUtil.G20_EXPLOSIVE_FIRE); - config.config.add(BulletConfigSyncingUtil.G20_CAUSTIC_FIRE); - config.config.add(BulletConfigSyncingUtil.G20_SHOCK_FIRE); - config.config.add(BulletConfigSyncingUtil.G20_WITHER_FIRE); - config.config.add(BulletConfigSyncingUtil.G20_SLEEK); + config.config = HbmCollection.twentyGauge; return config; } + private static int i = 0; public static BulletConfiguration get20GaugeConfig() { BulletConfiguration bullet = BulletConfigFactory.standardBuckshotConfig(); - bullet.ammo = ModItems.ammo_20gauge; + bullet.ammo = new ComparableStack(ModItems.ammo_20gauge, 1, i++); bullet.dmgMin = 3; bullet.dmgMax = 5; @@ -270,7 +213,7 @@ public class Gun20GaugeFactory { BulletConfiguration bullet = BulletConfigFactory.standardBulletConfig(); - bullet.ammo = ModItems.ammo_20gauge_slug; + bullet.ammo = new ComparableStack(ModItems.ammo_20gauge, 1, i++); bullet.dmgMin = 18; bullet.dmgMax = 22; bullet.wear = 7; @@ -283,7 +226,7 @@ public class Gun20GaugeFactory { BulletConfiguration bullet = BulletConfigFactory.standardBuckshotConfig(); - bullet.ammo = ModItems.ammo_20gauge_flechette; + bullet.ammo = new ComparableStack(ModItems.ammo_20gauge, 1, i++); bullet.dmgMin = 8; bullet.dmgMax = 15; bullet.wear = 15; @@ -298,7 +241,7 @@ public class Gun20GaugeFactory { BulletConfiguration bullet = BulletConfigFactory.standardBuckshotConfig(); - bullet.ammo = ModItems.ammo_20gauge_incendiary; + bullet.ammo = new ComparableStack(ModItems.ammo_20gauge, 1, i++); bullet.dmgMin = 3; bullet.dmgMax = 6; bullet.wear = 15; @@ -311,7 +254,7 @@ public class Gun20GaugeFactory { BulletConfiguration bullet = BulletConfigFactory.standardBuckshotConfig(); - bullet.ammo = ModItems.ammo_20gauge_shrapnel; + bullet.ammo = new ComparableStack(ModItems.ammo_20gauge, 1, i++); bullet.wear = 15; bullet.dmgMin = 7; bullet.dmgMax = 12; @@ -326,7 +269,7 @@ public class Gun20GaugeFactory { BulletConfiguration bullet = BulletConfigFactory.standardBuckshotConfig(); - bullet.ammo = ModItems.ammo_20gauge_explosive; + bullet.ammo = new ComparableStack(ModItems.ammo_20gauge, 1, i++); bullet.dmgMin = 7; bullet.dmgMax = 12; bullet.wear = 25; @@ -339,7 +282,7 @@ public class Gun20GaugeFactory { BulletConfiguration bullet = BulletConfigFactory.standardBuckshotConfig(); - bullet.ammo = ModItems.ammo_20gauge_caustic; + bullet.ammo = new ComparableStack(ModItems.ammo_20gauge, 1, i++); bullet.dmgMin = 3; bullet.dmgMax = 7; bullet.wear = 25; @@ -358,7 +301,7 @@ public class Gun20GaugeFactory { BulletConfiguration bullet = BulletConfigFactory.standardBuckshotConfig(); - bullet.ammo = ModItems.ammo_20gauge_shock; + bullet.ammo = new ComparableStack(ModItems.ammo_20gauge, 1, i++); bullet.dmgMin = 4; bullet.dmgMax = 8; bullet.wear = 25; @@ -378,7 +321,7 @@ public class Gun20GaugeFactory { BulletConfiguration bullet = BulletConfigFactory.standardBuckshotConfig(); - bullet.ammo = ModItems.ammo_20gauge_wither; + bullet.ammo = new ComparableStack(ModItems.ammo_20gauge, 1, i++); bullet.dmgMin = 4; bullet.dmgMax = 8; @@ -392,7 +335,7 @@ public class Gun20GaugeFactory { BulletConfiguration bullet = BulletConfigFactory.standardAirstrikeConfig(); - bullet.ammo = ModItems.ammo_20gauge_sleek; + bullet.ammo = new ComparableStack(ModItems.ammo_20gauge, 1, i++); return bullet; } diff --git a/src/main/java/com/hbm/handler/guncfg/Gun22LRFactory.java b/src/main/java/com/hbm/handler/guncfg/Gun22LRFactory.java index aa669affa..b54b087d8 100644 --- a/src/main/java/com/hbm/handler/guncfg/Gun22LRFactory.java +++ b/src/main/java/com/hbm/handler/guncfg/Gun22LRFactory.java @@ -1,11 +1,11 @@ package com.hbm.handler.guncfg; -import java.util.ArrayList; - -import com.hbm.handler.BulletConfigSyncingUtil; import com.hbm.handler.BulletConfiguration; import com.hbm.handler.GunConfiguration; +import com.hbm.inventory.RecipesCommon.ComparableStack; import com.hbm.items.ModItems; +import com.hbm.lib.HbmCollection; +import com.hbm.lib.HbmCollection.EnumGunManufacturer; import com.hbm.render.util.RenderScreenOverlay.Crosshair; public class Gun22LRFactory { @@ -29,14 +29,11 @@ public class Gun22LRFactory { config.firingSound = "hbm:weapon.uziShoot"; config.reloadSoundEnd = false; - config.name = "IMI Uzi"; - config.manufacturer = "Israel Military Industries"; + config.name = "uzi"; + config.manufacturer = EnumGunManufacturer.IMI; config.comment.add("Mom, where are my mittens?"); - config.config = new ArrayList(); - config.config.add(BulletConfigSyncingUtil.LR22_NORMAL); - config.config.add(BulletConfigSyncingUtil.LR22_AP); - config.config.add(BulletConfigSyncingUtil.CHL_LR22); + config.config = HbmCollection.twentyTwoLR; return config; } @@ -47,13 +44,10 @@ public class Gun22LRFactory { config.durability = 4500; - config.name = "IMI Uzi D-25A"; - config.manufacturer = "IMI / Big MT"; - - config.config = new ArrayList(); - config.config.add(BulletConfigSyncingUtil.LR22_NORMAL_FIRE); - config.config.add(BulletConfigSyncingUtil.LR22_AP_FIRE); - config.config.add(BulletConfigSyncingUtil.CHL_LR22_FIRE); + config.name = "uziSatur"; + config.manufacturer = EnumGunManufacturer.IMI_BIGMT; + + config.config = HbmCollection.twentyTwoLRFire; return config; } @@ -63,7 +57,7 @@ public class Gun22LRFactory { BulletConfiguration bullet = BulletConfigFactory.standardPistolConfig(); - bullet.ammo = ModItems.ammo_22lr; + bullet.ammo = new ComparableStack(ModItems.ammo_22lr, 1, 0); bullet.spread *= inaccuracy; bullet.dmgMin = 6; bullet.dmgMax = 8; @@ -75,7 +69,7 @@ public class Gun22LRFactory { BulletConfiguration bullet = BulletConfigFactory.standardPistolConfig(); - bullet.ammo = ModItems.ammo_22lr_ap; + bullet.ammo = new ComparableStack(ModItems.ammo_22lr, 1, 1); bullet.spread *= inaccuracy; bullet.dmgMin = 12; bullet.dmgMax = 16; diff --git a/src/main/java/com/hbm/handler/guncfg/Gun357MagnumFactory.java b/src/main/java/com/hbm/handler/guncfg/Gun357MagnumFactory.java index 7aed32486..2a28a1b27 100644 --- a/src/main/java/com/hbm/handler/guncfg/Gun357MagnumFactory.java +++ b/src/main/java/com/hbm/handler/guncfg/Gun357MagnumFactory.java @@ -5,7 +5,9 @@ import java.util.ArrayList; import com.hbm.handler.BulletConfigSyncingUtil; import com.hbm.handler.BulletConfiguration; import com.hbm.handler.GunConfiguration; +import com.hbm.inventory.RecipesCommon.ComparableStack; import com.hbm.items.ModItems; +import com.hbm.lib.HbmCollection.EnumGunManufacturer; import com.hbm.lib.ModDamageSource; import com.hbm.potion.HbmPotion; import com.hbm.render.util.RenderScreenOverlay.Crosshair; @@ -41,8 +43,8 @@ public class Gun357MagnumFactory { config.durability = 2000; - config.name = "FFI Viper"; - config.manufacturer = "FlimFlam Industries"; + config.name = "ffiV"; + config.manufacturer = EnumGunManufacturer.FLIMFLAM; config.config = new ArrayList(); config.config.add(BulletConfigSyncingUtil.IRON_REVOLVER); @@ -57,8 +59,8 @@ public class Gun357MagnumFactory { config.durability = 3500; - config.name = "FFI Viper Inox"; - config.manufacturer = "FlimFlam Industries"; + config.name = "ffiVInox"; + config.manufacturer = EnumGunManufacturer.FLIMFLAM; config.config = new ArrayList(); config.config.add(BulletConfigSyncingUtil.STEEL_REVOLVER); @@ -73,8 +75,8 @@ public class Gun357MagnumFactory { config.durability = 3500; - config.name = "FFI Viper D-25A"; - config.manufacturer = "FlimFlam Industries"; + config.name = "ffivSatur"; + config.manufacturer = EnumGunManufacturer.FLIMFLAM; config.config = new ArrayList(); config.config.add(BulletConfigSyncingUtil.SATURNITE_REVOLVER); @@ -89,8 +91,8 @@ public class Gun357MagnumFactory { config.durability = 2000; - config.name = "FFI Viper Lead"; - config.manufacturer = "FlimFlam Industries"; + config.name = "ffiVLead"; + config.manufacturer = EnumGunManufacturer.FLIMFLAM; config.config = new ArrayList(); config.config.add(BulletConfigSyncingUtil.LEAD_REVOLVER); @@ -105,8 +107,8 @@ public class Gun357MagnumFactory { config.durability = 2500; - config.name = "FFI Viper Bling"; - config.manufacturer = "FlimFlam Industries"; + config.name = "ffivBling"; + config.manufacturer = EnumGunManufacturer.FLIMFLAM; config.config = new ArrayList(); config.config.add(BulletConfigSyncingUtil.GOLD_REVOLVER); @@ -124,8 +126,8 @@ public class Gun357MagnumFactory { config.durability = 5000; config.firingSound = "hbm:weapon.heavyShoot"; - config.name = "Britannia Standard Issue Motorized Handgun"; - config.manufacturer = "BAE Systems plc"; + config.name = "revolverCursed"; + config.manufacturer = EnumGunManufacturer.BAE; config.config = new ArrayList(); config.config.add(BulletConfigSyncingUtil.CURSED_REVOLVER); @@ -141,8 +143,8 @@ public class Gun357MagnumFactory { config.durability = 7500; config.firingSound = "hbm:weapon.schrabidiumShoot"; - config.name = "FFI Viper Ultra"; - config.manufacturer = "FlimFlam Industries"; + config.name = "ffiVUltra"; + config.manufacturer = EnumGunManufacturer.FLIMFLAM; config.config = new ArrayList(); config.config.add(BulletConfigSyncingUtil.SCHRABIDIUM_REVOLVER); @@ -158,8 +160,8 @@ public class Gun357MagnumFactory { config.durability = 4000; config.firingSound = "hbm:weapon.schrabidiumShoot"; - config.name = "FFI Viper N1"; - config.manufacturer = "FlimFlam Industries"; + config.name = "ffiVN1"; + config.manufacturer = EnumGunManufacturer.FLIMFLAM; config.config = new ArrayList(); config.config.add(BulletConfigSyncingUtil.NIGHT_REVOLVER); @@ -176,8 +178,8 @@ public class Gun357MagnumFactory { config.firingSound = "hbm:weapon.schrabidiumShoot"; config.crosshair = Crosshair.NONE; - config.name = "FFI Viper N2"; - config.manufacturer = "FlimFlam Industries"; + config.name = "ffiVN2"; + config.manufacturer = EnumGunManufacturer.FLIMFLAM; config.config = new ArrayList(); config.config.add(BulletConfigSyncingUtil.NIGHT2_REVOLVER); @@ -194,8 +196,8 @@ public class Gun357MagnumFactory { config.reloadDuration = 53; config.crosshair = Crosshair.CIRCLE; - config.name = "RI No. 2 Mark 1"; - config.manufacturer = "Ryan Industries"; + config.name = "bio"; + config.manufacturer = EnumGunManufacturer.RYAN; config.config = new ArrayList(); config.config.add(BulletConfigSyncingUtil.IRON_HS); @@ -216,29 +218,29 @@ public class Gun357MagnumFactory { BulletConfiguration bullet = BulletConfigFactory.standardPistolConfig(); - bullet.ammo = ModItems.gun_revolver_iron_ammo; + bullet.ammo = new ComparableStack(ModItems.ammo_357, 1, 0); bullet.dmgMin = 8; bullet.dmgMax = 10; return bullet; } - public static BulletConfiguration getRevSteelConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardPistolConfig(); - - bullet.ammo = ModItems.gun_revolver_ammo; - bullet.dmgMin = 18; - bullet.dmgMax = 22; - - return bullet; - } - public static BulletConfiguration getRevLeadConfig() { BulletConfiguration bullet = BulletConfigFactory.standardPistolConfig(); - bullet.ammo = ModItems.gun_revolver_lead_ammo; + bullet.ammo = new ComparableStack(ModItems.ammo_357, 1, 1); + bullet.dmgMin = 18; + bullet.dmgMax = 22; + + return bullet; + } + + public static BulletConfiguration getRevNuclearConfig() { + + BulletConfiguration bullet = BulletConfigFactory.standardPistolConfig(); + + bullet.ammo = new ComparableStack(ModItems.ammo_357, 1, 2); bullet.dmgMin = 10; bullet.dmgMax = 15; @@ -252,7 +254,7 @@ public class Gun357MagnumFactory { BulletConfiguration bullet = BulletConfigFactory.standardPistolConfig(); - bullet.ammo = ModItems.gun_revolver_gold_ammo; + bullet.ammo = new ComparableStack(ModItems.ammo_357, 1, 3); bullet.dmgMin = 25; bullet.dmgMax = 28; @@ -263,7 +265,7 @@ public class Gun357MagnumFactory { BulletConfiguration bullet = BulletConfigFactory.standardPistolConfig(); - bullet.ammo = ModItems.ammo_357_desh; + bullet.ammo = new ComparableStack(ModItems.ammo_357, 1, 4); bullet.dmgMin = 30; bullet.dmgMax = 33; @@ -274,7 +276,7 @@ public class Gun357MagnumFactory { BulletConfiguration bullet = BulletConfigFactory.standardPistolConfig(); - bullet.ammo = ModItems.gun_revolver_schrabidium_ammo; + bullet.ammo = new ComparableStack(ModItems.ammo_357, 1, 5); bullet.dmgMin = 10000; bullet.dmgMax = 100000; bullet.instakill = true; @@ -286,18 +288,18 @@ public class Gun357MagnumFactory { BulletConfiguration bullet = BulletConfigFactory.standardPistolConfig(); - bullet.ammo = ModItems.gun_revolver_cursed_ammo; + bullet.ammo = new ComparableStack(ModItems.ammo_357, 1, 6); bullet.dmgMin = 18; bullet.dmgMax = 25; return bullet; } - public static BulletConfiguration getRevNightmareConfig() { + public static BulletConfiguration getRevNightmare1Config() { BulletConfiguration bullet = BulletConfigFactory.standardPistolConfig(); - bullet.ammo = ModItems.gun_revolver_nightmare_ammo; + bullet.ammo = new ComparableStack(ModItems.ammo_357, 1, 7); bullet.dmgMin = 1; bullet.dmgMax = 100; @@ -308,7 +310,7 @@ public class Gun357MagnumFactory { BulletConfiguration bullet = BulletConfigFactory.standardBulletConfig(); - bullet.ammo = ModItems.gun_revolver_nightmare2_ammo; + bullet.ammo = new ComparableStack(ModItems.ammo_357, 1, 8); bullet.spread *= 10; bullet.bulletsMin = 4; bullet.bulletsMax = 6; diff --git a/src/main/java/com/hbm/handler/guncfg/Gun44MagnumFactory.java b/src/main/java/com/hbm/handler/guncfg/Gun44MagnumFactory.java index af0fc44cd..2e3b29746 100644 --- a/src/main/java/com/hbm/handler/guncfg/Gun44MagnumFactory.java +++ b/src/main/java/com/hbm/handler/guncfg/Gun44MagnumFactory.java @@ -12,7 +12,10 @@ import com.hbm.handler.BulletConfiguration; import com.hbm.handler.GunConfiguration; import com.hbm.interfaces.IBulletHitBehavior; import com.hbm.interfaces.IBulletImpactBehavior; +import com.hbm.inventory.RecipesCommon.ComparableStack; import com.hbm.items.ModItems; +import com.hbm.lib.HbmCollection; +import com.hbm.lib.HbmCollection.EnumGunManufacturer; import com.hbm.packet.AuxParticlePacketNT; import com.hbm.packet.PacketDispatcher; import com.hbm.potion.HbmPotion; @@ -43,6 +46,8 @@ public class Gun44MagnumFactory { config.firingSound = "hbm:weapon.revolverShootAlt"; config.reloadSoundEnd = false; + config.config.addAll(HbmCollection.fourtyFourMagBasic); + return config; } @@ -52,19 +57,10 @@ public class Gun44MagnumFactory { config.durability = 2500; - config.name = "IF-18 Horseshoe"; - config.manufacturer = "Ironshod Firearms"; + config.name = "ifHorseshoe"; + config.manufacturer = EnumGunManufacturer.IF; config.comment.add("Fallout New Vegas wasn't THAT good."); - config.config = new ArrayList(); - config.config.add(BulletConfigSyncingUtil.M44_NORMAL); - config.config.add(BulletConfigSyncingUtil.M44_AP); - config.config.add(BulletConfigSyncingUtil.M44_DU); - config.config.add(BulletConfigSyncingUtil.M44_PHOSPHORUS); - config.config.add(BulletConfigSyncingUtil.M44_STAR); - config.config.add(BulletConfigSyncingUtil.CHL_M44); - config.config.add(BulletConfigSyncingUtil.M44_ROCKET); - return config; } @@ -74,19 +70,13 @@ public class Gun44MagnumFactory { config.durability = 4000; - config.name = "IF-18 Horseshoe Scoped"; - config.manufacturer = "Ironshod Firearms"; + config.name = "ifScope"; + config.manufacturer = EnumGunManufacturer.IF; config.comment.add("Poppin' mentats like tic tacs"); config.config = new ArrayList(); config.config.add(BulletConfigSyncingUtil.M44_PIP); - config.config.add(BulletConfigSyncingUtil.M44_NORMAL); - config.config.add(BulletConfigSyncingUtil.M44_AP); - config.config.add(BulletConfigSyncingUtil.M44_DU); - config.config.add(BulletConfigSyncingUtil.M44_PHOSPHORUS); - config.config.add(BulletConfigSyncingUtil.M44_STAR); - config.config.add(BulletConfigSyncingUtil.CHL_M44); - config.config.add(BulletConfigSyncingUtil.M44_ROCKET); + config.config.addAll(HbmCollection.fourtyFourMagBasic); return config; } @@ -98,19 +88,13 @@ public class Gun44MagnumFactory { config.durability = 4000; config.ammoCap = 5; - config.name = "IF-18 Horseshoe Vanity"; - config.manufacturer = "Ironshod Firearms"; + config.name = "ifVanity"; + config.manufacturer = EnumGunManufacturer.IF; config.comment.add("Alcoholism is cool!"); config.config = new ArrayList(); config.config.add(BulletConfigSyncingUtil.M44_BJ); - config.config.add(BulletConfigSyncingUtil.M44_NORMAL); - config.config.add(BulletConfigSyncingUtil.M44_AP); - config.config.add(BulletConfigSyncingUtil.M44_DU); - config.config.add(BulletConfigSyncingUtil.M44_PHOSPHORUS); - config.config.add(BulletConfigSyncingUtil.M44_STAR); - config.config.add(BulletConfigSyncingUtil.CHL_M44); - config.config.add(BulletConfigSyncingUtil.M44_ROCKET); + config.config.addAll(HbmCollection.fourtyFourMagBasic); return config; } @@ -122,20 +106,14 @@ public class Gun44MagnumFactory { config.durability = 4000; config.ammoCap = 6; - config.name = "IF-18 Horseshoe Silver Storm"; - config.manufacturer = "Ironshod Firearms"; + config.name = "ifStorm"; + config.manufacturer = EnumGunManufacturer.IF; config.comment.add("Our friendship is based on abusive behaviour"); config.comment.add("and mutual hate. It's not that complicated."); config.config = new ArrayList(); config.config.add(BulletConfigSyncingUtil.M44_SILVER); - config.config.add(BulletConfigSyncingUtil.M44_NORMAL); - config.config.add(BulletConfigSyncingUtil.M44_AP); - config.config.add(BulletConfigSyncingUtil.M44_DU); - config.config.add(BulletConfigSyncingUtil.M44_PHOSPHORUS); - config.config.add(BulletConfigSyncingUtil.M44_STAR); - config.config.add(BulletConfigSyncingUtil.CHL_M44); - config.config.add(BulletConfigSyncingUtil.M44_ROCKET); + config.config.addAll(HbmCollection.fourtyFourMagBasic); return config; } @@ -147,31 +125,23 @@ public class Gun44MagnumFactory { config.durability = 4000; config.ammoCap = 64; - config.name = "IF-18 Horseshoe Bottomless Pit"; - config.manufacturer = "Ironshod Firearms R&D"; + config.name = "ifPit"; + config.manufacturer = EnumGunManufacturer.IF; config.comment.add("Explore the other side"); config.comment.add("...from afar!"); config.config = new ArrayList(); - config.config.add(BulletConfigSyncingUtil.M44_NORMAL); - config.config.add(BulletConfigSyncingUtil.M44_AP); - config.config.add(BulletConfigSyncingUtil.M44_DU); - config.config.add(BulletConfigSyncingUtil.M44_PHOSPHORUS); - config.config.add(BulletConfigSyncingUtil.M44_STAR); - config.config.add(BulletConfigSyncingUtil.CHL_M44); - config.config.add(BulletConfigSyncingUtil.M44_PIP); - config.config.add(BulletConfigSyncingUtil.M44_BJ); - config.config.add(BulletConfigSyncingUtil.M44_SILVER); - config.config.add(BulletConfigSyncingUtil.M44_ROCKET); + config.config.addAll(HbmCollection.fourtyFourMagAll); return config; } + static byte i = 0; public static BulletConfiguration getNoPipConfig() { BulletConfiguration bullet = BulletConfigFactory.standardPistolConfig(); - bullet.ammo = ModItems.ammo_44; + bullet.ammo = new ComparableStack(ModItems.ammo_44, 1, i++); bullet.dmgMin = 18; bullet.dmgMax = 26; @@ -182,7 +152,7 @@ public class Gun44MagnumFactory { BulletConfiguration bullet = BulletConfigFactory.standardPistolConfig(); - bullet.ammo = ModItems.ammo_44_ap; + bullet.ammo = new ComparableStack(ModItems.ammo_44, 1, i++); bullet.dmgMin = 25; bullet.dmgMax = 32; bullet.wear = 15; @@ -195,7 +165,7 @@ public class Gun44MagnumFactory { BulletConfiguration bullet = BulletConfigFactory.standardPistolConfig(); - bullet.ammo = ModItems.ammo_44_du; + bullet.ammo = new ComparableStack(ModItems.ammo_44, 1, i++); bullet.dmgMin = 28; bullet.dmgMax = 40; bullet.wear = 25; @@ -208,7 +178,7 @@ public class Gun44MagnumFactory { BulletConfiguration bullet = BulletConfigFactory.standardPistolConfig(); - bullet.ammo = ModItems.ammo_44_phosphorus; + bullet.ammo = new ComparableStack(ModItems.ammo_44, 1, i++); bullet.dmgMin = 18; bullet.dmgMax = 26; bullet.wear = 15; @@ -242,7 +212,7 @@ public class Gun44MagnumFactory { BulletConfiguration bullet = BulletConfigFactory.standardPistolConfig(); - bullet.ammo = ModItems.ammo_44_star; + bullet.ammo = new ComparableStack(ModItems.ammo_44, 1, i++); bullet.dmgMin = 42; bullet.dmgMax = 50; bullet.wear = 25; @@ -255,7 +225,7 @@ public class Gun44MagnumFactory { BulletConfiguration bullet = BulletConfigFactory.standardPistolConfig(); - bullet.ammo = ModItems.ammo_44_pip; + bullet.ammo = new ComparableStack(ModItems.ammo_44, 1, i++); bullet.dmgMin = 30; bullet.dmgMax = 36; bullet.wear = 25; @@ -292,7 +262,7 @@ public class Gun44MagnumFactory { BulletConfiguration bullet = BulletConfigFactory.standardPistolConfig(); - bullet.ammo = ModItems.ammo_44_bj; + bullet.ammo = new ComparableStack(ModItems.ammo_44, 1, i++); bullet.dmgMin = 30; bullet.dmgMax = 36; bullet.wear = 25; @@ -330,7 +300,7 @@ public class Gun44MagnumFactory { BulletConfiguration bullet = BulletConfigFactory.standardPistolConfig(); - bullet.ammo = ModItems.ammo_44_silver; + bullet.ammo = new ComparableStack(ModItems.ammo_44, 1, i++); bullet.dmgMin = 30; bullet.dmgMax = 36; bullet.wear = 25; @@ -368,7 +338,7 @@ public class Gun44MagnumFactory { BulletConfiguration bullet = BulletConfigFactory.standardRocketConfig(); - bullet.ammo = ModItems.ammo_44_rocket; + bullet.ammo = new ComparableStack(ModItems.ammo_44, 1, i++); bullet.velocity = 5; bullet.explosive = 15F; bullet.trail = 1; diff --git a/src/main/java/com/hbm/handler/guncfg/Gun45ACPFactory.java b/src/main/java/com/hbm/handler/guncfg/Gun45ACPFactory.java new file mode 100644 index 000000000..67815f229 --- /dev/null +++ b/src/main/java/com/hbm/handler/guncfg/Gun45ACPFactory.java @@ -0,0 +1,139 @@ +package com.hbm.handler.guncfg; + +import java.util.ArrayList; + +import com.hbm.handler.BulletConfiguration; +import com.hbm.handler.GunConfiguration; +import com.hbm.inventory.RecipesCommon.ComparableStack; +import com.hbm.items.ModItems; +import com.hbm.lib.HbmCollection; +import com.hbm.lib.HbmCollection.EnumGunManufacturer; +import com.hbm.render.anim.BusAnimation; +import com.hbm.render.anim.BusAnimationKeyframe; +import com.hbm.render.anim.BusAnimationSequence; +import com.hbm.render.anim.HbmAnimations.AnimType; +import com.hbm.render.util.RenderScreenOverlay.Crosshair; + +public class Gun45ACPFactory { + + public static GunConfiguration getThompsonConfig() { + + GunConfiguration config = new GunConfiguration(); + + config.rateOfFire = 2; + config.roundsPerCycle = 1; + config.gunMode = GunConfiguration.MODE_NORMAL; + config.firingMode = GunConfiguration.FIRE_AUTO; + config.reloadDuration = 20; + config.firingDuration = 0; + config.ammoCap = 30; + config.reloadType = GunConfiguration.RELOAD_FULL; + config.allowsInfinity = true; + config.crosshair = Crosshair.L_SPLIT; + config.durability = 5000; + config.reloadSound = GunConfiguration.RSOUND_MAG; + config.firingSound = "hbm:weapon.rifleShoot"; + config.reloadSoundEnd = false; + + config.name = "tommy"; + config.manufacturer = EnumGunManufacturer.AUTO_ORDINANCE; + + config.config = new ArrayList(); + config.config.addAll(HbmCollection.fourtyFiveACP); + + return config; + } + + public static GunConfiguration getUACPistolConfig() { + GunConfiguration config = new GunConfiguration(); + + config.rateOfFire = 4; + config.roundsPerCycle = 1; + config.gunMode = GunConfiguration.MODE_NORMAL; + config.firingMode = GunConfiguration.FIRE_MANUAL; + config.reloadDuration = 10; + config.firingDuration = 8; + config.ammoCap = 16; + config.durability = 10000; + config.reloadType = 1; + config.allowsInfinity = true; + config.hasSights = true; + config.crosshair = Crosshair.CROSS; + config.reloadSound = "hbm:weapon.pistolReloadPB3"; + config.firingSound = "hbm:weapon.pistolFirePB3"; + config.reloadSoundEnd = true; + + config.name = "uacPistol"; + config.manufacturer = EnumGunManufacturer.UAC; + + config.config.addAll(HbmCollection.fourtyFiveACP); + + config.animations.put(AnimType.CYCLE, new BusAnimation() + .addBus("SLIDE", new BusAnimationSequence() + .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 10))// Wait for hammer + .addKeyframe(new BusAnimationKeyframe(0, 0, -3.5, 40))// Slide back + .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 40)))// Return + .addBus("HAMMER", new BusAnimationSequence() + .addKeyframe(new BusAnimationKeyframe(15, 0, 0, 10)) + .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 40)))); + + return config; + } + + public static GunConfiguration getUACSMGConfig() { + GunConfiguration config = new GunConfiguration(); + + config.rateOfFire = 1; + config.roundsPerCycle = 1; + config.gunMode = GunConfiguration.MODE_NORMAL; + config.firingMode = GunConfiguration.FIRE_AUTO; + config.reloadDuration = 10; + config.firingDuration = 4; + config.ammoCap = 40; + config.durability = 40000; + config.reloadType = 1; + config.allowsInfinity = true; + config.hasSights = true; + config.crosshair = Crosshair.CROSS; + config.reloadSound = "hbm:weapon.SMGMagInPB3"; + config.firingSound = "hbm:weapon.SMGFirePB3"; + config.firingPitch = 1.15F; + config.reloadSoundEnd = true; + + config.name = "uacSMG"; + config.manufacturer = EnumGunManufacturer.UAC; + + config.config.addAll(HbmCollection.fourtyFiveACP); + + return config; + } + public static BulletConfiguration get45AutoConfig() { + BulletConfiguration bullet = Gun9mmFactory.get9mmConfig(); + + bullet.ammo = new ComparableStack(ModItems.ammo_45, 1, 0); + bullet.dmgMax = 30; + bullet.dmgMin = 27; + + return bullet; + } + + public static BulletConfiguration get45AutoAPConfig() { + BulletConfiguration bullet = get45AutoConfig().clone(); + + bullet.ammo = new ComparableStack(ModItems.ammo_45, 1, 1); + bullet.dmgMax *= 1.5; + bullet.dmgMin *= 1.5; + + return bullet; + } + + public static BulletConfiguration get45AutoDUConfig() { + BulletConfiguration bullet = get45AutoAPConfig().clone(); + + bullet.ammo = new ComparableStack(ModItems.ammo_45, 1, 2); + bullet.dmgMax *= 1.5; + bullet.dmgMin *= 1.5; + + return bullet; + } +} diff --git a/src/main/java/com/hbm/handler/guncfg/Gun4GaugeFactory.java b/src/main/java/com/hbm/handler/guncfg/Gun4GaugeFactory.java index 00ffda538..de7dc6044 100644 --- a/src/main/java/com/hbm/handler/guncfg/Gun4GaugeFactory.java +++ b/src/main/java/com/hbm/handler/guncfg/Gun4GaugeFactory.java @@ -1,6 +1,5 @@ package com.hbm.handler.guncfg; -import java.lang.reflect.Method; import java.util.ArrayList; import java.util.List; @@ -15,7 +14,10 @@ import com.hbm.handler.GunConfiguration; import com.hbm.interfaces.IBulletHurtBehavior; import com.hbm.interfaces.IBulletImpactBehavior; import com.hbm.interfaces.IBulletUpdateBehavior; +import com.hbm.inventory.RecipesCommon.ComparableStack; import com.hbm.items.ModItems; +import com.hbm.lib.HbmCollection; +import com.hbm.lib.HbmCollection.EnumGunManufacturer; import com.hbm.lib.ModDamageSource; import com.hbm.packet.AuxParticlePacketNT; import com.hbm.packet.PacketDispatcher; @@ -27,7 +29,6 @@ import com.hbm.render.anim.HbmAnimations.AnimType; import com.hbm.render.util.RenderScreenOverlay.Crosshair; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; -import cpw.mods.fml.relauncher.ReflectionHelper; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityCreature; import net.minecraft.entity.EntityLivingBase; @@ -67,24 +68,10 @@ public class Gun4GaugeFactory { config.firingSound = "hbm:weapon.revolverShootAlt"; config.firingPitch = 0.65F; - config.name = "KS-23"; - config.manufacturer = "Tulsky Oruzheiny Zavod"; - - config.config = new ArrayList(); - config.config.add(BulletConfigSyncingUtil.G4_NORMAL); - config.config.add(BulletConfigSyncingUtil.G4_SLUG); - config.config.add(BulletConfigSyncingUtil.G4_FLECHETTE); - config.config.add(BulletConfigSyncingUtil.G4_FLECHETTE_PHOSPHORUS); - config.config.add(BulletConfigSyncingUtil.G4_EXPLOSIVE); - config.config.add(BulletConfigSyncingUtil.G4_SEMTEX); - config.config.add(BulletConfigSyncingUtil.G4_BALEFIRE); - config.config.add(BulletConfigSyncingUtil.G4_KAMPF); - config.config.add(BulletConfigSyncingUtil.G4_CANISTER); - config.config.add(BulletConfigSyncingUtil.G4_CLAW); - config.config.add(BulletConfigSyncingUtil.G4_VAMPIRE); - config.config.add(BulletConfigSyncingUtil.G4_VOID); - config.config.add(BulletConfigSyncingUtil.G4_TITAN); - config.config.add(BulletConfigSyncingUtil.G4_SLEEK); + config.name = "ks23"; + config.manufacturer = EnumGunManufacturer.TULSKY; + + config.config = HbmCollection.fourGauge; return config; } @@ -102,8 +89,8 @@ public class Gun4GaugeFactory { config.firingSound = "hbm:weapon.sauergun"; config.firingPitch = 1.0F; - config.name = "Sauer Shotgun"; - config.manufacturer = "Cube 2: Sauerbraten"; + config.name = "sauer"; + config.manufacturer = EnumGunManufacturer.CUBE; config.animations.put(AnimType.CYCLE, new BusAnimation() .addBus("SAUER_RECOIL", new BusAnimationSequence() @@ -129,30 +116,17 @@ public class Gun4GaugeFactory { ) ); - config.config = new ArrayList(); - config.config.add(BulletConfigSyncingUtil.G4_NORMAL); - config.config.add(BulletConfigSyncingUtil.G4_SLUG); - config.config.add(BulletConfigSyncingUtil.G4_FLECHETTE); - config.config.add(BulletConfigSyncingUtil.G4_FLECHETTE_PHOSPHORUS); - config.config.add(BulletConfigSyncingUtil.G4_EXPLOSIVE); - config.config.add(BulletConfigSyncingUtil.G4_SEMTEX); - config.config.add(BulletConfigSyncingUtil.G4_BALEFIRE); - config.config.add(BulletConfigSyncingUtil.G4_KAMPF); - config.config.add(BulletConfigSyncingUtil.G4_CANISTER); - config.config.add(BulletConfigSyncingUtil.G4_CLAW); - config.config.add(BulletConfigSyncingUtil.G4_VAMPIRE); - config.config.add(BulletConfigSyncingUtil.G4_VOID); - config.config.add(BulletConfigSyncingUtil.G4_TITAN); - config.config.add(BulletConfigSyncingUtil.G4_SLEEK); + config.config = HbmCollection.fourGauge; return config; } + private static byte i = 0; public static BulletConfiguration get4GaugeConfig() { BulletConfiguration bullet = BulletConfigFactory.standardBuckshotConfig(); - bullet.ammo = ModItems.ammo_4gauge; + bullet.ammo = new ComparableStack(ModItems.ammo_4gauge, 1, i++); bullet.dmgMin = 5; bullet.dmgMax = 8; bullet.bulletsMin *= 2; @@ -165,7 +139,7 @@ public class Gun4GaugeFactory { BulletConfiguration bullet = BulletConfigFactory.standardBulletConfig(); - bullet.ammo = ModItems.ammo_4gauge_slug; + bullet.ammo = new ComparableStack(ModItems.ammo_4gauge, 1, i++); bullet.dmgMin = 25; bullet.dmgMax = 32; bullet.wear = 7; @@ -178,7 +152,7 @@ public class Gun4GaugeFactory { BulletConfiguration bullet = BulletConfigFactory.standardBuckshotConfig(); - bullet.ammo = ModItems.ammo_4gauge_flechette; + bullet.ammo = new ComparableStack(ModItems.ammo_4gauge, 1, i++); bullet.dmgMin = 8; bullet.dmgMax = 15; bullet.bulletsMin *= 2; @@ -195,7 +169,7 @@ public class Gun4GaugeFactory { BulletConfiguration bullet = BulletConfigFactory.standardBuckshotConfig(); - bullet.ammo = ModItems.ammo_4gauge_flechette; + bullet.ammo = new ComparableStack(ModItems.ammo_4gauge, 1, i++); bullet.dmgMin = 8; bullet.dmgMax = 15; bullet.bulletsMin *= 2; @@ -204,8 +178,6 @@ public class Gun4GaugeFactory { bullet.style = BulletConfiguration.STYLE_FLECHETTE; bullet.HBRC = 2; bullet.LBRC = 95; - - bullet.ammo = ModItems.ammo_4gauge_flechette_phosphorus; bullet.incendiary = 5; PotionEffect eff = new PotionEffect(HbmPotion.phosphorus.id, 20 * 20, 0, true); @@ -235,7 +207,7 @@ public class Gun4GaugeFactory { BulletConfiguration bullet = BulletConfigFactory.standardGrenadeConfig(); - bullet.ammo = ModItems.ammo_4gauge_explosive; + bullet.ammo = new ComparableStack(ModItems.ammo_4gauge, 1, i++); bullet.velocity *= 2; bullet.gravity *= 2; bullet.dmgMin = 20; @@ -250,7 +222,7 @@ public class Gun4GaugeFactory { BulletConfiguration bullet = BulletConfigFactory.standardGrenadeConfig(); - bullet.ammo = ModItems.ammo_4gauge_semtex; + bullet.ammo = new ComparableStack(ModItems.ammo_4gauge, 1, i++); bullet.velocity *= 2; bullet.gravity *= 2; bullet.dmgMin = 10; @@ -284,7 +256,7 @@ public class Gun4GaugeFactory { BulletConfiguration bullet = BulletConfigFactory.standardGrenadeConfig(); - bullet.ammo = ModItems.ammo_4gauge_balefire; + bullet.ammo = new ComparableStack(ModItems.ammo_4gauge, 1, i++); bullet.velocity *= 2; bullet.gravity *= 2; bullet.dmgMin = 50; @@ -317,7 +289,7 @@ public class Gun4GaugeFactory { BulletConfiguration bullet = BulletConfigFactory.standardRocketConfig(); - bullet.ammo = ModItems.ammo_4gauge_kampf; + bullet.ammo = new ComparableStack(ModItems.ammo_4gauge, 1, i++); bullet.spread = 0.0F; bullet.gravity = 0.0D; bullet.wear = 15; @@ -333,7 +305,7 @@ public class Gun4GaugeFactory { BulletConfiguration bullet = BulletConfigFactory.standardRocketConfig(); - bullet.ammo = ModItems.ammo_4gauge_canister; + bullet.ammo = new ComparableStack(ModItems.ammo_4gauge, 1, i++); bullet.spread = 0.0F; bullet.gravity = 0.0D; bullet.wear = 15; @@ -371,16 +343,16 @@ public class Gun4GaugeFactory { BulletConfiguration bullet = BulletConfigFactory.standardAirstrikeConfig(); - bullet.ammo = ModItems.ammo_4gauge_sleek; + bullet.ammo = new ComparableStack(ModItems.ammo_4gauge, 1, i++); return bullet; } public static BulletConfiguration get4GaugeClawConfig() { - BulletConfiguration bullet = get4GaugeConfig(); + BulletConfiguration bullet = BulletConfigFactory.standardBuckshotConfig(); - bullet.ammo = ModItems.ammo_4gauge_claw; + bullet.ammo = new ComparableStack(ModItems.ammo_4gauge, 1, i++); bullet.dmgMin = 6; bullet.dmgMax = 9; bullet.bulletsMin *= 2; @@ -415,9 +387,9 @@ public class Gun4GaugeFactory { public static BulletConfiguration get4GaugeVampireConfig() { - BulletConfiguration bullet = get4GaugeConfig(); + BulletConfiguration bullet = BulletConfigFactory.standardBuckshotConfig(); - bullet.ammo = ModItems.ammo_4gauge_vampire; + bullet.ammo = new ComparableStack(ModItems.ammo_4gauge, 1, i++); bullet.dmgMin = 6; bullet.dmgMax = 9; bullet.bulletsMin *= 2; @@ -453,9 +425,9 @@ public class Gun4GaugeFactory { public static BulletConfiguration get4GaugeVoidConfig() { - BulletConfiguration bullet = get4GaugeConfig(); + BulletConfiguration bullet = BulletConfigFactory.standardBuckshotConfig(); - bullet.ammo = ModItems.ammo_4gauge_void; + bullet.ammo = new ComparableStack(ModItems.ammo_4gauge, 1, i++); bullet.dmgMin = 6; bullet.dmgMax = 9; bullet.bulletsMin *= 2; @@ -486,7 +458,7 @@ public class Gun4GaugeFactory { BulletConfiguration bullet = BulletConfigFactory.standardRocketConfig(); - bullet.ammo = ModItems.ammo_4gauge_titan; + bullet.ammo = new ComparableStack(ModItems.ammo_4gauge, 1, i++); bullet.velocity *= 2D; bullet.spread = 0.0F; bullet.gravity = 0.0D; diff --git a/src/main/java/com/hbm/handler/guncfg/Gun50AEFactory.java b/src/main/java/com/hbm/handler/guncfg/Gun50AEFactory.java index 1fe1ce16c..94c7d03cb 100644 --- a/src/main/java/com/hbm/handler/guncfg/Gun50AEFactory.java +++ b/src/main/java/com/hbm/handler/guncfg/Gun50AEFactory.java @@ -1,11 +1,11 @@ package com.hbm.handler.guncfg; -import java.util.ArrayList; - -import com.hbm.handler.BulletConfigSyncingUtil; import com.hbm.handler.BulletConfiguration; import com.hbm.handler.GunConfiguration; +import com.hbm.inventory.RecipesCommon.ComparableStack; import com.hbm.items.ModItems; +import com.hbm.lib.HbmCollection; +import com.hbm.lib.HbmCollection.EnumGunManufacturer; import com.hbm.render.util.RenderScreenOverlay.Crosshair; public class Gun50AEFactory { @@ -37,26 +37,22 @@ public class Gun50AEFactory { config.durability = 2500; - config.name = "IMI Desert Eagle"; - config.manufacturer = "Magnum Research / Israel Military Industries"; + config.name = "deagle"; + config.manufacturer = EnumGunManufacturer.MAGNUM_R_IMI; config.hasSights = true; - config.config = new ArrayList(); - config.config.add(BulletConfigSyncingUtil.AE50_NORMAL); - config.config.add(BulletConfigSyncingUtil.AE50_AP); - config.config.add(BulletConfigSyncingUtil.AE50_DU); - config.config.add(BulletConfigSyncingUtil.AE50_STAR); - config.config.add(BulletConfigSyncingUtil.CHL_AE50); + config.config = HbmCollection.fiftyAE; return config; } - static float inaccuracy = 0.0005F; + private static float inaccuracy = 0.0005F; + private static byte i = 0; public static BulletConfiguration get50AEConfig() { BulletConfiguration bullet = BulletConfigFactory.standardPistolConfig(); - bullet.ammo = ModItems.ammo_50ae; + bullet.ammo = new ComparableStack(ModItems.ammo_50ae, 1, i++); bullet.spread *= inaccuracy; bullet.dmgMin = 28; bullet.dmgMax = 32; @@ -68,7 +64,7 @@ public class Gun50AEFactory { BulletConfiguration bullet = BulletConfigFactory.standardPistolConfig(); - bullet.ammo = ModItems.ammo_50ae_ap; + bullet.ammo = new ComparableStack(ModItems.ammo_50ae, 1, i++); bullet.spread *= inaccuracy; bullet.dmgMin = 30; bullet.dmgMax = 36; @@ -82,7 +78,7 @@ public class Gun50AEFactory { BulletConfiguration bullet = BulletConfigFactory.standardPistolConfig(); - bullet.ammo = ModItems.ammo_50ae_du; + bullet.ammo = new ComparableStack(ModItems.ammo_50ae, 1, i++); bullet.spread *= inaccuracy; bullet.dmgMin = 38; bullet.dmgMax = 46; @@ -96,7 +92,7 @@ public class Gun50AEFactory { BulletConfiguration bullet = BulletConfigFactory.standardPistolConfig(); - bullet.ammo = ModItems.ammo_50ae_star; + bullet.ammo = new ComparableStack(ModItems.ammo_50ae, 1, i++); bullet.spread *= inaccuracy; bullet.dmgMin = 52; bullet.dmgMax = 60; diff --git a/src/main/java/com/hbm/handler/guncfg/Gun50BMGFactory.java b/src/main/java/com/hbm/handler/guncfg/Gun50BMGFactory.java index cde95e131..7e59ecbc5 100644 --- a/src/main/java/com/hbm/handler/guncfg/Gun50BMGFactory.java +++ b/src/main/java/com/hbm/handler/guncfg/Gun50BMGFactory.java @@ -8,7 +8,10 @@ import com.hbm.handler.BulletConfiguration; import com.hbm.handler.GunConfiguration; import com.hbm.interfaces.IBulletHitBehavior; import com.hbm.interfaces.IBulletImpactBehavior; +import com.hbm.inventory.RecipesCommon.ComparableStack; import com.hbm.items.ModItems; +import com.hbm.lib.HbmCollection; +import com.hbm.lib.HbmCollection.EnumGunManufacturer; import com.hbm.packet.AuxParticlePacketNT; import com.hbm.packet.PacketDispatcher; import com.hbm.potion.HbmPotion; @@ -62,19 +65,10 @@ public class Gun50BMGFactory { ) ); - config.name = "Universal-Maschinengewehr Modell 42 - .50 Mod"; - config.manufacturer = "Wilhelm-Gustloff-Werke"; + config.name = "mg42"; + config.manufacturer = EnumGunManufacturer.WGW; - config.config = new ArrayList(); - config.config.add(BulletConfigSyncingUtil.BMG50_NORMAL); - config.config.add(BulletConfigSyncingUtil.BMG50_INCENDIARY); - config.config.add(BulletConfigSyncingUtil.BMG50_PHOSPHORUS); - config.config.add(BulletConfigSyncingUtil.BMG50_EXPLOSIVE); - config.config.add(BulletConfigSyncingUtil.BMG50_AP); - config.config.add(BulletConfigSyncingUtil.BMG50_DU); - config.config.add(BulletConfigSyncingUtil.BMG50_STAR); - config.config.add(BulletConfigSyncingUtil.CHL_BMG50); - config.config.add(BulletConfigSyncingUtil.BMG50_SLEEK); + config.config = HbmCollection.fiftyBMG; return config; } @@ -97,22 +91,52 @@ public class Gun50BMGFactory { config.reloadSound = GunConfiguration.RSOUND_MAG; config.firingSound = "hbm:weapon.calShoot"; - config.name = "Double Maxim gun"; - config.manufacturer = "???"; + config.name = "maximDouble"; + config.manufacturer = EnumGunManufacturer.UNKNOWN; - config.config = new ArrayList(); - config.config.add(BulletConfigSyncingUtil.BMG50_NORMAL); - config.config.add(BulletConfigSyncingUtil.BMG50_INCENDIARY); - config.config.add(BulletConfigSyncingUtil.BMG50_PHOSPHORUS); - config.config.add(BulletConfigSyncingUtil.BMG50_EXPLOSIVE); - config.config.add(BulletConfigSyncingUtil.BMG50_AP); - config.config.add(BulletConfigSyncingUtil.BMG50_DU); - config.config.add(BulletConfigSyncingUtil.BMG50_STAR); - config.config.add(BulletConfigSyncingUtil.CHL_BMG50); - config.config.add(BulletConfigSyncingUtil.BMG50_SLEEK); + config.config = HbmCollection.fiftyBMG; return config; } + + public static BulletConfiguration getLunaticSabotRound() { + BulletConfiguration bullet = BulletConfigFactory.standardBulletConfig(); + + bullet.ammo = new ComparableStack(ModItems.ammo_luna_sniper, 1, 0); + bullet.spread = 0.0F; + bullet.dmgMax = 500F; + bullet.dmgMin = 450F; + bullet.headshotMult = 2.5f; + bullet.wear = 2000; + bullet.velocity = 100; + bullet.doesPenetrate = true; + bullet.leadChance = 20; + bullet.incendiary = 10; + + bullet.blockDamage = true; + bullet.bImpact = (projectile, x, y, z) -> projectile.worldObj.newExplosion(projectile, x, y, z, 5.0F, true, false); + + return bullet; + } + + public static BulletConfiguration getLunaticIncendiaryRound() { + BulletConfiguration bullet = getLunaticSabotRound().clone(); + + bullet.ammo.meta = 1; + bullet.incendiary = 50; + + return bullet; + } + + public static BulletConfiguration getLunaticExplosiveRound() { + BulletConfiguration bullet = getLunaticSabotRound().clone(); + + bullet.ammo.meta = 2; + bullet.explosive = 25; + bullet.bImpact = (projectile, x, y, z) -> projectile.worldObj.newExplosion(projectile, x, y, z, 25.0F, true, false); + + return bullet; + } public static GunConfiguration getAR15Config() { @@ -132,8 +156,8 @@ public class Gun50BMGFactory { config.reloadSound = GunConfiguration.RSOUND_MAG; config.firingSound = "hbm:turret.howard_fire"; - config.name = "AR-15 .50 BMG Mod"; - config.manufacturer = "Armalite"; + config.name = "ar15_50"; + config.manufacturer = EnumGunManufacturer.ARMALITE; config.config = new ArrayList(); config.config.add(BulletConfigSyncingUtil.BMG50_FLECHETTE_AM); @@ -157,7 +181,7 @@ public class Gun50BMGFactory { BulletConfiguration bullet = BulletConfigFactory.standardBulletConfig(); - bullet.ammo = ModItems.ammo_50bmg; + bullet.ammo = new ComparableStack(ModItems.ammo_50bmg, 1, 0); bullet.spread *= inaccuracy; bullet.dmgMin = 30; bullet.dmgMax = 36; @@ -169,7 +193,7 @@ public class Gun50BMGFactory { BulletConfiguration bullet = BulletConfigFactory.standardBulletConfig(); - bullet.ammo = ModItems.ammo_50bmg_incendiary; + bullet.ammo = new ComparableStack(ModItems.ammo_50bmg, 1, 1); bullet.spread *= inaccuracy; bullet.dmgMin = 30; bullet.dmgMax = 36; @@ -183,7 +207,7 @@ public class Gun50BMGFactory { BulletConfiguration bullet = BulletConfigFactory.standardBulletConfig(); - bullet.ammo = ModItems.ammo_50bmg_phosphorus; + bullet.ammo = new ComparableStack(ModItems.ammo_50bmg, 1, 2); bullet.spread *= inaccuracy; bullet.dmgMin = 30; bullet.dmgMax = 36; @@ -218,7 +242,7 @@ public class Gun50BMGFactory { BulletConfiguration bullet = BulletConfigFactory.standardBulletConfig(); - bullet.ammo = ModItems.ammo_50bmg_explosive; + bullet.ammo = new ComparableStack(ModItems.ammo_50bmg, 1, 3); bullet.spread *= inaccuracy; bullet.dmgMin = 60; bullet.dmgMax = 64; @@ -232,7 +256,7 @@ public class Gun50BMGFactory { BulletConfiguration bullet = BulletConfigFactory.standardBulletConfig(); - bullet.ammo = ModItems.ammo_50bmg_ap; + bullet.ammo = new ComparableStack(ModItems.ammo_50bmg, 1, 4); bullet.spread *= inaccuracy; bullet.dmgMin = 62; bullet.dmgMax = 68; @@ -246,7 +270,7 @@ public class Gun50BMGFactory { BulletConfiguration bullet = BulletConfigFactory.standardBulletConfig(); - bullet.ammo = ModItems.ammo_50bmg_du; + bullet.ammo = new ComparableStack(ModItems.ammo_50bmg, 1, 5); bullet.spread *= inaccuracy; bullet.dmgMin = 80; bullet.dmgMax = 86; @@ -260,7 +284,7 @@ public class Gun50BMGFactory { BulletConfiguration bullet = BulletConfigFactory.standardBulletConfig(); - bullet.ammo = ModItems.ammo_50bmg_star; + bullet.ammo = new ComparableStack(ModItems.ammo_50bmg, 1, 6); bullet.spread *= inaccuracy; bullet.dmgMin = 98; bullet.dmgMax = 102; @@ -274,7 +298,7 @@ public class Gun50BMGFactory { BulletConfiguration bullet = BulletConfigFactory.standardBulletConfig(); - bullet.ammo = ModItems.ammo_50bmg_sleek; + bullet.ammo = new ComparableStack(ModItems.ammo_50bmg, 1, 8); bullet.spread *= inaccuracy; bullet.dmgMin = 50; bullet.dmgMax = 70; @@ -324,7 +348,7 @@ public class Gun50BMGFactory { BulletConfiguration bullet = BulletConfigFactory.standardBulletConfig(); - bullet.ammo = ModItems.ammo_50bmg_flechette; + bullet.ammo = new ComparableStack(ModItems.ammo_50bmg, 1, 9); bullet.spread *= inaccuracy; bullet.dmgMin = 50; bullet.dmgMax = 54; @@ -337,7 +361,7 @@ public class Gun50BMGFactory { BulletConfiguration bullet = BulletConfigFactory.standardBulletConfig(); - bullet.ammo = ModItems.ammo_50bmg_flechette_am; + bullet.ammo = new ComparableStack(ModItems.ammo_50bmg, 1, 10); bullet.spread *= inaccuracy; bullet.dmgMin = 60; bullet.dmgMax = 64; @@ -364,7 +388,7 @@ public class Gun50BMGFactory { BulletConfiguration bullet = BulletConfigFactory.standardBulletConfig(); - bullet.ammo = ModItems.ammo_50bmg_flechette_po; + bullet.ammo = new ComparableStack(ModItems.ammo_50bmg, 1, 11); bullet.spread *= inaccuracy; bullet.dmgMin = 60; bullet.dmgMax = 64; diff --git a/src/main/java/com/hbm/handler/guncfg/Gun556mmFactory.java b/src/main/java/com/hbm/handler/guncfg/Gun556mmFactory.java index 49198fa4c..ee72c8f33 100644 --- a/src/main/java/com/hbm/handler/guncfg/Gun556mmFactory.java +++ b/src/main/java/com/hbm/handler/guncfg/Gun556mmFactory.java @@ -8,7 +8,10 @@ import com.hbm.handler.BulletConfiguration; import com.hbm.handler.GunConfiguration; import com.hbm.interfaces.IBulletHitBehavior; import com.hbm.interfaces.IBulletImpactBehavior; +import com.hbm.inventory.RecipesCommon.ComparableStack; import com.hbm.items.ModItems; +import com.hbm.lib.HbmCollection; +import com.hbm.lib.HbmCollection.EnumGunManufacturer; import com.hbm.packet.AuxParticlePacketNT; import com.hbm.packet.PacketDispatcher; import com.hbm.potion.HbmPotion; @@ -45,22 +48,12 @@ public class Gun556mmFactory { config.firingSound = "hbm:weapon.hksShoot"; config.reloadSoundEnd = false; - config.name = "Britannian Standard Issue Assault Rifle"; - config.manufacturer = "BAE Systems plc"; + config.name = "baeAR"; + config.manufacturer = EnumGunManufacturer.BAE; config.comment.add("Why is this gun so sticky?"); - config.config = new ArrayList(); - config.config.add(BulletConfigSyncingUtil.R556_NORMAL); - config.config.add(BulletConfigSyncingUtil.R556_GOLD); - config.config.add(BulletConfigSyncingUtil.R556_TRACER); - config.config.add(BulletConfigSyncingUtil.R556_PHOSPHORUS); - config.config.add(BulletConfigSyncingUtil.R556_AP); - config.config.add(BulletConfigSyncingUtil.R556_DU); - config.config.add(BulletConfigSyncingUtil.R556_STAR); - config.config.add(BulletConfigSyncingUtil.CHL_R556); - config.config.add(BulletConfigSyncingUtil.R556_SLEEK); - config.config.add(BulletConfigSyncingUtil.R556_K); + config.config = HbmCollection.NATO; return config; } @@ -92,21 +85,14 @@ public class Gun556mmFactory { ) ); - config.name = "H&R SPIW"; - config.manufacturer = "Harrington & Richardson"; + config.name = "spiw"; + config.manufacturer = EnumGunManufacturer.H_AND_R; config.comment.add("Launch some flechettes in the breeze"); config.comment.add("Find his arms nailed to the trees"); config.comment.add("Napalm sticks to kids"); - - config.config = new ArrayList(); - config.config.add(BulletConfigSyncingUtil.R556_FLECHETTE); - config.config.add(BulletConfigSyncingUtil.R556_FLECHETTE_INCENDIARY); - config.config.add(BulletConfigSyncingUtil.R556_FLECHETTE_PHOSPHORUS); - config.config.add(BulletConfigSyncingUtil.R556_FLECHETTE_DU); - config.config.add(BulletConfigSyncingUtil.CHL_R556_FLECHETTE); - config.config.add(BulletConfigSyncingUtil.R556_FLECHETTE_SLEEK); - config.config.add(BulletConfigSyncingUtil.R556_K); + + config.config = HbmCollection.NATOFlechette; return config; } @@ -130,28 +116,17 @@ public class Gun556mmFactory { config.reloadSound = GunConfiguration.RSOUND_GRENADE; config.reloadSoundEnd = false; - config.config = new ArrayList(); - config.config.add(BulletConfigSyncingUtil.GRENADE_NORMAL); - config.config.add(BulletConfigSyncingUtil.GRENADE_HE); - config.config.add(BulletConfigSyncingUtil.GRENADE_INCENDIARY); - config.config.add(BulletConfigSyncingUtil.GRENADE_PHOSPHORUS); - config.config.add(BulletConfigSyncingUtil.GRENADE_CHEMICAL); - config.config.add(BulletConfigSyncingUtil.GRENADE_CONCUSSION); - config.config.add(BulletConfigSyncingUtil.GRENADE_FINNED); - config.config.add(BulletConfigSyncingUtil.GRENADE_SLEEK); - config.config.add(BulletConfigSyncingUtil.GRENADE_NUCLEAR); - config.config.add(BulletConfigSyncingUtil.GRENADE_TRACER); - config.config.add(BulletConfigSyncingUtil.GRENADE_KAMPF); + config.config = HbmCollection.grenade; return config; } - static float inaccuracy = 2.5F; + private static float inaccuracy = 2.5F; public static BulletConfiguration get556Config() { BulletConfiguration bullet = BulletConfigFactory.standardBulletConfig(); - bullet.ammo = ModItems.ammo_556; + bullet.ammo = new ComparableStack(ModItems.ammo_556, 1, 0); bullet.spread *= inaccuracy; bullet.dmgMin = 16; bullet.dmgMax = 20; @@ -163,7 +138,7 @@ public class Gun556mmFactory { BulletConfiguration bullet = get556Config(); - bullet.ammo = ModItems.ammo_566_gold; + bullet.ammo = new ComparableStack(ModItems.ammo_556, 1, 1); bullet.dmgMin = 250; bullet.dmgMax = 320; bullet.spread = 0.0F; @@ -175,7 +150,7 @@ public class Gun556mmFactory { BulletConfiguration bullet = get556Config(); - bullet.ammo = ModItems.ammo_556_phosphorus; + bullet.ammo = new ComparableStack(ModItems.ammo_556, 1, 2); bullet.wear = 15; bullet.incendiary = 5; bullet.doesPenetrate = false; @@ -207,7 +182,7 @@ public class Gun556mmFactory { BulletConfiguration bullet = get556Config(); - bullet.ammo = ModItems.ammo_556_ap; + bullet.ammo = new ComparableStack(ModItems.ammo_556, 1, 3); bullet.dmgMin = 20; bullet.dmgMax = 26; bullet.wear = 15; @@ -220,7 +195,7 @@ public class Gun556mmFactory { BulletConfiguration bullet = get556Config(); - bullet.ammo = ModItems.ammo_556_du; + bullet.ammo = new ComparableStack(ModItems.ammo_556, 1, 4); bullet.dmgMin = 24; bullet.dmgMax = 32; bullet.wear = 25; @@ -233,7 +208,7 @@ public class Gun556mmFactory { BulletConfiguration bullet = get556Config(); - bullet.ammo = ModItems.ammo_556_star; + bullet.ammo = new ComparableStack(ModItems.ammo_556, 1, 5); bullet.dmgMin = 30; bullet.dmgMax = 36; bullet.wear = 25; @@ -246,7 +221,7 @@ public class Gun556mmFactory { BulletConfiguration bullet = get556Config(); - bullet.ammo = ModItems.ammo_556_sleek; + bullet.ammo = new ComparableStack(ModItems.ammo_556, 1, 7); bullet.dmgMin = 45; bullet.dmgMax = 50; bullet.wear = 10; @@ -295,7 +270,7 @@ public class Gun556mmFactory { BulletConfiguration bullet = get556Config(); - bullet.ammo = ModItems.ammo_556_tracer; + bullet.ammo = new ComparableStack(ModItems.ammo_556, 1, 8); bullet.vPFX = "reddust"; return bullet; @@ -305,7 +280,7 @@ public class Gun556mmFactory { BulletConfiguration bullet = get556Config(); - bullet.ammo = ModItems.ammo_556_flechette; + bullet.ammo = new ComparableStack(ModItems.ammo_556, 1, 9); bullet.dmgMin = 26; bullet.dmgMax = 32; bullet.HBRC = 2; @@ -321,7 +296,7 @@ public class Gun556mmFactory { BulletConfiguration bullet = get556FlechetteConfig(); - bullet.ammo = ModItems.ammo_556_flechette_incendiary; + bullet.ammo = new ComparableStack(ModItems.ammo_556, 1, 10); bullet.incendiary = 5; return bullet; @@ -331,7 +306,7 @@ public class Gun556mmFactory { BulletConfiguration bullet = get556FlechetteConfig(); - bullet.ammo = ModItems.ammo_556_flechette_phosphorus; + bullet.ammo = new ComparableStack(ModItems.ammo_556, 1, 11); bullet.incendiary = 5; PotionEffect eff = new PotionEffect(HbmPotion.phosphorus.id, 20 * 20, 0, true); @@ -361,7 +336,7 @@ public class Gun556mmFactory { BulletConfiguration bullet = get556FlechetteConfig(); - bullet.ammo = ModItems.ammo_556_flechette_du; + bullet.ammo = new ComparableStack(ModItems.ammo_556, 1, 12); bullet.dmgMin = 46; bullet.dmgMax = 52; bullet.wear = 25; @@ -375,7 +350,7 @@ public class Gun556mmFactory { BulletConfiguration bullet = get556FlechetteConfig(); - bullet.ammo = ModItems.ammo_556_flechette_sleek; + bullet.ammo = new ComparableStack(ModItems.ammo_556, 1, 13); bullet.dmgMin = 45; bullet.dmgMax = 50; bullet.wear = 10; @@ -424,7 +399,7 @@ public class Gun556mmFactory { BulletConfiguration bullet = BulletConfigFactory.standardBulletConfig(); - bullet.ammo = ModItems.ammo_556_k; + bullet.ammo = new ComparableStack(ModItems.ammo_556, 1, 14); bullet.dmgMin = 0; bullet.dmgMax = 0; bullet.maxAge = 0; diff --git a/src/main/java/com/hbm/lib/HbmCollection.java b/src/main/java/com/hbm/lib/HbmCollection.java index e8042a64d..ae0cfbac4 100644 --- a/src/main/java/com/hbm/lib/HbmCollection.java +++ b/src/main/java/com/hbm/lib/HbmCollection.java @@ -1,12 +1,15 @@ package com.hbm.lib; +import java.util.List; import java.util.Set; +import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableSet; +import com.hbm.handler.BulletConfigSyncingUtil; import com.hbm.items.weapon.ItemAmmo.AmmoItemTrait; public class HbmCollection { - + public static final Set APType = ImmutableSet.of(AmmoItemTrait.PRO_DAMAGE, AmmoItemTrait.CON_WEAR); public static final Set FlechetteType = ImmutableSet.of(AmmoItemTrait.PRO_DAMAGE, AmmoItemTrait.NEU_LESS_BOUNCY, AmmoItemTrait.CON_WEAR); public static final Set IncendiaryType = ImmutableSet.of(AmmoItemTrait.PRO_INCENDIARY, AmmoItemTrait.CON_WEAR); @@ -16,4 +19,153 @@ public class HbmCollection { public static final Set DUType = ImmutableSet.of(AmmoItemTrait.PRO_HEAVY_DAMAGE, AmmoItemTrait.NEU_HEAVY_METAL, AmmoItemTrait.CON_HEAVY_WEAR); public static final Set StarmetalType = ImmutableSet.of(AmmoItemTrait.PRO_HEAVY_DAMAGE, AmmoItemTrait.NEU_STARMETAL, AmmoItemTrait.CON_HEAVY_WEAR); public static final Set ChlorophyteType = ImmutableSet.of(AmmoItemTrait.PRO_DAMAGE, AmmoItemTrait.PRO_WEAR, AmmoItemTrait.NEU_CHLOROPHYTE, AmmoItemTrait.NEU_HOMING, AmmoItemTrait.CON_PENETRATION); + + /// BULLET COLLECTIONS + // SHOTGUNS + /** 12 GAUGE **/ + public static final List twelveGauge = ImmutableList.of(BulletConfigSyncingUtil.G12_NORMAL, BulletConfigSyncingUtil.G12_INCENDIARY, BulletConfigSyncingUtil.G12_SHRAPNEL, BulletConfigSyncingUtil.G12_DU, BulletConfigSyncingUtil.G12_AM, BulletConfigSyncingUtil.G12_SLEEK); + /** 20 GAUGE **/ + public static final List twentyGauge = ImmutableList.of(BulletConfigSyncingUtil.G20_NORMAL, BulletConfigSyncingUtil.G20_SLUG, BulletConfigSyncingUtil.G20_FLECHETTE, BulletConfigSyncingUtil.G20_FIRE, BulletConfigSyncingUtil.G20_SHRAPNEL, BulletConfigSyncingUtil.G20_EXPLOSIVE, BulletConfigSyncingUtil.G20_CAUSTIC, BulletConfigSyncingUtil.G20_SHOCK, BulletConfigSyncingUtil.G20_WITHER, BulletConfigSyncingUtil.G20_SLEEK); + /** 4 GAUGE **/ + public static final List fourGauge = ImmutableList.of(BulletConfigSyncingUtil.G4_NORMAL, BulletConfigSyncingUtil.G4_SLUG, BulletConfigSyncingUtil.G4_FLECHETTE, BulletConfigSyncingUtil.G4_FLECHETTE_PHOSPHORUS, BulletConfigSyncingUtil.G4_EXPLOSIVE, BulletConfigSyncingUtil.G4_SEMTEX, BulletConfigSyncingUtil.G4_BALEFIRE, BulletConfigSyncingUtil.G4_KAMPF, BulletConfigSyncingUtil.G4_CANISTER, BulletConfigSyncingUtil.G4_CLAW, BulletConfigSyncingUtil.G4_VAMPIRE, BulletConfigSyncingUtil.G4_VOID, BulletConfigSyncingUtil.G4_TITAN, BulletConfigSyncingUtil.G4_SLEEK); + // PISTOL CALIBER + /** .22 LONG RIFLE **/ + public static final List twentyTwoLR = ImmutableList.of(BulletConfigSyncingUtil.LR22_NORMAL, BulletConfigSyncingUtil.LR22_AP, BulletConfigSyncingUtil.CHL_LR22); + public static final List twentyTwoLRFire = ImmutableList.of(BulletConfigSyncingUtil.LR22_NORMAL_FIRE, BulletConfigSyncingUtil.LR22_AP_FIRE, BulletConfigSyncingUtil.CHL_LR22_FIRE); + /** .44 MAGNUM (BASIC) **/ + public static final List fourtyFourMagBasic = ImmutableList.of(BulletConfigSyncingUtil.M44_NORMAL, BulletConfigSyncingUtil.M44_AP, BulletConfigSyncingUtil.M44_DU, BulletConfigSyncingUtil.M44_PHOSPHORUS, BulletConfigSyncingUtil.M44_STAR, BulletConfigSyncingUtil.CHL_M44, BulletConfigSyncingUtil.M44_ROCKET); + /** .44 MAGNUM (ALL) **/ + public static final List fourtyFourMagAll = ImmutableList.of(BulletConfigSyncingUtil.M44_NORMAL, BulletConfigSyncingUtil.M44_AP, BulletConfigSyncingUtil.M44_DU, BulletConfigSyncingUtil.M44_PHOSPHORUS, BulletConfigSyncingUtil.M44_STAR, BulletConfigSyncingUtil.CHL_M44, BulletConfigSyncingUtil.M44_ROCKET, BulletConfigSyncingUtil.M44_PIP, BulletConfigSyncingUtil.M44_BJ, BulletConfigSyncingUtil.M44_SILVER); + /** .50 ACTION EXPRESS **/ + public static final List fiftyAE = ImmutableList.of(BulletConfigSyncingUtil.AE50_NORMAL, BulletConfigSyncingUtil.AE50_AP, BulletConfigSyncingUtil.AE50_DU, BulletConfigSyncingUtil.AE50_STAR, BulletConfigSyncingUtil.CHL_AE50); + /** 9MM Parabellum **/ + public static final List nineMM = ImmutableList.of(BulletConfigSyncingUtil.P9_NORMAL, BulletConfigSyncingUtil.P9_AP, BulletConfigSyncingUtil.P9_DU, BulletConfigSyncingUtil.CHL_P9, BulletConfigSyncingUtil.P9_ROCKET); + /** .45 AUTOMATIC COLT PISTOL **/ + public static final List fourtyFiveACP = ImmutableList.of(BulletConfigSyncingUtil.ACP_45); + // RIFLE CALIBER + /** .50 BROWNING MACHINE GUN **/ + public static final List fiftyBMG = ImmutableList.of(BulletConfigSyncingUtil.BMG50_NORMAL, BulletConfigSyncingUtil.BMG50_INCENDIARY, BulletConfigSyncingUtil.BMG50_PHOSPHORUS, BulletConfigSyncingUtil.BMG50_EXPLOSIVE, BulletConfigSyncingUtil.BMG50_AP, BulletConfigSyncingUtil.BMG50_DU, BulletConfigSyncingUtil.BMG50_STAR, BulletConfigSyncingUtil.CHL_BMG50, BulletConfigSyncingUtil.BMG50_SLEEK); + /** .50 BROWNING MACHINE GUN (FLECHETTE) **/ + public static final List fiftyBMGFlechette = ImmutableList.of(BulletConfigSyncingUtil.BMG50_FLECHETTE_AM, BulletConfigSyncingUtil.BMG50_FLECHETTE_NORMAL, BulletConfigSyncingUtil.BMG50_FLECHETTE_PO); + /** 5.56MMx45 NATO (BASIC) **/ + public static final List NATO = ImmutableList.of(BulletConfigSyncingUtil.R556_NORMAL, BulletConfigSyncingUtil.R556_GOLD, BulletConfigSyncingUtil.R556_TRACER, BulletConfigSyncingUtil.R556_PHOSPHORUS, BulletConfigSyncingUtil.R556_AP, BulletConfigSyncingUtil.R556_DU, BulletConfigSyncingUtil.R556_STAR, BulletConfigSyncingUtil.CHL_R556, BulletConfigSyncingUtil.R556_SLEEK, BulletConfigSyncingUtil.R556_K); + /** 5.56MMx45 NATO (FLECHETTE) **/ + public static final List NATOFlechette = ImmutableList.of(BulletConfigSyncingUtil.R556_FLECHETTE, BulletConfigSyncingUtil.R556_FLECHETTE_INCENDIARY, BulletConfigSyncingUtil.R556_FLECHETTE_PHOSPHORUS, BulletConfigSyncingUtil.R556_FLECHETTE_DU, BulletConfigSyncingUtil.CHL_R556_FLECHETTE, BulletConfigSyncingUtil.R556_FLECHETTE_SLEEK, BulletConfigSyncingUtil.R556_K); + /** 7.62x51mm NATO **/ + public static final List threeZeroEight = ImmutableList.of(BulletConfigSyncingUtil.W308); + /** 5MM **/ + public static final List fiveMM = ImmutableList.of(BulletConfigSyncingUtil.R5_NORMAL_BOLT, BulletConfigSyncingUtil.R5_EXPLOSIVE_BOLT, BulletConfigSyncingUtil.R5_DU_BOLT, BulletConfigSyncingUtil.R5_STAR_BOLT, BulletConfigSyncingUtil.CHL_R5_BOLT); + // MISC + /** .75 **/ + public static final List seventyFive = ImmutableList.of(BulletConfigSyncingUtil.B75_NORMAL, BulletConfigSyncingUtil.B75_INCENDIARY, BulletConfigSyncingUtil.B75_HE); + /** 240MM SHELL **/ + public static final List cannon = ImmutableList.of(BulletConfigSyncingUtil.SHELL_NORMAL, BulletConfigSyncingUtil.SHELL_EXPLOSIVE, BulletConfigSyncingUtil.SHELL_AP, BulletConfigSyncingUtil.SHELL_DU, BulletConfigSyncingUtil.SHELL_W9); + /** FLAMETHROWER FUEL **/ + public static final List flamer = ImmutableList.of(BulletConfigSyncingUtil.FLAMER_NORMAL, BulletConfigSyncingUtil.FLAMER_NAPALM, BulletConfigSyncingUtil.FLAMER_WP, BulletConfigSyncingUtil.FLAMER_VAPORIZER, BulletConfigSyncingUtil.FLAMER_GAS); + /** MINI-NUKES **/ + public static final List fatman = ImmutableList.of(BulletConfigSyncingUtil.NUKE_NORMAL, BulletConfigSyncingUtil.NUKE_LOW, BulletConfigSyncingUtil.NUKE_HIGH, BulletConfigSyncingUtil.NUKE_TOTS, BulletConfigSyncingUtil.NUKE_SAFE, BulletConfigSyncingUtil.NUKE_PUMPKIN, BulletConfigSyncingUtil.NUKE_BARREL); + /** MIRV MINI-NUKES **/ + public static final List fatmanMIRV = ImmutableList.of(BulletConfigSyncingUtil.NUKE_MIRV_NORMAL, BulletConfigSyncingUtil.NUKE_MIRV_LOW, BulletConfigSyncingUtil.NUKE_MIRV_HIGH, BulletConfigSyncingUtil.NUKE_MIRV_SAFE, BulletConfigSyncingUtil.NUKE_MIRV_SPECIAL); + /** 40MM GRENADE **/ + public static final List grenade = ImmutableList.of(BulletConfigSyncingUtil.GRENADE_NORMAL, BulletConfigSyncingUtil.GRENADE_HE, BulletConfigSyncingUtil.GRENADE_INCENDIARY, BulletConfigSyncingUtil.GRENADE_PHOSPHORUS, BulletConfigSyncingUtil.GRENADE_CHEMICAL, BulletConfigSyncingUtil.GRENADE_CONCUSSION, BulletConfigSyncingUtil.GRENADE_FINNED, BulletConfigSyncingUtil.GRENADE_SLEEK, BulletConfigSyncingUtil.GRENADE_NUCLEAR, BulletConfigSyncingUtil.GRENADE_TRACER, BulletConfigSyncingUtil.GRENADE_KAMPF); + /** 84MM ROCKET **/ + public static final List rocket = ImmutableList.of(BulletConfigSyncingUtil.ROCKET_NORMAL, BulletConfigSyncingUtil.ROCKET_HE, BulletConfigSyncingUtil.ROCKET_INCENDIARY, BulletConfigSyncingUtil.ROCKET_PHOSPHORUS, BulletConfigSyncingUtil.ROCKET_SHRAPNEL, BulletConfigSyncingUtil.ROCKET_EMP, BulletConfigSyncingUtil.ROCKET_GLARE, BulletConfigSyncingUtil.ROCKET_TOXIC, BulletConfigSyncingUtil.ROCKET_CANISTER, BulletConfigSyncingUtil.ROCKET_SLEEK, BulletConfigSyncingUtil.ROCKET_NUKE, BulletConfigSyncingUtil.ROCKET_CHAINSAW); + + /// FREQUENTLY USED TRANSLATION KEYS + // GUN MANUFACTURERS + public static enum EnumGunManufacturer + { + /**Armalite**/ + ARMALITE, + /**Auto-Ordnance Corporation**/ + AUTO_ORDINANCE, + /**BAE Systems plc**/ + BAE, + /**Benelli Armi SpA**/ + BENELLI, + /**Black Mesa Research Facility**/ + BLACK_MESA, + /**Cerix Magnus**/ + CERIX, + /**Colt's Manufacturing Company**/ + COLT, + /**The Universal Union**/ + COMBINE, + /**Cube 2: Sauerbraten**/ + CUBE, + /**Enzinger Union**/ + ENZINGER, + /**Equestria Missile Systems**/ + EQUESTRIA, + /**Fisher Price**/ + F_PRICE, + /**Fort Strong**/ + F_STRONG, + /**FlimFlam Industries**/ + FLIMFLAM, + /**Gloria GmbH**/ + GLORIA, + /**Heckler & Koch**/ + H_AND_K, + /**Harrington & Richardson**/ + H_AND_R, + /**Hasbro**/ + HASBRO, + /**Ironshod Firearms**/ + IF, + /**Israel Military Industries**/ + IMI, + /**IMI / Big MT**/ + IMI_BIGMT, + /**Langford Research Laboratories**/ + LANGFORD, + /**Magnum Research / Israel Military Industries**/ + MAGNUM_R_IMI, + /**Open Mann Co.**/ + MANN, + /**Hiram Maxim**/ + MAXIM, + /**Metro Gunsmiths**/ + METRO, + /**MWT Prototype Labs**/ + MWT, + /**Erfurter Maschinenfabrik Geipel**/ + NAZI, + /**No manufacturer, just puts "-" **/ + NONE, + /**OxfordEM Technologies**/ + OXFORD, + /**Lunar Defense Corp**/ + LUNA, + /**Raytheon Missile Systems**/ + RAYTHEON, + /**Rockwell International Corporation**/ + ROCKWELL, + /**Rockwell International Corporation?**/ + ROCKWELL_U, + /**Ryan Industries**/ + RYAN, + /**Saab Bofors Dynamics**/ + SAAB, + /**Saco Defense / US Ordnance**/ + SACO, + /**Tulsky Oruzheiny Zavod**/ + TULSKY, + /**Union Aerospace Corporation**/ + UAC, + /**Unknown manufacturer, puts "???"**/ + UNKNOWN, + /**WestTek**/ + WESTTEK, + /**Wilhelm-Gustloff-Werke**/ + WGW, + /**Winchester Repeating Arms Company**/ + WINCHESTER, + /**Winchester Repeating Arms Company / Big MT**/ + WINCHESTER_BIGMT; + + public String getKey() { + return "gun.make." + toString(); + } + } }