diff --git a/assets/hbm/lang/de_DE.lang b/assets/hbm/lang/de_DE.lang index 2f96dd3f7..9baa28bfe 100644 --- a/assets/hbm/lang/de_DE.lang +++ b/assets/hbm/lang/de_DE.lang @@ -43,6 +43,8 @@ achievement.oil=Petroleum achievement.oil.desc=Bobmazon Level 4 (Elektrischer Boiler) achievement.nuclear=Atomwissenschaft achievement.nuclear.desc=Bobmazon Level 5 (Urankernbrennstoff) +achievement.hidden=Versteckter Katalog +achievement.hidden.desc=Töte einen Enderman mit einem fallenden Güterwagon wärend du brennst und mehr als 250 RADs hast. potion.hbm_taint=Verdorben potion.hbm_mutation=Verdorbenes Herz @@ -187,7 +189,7 @@ death.attack.blackhole=%1$s wurde spaghettifiziert. death.attack.blender=%1$s wurde in kleine, mundgerechte Stücke geschnitten. death.attack.meteorite=%1$s wurde von einem fallenden Stein aus dem Weltall erschlagen. death.attack.boxcar=%1$s wurde von einem fallenden Güterwagon zermatscht. Autsch! -death.attack.boat=%1$s wurde von Schiff getroffen. +death.attack.boat=%1$s wurde von Schiff erschlagen. death.attack.broadcast=%1$s wurde das Gehirn geschmolzen. death.attack.ams=%1$s wurde in tödlichen Teilchen gebadet, die von der Menschheit erst benannt werden müssen. death.attack.amsCore=%1$s wurde vom Feuer einer Singularität verdampft. @@ -2033,6 +2035,12 @@ tile.block_meteor_broken.name=Gebrochener Meteoritenblock tile.block_meteor_cobble.name=Meteoritenpflasterstein tile.block_meteor_molten.name=Heißer Meteoritenpflasterstein tile.block_meteor_treasure.name=Meteoritenschatz +tile.meteor_polished.name=Polierter Meteoritenblock +tile.meteor_brick.name=Meteoritenziegel +tile.meteor_brick_mossy.name=Bemooster Meteoritenziegel +tile.meteor_brick_cracked.name=Rissiger Meteoritenziegel +tile.meteor_brick_chiseled.name=Gemeißelter Meteoritenziegel +tile.meteor_pillar.name=Meteoritensäule item.cape_radiation.name=Cape (Radioaktiv) item.cape_gasmask.name=Cape (Gasmaske) @@ -2310,7 +2318,7 @@ item.letter.name=Eilbrief item.polaroid.name=Das Polaroid item.glitch.name=Glitch item.book_secret.name=3-596-50802-9 -item.book_of_.name=Das Buch der Güterwaggons +item.book_of_.name=Das Buch der Güterwagons item.burnt_bark.name=Verbrannte Rinde item.loot_10.name=Größe 10 Raketen-Lootbox diff --git a/assets/hbm/lang/en_US.lang b/assets/hbm/lang/en_US.lang index 81328ca35..c403cba2f 100644 --- a/assets/hbm/lang/en_US.lang +++ b/assets/hbm/lang/en_US.lang @@ -43,6 +43,8 @@ achievement.oil=Petroleum achievement.oil.desc=Bobmazon Level 4 (Electric Boiler) achievement.nuclear=Atomic Science achievement.nuclear.desc=Bobmazon Level 5 (Uranium Fuel) +achievement.hidden=Hidden Catalog +achievement.hidden.desc=Kill an enderman with a falling boxcar while being on fire and having more than 250 RADs. potion.hbm_taint=Tainted potion.hbm_mutation=Tainted Heart @@ -2033,6 +2035,12 @@ tile.block_meteor_broken.name=Broken Meteorite Block tile.block_meteor_cobble.name=Meteorite Cobblestone tile.block_meteor_molten.name=Hot Meteorite Cobblestone tile.block_meteor_treasure.name=Meteorite Treasure Block +tile.meteor_polished.name=Polished Meteor Block +tile.meteor_brick.name=Meteor Brick +tile.meteor_brick_mossy.name=Mossy Meteor Brick +tile.meteor_brick_cracked.name=Cracked Meteor Brick +tile.meteor_brick_chiseled.name=Chiseled Meteor Brick +tile.meteor_pillar.name=Meteor Pillar item.cape_radiation.name=Cape (Radiation) item.cape_gasmask.name=Cape (Gas Mask) diff --git a/assets/hbm/sounds.json b/assets/hbm/sounds.json index c427bf30f..90289d1ad 100644 --- a/assets/hbm/sounds.json +++ b/assets/hbm/sounds.json @@ -163,6 +163,6 @@ "alarm.nostromoSiren": {"category": "record", "sounds": [{"name": "alarm/nostromoSiren", "stream": false}]}, "alarm.easAlarm": {"category": "record", "sounds": [{"name": "alarm/easAlarm", "stream": false}]}, "alarm.airRaid": {"category": "record", "sounds": [{"name": "alarm/airRaid", "stream": true}]}, - "alarm.classic": {"category": "record", "sounds": [{"name": "alarm/classicSiren", "stream": true}]}, + "alarm.classic": {"category": "record", "sounds": [{"name": "alarm/classicSiren", "stream": false}]}, "alarm.gambit": {"category": "record", "sounds": [{"name": "alarm/gambit", "stream": true}]} } diff --git a/assets/hbm/textures/items/ammo_12gauge_shrapnel.png b/assets/hbm/textures/items/ammo_12gauge_shrapnel.png new file mode 100644 index 000000000..d81c85033 Binary files /dev/null and b/assets/hbm/textures/items/ammo_12gauge_shrapnel.png differ diff --git a/assets/hbm/textures/items/ammo_20gauge_shrapnel.png b/assets/hbm/textures/items/ammo_20gauge_shrapnel.png new file mode 100644 index 000000000..b243ecc5e Binary files /dev/null and b/assets/hbm/textures/items/ammo_20gauge_shrapnel.png differ diff --git a/com/hbm/entity/projectile/EntityBulletBase.java b/com/hbm/entity/projectile/EntityBulletBase.java index 796aaa2de..c9c054373 100644 --- a/com/hbm/entity/projectile/EntityBulletBase.java +++ b/com/hbm/entity/projectile/EntityBulletBase.java @@ -46,6 +46,7 @@ public class EntityBulletBase extends Entity implements IProjectile { private BulletConfiguration config; private EntityLivingBase shooter; + public float overrideDamage; public EntityBulletBase(World world) { super(world); @@ -224,6 +225,9 @@ public class EntityBulletBase extends Entity implements IProjectile { float damage = rand.nextFloat() * (config.dmgMax - config.dmgMin) + config.dmgMin; + if(overrideDamage != 0) + damage = overrideDamage; + if(!victim.attackEntityFrom(damagesource, damage)) { try { @@ -553,6 +557,8 @@ public class EntityBulletBase extends Entity implements IProjectile { return; } + this.overrideDamage = nbt.getFloat("damage"); + this.dataWatcher.updateObject(18, cfg); this.dataWatcher.updateObject(16, (byte)this.config.style); @@ -563,6 +569,8 @@ public class EntityBulletBase extends Entity implements IProjectile { protected void writeEntityToNBT(NBTTagCompound nbt) { nbt.setInteger("config", dataWatcher.getWatchableObjectInt(18)); + + nbt.setFloat("damage", this.overrideDamage); } } diff --git a/com/hbm/entity/projectile/EntityDuchessGambit.java b/com/hbm/entity/projectile/EntityDuchessGambit.java index b156ae9b8..7e717bc29 100644 --- a/com/hbm/entity/projectile/EntityDuchessGambit.java +++ b/com/hbm/entity/projectile/EntityDuchessGambit.java @@ -53,7 +53,7 @@ public class EntityDuchessGambit extends EntityThrowable { AxisAlignedBB.getBoundingBox(posX - 5, posY - 2, posZ - 9, posX + 5, posY + 2, posZ + 9)); for(Entity e : list) { - e.attackEntityFrom(ModDamageSource.boxcar, 1000); + e.attackEntityFrom(ModDamageSource.boat, 1000); } if(!worldObj.isRemote) { diff --git a/com/hbm/handler/BobmazonOfferFactory.java b/com/hbm/handler/BobmazonOfferFactory.java index 2dc0ab890..bc32d55da 100644 --- a/com/hbm/handler/BobmazonOfferFactory.java +++ b/com/hbm/handler/BobmazonOfferFactory.java @@ -158,44 +158,46 @@ public class BobmazonOfferFactory { tools.add(new Offer(new ItemStack(ModItems.hazmat_red_kit), Requirement.CHEMICS, 100 * inflation)); tools.add(new Offer(new ItemStack(ModItems.hazmat_grey_kit), Requirement.OIL, 160 * inflation)); - special.add(new Offer(new ItemStack(ModItems.nuke_starter_kit), Requirement.STEEL, 20)); - special.add(new Offer(new ItemStack(ModItems.nuke_advanced_kit), Requirement.STEEL, 30)); - special.add(new Offer(new ItemStack(ModItems.boy_kit), Requirement.STEEL, 35)); - special.add(new Offer(new ItemStack(ModItems.missile_kit), Requirement.STEEL, 60)); - special.add(new Offer(new ItemStack(ModItems.grenade_kit), Requirement.STEEL, 20)); - special.add(new Offer(new ItemStack(ModItems.gun_lever_action), Requirement.STEEL, 5)); - special.add(new Offer(new ItemStack(ModItems.ammo_20gauge, 24), Requirement.STEEL, 5)); - special.add(new Offer(new ItemStack(ModItems.ammo_20gauge_incendiary, 24), Requirement.STEEL, 7)); - special.add(new Offer(new ItemStack(ModItems.gun_uzi_silencer, 1), Requirement.STEEL, 5)); - special.add(new Offer(new ItemStack(ModItems.ammo_22lr, 64), Requirement.STEEL, 3)); - special.add(new Offer(new ItemStack(ModItems.ammo_22lr_ap, 64), Requirement.STEEL, 4)); - special.add(new Offer(new ItemStack(ModItems.gun_hk69, 24), Requirement.STEEL, 8)); - special.add(new Offer(new ItemStack(ModItems.ammo_grenade, 6), Requirement.STEEL, 4)); - special.add(new Offer(new ItemStack(ModItems.ammo_grenade_sleek, 6), Requirement.STEEL, 6)); - special.add(new Offer(new ItemStack(ModItems.gun_kit_1, 10), Requirement.STEEL, 1)); - special.add(new Offer(new ItemStack(ModItems.gun_kit_2, 5), Requirement.STEEL, 3)); - special.add(new Offer(new ItemStack(ModBlocks.machine_epress, 2), Requirement.STEEL, 5)); - special.add(new Offer(new ItemStack(ModBlocks.machine_assembler, 1), Requirement.STEEL, 5)); - special.add(new Offer(new ItemStack(ModBlocks.machine_chemplant, 1), Requirement.STEEL, 5)); - special.add(new Offer(new ItemStack(ModBlocks.machine_boiler_off, 1), Requirement.STEEL, 5)); - special.add(new Offer(new ItemStack(ModBlocks.machine_well, 1), Requirement.STEEL, 5)); - special.add(new Offer(new ItemStack(ModBlocks.machine_refinery, 1), Requirement.STEEL, 8)); - special.add(new Offer(new ItemStack(ModBlocks.machine_fluidtank, 4), Requirement.STEEL, 3)); - special.add(new Offer(new ItemStack(ModBlocks.barrel_antimatter, 4), Requirement.STEEL, 3)); - special.add(new Offer(new ItemStack(ModItems.ingot_steel, 64), Requirement.STEEL, 2)); - special.add(new Offer(new ItemStack(ModItems.ingot_copper, 64), Requirement.STEEL, 2)); - special.add(new Offer(new ItemStack(ModItems.ingot_red_copper, 64), Requirement.STEEL, 2)); - special.add(new Offer(new ItemStack(ModItems.ingot_titanium, 64), Requirement.STEEL, 2)); - special.add(new Offer(new ItemStack(ModItems.ingot_tungsten, 64), Requirement.STEEL, 2)); - special.add(new Offer(new ItemStack(ModBlocks.struct_launcher_core, 1), Requirement.STEEL, 3)); - special.add(new Offer(new ItemStack(ModBlocks.struct_launcher_core_large, 1), Requirement.STEEL, 3)); - special.add(new Offer(new ItemStack(ModBlocks.struct_launcher, 40), Requirement.STEEL, 7)); - special.add(new Offer(new ItemStack(ModBlocks.struct_scaffold, 11), Requirement.STEEL, 7)); - special.add(new Offer(new ItemStack(ModItems.loot_10, 1), Requirement.STEEL, 2)); - special.add(new Offer(new ItemStack(ModItems.loot_15, 1), Requirement.STEEL, 2)); - special.add(new Offer(new ItemStack(ModItems.loot_misc, 1), Requirement.STEEL, 2)); - special.add(new Offer(new ItemStack(ModBlocks.crate_can, 1), Requirement.STEEL, 1)); - special.add(new Offer(new ItemStack(ModBlocks.crate_ammo, 1), Requirement.STEEL, 15)); + special.add(new Offer(new ItemStack(ModItems.nuke_starter_kit), Requirement.HIDDEN, 20)); + special.add(new Offer(new ItemStack(ModItems.nuke_advanced_kit), Requirement.HIDDEN, 30)); + special.add(new Offer(new ItemStack(ModItems.boy_kit), Requirement.HIDDEN, 35)); + special.add(new Offer(new ItemStack(ModItems.missile_kit), Requirement.HIDDEN, 60)); + special.add(new Offer(new ItemStack(ModItems.grenade_kit), Requirement.HIDDEN, 20)); + special.add(new Offer(new ItemStack(ModItems.jetpack_vector), Requirement.HIDDEN, 10)); + special.add(new Offer(new ItemStack(ModItems.jetpack_tank), Requirement.HIDDEN, 3)); + special.add(new Offer(new ItemStack(ModItems.gun_lever_action), Requirement.HIDDEN, 5)); + special.add(new Offer(new ItemStack(ModItems.ammo_20gauge, 24), Requirement.HIDDEN, 5)); + special.add(new Offer(new ItemStack(ModItems.ammo_20gauge_incendiary, 24), Requirement.HIDDEN, 7)); + special.add(new Offer(new ItemStack(ModItems.gun_uzi_silencer, 1), Requirement.HIDDEN, 5)); + special.add(new Offer(new ItemStack(ModItems.ammo_22lr, 64), Requirement.HIDDEN, 3)); + special.add(new Offer(new ItemStack(ModItems.ammo_22lr_ap, 64), Requirement.HIDDEN, 4)); + special.add(new Offer(new ItemStack(ModItems.gun_hk69, 24), Requirement.HIDDEN, 8)); + special.add(new Offer(new ItemStack(ModItems.ammo_grenade, 6), Requirement.HIDDEN, 4)); + special.add(new Offer(new ItemStack(ModItems.ammo_grenade_sleek, 6), Requirement.HIDDEN, 6)); + special.add(new Offer(new ItemStack(ModItems.gun_kit_1, 10), Requirement.HIDDEN, 1)); + special.add(new Offer(new ItemStack(ModItems.gun_kit_2, 5), Requirement.HIDDEN, 3)); + special.add(new Offer(new ItemStack(ModBlocks.machine_epress, 2), Requirement.HIDDEN, 5)); + special.add(new Offer(new ItemStack(ModBlocks.machine_assembler, 1), Requirement.HIDDEN, 5)); + special.add(new Offer(new ItemStack(ModBlocks.machine_chemplant, 1), Requirement.HIDDEN, 5)); + special.add(new Offer(new ItemStack(ModBlocks.machine_boiler_off, 1), Requirement.HIDDEN, 5)); + special.add(new Offer(new ItemStack(ModBlocks.machine_well, 1), Requirement.HIDDEN, 5)); + special.add(new Offer(new ItemStack(ModBlocks.machine_refinery, 1), Requirement.HIDDEN, 8)); + special.add(new Offer(new ItemStack(ModBlocks.machine_fluidtank, 4), Requirement.HIDDEN, 3)); + special.add(new Offer(new ItemStack(ModBlocks.barrel_antimatter, 4), Requirement.HIDDEN, 3)); + special.add(new Offer(new ItemStack(ModItems.ingot_steel, 64), Requirement.HIDDEN, 2)); + special.add(new Offer(new ItemStack(ModItems.ingot_copper, 64), Requirement.HIDDEN, 2)); + special.add(new Offer(new ItemStack(ModItems.ingot_red_copper, 64), Requirement.HIDDEN, 2)); + special.add(new Offer(new ItemStack(ModItems.ingot_titanium, 64), Requirement.HIDDEN, 2)); + special.add(new Offer(new ItemStack(ModItems.ingot_tungsten, 64), Requirement.HIDDEN, 2)); + special.add(new Offer(new ItemStack(ModBlocks.struct_launcher_core, 1), Requirement.HIDDEN, 3)); + special.add(new Offer(new ItemStack(ModBlocks.struct_launcher_core_large, 1), Requirement.HIDDEN, 3)); + special.add(new Offer(new ItemStack(ModBlocks.struct_launcher, 40), Requirement.HIDDEN, 7)); + special.add(new Offer(new ItemStack(ModBlocks.struct_scaffold, 11), Requirement.HIDDEN, 7)); + special.add(new Offer(new ItemStack(ModItems.loot_10, 1), Requirement.HIDDEN, 2)); + special.add(new Offer(new ItemStack(ModItems.loot_15, 1), Requirement.HIDDEN, 2)); + special.add(new Offer(new ItemStack(ModItems.loot_misc, 1), Requirement.HIDDEN, 2)); + special.add(new Offer(new ItemStack(ModBlocks.crate_can, 1), Requirement.HIDDEN, 1)); + special.add(new Offer(new ItemStack(ModBlocks.crate_ammo, 1), Requirement.HIDDEN, 15)); } public static List getOffers(ItemStack stack) { diff --git a/com/hbm/handler/BulletConfigSyncingUtil.java b/com/hbm/handler/BulletConfigSyncingUtil.java index 88998dbd6..b9c614a83 100644 --- a/com/hbm/handler/BulletConfigSyncingUtil.java +++ b/com/hbm/handler/BulletConfigSyncingUtil.java @@ -41,6 +41,7 @@ public class BulletConfigSyncingUtil { public static int G20_SLUG = i++; public static int G20_FLECHETTE = i++; public static int G20_FIRE = i++; + public static int G20_SHRAPNEL = i++; public static int G20_EXPLOSIVE = i++; public static int G20_CAUSTIC = i++; public static int G20_SHOCK = i++; @@ -68,6 +69,7 @@ public class BulletConfigSyncingUtil { public static int G12_NORMAL = i++; public static int G12_INCENDIARY = i++; + public static int G12_SHRAPNEL = i++; public static int LR22_NORMAL = i++; public static int LR22_AP = i++; @@ -112,6 +114,7 @@ public class BulletConfigSyncingUtil { public static int SPECIAL_GAUSS_CHARGED = i++; public static int G20_NORMAL_FIRE = i++; + public static int G20_SHRAPNEL_FIRE = i++; public static int G20_SLUG_FIRE = i++; public static int G20_FLECHETTE_FIRE = i++; public static int G20_EXPLOSIVE_FIRE = i++; @@ -143,6 +146,7 @@ public class BulletConfigSyncingUtil { configSet.add(new ConfigKeyPair(Gun20GaugeFactory.get20GaugeSlugConfig(), G20_SLUG)); configSet.add(new ConfigKeyPair(Gun20GaugeFactory.get20GaugeFlechetteConfig(), G20_FLECHETTE)); configSet.add(new ConfigKeyPair(Gun20GaugeFactory.get20GaugeFireConfig(), G20_FIRE)); + configSet.add(new ConfigKeyPair(Gun20GaugeFactory.get20GaugeShrapnelConfig(), G20_SHRAPNEL)); configSet.add(new ConfigKeyPair(Gun20GaugeFactory.get20GaugeExplosiveConfig(), G20_EXPLOSIVE)); configSet.add(new ConfigKeyPair(Gun20GaugeFactory.get20GaugeCausticConfig(), G20_CAUSTIC)); configSet.add(new ConfigKeyPair(Gun20GaugeFactory.get20GaugeShockConfig(), G20_SHOCK)); @@ -170,6 +174,7 @@ public class BulletConfigSyncingUtil { configSet.add(new ConfigKeyPair(Gun12GaugeFactory.get12GaugeConfig(), G12_NORMAL)); configSet.add(new ConfigKeyPair(Gun12GaugeFactory.get12GaugeFireConfig(), G12_INCENDIARY)); + configSet.add(new ConfigKeyPair(Gun12GaugeFactory.get12GaugeShrapnelConfig(), G12_SHRAPNEL)); configSet.add(new ConfigKeyPair(Gun22LRFactory.get22LRConfig(), LR22_NORMAL)); configSet.add(new ConfigKeyPair(Gun22LRFactory.get22LRAPConfig(), LR22_AP)); @@ -214,6 +219,7 @@ public class BulletConfigSyncingUtil { configSet.add(new ConfigKeyPair(GunGaussFactory.getAltConfig(), SPECIAL_GAUSS_CHARGED)); configSet.add(new ConfigKeyPair(Gun20GaugeFactory.get20GaugeConfig().setToFire(3), G20_NORMAL_FIRE)); + configSet.add(new ConfigKeyPair(Gun20GaugeFactory.get20GaugeShrapnelConfig().setToFire(3), G20_SHRAPNEL_FIRE)); configSet.add(new ConfigKeyPair(Gun20GaugeFactory.get20GaugeSlugConfig().setToFire(3), G20_SLUG_FIRE)); configSet.add(new ConfigKeyPair(Gun20GaugeFactory.get20GaugeFlechetteConfig().setToFire(3), G20_FLECHETTE_FIRE)); configSet.add(new ConfigKeyPair(Gun20GaugeFactory.get20GaugeExplosiveConfig().setToFire(3), G20_EXPLOSIVE_FIRE)); diff --git a/com/hbm/handler/guncfg/Gun12GaugeFactory.java b/com/hbm/handler/guncfg/Gun12GaugeFactory.java index 2dffc3c6f..dd92af09d 100644 --- a/com/hbm/handler/guncfg/Gun12GaugeFactory.java +++ b/com/hbm/handler/guncfg/Gun12GaugeFactory.java @@ -38,6 +38,7 @@ public class Gun12GaugeFactory { config.config = new ArrayList(); config.config.add(BulletConfigSyncingUtil.G12_NORMAL); config.config.add(BulletConfigSyncingUtil.G12_INCENDIARY); + config.config.add(BulletConfigSyncingUtil.G12_SHRAPNEL); return config; } @@ -65,5 +66,20 @@ public class Gun12GaugeFactory { return bullet; } + + public static BulletConfiguration get12GaugeShrapnelConfig() { + + BulletConfiguration bullet = BulletConfigFactory.standardBuckshotConfig(); + + bullet.ammo = ModItems.ammo_12gauge_shrapnel; + bullet.wear = 15; + bullet.dmgMin = 2; + bullet.dmgMax = 6; + bullet.ricochetAngle = 15; + bullet.HBRC = 80; + bullet.LBRC = 95; + + return bullet; + } } diff --git a/com/hbm/handler/guncfg/Gun20GaugeFactory.java b/com/hbm/handler/guncfg/Gun20GaugeFactory.java index 8817b3820..a96abfbf4 100644 --- a/com/hbm/handler/guncfg/Gun20GaugeFactory.java +++ b/com/hbm/handler/guncfg/Gun20GaugeFactory.java @@ -38,6 +38,7 @@ public class Gun20GaugeFactory { 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); @@ -63,6 +64,7 @@ public class Gun20GaugeFactory { 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); @@ -88,6 +90,7 @@ public class Gun20GaugeFactory { 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); @@ -114,6 +117,7 @@ public class Gun20GaugeFactory { 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); @@ -140,6 +144,7 @@ public class Gun20GaugeFactory { 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); @@ -166,6 +171,7 @@ public class Gun20GaugeFactory { 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); @@ -226,6 +232,21 @@ public class Gun20GaugeFactory { return bullet; } + public static BulletConfiguration get20GaugeShrapnelConfig() { + + BulletConfiguration bullet = BulletConfigFactory.standardBuckshotConfig(); + + bullet.ammo = ModItems.ammo_20gauge_shrapnel; + bullet.wear = 15; + bullet.dmgMin = 2; + bullet.dmgMax = 6; + bullet.ricochetAngle = 15; + bullet.HBRC = 80; + bullet.LBRC = 95; + + return bullet; + } + public static BulletConfiguration get20GaugeExplosiveConfig() { BulletConfiguration bullet = BulletConfigFactory.standardBuckshotConfig(); diff --git a/com/hbm/handler/guncfg/Gun357MagnumFactory.java b/com/hbm/handler/guncfg/Gun357MagnumFactory.java index f146c242a..af5654aa8 100644 --- a/com/hbm/handler/guncfg/Gun357MagnumFactory.java +++ b/com/hbm/handler/guncfg/Gun357MagnumFactory.java @@ -177,6 +177,7 @@ public class Gun357MagnumFactory { config.durability = 4000; config.firingSound = "hbm:weapon.schrabidiumShoot"; + config.crosshair = Crosshair.NONE; config.name = "FFI Viper N2"; config.manufacturer = "FlimFlam Industries"; diff --git a/com/hbm/handler/guncfg/GunGaussFactory.java b/com/hbm/handler/guncfg/GunGaussFactory.java index a9fd69285..1a11dd8b9 100644 --- a/com/hbm/handler/guncfg/GunGaussFactory.java +++ b/com/hbm/handler/guncfg/GunGaussFactory.java @@ -55,6 +55,9 @@ public class GunGaussFactory { config.allowsInfinity = true; config.crosshair = Crosshair.L_ARROWS; + config.config = new ArrayList(); + config.config.add(BulletConfigSyncingUtil.SPECIAL_GAUSS_CHARGED); + return config; } diff --git a/com/hbm/inventory/gui/GUIScreenBobmazon.java b/com/hbm/inventory/gui/GUIScreenBobmazon.java index 18873a3da..cdfd6bd69 100644 --- a/com/hbm/inventory/gui/GUIScreenBobmazon.java +++ b/com/hbm/inventory/gui/GUIScreenBobmazon.java @@ -283,7 +283,8 @@ public class GUIScreenBobmazon extends GuiScreen { ASSEMBLY(MainRegistry.bobAssembly), CHEMICS(MainRegistry.bobChemistry), OIL(MainRegistry.bobOil), - NUCLEAR(MainRegistry.bobNuclear); + NUCLEAR(MainRegistry.bobNuclear), + HIDDEN(MainRegistry.bobHidden); private Requirement(Achievement achievement) { this.achievement = achievement; diff --git a/com/hbm/items/ModItems.java b/com/hbm/items/ModItems.java index b9f18d75a..1b699a433 100644 --- a/com/hbm/items/ModItems.java +++ b/com/hbm/items/ModItems.java @@ -1037,10 +1037,12 @@ public class ModItems { public static Item ammo_12gauge; public static Item ammo_12gauge_incendiary; + public static Item ammo_12gauge_shrapnel; public static Item ammo_20gauge; public static Item ammo_20gauge_slug; public static Item ammo_20gauge_flechette; public static Item ammo_20gauge_incendiary; + public static Item ammo_20gauge_shrapnel; public static Item ammo_20gauge_explosive; public static Item ammo_20gauge_caustic; public static Item ammo_20gauge_shock; @@ -2731,10 +2733,12 @@ public class ModItems { ammo_12gauge = new ItemAmmo().setUnlocalizedName("ammo_12gauge").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_12gauge"); ammo_12gauge_incendiary = new ItemAmmo().setUnlocalizedName("ammo_12gauge_incendiary").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_12gauge_incendiary"); + ammo_12gauge_shrapnel = new ItemAmmo().setUnlocalizedName("ammo_12gauge_shrapnel").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_12gauge_shrapnel"); ammo_20gauge = new ItemAmmo().setUnlocalizedName("ammo_20gauge").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_20gauge"); ammo_20gauge_slug = new ItemAmmo().setUnlocalizedName("ammo_20gauge_slug").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_20gauge_slug"); ammo_20gauge_flechette = new ItemAmmo().setUnlocalizedName("ammo_20gauge_flechette").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_20gauge_flechette"); ammo_20gauge_incendiary = new ItemAmmo().setUnlocalizedName("ammo_20gauge_incendiary").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_20gauge_incendiary"); + ammo_20gauge_shrapnel = new ItemAmmo().setUnlocalizedName("ammo_20gauge_shrapnel").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_20gauge_shrapnel"); ammo_20gauge_explosive = new ItemAmmo().setUnlocalizedName("ammo_20gauge_explosive").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_20gauge_explosive"); ammo_20gauge_caustic = new ItemAmmo().setUnlocalizedName("ammo_20gauge_caustic").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_20gauge_caustic"); ammo_20gauge_shock = new ItemAmmo().setUnlocalizedName("ammo_20gauge_shock").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_20gauge_shock"); @@ -4686,10 +4690,12 @@ public class ModItems { GameRegistry.registerItem(ammo_12gauge, ammo_12gauge.getUnlocalizedName()); GameRegistry.registerItem(ammo_12gauge_incendiary, ammo_12gauge_incendiary.getUnlocalizedName()); + GameRegistry.registerItem(ammo_12gauge_shrapnel, ammo_12gauge_shrapnel.getUnlocalizedName()); GameRegistry.registerItem(ammo_20gauge, ammo_20gauge.getUnlocalizedName()); GameRegistry.registerItem(ammo_20gauge_slug, ammo_20gauge_slug.getUnlocalizedName()); GameRegistry.registerItem(ammo_20gauge_flechette, ammo_20gauge_flechette.getUnlocalizedName()); GameRegistry.registerItem(ammo_20gauge_incendiary, ammo_20gauge_incendiary.getUnlocalizedName()); + GameRegistry.registerItem(ammo_20gauge_shrapnel, ammo_20gauge_shrapnel.getUnlocalizedName()); GameRegistry.registerItem(ammo_20gauge_explosive, ammo_20gauge_explosive.getUnlocalizedName()); GameRegistry.registerItem(ammo_20gauge_caustic, ammo_20gauge_caustic.getUnlocalizedName()); GameRegistry.registerItem(ammo_20gauge_shock, ammo_20gauge_shock.getUnlocalizedName()); diff --git a/com/hbm/items/weapon/ItemAmmo.java b/com/hbm/items/weapon/ItemAmmo.java index c8eee5f66..d93af9992 100644 --- a/com/hbm/items/weapon/ItemAmmo.java +++ b/com/hbm/items/weapon/ItemAmmo.java @@ -19,11 +19,10 @@ public class ItemAmmo extends Item { list.add(EnumChatFormatting.BLUE + "+ Incendiary"); list.add(EnumChatFormatting.RED + "- Increased wear"); } - if(this == ModItems.ammo_20gauge_slug) { - list.add(EnumChatFormatting.BLUE + "+ Near-perfect accuracy"); + if(this == ModItems.ammo_12gauge_shrapnel) { list.add(EnumChatFormatting.BLUE + "+ Increased damage"); - list.add(EnumChatFormatting.BLUE + "+ Decreased wear"); - list.add(EnumChatFormatting.RED + "- Single projectile"); + list.add(EnumChatFormatting.YELLOW + "* Extra bouncy"); + list.add(EnumChatFormatting.RED + "- Increased wear"); } //20 GAUGE @@ -32,10 +31,21 @@ public class ItemAmmo extends Item { list.add(EnumChatFormatting.YELLOW + "* Less bouncy"); list.add(EnumChatFormatting.RED + "- Increased wear"); } + if(this == ModItems.ammo_20gauge_slug) { + list.add(EnumChatFormatting.BLUE + "+ Near-perfect accuracy"); + list.add(EnumChatFormatting.BLUE + "+ Increased damage"); + list.add(EnumChatFormatting.BLUE + "+ Decreased wear"); + list.add(EnumChatFormatting.RED + "- Single projectile"); + } if(this == ModItems.ammo_20gauge_incendiary) { list.add(EnumChatFormatting.BLUE + "+ Incendiary"); list.add(EnumChatFormatting.RED + "- Increased wear"); } + if(this == ModItems.ammo_20gauge_shrapnel) { + list.add(EnumChatFormatting.BLUE + "+ Increased damage"); + list.add(EnumChatFormatting.YELLOW + "* Extra bouncy"); + list.add(EnumChatFormatting.RED + "- Increased wear"); + } if(this == ModItems.ammo_20gauge_explosive) { list.add(EnumChatFormatting.BLUE + "+ Explosive"); list.add(EnumChatFormatting.BLUE + "+ Increased damage"); diff --git a/com/hbm/items/weapon/ItemGunGauss.java b/com/hbm/items/weapon/ItemGunGauss.java index 810df5fa8..28e3af747 100644 --- a/com/hbm/items/weapon/ItemGunGauss.java +++ b/com/hbm/items/weapon/ItemGunGauss.java @@ -1,8 +1,9 @@ package com.hbm.items.weapon; -import java.util.List; - +import com.hbm.entity.projectile.EntityBulletBase; import com.hbm.handler.GunConfiguration; +import com.hbm.items.ModItems; +import com.hbm.lib.ModDamageSource; import com.hbm.main.MainRegistry; import com.hbm.sound.AudioWrapper; @@ -24,6 +25,15 @@ public class ItemGunGauss extends ItemGunBase { world.playSoundAtEntity(player, "hbm:weapon.sparkShoot", 1.0F, 1.0F); setHasShot(stack, false); } + + if(!main && getStored(stack) > 0) { + EntityBulletBase bullet = new EntityBulletBase(world, altConfig.config.get(0), player); + bullet.overrideDamage = Math.min(getStored(stack), 13) * 3.5F; + world.spawnEntityInWorld(bullet); + world.playSoundAtEntity(player, "hbm:weapon.tauShoot", 1.0F, 0.75F); + setItemWear(stack, getItemWear(stack) + (getCharge(stack)) * 2); + setCharge(stack, 0); + } } public void endActionClient(ItemStack stack, World world, EntityPlayer player, boolean main) { @@ -32,14 +42,16 @@ public class ItemGunGauss extends ItemGunBase { chargeLoop.stopSound(); chargeLoop = null; } - //setCharge(stack, 0); + } + + protected void altFire(ItemStack stack, World world, EntityPlayer player) { + setCharge(stack, 1); } @Override public void startActionClient(ItemStack stack, World world, EntityPlayer player, boolean main) { - if(!main) { - setCharge(stack, 1); + if(!main && getItemWear(stack) < mainConfig.durability && player.inventory.hasItem(ModItems.gun_xvl1456_ammo)) { chargeLoop = MainRegistry.proxy.getLoopedSound("hbm:weapon.tauChargeLoop2", (float)player.posX, (float)player.posY, (float)player.posZ, 1.0F, 0.75F); world.playSoundAtEntity(player, "hbm:weapon.tauChargeLoop2", 1.0F, 0.75F); @@ -49,28 +61,50 @@ public class ItemGunGauss extends ItemGunBase { } } + protected void updateServer(ItemStack stack, World world, EntityPlayer player, int slot, boolean isCurrentItem) { + + super.updateServer(stack, world, player, slot, isCurrentItem); + + if(getIsAltDown(stack) && getItemWear(stack) < mainConfig.durability) { + + int c = getCharge(stack); + + if(c > 200) { + setCharge(stack, 0); + setItemWear(stack, mainConfig.durability); + player.attackEntityFrom(ModDamageSource.tauBlast, 1000); + world.newExplosion(player, player.posX, player.posY + player.eyeHeight, player.posZ, 5.0F, true, true); + return; + } + + if(c > 0) { + setCharge(stack, c + 1); + + if(c % 10 == 1 && c < 140) { + + if(player.inventory.hasItem(ModItems.gun_xvl1456_ammo)) { + player.inventory.consumeInventoryItem(ModItems.gun_xvl1456_ammo); + setStored(stack, getStored(stack) + 1); + } else { + setCharge(stack, 0); + setStored(stack, 0); + } + } + } else { + setStored(stack, 0); + } + } else { + setCharge(stack, 0); + setStored(stack, 0); + } + } + protected void updateClient(ItemStack stack, World world, EntityPlayer player, int slot, boolean isCurrentItem) { super.updateClient(stack, world, player, slot, isCurrentItem); - - /*if(!isCurrentItem) { - setCharge(stack, 0); - if(chargeLoop != null) { - chargeLoop.stopSound(); - chargeLoop = null; - } - return; - }*/ - - int c = getCharge(stack); - - if(c > 0) { - setCharge(stack, c + 1); - System.out.println(c); - } if(chargeLoop != null) { chargeLoop.updatePosition((float)player.posX, (float)player.posY, (float)player.posZ); - chargeLoop.updatePitch(1.0F); + chargeLoop.updatePitch(chargeLoop.getPitch() + 0.01F); } } @@ -97,12 +131,11 @@ public class ItemGunGauss extends ItemGunBase { return readNBT(stack, "gauss_charge"); } - @Override - public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) { - - list.add("alt-fire is broken, just yell at me until i fix it ok"); - list.add(""); - - super.addInformation(stack, player, list, bool); + public static void setStored(ItemStack stack, int i) { + writeNBT(stack, "gauss_stored", i); + } + + public static int getStored(ItemStack stack) { + return readNBT(stack, "gauss_stored"); } } diff --git a/com/hbm/items/weapon/ItemGunLacunae.java b/com/hbm/items/weapon/ItemGunLacunae.java index 8c7ab8aae..03fa31c1c 100644 --- a/com/hbm/items/weapon/ItemGunLacunae.java +++ b/com/hbm/items/weapon/ItemGunLacunae.java @@ -14,15 +14,18 @@ public class ItemGunLacunae extends ItemGunBase { @Override public void startAction(ItemStack stack, World world, EntityPlayer player, boolean main) { - - setDelay(stack, 20); - world.playSoundAtEntity(player, "hbm:weapon.lacunaeSpinup", 1.0F, 1.0F); + + if(main) { + setDelay(stack, 20); + world.playSoundAtEntity(player, "hbm:weapon.lacunaeSpinup", 1.0F, 1.0F); + } } @Override public void endAction(ItemStack stack, World world, EntityPlayer player, boolean main) { - world.playSoundAtEntity(player, "hbm:weapon.lacunaeSpindown", 1.0F, 1.0F); + if(main) + world.playSoundAtEntity(player, "hbm:weapon.lacunaeSpindown", 1.0F, 1.0F); } protected void updateServer(ItemStack stack, World world, EntityPlayer player, int slot, boolean isCurrentItem) { diff --git a/com/hbm/main/CraftingManager.java b/com/hbm/main/CraftingManager.java index c388a18cb..411ad5b45 100644 --- a/com/hbm/main/CraftingManager.java +++ b/com/hbm/main/CraftingManager.java @@ -1710,6 +1710,10 @@ public class CraftingManager { GameRegistry.addRecipe(new ItemStack(ModBlocks.dfc_receiver, 1), new Object[] { "SDS", "TXL", "SDS", 'S', ModItems.ingot_starmetal, 'D', ModItems.plate_desh, 'T', ModBlocks.machine_transformer_dnt, 'X', ModBlocks.sellafield_core, 'L', ModItems.hull_small_steel }); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.dfc_injector, 1), new Object[] { "SDS", "TXL", "SDS", 'S', ModItems.ingot_starmetal, 'D', ModItems.plate_combine_steel, 'T', ModBlocks.machine_fluidtank, 'X', ModItems.motor, 'L', ModItems.pipes_steel })); GameRegistry.addRecipe(new ItemStack(ModBlocks.dfc_stabilizer, 1), new Object[] { "SDS", "TXL", "SDS", 'S', ModItems.ingot_starmetal, 'D', ModItems.plate_desh, 'T', ModItems.singularity_spark, 'X', ModItems.magnet_circular, 'L', ModItems.crystal_xen }); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.barrel_plastic, 1), new Object[] { "IPI", "I I", "IPI", 'I', ModItems.plate_polymer, 'P', "plateAluminum" })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.barrel_iron, 1), new Object[] { "IPI", "I I", "IPI", 'I', "plateIron", 'P', "ingotIron" })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.barrel_steel, 1), new Object[] { "IPI", "I I", "IPI", 'I', "plateSteel", 'P', "ingotSteel" })); + GameRegistry.addRecipe(new ItemStack(ModBlocks.barrel_antimatter, 1), new Object[] { "IPI", "IPI", "IPI", 'I', ModItems.plate_saturnite, 'P', ModItems.coil_advanced_torus }); } diff --git a/com/hbm/main/MainRegistry.java b/com/hbm/main/MainRegistry.java index a837d84b9..152d03f7c 100644 --- a/com/hbm/main/MainRegistry.java +++ b/com/hbm/main/MainRegistry.java @@ -211,6 +211,7 @@ public class MainRegistry public static Achievement bobChemistry; public static Achievement bobOil; public static Achievement bobNuclear; + public static Achievement bobHidden; public static boolean enableDebugMode = true; public static boolean enableMycelium = false; @@ -1021,6 +1022,7 @@ public class MainRegistry bobChemistry = new Achievement("achievement.chemistry", "chemistry", 2, 4, ModItems.bob_chemistry, bobAssembly).initIndependentStat().registerStat(); bobOil = new Achievement("achievement.oil", "oil", 4, 4, ModItems.bob_oil, bobChemistry).initIndependentStat().registerStat(); bobNuclear = new Achievement("achievement.nuclear", "nuclear", 6, 4, ModItems.bob_nuclear, bobOil).initIndependentStat().registerStat(); + bobHidden = new Achievement("achievement.hidden", "hidden", 8, 4, ModItems.gun_dampfmaschine, bobNuclear).initIndependentStat().registerStat(); AchievementPage.registerAchievementPage(new AchievementPage("Nuclear Tech", new Achievement[]{ achSacrifice, @@ -1039,7 +1041,8 @@ public class MainRegistry bobAssembly, bobChemistry, bobOil, - bobNuclear + bobNuclear, + bobHidden })); //MUST be initialized AFTER achievements!! diff --git a/com/hbm/main/ModEventHandler.java b/com/hbm/main/ModEventHandler.java index 4ce216c12..39442f686 100644 --- a/com/hbm/main/ModEventHandler.java +++ b/com/hbm/main/ModEventHandler.java @@ -27,6 +27,7 @@ import cpw.mods.fml.common.gameevent.TickEvent.WorldTickEvent; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.monster.EntityCreeper; +import net.minecraft.entity.monster.EntityEnderman; import net.minecraft.entity.monster.EntitySkeleton; import net.minecraft.entity.monster.EntityZombie; import net.minecraft.entity.passive.EntityCow; @@ -67,10 +68,13 @@ public class ModEventHandler } @SubscribeEvent - public void onPlayerDeath(LivingDeathEvent event) { + public void onEntityDeath(LivingDeathEvent event) { event.entityLiving.getEntityData().setFloat("hfr_radiation", 0); + if(event.entity.worldObj.isRemote) + return; + if(MainRegistry.enableCataclysm) { EntityBurningFOEQ foeq = new EntityBurningFOEQ(event.entity.worldObj); foeq.setPositionAndRotation(event.entity.posX, 500, event.entity.posZ, 0.0F, 0.0F); @@ -78,7 +82,18 @@ public class ModEventHandler } if(event.entity.getUniqueID().toString().equals(Library.HbMinecraft)) { + event.entity.dropItem(ModItems.book_of_, 1); + } + + if(event.entity instanceof EntityEnderman && event.source == ModDamageSource.boxcar) { + for(Object o : event.entity.worldObj.playerEntities) { + EntityPlayer player = (EntityPlayer)o; + + if(player.getEntityData().getFloat("hfr_radiation") > 250 && player.isBurning()) { + player.triggerAchievement(MainRegistry.bobHidden); + } + } } } diff --git a/com/hbm/render/block/RenderFence.java b/com/hbm/render/block/RenderFence.java index cb42f1d72..0c21a83d7 100644 --- a/com/hbm/render/block/RenderFence.java +++ b/com/hbm/render/block/RenderFence.java @@ -74,7 +74,7 @@ public class RenderFence implements ISimpleBlockRenderingHandler { @Override public boolean shouldRender3DInInventory(int modelId) { - return true; + return false; } @Override diff --git a/com/hbm/render/util/RenderScreenOverlay.java b/com/hbm/render/util/RenderScreenOverlay.java index f372f8fdb..585405e7d 100644 --- a/com/hbm/render/util/RenderScreenOverlay.java +++ b/com/hbm/render/util/RenderScreenOverlay.java @@ -92,6 +92,9 @@ public class RenderScreenOverlay { public static void renderCustomCrosshairs(ScaledResolution resolution, Gui gui, Crosshair cross) { + + if(cross == Crosshair.NONE) + return; int size = cross.size; @@ -135,7 +138,8 @@ public class RenderScreenOverlay { } public enum Crosshair { - + + NONE(0, 0, 0), CROSS(1, 55, 16), CIRCLE(19, 55, 16), SEMI(37, 55, 16), diff --git a/com/hbm/sound/AudioWrapper.java b/com/hbm/sound/AudioWrapper.java index db2a3205b..729e52b9d 100644 --- a/com/hbm/sound/AudioWrapper.java +++ b/com/hbm/sound/AudioWrapper.java @@ -8,6 +8,10 @@ public class AudioWrapper { public void updatePitch(float pitch) { } + public float getVolume() { return 0F; } + + public float getPitch() { return 0F; } + public void setDoesRepeat(boolean repeats) { } public void startSound() { } diff --git a/com/hbm/sound/AudioWrapperClient.java b/com/hbm/sound/AudioWrapperClient.java index 70ace516f..3310568c8 100644 --- a/com/hbm/sound/AudioWrapperClient.java +++ b/com/hbm/sound/AudioWrapperClient.java @@ -25,6 +25,14 @@ public class AudioWrapperClient extends AudioWrapper { sound.setPitch(pitch); } + public float getVolume() { + return sound.getVolume(); + } + + public float getPitch() { + return sound.getPitch(); + } + public void startSound() { sound.start(); }