diff --git a/changelog b/changelog index 674a01c24..f8d0ffbc5 100644 --- a/changelog +++ b/changelog @@ -10,6 +10,9 @@ * Assemblers will insert their loaded template into the template crate after doing one operation with it * Assemblers will also pull templates from template crates if no template is currently loaded * This hopefully makes certain types of automation like AE2 easier as the template is therefore treated like a crafting ingredient that is returned afterwards +* More coilgun ammo + * Ferrouranium ball that has higher damage, higher wear and breaks blocks with higher resistance + * Rubber ball that deals immense knockback to entities and bounces around ## Changed * Making LPG in the compressor now requires two compression steps diff --git a/gradle.properties b/gradle.properties index 2882b656f..e55a78b8e 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,6 +1,6 @@ mod_version=1.0.27 # Empty build number makes a release type -mod_build_number=4655 +mod_build_number=4662 credits=HbMinecraft, rodolphito (explosion algorithms), grangerave (explosion algorithms),\ \ Hoboy (textures, models), Doctor17 (russian localization), Drillgon200 (effects, models,\ diff --git a/src/main/java/com/hbm/crafting/WeaponRecipes.java b/src/main/java/com/hbm/crafting/WeaponRecipes.java index a4d35d774..9218f6ee6 100644 --- a/src/main/java/com/hbm/crafting/WeaponRecipes.java +++ b/src/main/java/com/hbm/crafting/WeaponRecipes.java @@ -160,7 +160,9 @@ public class WeaponRecipes { CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_benelli), new Object[] { "HHP", "SSM", "AAP", 'H', ModItems.ingot_dura_steel, 'S', ModItems.hull_small_steel, 'A', ModItems.hull_small_aluminium, 'P', ModItems.ingot_polymer, 'M', ModItems.mechanism_rifle_2 }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_lunatic_marksman), new Object[] { " GN", "SSM", " A", 'G', KEY_ANYPANE, 'N', ModItems.powder_nitan_mix, 'S', BIGMT.plate(), 'M', ModItems.mechanism_special, 'A', ANY_RESISTANTALLOY.plateCast() }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_coilgun), new Object[] { "CCC", "SSM", " P", 'C', ModBlocks.capacitor_copper, 'S', BIGMT.plate(), 'M', ModItems.mechanism_special, 'P', ANY_PLASTIC.ingot() }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_coilgun_ammo, 16), new Object[] { " T ", "TST", " T ", 'T', W.ingot(), 'S', BIGMT.ingot() }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_coilgun, 16, 0), new Object[] { " T ", "TST", " T ", 'T', W.ingot(), 'S', BIGMT.ingot() }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_coilgun, 16, 1), new Object[] { " T ", "TST", " T ", 'T', FERRO.ingot(), 'S', BIGMT.ingot() }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_coilgun, 16, 2), new Object[] { " T ", "TST", " T ", 'T', RUBBER.ingot(), 'S', ANY_PLASTIC.ingot() }); //Ammo assemblies CraftingManager.addRecipeAuto(new ItemStack(ModItems.pellet_flechette, 1), new Object[] { " L ", " L ", "LLL", 'L', PB.nugget() }); diff --git a/src/main/java/com/hbm/entity/projectile/EntityBulletBaseNT.java b/src/main/java/com/hbm/entity/projectile/EntityBulletBaseNT.java index 15b2aadef..65741dbd4 100644 --- a/src/main/java/com/hbm/entity/projectile/EntityBulletBaseNT.java +++ b/src/main/java/com/hbm/entity/projectile/EntityBulletBaseNT.java @@ -294,7 +294,10 @@ public class EntityBulletBaseNT extends EntityThrowableInterp implements IBullet if(config.plink == 2) worldObj.playSoundAtEntity(this, "hbm:weapon.gBounce", 1.0F, 1.0F); + this.setPosition(mop.hitVec.xCoord, mop.hitVec.yCoord, mop.hitVec.zCoord); onRicochet(mop.blockX, mop.blockY, mop.blockZ); + + //worldObj.setBlock((int) Math.floor(posX), (int) Math.floor(posY), (int) Math.floor(posZ), Blocks.dirt); } else { if(!worldObj.isRemote) { @@ -303,10 +306,10 @@ public class EntityBulletBaseNT extends EntityThrowableInterp implements IBullet } } - this.posX += (mop.hitVec.xCoord - this.posX) * 0.6; + /*this.posX += (mop.hitVec.xCoord - this.posX) * 0.6; this.posY += (mop.hitVec.yCoord - this.posY) * 0.6; - this.posZ += (mop.hitVec.zCoord - this.posZ) * 0.6; - + this.posZ += (mop.hitVec.zCoord - this.posZ) * 0.6;*/ + this.motionX *= config.bounceMod; this.motionY *= config.bounceMod; this.motionZ *= config.bounceMod; @@ -522,6 +525,11 @@ public class EntityBulletBaseNT extends EntityThrowableInterp implements IBullet return this.config.isSpectral; } + @Override + public int selfDamageDelay() { + return this.config.selfDamageDelay; + } + @Override protected double headingForceMult() { return 1D; diff --git a/src/main/java/com/hbm/entity/projectile/EntityThrowableNT.java b/src/main/java/com/hbm/entity/projectile/EntityThrowableNT.java index 06d05c0f0..ebde86c60 100644 --- a/src/main/java/com/hbm/entity/projectile/EntityThrowableNT.java +++ b/src/main/java/com/hbm/entity/projectile/EntityThrowableNT.java @@ -172,7 +172,7 @@ public abstract class EntityThrowableNT extends Entity implements IProjectile { if(mop != null) { nextPos = Vec3.createVectorHelper(mop.hitVec.xCoord, mop.hitVec.yCoord, mop.hitVec.zCoord); } - + if(!this.worldObj.isRemote) { Entity hitEntity = null; @@ -182,8 +182,8 @@ public abstract class EntityThrowableNT extends Entity implements IProjectile { for(int j = 0; j < list.size(); ++j) { Entity entity = (Entity) list.get(j); - - if(entity.canBeCollidedWith() && (entity != thrower || this.ticksInAir >= 5)) { + + if(entity.canBeCollidedWith() && (entity != thrower || this.ticksInAir >= this.selfDamageDelay())) { double hitbox = 0.3F; AxisAlignedBB aabb = entity.boundingBox.expand(hitbox, hitbox, hitbox); MovingObjectPosition hitMop = aabb.calculateIntercept(pos, nextPos); @@ -212,6 +212,10 @@ public abstract class EntityThrowableNT extends Entity implements IProjectile { } } + this.posX += this.motionX * motionMult(); + this.posY += this.motionY * motionMult(); + this.posZ += this.motionZ * motionMult(); + if(mop != null) { if(mop.typeOfHit == MovingObjectPosition.MovingObjectType.BLOCK && this.worldObj.getBlock(mop.blockX, mop.blockY, mop.blockZ) == Blocks.portal) { this.setInPortal(); @@ -219,10 +223,6 @@ public abstract class EntityThrowableNT extends Entity implements IProjectile { this.onImpact(mop); } } - - this.posX += this.motionX * motionMult(); - this.posY += this.motionY * motionMult(); - this.posZ += this.motionZ * motionMult(); float hyp = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); @@ -274,6 +274,10 @@ public abstract class EntityThrowableNT extends Entity implements IProjectile { return false; } + public int selfDamageDelay() { + return 5; + } + public void getStuck(int x, int y, int z) { this.stuckBlockX = x; this.stuckBlockY = y; diff --git a/src/main/java/com/hbm/handler/BulletConfigSyncingUtil.java b/src/main/java/com/hbm/handler/BulletConfigSyncingUtil.java index c37a03eed..19987ab65 100644 --- a/src/main/java/com/hbm/handler/BulletConfigSyncingUtil.java +++ b/src/main/java/com/hbm/handler/BulletConfigSyncingUtil.java @@ -159,7 +159,10 @@ public class BulletConfigSyncingUtil { public static int SPECIAL_GAUSS = i++; public static int SPECIAL_GAUSS_CHARGED = i++; public static int SPECIAL_EMP = i++; - public static int SPECIAL_COIL = i++; + + public static int COIL_NORMAL = i++; + public static int COIL_DU = i++; + public static int COIL_RUBBER = i++; public static int FLAMER_NORMAL = i++; public static int FLAMER_NAPALM = i++; @@ -452,7 +455,10 @@ public class BulletConfigSyncingUtil { configSet.put(SPECIAL_GAUSS, GunGaussFactory.getGaussConfig()); configSet.put(SPECIAL_GAUSS_CHARGED, GunGaussFactory.getAltConfig()); configSet.put(SPECIAL_EMP, GunEnergyFactory.getOrbusConfig()); - configSet.put(SPECIAL_COIL, GunEnergyFactory.getCoilConfig()); + + configSet.put(COIL_NORMAL, GunEnergyFactory.getCoilConfig()); + configSet.put(COIL_DU, GunEnergyFactory.getCoilDUConfig()); + configSet.put(COIL_RUBBER, GunEnergyFactory.getCoilRubberConfig()); configSet.put(FLAMER_NORMAL, GunEnergyFactory.getFlameConfig()); configSet.put(FLAMER_NAPALM, GunEnergyFactory.getNapalmConfig()); diff --git a/src/main/java/com/hbm/handler/BulletConfiguration.java b/src/main/java/com/hbm/handler/BulletConfiguration.java index 100eed39a..1a5c07498 100644 --- a/src/main/java/com/hbm/handler/BulletConfiguration.java +++ b/src/main/java/com/hbm/handler/BulletConfiguration.java @@ -54,6 +54,8 @@ public class BulletConfiguration implements Cloneable { public int HBRC; //how much of the initial velocity is kept after bouncing public double bounceMod; + //how many ticks until the projectile can hurt the shooter + public int selfDamageDelay = 5; //whether or not the bullet should penetrate mobs public boolean doesPenetrate; diff --git a/src/main/java/com/hbm/handler/guncfg/GunEnergyFactory.java b/src/main/java/com/hbm/handler/guncfg/GunEnergyFactory.java index 48aa5feba..1e7d4342d 100644 --- a/src/main/java/com/hbm/handler/guncfg/GunEnergyFactory.java +++ b/src/main/java/com/hbm/handler/guncfg/GunEnergyFactory.java @@ -12,6 +12,7 @@ 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.ItemAmmoEnums.AmmoCoilgun; import com.hbm.items.ItemAmmoEnums.AmmoFireExt; import com.hbm.items.ItemAmmoEnums.AmmoFlamethrower; import com.hbm.items.ModItems; @@ -19,6 +20,7 @@ import com.hbm.lib.HbmCollection.EnumGunManufacturer; import com.hbm.lib.ModDamageSource; import com.hbm.main.MainRegistry; import com.hbm.packet.AuxParticlePacketNT; +import com.hbm.packet.ExplosionKnockbackPacket; import com.hbm.packet.PacketDispatcher; import com.hbm.potion.HbmPotion; import com.hbm.render.util.RenderScreenOverlay.Crosshair; @@ -29,6 +31,7 @@ import com.hbm.util.CompatExternal; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import net.minecraft.block.Block; import net.minecraft.block.material.Material; +import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.init.Blocks; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.potion.Potion; @@ -204,7 +207,9 @@ public class GunEnergyFactory { config.manufacturer = EnumGunManufacturer.DRG; config.config = new ArrayList(); - config.config.add(BulletConfigSyncingUtil.SPECIAL_COIL); + config.config.add(BulletConfigSyncingUtil.COIL_NORMAL); + config.config.add(BulletConfigSyncingUtil.COIL_DU); + config.config.add(BulletConfigSyncingUtil.COIL_RUBBER); return config; } @@ -278,9 +283,9 @@ public class GunEnergyFactory { BulletConfiguration bullet = new BulletConfiguration(); - bullet.ammo = new ComparableStack(ModItems.gun_coilgun_ammo); + bullet.ammo = new ComparableStack(ModItems.ammo_coilgun, 1, AmmoCoilgun.STOCK.ordinal()); - bullet.velocity = 5F; + bullet.velocity = 7.5F; bullet.spread = 0.0F; bullet.wear = 10; bullet.bulletsMin = 1; @@ -288,7 +293,7 @@ public class GunEnergyFactory { bullet.dmgMin = 35; bullet.dmgMax = 45; bullet.gravity = 0D; - bullet.maxAge = 100; + bullet.maxAge = 50; bullet.doesPenetrate = true; bullet.isSpectral = true; @@ -296,33 +301,105 @@ public class GunEnergyFactory { bullet.trail = bullet.BOLT_NIGHTMARE; bullet.vPFX = "fireworks"; - bullet.bntUpdate = (entity) -> { - - if(entity.worldObj.isRemote) return; - - Vec3 vec = Vec3.createVectorHelper(entity.posX - entity.prevPosX, entity.posY - entity.prevPosY, entity.posZ - entity.prevPosZ); - double motion = Math.max(vec.lengthVector(), 0.1); - vec = vec.normalize(); - - for(double d = 0; d < motion; d += 0.5) { + bullet.bntUpdate = (entity) -> breakInPath(entity, 1.25F); + + return bullet; + } + + public static BulletConfiguration getCoilDUConfig() { + + BulletConfiguration bullet = new BulletConfiguration(); + + bullet.ammo = new ComparableStack(ModItems.ammo_coilgun, 1, AmmoCoilgun.DU.ordinal()); + + bullet.velocity = 7.5F; + bullet.spread = 0.0F; + bullet.wear = 25; + bullet.bulletsMin = 1; + bullet.bulletsMax = 1; + bullet.dmgMin = 65; + bullet.dmgMax = 80; + bullet.gravity = 0D; + bullet.maxAge = 50; + bullet.doesPenetrate = true; + bullet.isSpectral = true; - int x = (int) Math.floor(entity.posX - vec.xCoord * d); - int y = (int) Math.floor(entity.posY - vec.yCoord * d); - int z = (int) Math.floor(entity.posZ - vec.zCoord * d); - - Block b = entity.worldObj.getBlock(x, y, z); - float hardness = b.getBlockHardness(entity.worldObj, x, y, z); - - if(b.getMaterial() != Material.air && hardness >= 0 && hardness < 1.25) { - System.out.println(b.getUnlocalizedName() + " " + hardness); - entity.worldObj.func_147480_a(x, y, z, false); - } + bullet.style = bullet.STYLE_BOLT; + bullet.trail = bullet.BOLT_NIGHTMARE; + bullet.vPFX = "fireworks"; + + bullet.bntUpdate = (entity) -> breakInPath(entity, 2.5F); + + return bullet; + } + + public static BulletConfiguration getCoilRubberConfig() { + + BulletConfiguration bullet = new BulletConfiguration(); + + bullet.ammo = new ComparableStack(ModItems.ammo_coilgun, 1, AmmoCoilgun.RUBBER.ordinal()); + + bullet.velocity = 5F; + bullet.spread = 0.0F; + bullet.wear = 10; + bullet.bulletsMin = 1; + bullet.bulletsMax = 1; + bullet.dmgMin = 10; + bullet.dmgMax = 20; + bullet.gravity = 0D; + bullet.maxAge = 50; + bullet.doesPenetrate = false; + bullet.isSpectral = false; + bullet.doesRicochet = true; + bullet.ricochetAngle = 30; + bullet.HBRC = 90; + bullet.LBRC = 100; + bullet.bounceMod = 1; + bullet.selfDamageDelay = 2; + + bullet.style = bullet.STYLE_PELLET; + + bullet.bntHurt = (entity, hit) -> { + Vec3 vec = Vec3.createVectorHelper(entity.motionX, entity.motionY, entity.motionZ); + vec = vec.normalize(); + vec.xCoord *= 10; + vec.yCoord *= 10; + vec.zCoord *= 10; + hit.motionX += vec.xCoord; + hit.motionY += vec.yCoord; + hit.motionZ += vec.zCoord; + + if(hit instanceof EntityPlayerMP) { + PacketDispatcher.wrapper.sendTo(new ExplosionKnockbackPacket(vec), (EntityPlayerMP) hit); } }; return bullet; } + public static void breakInPath(EntityBulletBaseNT entity, float threshold) { + + if(entity.worldObj.isRemote) return; + + Vec3 vec = Vec3.createVectorHelper(entity.posX - entity.prevPosX, entity.posY - entity.prevPosY, entity.posZ - entity.prevPosZ); + double motion = Math.max(vec.lengthVector(), 0.1); + vec = vec.normalize(); + + for(double d = 0; d < motion; d += 0.5) { + + int x = (int) Math.floor(entity.posX - vec.xCoord * d); + int y = (int) Math.floor(entity.posY - vec.yCoord * d); + int z = (int) Math.floor(entity.posZ - vec.zCoord * d); + + Block b = entity.worldObj.getBlock(x, y, z); + float hardness = b.getBlockHardness(entity.worldObj, x, y, z); + + if(b.getMaterial() != Material.air && hardness >= 0 && hardness < threshold) { + entity.worldObj.func_147480_a(x, y, z, false); + } + } + } + public static BulletConfiguration getFlameConfig() { BulletConfiguration bullet = new BulletConfiguration(); diff --git a/src/main/java/com/hbm/items/ItemAmmoEnums.java b/src/main/java/com/hbm/items/ItemAmmoEnums.java index d42eb4015..8ef0638d7 100644 --- a/src/main/java/com/hbm/items/ItemAmmoEnums.java +++ b/src/main/java/com/hbm/items/ItemAmmoEnums.java @@ -748,6 +748,23 @@ public class ItemAmmoEnums { } } + public enum AmmoCoilgun implements IAmmoItemEnum { + STOCK("ammo_coilgun"), + DU("ammo_coilgun_du", AmmoItemTrait.PRO_HEAVY_DAMAGE, AmmoItemTrait.CON_HEAVY_WEAR), + RUBBER("ammo_coilgun_rubber", AmmoItemTrait.NEU_MORE_BOUNCY, AmmoItemTrait.CON_DAMAGE); + + private final Set traits; + private final String unloc; + + private AmmoCoilgun(String unloc, AmmoItemTrait... traits) { + this.traits = safeAssign(traits); + this.unloc = unloc; + } + + @Override public Set getTraits() { return traits; } + @Override public String getInternalName() { return unloc; } + } + public interface IAmmoItemEnum { public Set getTraits(); public String getInternalName(); diff --git a/src/main/java/com/hbm/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index 50a667323..91c4863de 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -1506,6 +1506,7 @@ public class ModItems { public static ItemEnumMulti ammo_dart; public static ItemEnumMulti ammo_stinger_rocket; public static ItemEnumMulti ammo_luna_sniper; + public static ItemEnumMulti ammo_coilgun; public static Item ammo_cell; @@ -1574,7 +1575,6 @@ public class ModItems { public static Item gun_b92_ammo; public static Item gun_b93; public static Item gun_coilgun; - public static Item gun_coilgun_ammo; public static Item gun_xvl1456; public static Item gun_xvl1456_ammo; public static Item gun_osipr; @@ -4135,6 +4135,7 @@ public class ModItems { ammo_fuel = new ItemAmmo(AmmoFlamethrower.class).setUnlocalizedName("ammo_fuel"); ammo_fireext = new ItemAmmo(AmmoFireExt.class).setUnlocalizedName("ammo_fireext"); ammo_cell = new ItemCustomLore().setCreativeTab(MainRegistry.weaponTab).setUnlocalizedName("ammo_cell").setMaxStackSize(16); + ammo_coilgun = new ItemAmmo(AmmoCoilgun.class).setUnlocalizedName("ammo_coilgun"); ammo_dart = (ItemEnumMulti) new ItemAmmo(AmmoDart.class).setUnlocalizedName("ammo_dart").setMaxStackSize(16); ammo_stinger_rocket = new ItemAmmo(AmmoStinger.class).setUnlocalizedName("ammo_stinger_rocket"); ammo_luna_sniper = new ItemAmmo(AmmoLunaticSniper.class).setUnlocalizedName("ammo_luna_sniper"); @@ -4202,7 +4203,6 @@ public class ModItems { gun_b92_ammo = new GunB92Cell().setUnlocalizedName("gun_b92_ammo").setMaxStackSize(1).setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_b92_ammo_alt"); gun_b92 = new GunB92().setUnlocalizedName("gun_b92").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_b92"); gun_b93 = new GunB93().setUnlocalizedName("gun_b93").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_b93"); - gun_coilgun_ammo = new Item().setUnlocalizedName("gun_coilgun_ammo").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_coilgun_ammo"); gun_coilgun = new ItemCoilgun(GunEnergyFactory.getCoilgunConfig()).setUnlocalizedName("gun_coilgun").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_coilgun"); gun_xvl1456_ammo = new Item().setUnlocalizedName("gun_xvl1456_ammo").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_xvl1456_ammo"); gun_xvl1456 = new ItemGunGauss(GunGaussFactory.getXVLConfig(), GunGaussFactory.getChargedConfig()).setUnlocalizedName("gun_xvl1456").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_xvl1456"); @@ -7083,7 +7083,6 @@ public class ModItems { //GameRegistry.registerItem(gun_uboinik_ammo, gun_uboinik_ammo.getUnlocalizedName()); //GameRegistry.registerItem(gun_lever_action_ammo, gun_lever_action_ammo.getUnlocalizedName()); //GameRegistry.registerItem(gun_bolt_action_ammo, gun_bolt_action_ammo.getUnlocalizedName()); - GameRegistry.registerItem(gun_coilgun_ammo, gun_coilgun_ammo.getUnlocalizedName()); GameRegistry.registerItem(gun_xvl1456_ammo, gun_xvl1456_ammo.getUnlocalizedName()); GameRegistry.registerItem(gun_osipr_ammo, gun_osipr_ammo.getUnlocalizedName()); GameRegistry.registerItem(gun_osipr_ammo2, gun_osipr_ammo2.getUnlocalizedName()); @@ -7118,6 +7117,7 @@ public class ModItems { GameRegistry.registerItem(ammo_rocket, ammo_rocket.getUnlocalizedName()); GameRegistry.registerItem(ammo_stinger_rocket, ammo_stinger_rocket.getUnlocalizedName()); GameRegistry.registerItem(ammo_luna_sniper, ammo_luna_sniper.getUnlocalizedName()); + GameRegistry.registerItem(ammo_coilgun, ammo_coilgun.getUnlocalizedName()); GameRegistry.registerItem(ammo_grenade, ammo_grenade.getUnlocalizedName()); GameRegistry.registerItem(ammo_shell, ammo_shell.getUnlocalizedName()); @@ -8161,6 +8161,8 @@ public class ModItems { addRemap("gas_petroleum", gas_full, Fluids.PETROLEUM.getID()); addRemap("gas_biogas", gas_full, Fluids.BIOGAS.getID()); addRemap("gas_lpg", gas_full, Fluids.LPG.getID()); + + addRemap("gun_coilgun_ammo", ammo_coilgun, AmmoCoilgun.STOCK); } public static void addRemap(String unloc, Item item, Enum sub) { diff --git a/src/main/java/com/hbm/lib/RefStrings.java b/src/main/java/com/hbm/lib/RefStrings.java index 6d1da286d..98f2a8683 100644 --- a/src/main/java/com/hbm/lib/RefStrings.java +++ b/src/main/java/com/hbm/lib/RefStrings.java @@ -3,7 +3,7 @@ package com.hbm.lib; public class RefStrings { public static final String MODID = "hbm"; public static final String NAME = "Hbm's Nuclear Tech Mod"; - public static final String VERSION = "1.0.27 BETA (4655)"; + public static final String VERSION = "1.0.27 BETA (4662)"; //HBM's Beta Naming Convention: //V T (X) //V -> next release version diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index 858ba093d..d7e063169 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -983,6 +983,9 @@ item.ammo_arty_phosgene.name=16" Artilleriegranate (Phosgen) item.ammo_arty_phosphorus.name=16" Phosphor-Artilleriegranate item.ammo_arty_phosphorus_multi.name=16" Mehrfach-Phosphor-Artilleriegranate item.ammo_cell.name=Energiezelle +item.ammo_coilgun.name=Wolframkugel +item.ammo_coilgun_du.name=Ferrourankugel +item.ammo_coilgun_rubber.name=Gummikugel item.ammo_container.name=Munitionsbehälter item.ammo_dart.name=Plastikdart (Withernd) item.ammo_dart_nerf.name=NERF-Dart @@ -1876,7 +1879,6 @@ item.gun_calamity_ammo.name=.50 BMG Patrone (LEGACY) item.gun_calamity_dual.name=Sattelkanone item.gun_chemthrower.name=Chemowerfer item.gun_coilgun.name=Gaußpistole -item.gun_coilgun_ammo.name=Wolframkugel item.gun_cryolator.name=Der Cryolator item.gun_cryolator_ammo.name=Kryozelle item.gun_dampfmaschine.name=Garantiert keine Scherzwaffe diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index 58dff23b9..3c4bec004 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -1609,6 +1609,9 @@ item.ammo_arty_phosgene.name=16" Phosgene Artillery Shell item.ammo_arty_phosphorus.name=16" Phosphorus Shell item.ammo_arty_phosphorus_multi.name=16" Multi Phosphorus Shell item.ammo_cell.name=Energy Cell +item.ammo_coilgun.name=Coilgun Tungsten Ball +item.ammo_coilgun_du.name=Coilgun Ferrouranium Ball +item.ammo_coilgun_rubber.name=Coilgun Rubber Ball item.ammo_container.name=Ammo Container item.ammo_dart.name=Plastic Dart (Withering) item.ammo_dart_nerf.name=NERF Dart @@ -2567,7 +2570,6 @@ item.gun_calamity_ammo.name=.50 BMG Round (LEGACY) item.gun_calamity_dual.name=Saddle Gun item.gun_chemthrower.name=Chemthrower item.gun_coilgun.name=Coilgun -item.gun_coilgun_ammo.name=Coilgun Tungsten Ball item.gun_cryolator.name=The Cryolator item.gun_cryolator_ammo.name=Cryo Cell item.gun_dampfmaschine.name=Totally Not a Joke Weapon diff --git a/src/main/resources/assets/hbm/textures/gui/fluids/hotblood.png b/src/main/resources/assets/hbm/textures/gui/fluids/blood_hot.png similarity index 100% rename from src/main/resources/assets/hbm/textures/gui/fluids/hotblood.png rename to src/main/resources/assets/hbm/textures/gui/fluids/blood_hot.png diff --git a/src/main/resources/assets/hbm/textures/items/gun_coilgun_ammo.png b/src/main/resources/assets/hbm/textures/items/ammo_coilgun.png similarity index 100% rename from src/main/resources/assets/hbm/textures/items/gun_coilgun_ammo.png rename to src/main/resources/assets/hbm/textures/items/ammo_coilgun.png diff --git a/src/main/resources/assets/hbm/textures/items/ammo_coilgun_du.png b/src/main/resources/assets/hbm/textures/items/ammo_coilgun_du.png new file mode 100644 index 000000000..a8bb6196c Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_coilgun_du.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_coilgun_rubber.png b/src/main/resources/assets/hbm/textures/items/ammo_coilgun_rubber.png new file mode 100644 index 000000000..265c2b866 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_coilgun_rubber.png differ