From 89a3a1f9bc65f773cd0d537d6986e9a92ff701b4 Mon Sep 17 00:00:00 2001 From: Bob Date: Fri, 27 Dec 2024 01:01:51 +0100 Subject: [PATCH] fixes --- changelog | 55 ++++-------------- .../com/hbm/crafting/SmeltingRecipes.java | 6 -- .../entity/projectile/EntityBombletZeta.java | 56 +++++++++---------- .../standard/EntityProcessorCross.java | 8 ++- .../standard/EntityProcessorCrossSmooth.java | 2 + .../com/hbm/handler/guncfg/GunDGKFactory.java | 10 +--- .../java/com/hbm/inventory/material/Mats.java | 3 +- .../inventory/recipes/anvil/AnvilRecipes.java | 8 +-- .../com/hbm/itempool/ItemPoolsLegacy.java | 5 +- src/main/java/com/hbm/items/ModItems.java | 22 +------- .../weapon/sedna/factory/XFactory12ga.java | 2 +- .../sedna/factory/XFactoryCatapult.java | 2 +- src/main/java/com/hbm/main/MainRegistry.java | 5 ++ .../item/weapon/sedna/ItemRenderShredder.java | 2 +- src/main/resources/assets/hbm/lang/de_DE.lang | 2 + src/main/resources/assets/hbm/lang/en_US.lang | 2 + 16 files changed, 73 insertions(+), 117 deletions(-) diff --git a/changelog b/changelog index 8478d4f01..5eb90c218 100644 --- a/changelog +++ b/changelog @@ -1,46 +1,15 @@ ## Changed -* Any bullet that can ricochet (or at least runs the code for it) can now also break glass, as well as destroy red barrels -* Removed three old achievements which no longer work due to the gun changes -* AJR armor plating now uses niobium instead of saturnite, and yields twice as many items per recipe -* Due to the gating change, the saturnite anvil now has a tier equivalent to a bronze anvil -* Doubled the liberator's base damage to be on-par with the lever action shotgun in order to offset its poor performance due to the reload speed -* Decreased the explosive 12 gauge's damage from x5 to x2.5 -* All non black powder shotgun shells now have some amount of damage threshold negation in order to not immediately become useless when used against early power armor - * Obviously shot will always fare worse against higher tier armor, in those cases either use flechettes, slugs, any of the high tier rounds or a different caliber entirely -* Bombers and cargo planes now use interpolation, making their movement smoother and fixing potential desyncs due to TPS -* Trenchmaster armor no longer displays benefits that no longer exist -* Legendaries are no longer found in red rooms, rather they have a whole new system of being discovered and crafted - * "Recipes" are still subject to change, but the base system is final - * There will some day be a completely new dungeon for those, but for now I used what I had - * Mayhaps a new legendary has appeared? -* Glyphids now make use of the same resistance system as armors, their armor is no longer completely ignored by the new guns - * Different damage types have different resistances - * Damage resistance remains the same, while damage threshold is determined by the glyphid's armor - breaking the armor off will decrease the damage threshold - * Balancing might still be off, however glyhids shouldn't be too tanky -* I still haven't bothered to fix the bolter. It's like the son I don't love -* Changed some of the sounds of the guns that still used the default black powder noise -* The flamethrower turret now uses the new flamethrower projectiles -* The now unused old gun items have been completely obliterated -* Headhot mulitpliers now apply for most conventional projectiles, by default the bonus for headshots is +25% damage - * JHP adds +50% +* Removed the old casing items +* Reduced the flicker on the autoshotgun's holo sights ## Fixed -* Fixed 9mm soft points being called ".9mm" -* Fixed missing localization for the hard plastic and PVC autogen materials -* Fixed the fat mine's crafting recipe still using the deprecated ammo item -* Removed legacy ammo items and guns from all remaining item pools -* Fixed the rubber grip not having a recipe -* Fixed the coilgun and bolter not being classified correctly -* Fixed new death messages not working -* Fixed none of the armors having fall resistance -* Fixed survey scanners not picking up nether depth rock -* Fixed FMJ, AP and DU rounds not having damage threshold negation, making them worse against most armored targets compared to JHP -* Fixed autgen items made from unsmeltable materials being smeltable in the crucible -* Fixed 240mm shells not being visible in creative -* Fixed JHP's negative armor piercing value not being counted right, breaking the "armor is worth more" system -* Fixed the second UZI dealing more damage than it should -* Potentially fixed an issue where artillery rockets would sometimes get stuck mid-air -* Fixed the artillery rocket turret's grace range not being 250 as advertised -* Fixed black powder shotshells using smokeless powder instead of smokeful powder -* Fixed the ballistic gauntlet not working with the new system - * Since base damage is now bound to weapons, the ballistic gauntlet now has a base damage of 15 \ No newline at end of file +* Fixed the bullet casing molds being unobtainable +* Fixed instant crash caused by smelting certain things in the crucible +* Fixed the SPAS' alt fire having a delay of only 10 ticks instead of 20 +* Fixed 240mm nuclear shells not triggering properly if they hit their target within 3 ticks of being spawned +* Fixed some items that are supposed to be hidden in NEI being visible +* Fixed dual lever action shotguns having inconsistent damage +* Fixed entities (especially players) not being affected at all by their own explosions (rockets, 40mm grenades, etc) + * To keep rocket jumping at least somewhat viable, self-damage from explosions is reduced by 50%, the knockback remains the same +* Fixed missing localization for the casing molds +* Fixed the broken CIWS turret crashing instantly \ No newline at end of file diff --git a/src/main/java/com/hbm/crafting/SmeltingRecipes.java b/src/main/java/com/hbm/crafting/SmeltingRecipes.java index 8de9de124..18276a4ee 100644 --- a/src/main/java/com/hbm/crafting/SmeltingRecipes.java +++ b/src/main/java/com/hbm/crafting/SmeltingRecipes.java @@ -164,12 +164,6 @@ public class SmeltingRecipes { GameRegistry.addSmelting(ModItems.crystal_cinnebar, new ItemStack(ModItems.cinnebar, 4), 2.0F); GameRegistry.addSmelting(ModItems.crystal_osmiridium, new ItemStack(ModItems.ingot_osmiridium, 1), 2.0F); - GameRegistry.addSmelting(ModItems.casing_357, new ItemStack(ModItems.ingot_copper), 0.1F); - GameRegistry.addSmelting(ModItems.casing_44, new ItemStack(ModItems.ingot_copper), 0.1F); - GameRegistry.addSmelting(ModItems.casing_9, new ItemStack(ModItems.ingot_copper), 0.1F); - GameRegistry.addSmelting(ModItems.casing_50, new ItemStack(ModItems.ingot_copper), 0.1F); - GameRegistry.addSmelting(ModItems.casing_buckshot, new ItemStack(ModItems.ingot_copper), 0.1F); - GameRegistry.addSmelting(ModItems.ingot_chainsteel, ItemHot.heatUp(new ItemStack(ModItems.ingot_chainsteel)), 0.0F); GameRegistry.addSmelting(ModItems.ingot_meteorite, ItemHot.heatUp(new ItemStack(ModItems.ingot_meteorite)), 0.0F); GameRegistry.addSmelting(ModItems.ingot_meteorite_forged, ItemHot.heatUp(new ItemStack(ModItems.ingot_meteorite_forged)), 0.0F); diff --git a/src/main/java/com/hbm/entity/projectile/EntityBombletZeta.java b/src/main/java/com/hbm/entity/projectile/EntityBombletZeta.java index 470d65d4d..9618217ed 100644 --- a/src/main/java/com/hbm/entity/projectile/EntityBombletZeta.java +++ b/src/main/java/com/hbm/entity/projectile/EntityBombletZeta.java @@ -35,22 +35,19 @@ public class EntityBombletZeta extends EntityThrowable { @Override public void onUpdate() { - this.lastTickPosX = this.prevPosX = posX; this.lastTickPosY = this.prevPosY = posY; this.lastTickPosZ = this.prevPosZ = posZ; this.setPosition(posX + this.motionX, posY + this.motionY, posZ + this.motionZ); - + this.motionX *= 0.99; this.motionZ *= 0.99; this.motionY -= 0.05D; - - this.rotation(); - - if(this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.air) - { - if(!this.worldObj.isRemote) - { + + this.rotation(); + + if(this.worldObj.getBlock((int) this.posX, (int) this.posY, (int) this.posZ) != Blocks.air) { + if(!this.worldObj.isRemote) { if(type == 0) { ExplosionVNT vnt = new ExplosionVNT(worldObj, this.posX + 0.5F, this.posY + 1.5F, this.posZ + 0.5F, 4F); vnt.setBlockAllocator(new BlockAllocatorStandard()); @@ -59,8 +56,8 @@ public class EntityBombletZeta extends EntityThrowable { vnt.setPlayerProcessor(new PlayerProcessorStandard()); vnt.setSFX(new ExplosionEffectWeapon(15, 3.5F, 1.25F)); vnt.explode(); - } - if(type == 1) { + } + if(type == 1) { ExplosionVNT vnt = new ExplosionVNT(worldObj, this.posX + 0.5F, this.posY + 1.5F, this.posZ + 0.5F, 4F); vnt.setBlockAllocator(new BlockAllocatorStandard()); @@ -69,24 +66,25 @@ public class EntityBombletZeta extends EntityThrowable { vnt.setPlayerProcessor(new PlayerProcessorStandard()); vnt.setSFX(new ExplosionEffectWeapon(15, 5F, 1.75F)); vnt.explode(); - - } - if(type == 2) { - worldObj.playSoundEffect((double)(posX + 0.5F), (double)(posY + 0.5F), (double)(posZ + 0.5F), "random.fizz", 5.0F, 2.6F + (rand.nextFloat() - rand.nextFloat()) * 0.8F); - ExplosionChaos.spawnChlorine(worldObj, this.posX + 0.5F - motionX, this.posY + 0.5F - motionY, this.posZ + 0.5F - motionZ, 75, 2, 0); - } - if(type == 4) { - worldObj.spawnEntityInWorld(EntityNukeExplosionMK5.statFac(worldObj, (int) (BombConfig.fatmanRadius * 1.5), posX, posY, posZ)); - - NBTTagCompound data = new NBTTagCompound(); - data.setString("type", "muke"); - if(rand.nextInt(100) == 0) data.setBoolean("balefire", true); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, posX, posY + 0.5, posZ), new TargetPoint(dimension, posX, posY, posZ, 250)); - worldObj.playSoundEffect(posX, posY, posZ, "hbm:weapon.mukeExplosion", 15.0F, 1.0F); - } - } - this.setDead(); - } + + } + if(type == 2) { + worldObj.playSoundEffect((double) (posX + 0.5F), (double) (posY + 0.5F), (double) (posZ + 0.5F), "random.fizz", 5.0F, 2.6F + (rand.nextFloat() - rand.nextFloat()) * 0.8F); + ExplosionChaos.spawnChlorine(worldObj, this.posX + 0.5F - motionX, this.posY + 0.5F - motionY, this.posZ + 0.5F - motionZ, 75, 2, 0); + } + if(type == 4) { + worldObj.spawnEntityInWorld(EntityNukeExplosionMK5.statFac(worldObj, (int) (BombConfig.fatmanRadius * 1.5), posX, posY, posZ)); + + NBTTagCompound data = new NBTTagCompound(); + data.setString("type", "muke"); + if(rand.nextInt(100) == 0) + data.setBoolean("balefire", true); + PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, posX, posY + 0.5, posZ), new TargetPoint(dimension, posX, posY, posZ, 250)); + worldObj.playSoundEffect(posX, posY, posZ, "hbm:weapon.mukeExplosion", 15.0F, 1.0F); + } + this.setDead(); + } + } } public void rotation() { diff --git a/src/main/java/com/hbm/explosion/vanillant/standard/EntityProcessorCross.java b/src/main/java/com/hbm/explosion/vanillant/standard/EntityProcessorCross.java index 27bd3d7f4..a6843e9a9 100644 --- a/src/main/java/com/hbm/explosion/vanillant/standard/EntityProcessorCross.java +++ b/src/main/java/com/hbm/explosion/vanillant/standard/EntityProcessorCross.java @@ -28,10 +28,16 @@ public class EntityProcessorCross implements IEntityProcessor { protected double nodeDist = 2D; protected IEntityRangeMutator range; protected ICustomDamageHandler damage; + protected boolean allowSelfDamage = false; public EntityProcessorCross(double nodeDist) { this.nodeDist = nodeDist; } + + public EntityProcessorCross setAllowSelfDamage() { + this.allowSelfDamage = true; + return this; + } @Override public HashMap process(ExplosionVNT explosion, World world, double x, double y, double z, float size) { @@ -51,7 +57,7 @@ public class EntityProcessorCross implements IEntityProcessor { double minZ = z - (double) size - 1.0D; double maxZ = z + (double) size + 1.0D; - List list = world.getEntitiesWithinAABBExcludingEntity(explosion.exploder, AxisAlignedBB.getBoundingBox(minX, minY, minZ, maxX, maxY, maxZ)); + List list = world.getEntitiesWithinAABBExcludingEntity(allowSelfDamage ? null : explosion.exploder, AxisAlignedBB.getBoundingBox(minX, minY, minZ, maxX, maxY, maxZ)); ForgeEventFactory.onExplosionDetonate(world, explosion.compat, list, size); diff --git a/src/main/java/com/hbm/explosion/vanillant/standard/EntityProcessorCrossSmooth.java b/src/main/java/com/hbm/explosion/vanillant/standard/EntityProcessorCrossSmooth.java index 48d25e4a2..ff6b03e2f 100644 --- a/src/main/java/com/hbm/explosion/vanillant/standard/EntityProcessorCrossSmooth.java +++ b/src/main/java/com/hbm/explosion/vanillant/standard/EntityProcessorCrossSmooth.java @@ -20,6 +20,7 @@ public class EntityProcessorCrossSmooth extends EntityProcessorCross { public EntityProcessorCrossSmooth(double nodeDist, float fixedDamage) { super(nodeDist); this.fixedDamage = fixedDamage; + this.setAllowSelfDamage(); } public EntityProcessorCrossSmooth setupPiercing(float pierceDT, float pierceDR) { @@ -36,6 +37,7 @@ public class EntityProcessorCrossSmooth extends EntityProcessorCross { @Override public void attackEntity(Entity entity, ExplosionVNT source, float amount) { if(!entity.isEntityAlive()) return; + if(source.exploder == entity) amount *= 0.5F; DamageSource dmg = BulletConfig.getDamage(null, source.exploder instanceof EntityLivingBase ? (EntityLivingBase) source.exploder : null, clazz); if(!(entity instanceof EntityLivingBase)) { entity.attackEntityFrom(dmg, amount); diff --git a/src/main/java/com/hbm/handler/guncfg/GunDGKFactory.java b/src/main/java/com/hbm/handler/guncfg/GunDGKFactory.java index 86bc1bb2f..240521609 100644 --- a/src/main/java/com/hbm/handler/guncfg/GunDGKFactory.java +++ b/src/main/java/com/hbm/handler/guncfg/GunDGKFactory.java @@ -1,8 +1,5 @@ package com.hbm.handler.guncfg; -import com.hbm.handler.BulletConfiguration; -import com.hbm.inventory.RecipesCommon.ComparableStack; -import com.hbm.items.ModItems; import com.hbm.particle.SpentCasing; import com.hbm.particle.SpentCasing.CasingType; @@ -11,15 +8,14 @@ public class GunDGKFactory { public static final SpentCasing CASINGDGK; static { - CASINGDGK = new SpentCasing(CasingType.STRAIGHT).setScale(1.5F).setBounceMotion(0.05F, 0.02F).setColor(SpentCasing.COLOR_CASE_BRASS).setupSmoke(0.02F, 0.5D, 60, 20).setMaxAge(60); //3 instead of 12 seconds + CASINGDGK = new SpentCasing(CasingType.STRAIGHT).setScale(1.5F).setBounceMotion(0.05F, 0.02F).setColor(SpentCasing.COLOR_CASE_BRASS).register("DGK").setupSmoke(0.02F, 0.5D, 60, 20).setMaxAge(60); //3 instead of 12 seconds } - public static BulletConfiguration getDGKConfig() { + /*public static BulletConfiguration getDGKConfig() { BulletConfiguration bullet = BulletConfigFactory.standardBulletConfig(); bullet.ammo = new ComparableStack(ModItems.ammo_dgk); bullet.spentCasing = CASINGDGK.register("DGK"); return bullet; - } - + }*/ } diff --git a/src/main/java/com/hbm/inventory/material/Mats.java b/src/main/java/com/hbm/inventory/material/Mats.java index abe51a761..188b66133 100644 --- a/src/main/java/com/hbm/inventory/material/Mats.java +++ b/src/main/java/com/hbm/inventory/material/Mats.java @@ -207,9 +207,8 @@ public class Mats { if(name.startsWith(prefix)) { String materialName = name.substring(prefix.length()); NTMMaterial material = matByName.get(materialName); - NTMMaterial convert = material.smeltsInto; //hack - if(material != null && (convert.smeltable == SmeltingBehavior.SMELTABLE || convert.smeltable == SmeltingBehavior.ADDITIVE)) { + if(material != null && (material.smeltsInto.smeltable == SmeltingBehavior.SMELTABLE || material.smeltsInto.smeltable == SmeltingBehavior.ADDITIVE)) { list.add(new MaterialStack(material, prefixEntry.getValue().q(1))); break outer; } diff --git a/src/main/java/com/hbm/inventory/recipes/anvil/AnvilRecipes.java b/src/main/java/com/hbm/inventory/recipes/anvil/AnvilRecipes.java index fe20b6a0e..56a5ea997 100644 --- a/src/main/java/com/hbm/inventory/recipes/anvil/AnvilRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/anvil/AnvilRecipes.java @@ -114,11 +114,6 @@ public class AnvilRecipes { smithingRecipes.add(new AnvilSmithingMold(11, new OreDictStack(IRON.plate(), 9), new OreDictStack("plate", 9))); smithingRecipes.add(new AnvilSmithingMold(12, new OreDictStack(IRON.block()), new OreDictStack("block"))); smithingRecipes.add(new AnvilSmithingMold(13, new ComparableStack(ModItems.pipes_steel), new ItemStack[] {new ItemStack(ModItems.pipes_steel)})); - smithingRecipes.add(new AnvilSmithingMold(14, new ComparableStack(ModItems.casing_357), new ItemStack[] {new ItemStack(ModItems.casing_357)})); - smithingRecipes.add(new AnvilSmithingMold(15, new ComparableStack(ModItems.casing_44), new ItemStack[] {new ItemStack(ModItems.casing_44)})); - smithingRecipes.add(new AnvilSmithingMold(16, new ComparableStack(ModItems.casing_9), new ItemStack[] {new ItemStack(ModItems.casing_9)})); - smithingRecipes.add(new AnvilSmithingMold(17, new ComparableStack(ModItems.casing_50), new ItemStack[] {new ItemStack(ModItems.casing_50)})); - smithingRecipes.add(new AnvilSmithingMold(18, new ComparableStack(ModItems.casing_buckshot), new ItemStack[] {new ItemStack(ModItems.casing_buckshot)})); smithingRecipes.add(new AnvilSmithingMold(20, new OreDictStack(ALLOY.wireDense(), 1), new OreDictStack("wireDense", 1))); smithingRecipes.add(new AnvilSmithingMold(21, new OreDictStack(ALLOY.wireDense(), 9), new OreDictStack("wireDense", 9))); @@ -579,6 +574,9 @@ public class AnvilRecipes { constructionRecipes.add(new AnvilConstructionRecipe(new AStack[]{new ComparableStack(ModItems.stamp_iron_flat), new OreDictStack(GUNMETAL.ingot(), 2)}, new AnvilOutput(new ItemStack(ModItems.stamp_50))).setTier(2)); constructionRecipes.add(new AnvilConstructionRecipe(new AStack[]{new ComparableStack(ModItems.stamp_desh_flat), new OreDictStack(WEAPONSTEEL.ingot(), 4)}, new AnvilOutput(new ItemStack(ModItems.stamp_desh_9))).setTier(4)); constructionRecipes.add(new AnvilConstructionRecipe(new AStack[]{new ComparableStack(ModItems.stamp_desh_flat), new OreDictStack(WEAPONSTEEL.ingot(), 4)}, new AnvilOutput(new ItemStack(ModItems.stamp_desh_50))).setTier(4)); + + constructionRecipes.add(new AnvilConstructionRecipe(new AStack[]{new ComparableStack(ModItems.mold_base), new OreDictStack(IRON.ingot(), 2)}, new AnvilOutput(new ItemStack(ModItems.mold, 1, 16))).setTier(1)); + constructionRecipes.add(new AnvilConstructionRecipe(new AStack[]{new ComparableStack(ModItems.mold_base), new OreDictStack(IRON.ingot(), 2)}, new AnvilOutput(new ItemStack(ModItems.mold, 1, 17))).setTier(1)); constructionRecipes.add(new AnvilConstructionRecipe(new AStack[]{new ComparableStack(ModItems.mold_base), new OreDictStack(STEEL.ingot(), 4)}, new AnvilOutput(new ItemStack(ModItems.mold, 1, 22))).setTier(2)); constructionRecipes.add(new AnvilConstructionRecipe(new AStack[]{new ComparableStack(ModItems.mold_base), new OreDictStack(STEEL.ingot(), 4)}, new AnvilOutput(new ItemStack(ModItems.mold, 1, 23))).setTier(2)); diff --git a/src/main/java/com/hbm/itempool/ItemPoolsLegacy.java b/src/main/java/com/hbm/itempool/ItemPoolsLegacy.java index f35e2d41c..bcc1f707c 100644 --- a/src/main/java/com/hbm/itempool/ItemPoolsLegacy.java +++ b/src/main/java/com/hbm/itempool/ItemPoolsLegacy.java @@ -2,6 +2,7 @@ package com.hbm.itempool; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.material.Mats; +import com.hbm.items.ItemEnums.EnumCasingType; import com.hbm.items.ModItems; import com.hbm.items.machine.ItemBreedingRod.BreedingRodType; import com.hbm.items.machine.ItemCircuit.EnumCircuitType; @@ -48,8 +49,8 @@ public class ItemPoolsLegacy { weighted(ModItems.ammo_standard, EnumAmmo.G26_FLARE_SUPPLY.ordinal(), 1, 1, 1), weighted(ModItems.gun_kit_1, 0, 1, 3, 4), weighted(ModItems.gun_maresleg, 0, 1, 1, 1), - weighted(ModItems.casing_9, 0, 4, 10, 3), - weighted(ModItems.casing_50, 0, 4, 10, 3), + weighted(ModItems.casing, EnumCasingType.SMALL.ordinal(), 4, 10, 3), + weighted(ModItems.casing, EnumCasingType.SHOTSHELL.ordinal(), 4, 10, 3), weighted(ModItems.cordite, 0, 4, 6, 5), weighted(ModItems.battery_generic, 0, 1, 1, 4), weighted(ModItems.battery_advanced, 0, 1, 1, 2), diff --git a/src/main/java/com/hbm/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index 94b2463a4..50562ff32 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -592,12 +592,7 @@ public class ModItems { public static Item mechanism_launcher_1; public static Item mechanism_launcher_2; public static Item mechanism_special; - - public static Item casing_357; - public static Item casing_44; - public static Item casing_9; - public static Item casing_50; - public static Item casing_buckshot; + public static Item assembly_iron; public static Item assembly_steel; public static Item assembly_lead; @@ -2852,11 +2847,6 @@ public class ModItems { mechanism_launcher_1 = new Item().setUnlocalizedName("mechanism_launcher_1").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":mechanism_5"); mechanism_launcher_2 = new Item().setUnlocalizedName("mechanism_launcher_2").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":mechanism_6"); mechanism_special = new Item().setUnlocalizedName("mechanism_special").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":mechanism_7"); - casing_357 = new Item().setUnlocalizedName("casing_357").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":casing_357"); - casing_44 = new Item().setUnlocalizedName("casing_44").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":casing_44"); - casing_9 = new Item().setUnlocalizedName("casing_9").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":casing_9"); - casing_50 = new Item().setUnlocalizedName("casing_50").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":casing_50"); - casing_buckshot = new Item().setUnlocalizedName("casing_buckshot").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":casing_buckshot"); assembly_iron = new Item().setUnlocalizedName("assembly_iron").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":assembly_iron"); assembly_steel = new Item().setUnlocalizedName("assembly_steel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":assembly_steel"); assembly_lead = new Item().setUnlocalizedName("assembly_lead").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":assembly_lead"); @@ -5703,14 +5693,8 @@ public class ModItems { GameRegistry.registerItem(mechanism_launcher_1, mechanism_launcher_1.getUnlocalizedName()); GameRegistry.registerItem(mechanism_launcher_2, mechanism_launcher_2.getUnlocalizedName()); GameRegistry.registerItem(mechanism_special, mechanism_special.getUnlocalizedName()); - - //Casings - GameRegistry.registerItem(casing_357, casing_357.getUnlocalizedName()); - GameRegistry.registerItem(casing_44, casing_44.getUnlocalizedName()); - GameRegistry.registerItem(casing_9, casing_9.getUnlocalizedName()); - GameRegistry.registerItem(casing_50, casing_50.getUnlocalizedName()); - GameRegistry.registerItem(casing_buckshot, casing_buckshot.getUnlocalizedName()); - + + //Casing GameRegistry.registerItem(casing, casing.getUnlocalizedName()); //Bullet Assemblies diff --git a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory12ga.java b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory12ga.java index 9072cc46d..748262005 100644 --- a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory12ga.java +++ b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory12ga.java @@ -200,7 +200,7 @@ public class XFactory12ga { } if(rec.getFireSound(stack) != null) entity.worldObj.playSoundEffect(entity.posX, entity.posY, entity.posZ, rec.getFireSound(stack), rec.getFireVolume(stack), rec.getFirePitch(stack) * (timeFired > 1 ? 0.9F : 1F)); ItemGunBaseNT.setState(stack, index, GunState.COOLDOWN); - ItemGunBaseNT.setTimer(stack, index, 10); + ItemGunBaseNT.setTimer(stack, index, 20); } else { if(rec.getDoesDryFire(stack)) { ItemGunBaseNT.playAnimation(player, stack, AnimType.CYCLE_DRY, index); diff --git a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactoryCatapult.java b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactoryCatapult.java index 0f79d93ab..23e33eeb6 100644 --- a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactoryCatapult.java +++ b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactoryCatapult.java @@ -46,7 +46,7 @@ public class XFactoryCatapult { public static BulletConfig nuke_hive; public static BiConsumer LAMBDA_NUKE_STANDARD = (bullet, mop) -> { - if(mop.typeOfHit == mop.typeOfHit.ENTITY && bullet.ticksExisted < 3) return; + if(mop.typeOfHit == mop.typeOfHit.ENTITY && bullet.ticksExisted < 3 && mop.entityHit == bullet.getThrower()) return; if(bullet.isDead) return; bullet.setDead(); diff --git a/src/main/java/com/hbm/main/MainRegistry.java b/src/main/java/com/hbm/main/MainRegistry.java index ca90682d7..ad62eab77 100644 --- a/src/main/java/com/hbm/main/MainRegistry.java +++ b/src/main/java/com/hbm/main/MainRegistry.java @@ -1612,6 +1612,11 @@ public class MainRegistry { ignoreMappings.add("hbm:item.ln2_8"); ignoreMappings.add("hbm:item.ln2_9"); ignoreMappings.add("hbm:item.ln2_10"); + ignoreMappings.add("hbm:item.casing_357"); + ignoreMappings.add("hbm:item.casing_44"); + ignoreMappings.add("hbm:item.casing_9"); + ignoreMappings.add("hbm:item.casing_50"); + ignoreMappings.add("hbm:item.casing_buckshot"); /// REMAP /// remapItems.put("hbm:item.gadget_explosive8", ModItems.early_explosive_lenses); diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderShredder.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderShredder.java index aa7aa0872..fbb11f533 100644 --- a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderShredder.java +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderShredder.java @@ -89,7 +89,7 @@ public class ItemRenderShredder extends ItemRenderWeaponBase { GL11.glScalef(f3, -f3, f3); GL11.glRotated(180D, 0, 1, 0); GL11.glNormal3f(0.0F, 0.0F, -1.0F * f3); - float variance = 0.7F + player.getRNG().nextFloat() * 0.3F; + float variance = 0.9F + player.getRNG().nextFloat() * 0.1F; font.drawString(label, 0, 0, new Color(sexy ? variance : 0F, sexy ? 0F : variance, 0F).getRGB()); GL11.glColor3f(1F, 1F, 1F); diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index d575a1e74..9a67101c8 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -3826,6 +3826,8 @@ shape.billet=Billet shape.blade=Turbinenblatt shape.blades=Sägeblatt shape.block=Block +shape.c9=Kleinkaliberhülse +shape.c50=Großkaliberhülse shape.dust=Haufen shape.dusttiny=Winziger Haufen shape.grip=Griff diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index e4827ae6e..2c34d9c29 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -4881,6 +4881,8 @@ shape.billet=Billet shape.blade=Blade shape.blades=Shredder Blades shape.block=Block +shape.c9=Small Caliber Casing +shape.c50=Large Caliber Casing shape.dust=Dust shape.dusttiny=Tiny Dust shape.grip=Grip