diff --git a/src/main/java/com/hbm/items/ItemEnums.java b/src/main/java/com/hbm/items/ItemEnums.java index ff0afac1e..ae35cb4c3 100644 --- a/src/main/java/com/hbm/items/ItemEnums.java +++ b/src/main/java/com/hbm/items/ItemEnums.java @@ -77,7 +77,7 @@ public class ItemEnums { } public static enum EnumSecretType { - CANISTER, CONTROLLER + CANISTER, CONTROLLER, SELENIUM_STEEL } public static enum EnumCasingType { diff --git a/src/main/java/com/hbm/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index 1ee1d0165..b45c52376 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -1598,6 +1598,7 @@ public class ModItems { public static Item gun_greasegun; public static Item gun_maresleg; public static Item gun_maresleg_akimbo; + public static Item gun_maresleg_broken; public static Item gun_flaregun; public static Item gun_heavy_revolver; public static Item gun_carbine; @@ -6941,6 +6942,7 @@ public class ModItems { GameRegistry.registerItem(gun_greasegun, gun_greasegun.getUnlocalizedName()); GameRegistry.registerItem(gun_maresleg, gun_maresleg.getUnlocalizedName()); GameRegistry.registerItem(gun_maresleg_akimbo, gun_maresleg_akimbo.getUnlocalizedName()); + GameRegistry.registerItem(gun_maresleg_broken, gun_maresleg_broken.getUnlocalizedName()); GameRegistry.registerItem(gun_flaregun, gun_flaregun.getUnlocalizedName()); GameRegistry.registerItem(gun_heavy_revolver, gun_heavy_revolver.getUnlocalizedName()); GameRegistry.registerItem(gun_carbine, gun_carbine.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/items/weapon/sedna/ItemGunBaseNT.java b/src/main/java/com/hbm/items/weapon/sedna/ItemGunBaseNT.java index 255ceab06..56c17f054 100644 --- a/src/main/java/com/hbm/items/weapon/sedna/ItemGunBaseNT.java +++ b/src/main/java/com/hbm/items/weapon/sedna/ItemGunBaseNT.java @@ -1,5 +1,6 @@ package com.hbm.items.weapon.sedna; +import java.util.List; import java.util.concurrent.ConcurrentHashMap; import java.util.function.BiConsumer; @@ -9,6 +10,8 @@ import com.hbm.interfaces.IItemHUD; import com.hbm.items.IEquipReceiver; import com.hbm.items.IKeybindReceiver; import com.hbm.items.weapon.sedna.hud.IHUDComponent; +import com.hbm.items.weapon.sedna.mags.IMagazine; +import com.hbm.lib.RefStrings; import com.hbm.main.MainRegistry; import com.hbm.packet.PacketDispatcher; import com.hbm.packet.toclient.AuxParticlePacketNT; @@ -16,6 +19,7 @@ import com.hbm.packet.toclient.GunAnimationPacket; import com.hbm.render.anim.HbmAnimations.AnimType; import com.hbm.render.util.RenderScreenOverlay; import com.hbm.sound.AudioWrapper; +import com.hbm.util.BobMathUtil; import com.hbm.util.EnumUtil; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; @@ -30,6 +34,7 @@ import net.minecraft.inventory.IInventory; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.MathHelper; import net.minecraft.world.World; import net.minecraftforge.client.event.RenderGameOverlayEvent.ElementType; @@ -72,16 +77,29 @@ public class ItemGunBaseNT extends Item implements IKeybindReceiver, IEquipRecei /** NEVER ACCESS DIRECTLY - USE GETTER */ protected GunConfig[] configs_DNA; + public WeaponQuality quality; + public GunConfig getConfig(ItemStack stack, int index) { GunConfig cfg = configs_DNA[index]; return WeaponUpgradeManager.eval(cfg, stack, O_GUNCONFIG + index, this); } - public ItemGunBaseNT(GunConfig... cfg) { + public ItemGunBaseNT(WeaponQuality quality, GunConfig... cfg) { this.setMaxStackSize(1); this.configs_DNA = cfg; + this.quality = quality; this.lastShot = new long[cfg.length]; this.setCreativeTab(MainRegistry.weaponTab); + this.setTextureName(RefStrings.MODID + ":gun_darter"); + } + + public static enum WeaponQuality { + A_SIDE, + B_SIDE, + LEGENDARY, + SEPCIAL, + SECRET, + DEBUG } public static enum GunState { @@ -93,6 +111,29 @@ public class ItemGunBaseNT extends Item implements IKeybindReceiver, IEquipRecei JAMMED, //gun is jammed, either after reloading or while firing } + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) { + + int configs = this.configs_DNA.length; + for(int i = 0; i < configs; i++) { + GunConfig config = getConfig(stack, i); + for(Receiver rec : config.getReceivers(stack)) { + IMagazine mag = rec.getMagazine(stack); + list.add("Ammo: " + mag.getIconForHUD(stack).getDisplayName() + " " + mag.reportAmmoStateForHUD(stack)); + list.add("Base Damage: " + rec.getBaseDamage(stack)); + } + } + + switch(this.quality) { + case A_SIDE: list.add(EnumChatFormatting.YELLOW + "Standard Arsenal"); break; + case B_SIDE: list.add(EnumChatFormatting.GOLD + "B-Side"); break; + case LEGENDARY: list.add(EnumChatFormatting.RED + "Legendary Weapon"); break; + case SEPCIAL: list.add(EnumChatFormatting.AQUA + "Special Weapon"); break; + case SECRET: list.add(EnumChatFormatting.DARK_RED + "SECRET"); break; + case DEBUG: list.add((BobMathUtil.getBlink() ? EnumChatFormatting.YELLOW : EnumChatFormatting.GOLD) + "DEBUG"); break; + } + } + @Override public boolean canHandleKeybind(EntityPlayer player, ItemStack stack, EnumKeybind keybind) { return keybind == EnumKeybind.GUN_PRIMARY || keybind == EnumKeybind.GUN_SECONDARY || keybind == EnumKeybind.GUN_TERTIARY || keybind == EnumKeybind.RELOAD; diff --git a/src/main/java/com/hbm/items/weapon/sedna/factory/GunFactory.java b/src/main/java/com/hbm/items/weapon/sedna/factory/GunFactory.java index 5cc4c30ba..907942666 100644 --- a/src/main/java/com/hbm/items/weapon/sedna/factory/GunFactory.java +++ b/src/main/java/com/hbm/items/weapon/sedna/factory/GunFactory.java @@ -7,6 +7,7 @@ import com.hbm.items.weapon.sedna.Crosshair; import com.hbm.items.weapon.sedna.GunConfig; import com.hbm.items.weapon.sedna.ItemGunBaseNT; import com.hbm.items.weapon.sedna.Receiver; +import com.hbm.items.weapon.sedna.ItemGunBaseNT.WeaponQuality; import com.hbm.items.weapon.sedna.mags.MagazineFullReload; import com.hbm.lib.RefStrings; import com.hbm.main.MainRegistry; @@ -33,7 +34,7 @@ public class GunFactory { ammo_debug_buckshot = new BulletConfig().setItem(ModItems.ammo_12gauge).setSpread(0.1F).setRicochetAngle(45).setProjectiles(6, 6).setCasing(CASING44.clone().register("DEBUG1")); /// GUNS /// - ModItems.gun_debug = new ItemGunBaseNT(new GunConfig() + ModItems.gun_debug = new ItemGunBaseNT(WeaponQuality.DEBUG, new GunConfig() .dura(600F).draw(15).inspect(23).crosshair(Crosshair.L_CLASSIC).smoke(Lego.LAMBDA_STANDARD_SMOKE).orchestra(Orchestras.DEBUG_ORCHESTRA) .rec(new Receiver(0) .dmg(10F).delay(14).reload(46).jam(23).sound("hbm:weapon.44Shoot", 1.0F, 1.0F) @@ -43,7 +44,7 @@ public class GunFactory { .pp(Lego.LAMBDA_STANDARD_CLICK_PRIMARY) .pr(Lego.LAMBDA_STANDARD_RELOAD) .pt(Lego.LAMBDA_TOGGLE_AIM) .decider(GunStateDecider.LAMBDA_STANDARD_DECIDER) .anim(Lego.LAMBDA_DEBUG_ANIMS) - ).setUnlocalizedName("gun_debug").setTextureName(RefStrings.MODID + ":gun_darter"); + ).setUnlocalizedName("gun_debug"); XFactoryBlackPowder.init(); XFactory357.init(); @@ -75,5 +76,6 @@ public class GunFactory { G40_FLARE, G40, ROCKET_HE, ROCKET_HEAT, FLAME_DIESEL, + M44_EQUESTRIAN, G12_EQUESTRIAN, BMG50_EQUESTRIAN } } diff --git a/src/main/java/com/hbm/items/weapon/sedna/factory/GunFactoryClient.java b/src/main/java/com/hbm/items/weapon/sedna/factory/GunFactoryClient.java index 918670809..6d2f24f4e 100644 --- a/src/main/java/com/hbm/items/weapon/sedna/factory/GunFactoryClient.java +++ b/src/main/java/com/hbm/items/weapon/sedna/factory/GunFactoryClient.java @@ -14,6 +14,7 @@ import static com.hbm.items.weapon.sedna.factory.XFactoryRocket.*; import com.hbm.items.ModItems; import com.hbm.items.weapon.sedna.ItemGunBaseNT; +import com.hbm.main.ResourceManager; import com.hbm.render.item.weapon.sedna.*; import net.minecraftforge.client.MinecraftForgeClient; @@ -28,8 +29,9 @@ public class GunFactoryClient { MinecraftForgeClient.registerItemRenderer(ModItems.gun_light_revolver_dani, new ItemRenderDANI()); MinecraftForgeClient.registerItemRenderer(ModItems.gun_henry, new ItemRenderHenry()); MinecraftForgeClient.registerItemRenderer(ModItems.gun_greasegun, new ItemRenderGreasegun()); - MinecraftForgeClient.registerItemRenderer(ModItems.gun_maresleg, new ItemRenderMaresleg()); + MinecraftForgeClient.registerItemRenderer(ModItems.gun_maresleg, new ItemRenderMaresleg(ResourceManager.maresleg_tex)); MinecraftForgeClient.registerItemRenderer(ModItems.gun_maresleg_akimbo, new ItemRenderMareslegAkimbo()); + MinecraftForgeClient.registerItemRenderer(ModItems.gun_maresleg_broken, new ItemRenderMaresleg(ResourceManager.maresleg_broken_tex)); MinecraftForgeClient.registerItemRenderer(ModItems.gun_flaregun, new ItemRenderFlaregun()); MinecraftForgeClient.registerItemRenderer(ModItems.gun_heavy_revolver, new ItemRenderHeavyRevolver()); MinecraftForgeClient.registerItemRenderer(ModItems.gun_carbine, new ItemRenderCarbine()); @@ -105,6 +107,7 @@ public class GunFactoryClient { ((ItemGunBaseNT) ModItems.gun_henry) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO); ((ItemGunBaseNT) ModItems.gun_greasegun) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO); ((ItemGunBaseNT) ModItems.gun_maresleg) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO); + ((ItemGunBaseNT) ModItems.gun_maresleg_broken) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_AMMO); ((ItemGunBaseNT) ModItems.gun_flaregun) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO); ((ItemGunBaseNT) ModItems.gun_heavy_revolver) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO); ((ItemGunBaseNT) ModItems.gun_carbine) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO); diff --git a/src/main/java/com/hbm/items/weapon/sedna/factory/Lego.java b/src/main/java/com/hbm/items/weapon/sedna/factory/Lego.java index d25cee56c..c2fd0dcd7 100644 --- a/src/main/java/com/hbm/items/weapon/sedna/factory/Lego.java +++ b/src/main/java/com/hbm/items/weapon/sedna/factory/Lego.java @@ -171,15 +171,19 @@ public class Lego { /** Spawns an EntityBulletBaseMK4 with the loaded bulletcfg */ public static BiConsumer LAMBDA_STANDARD_FIRE = (stack, ctx) -> { - doStandardFire(stack, ctx, AnimType.CYCLE); + doStandardFire(stack, ctx, AnimType.CYCLE, true); + }; + /** Spawns an EntityBulletBaseMK4 with the loaded bulletcfg, ignores wear */ + public static BiConsumer LAMBDA_NOWEAR_FIRE = (stack, ctx) -> { + doStandardFire(stack, ctx, AnimType.CYCLE, false); }; /** Spawns an EntityBulletBaseMK4 with the loaded bulletcfg, then resets lockon progress */ public static BiConsumer LAMBDA_LOCKON_FIRE = (stack, ctx) -> { - doStandardFire(stack, ctx, AnimType.CYCLE); + doStandardFire(stack, ctx, AnimType.CYCLE, true); ItemGunBaseNT.setIsLockedOn(stack, false); }; - public static void doStandardFire(ItemStack stack, LambdaContext ctx, AnimType anim) { + public static void doStandardFire(ItemStack stack, LambdaContext ctx, AnimType anim, boolean calcWear) { EntityLivingBase entity = ctx.entity; EntityPlayer player = ctx.getPlayer(); int index = ctx.configIndex; @@ -203,15 +207,15 @@ public class Lego { if(config.projectilesMax > config.projectilesMin) projectiles += entity.getRNG().nextInt(config.projectilesMax - config.projectilesMin + 1); for(int i = 0; i < projectiles; i++) { - float damage = primary.getBaseDamage(stack) * getStandardWearDamage(stack, ctx.config, index); - float spread = primary.getGunSpread(stack) * aim + getStandardWearSpread(stack, ctx.config, index) * 0.125F; + float damage = primary.getBaseDamage(stack) * (calcWear ? getStandardWearDamage(stack, ctx.config, index) : 1); + float spread = primary.getGunSpread(stack) * aim + (calcWear ? getStandardWearSpread(stack, ctx.config, index) * 0.125F : 0F); EntityBulletBaseMK4 mk4 = new EntityBulletBaseMK4(entity, config, damage, spread, sideOffset, heightOffset, forwardOffset); if(ItemGunBaseNT.getIsLockedOn(stack)) mk4.lockonTarget = entity.worldObj.getEntityByID(ItemGunBaseNT.getLockonTarget(stack)); entity.worldObj.spawnEntityInWorld(mk4); } mag.setAmount(stack, mag.getAmount(stack) - 1); - ItemGunBaseNT.setWear(stack, index, Math.min(ItemGunBaseNT.getWear(stack, index) + config.wear, ctx.config.getDurability(stack))); + if(calcWear) ItemGunBaseNT.setWear(stack, index, Math.min(ItemGunBaseNT.getWear(stack, index) + config.wear, ctx.config.getDurability(stack))); } public static float getStandardWearSpread(ItemStack stack, GunConfig config, int index) { diff --git a/src/main/java/com/hbm/items/weapon/sedna/factory/Orchestras.java b/src/main/java/com/hbm/items/weapon/sedna/factory/Orchestras.java index 1269b3220..2874d5625 100644 --- a/src/main/java/com/hbm/items/weapon/sedna/factory/Orchestras.java +++ b/src/main/java/com/hbm/items/weapon/sedna/factory/Orchestras.java @@ -244,7 +244,7 @@ public class Orchestras { } }; - public static BiConsumer ORCHESTRA_MARESLEG_AKIMBO = (stack, ctx) -> { + public static BiConsumer ORCHESTRA_MARESLEG_SHORT = (stack, ctx) -> { EntityLivingBase entity = ctx.entity; if(entity.worldObj.isRemote) return; AnimType type = ItemGunBaseNT.getLastAnim(stack, ctx.configIndex); @@ -268,9 +268,8 @@ public class Orchestras { } if(type == AnimType.CYCLE) { if(timer == 14) { - int offset = ctx.configIndex == 0 ? -1 : 1; SpentCasing casing = ctx.config.getReceivers(stack)[0].getMagazine(stack).getCasing(stack); - if(casing != null) CasingCreator.composeEffect(entity.worldObj, entity, 0.3125, -0.125, aiming ? -0.125 * offset : -0.375D * offset, 0, -0.08, 0, 0.01, casing.getName(), true, 60, 0.5D, 20); + if(casing != null) CasingCreator.composeEffect(entity.worldObj, entity, 0.3125, -0.125, aiming ? -0.125 : -0.375D, 0, -0.08, 0, 0.01, casing.getName(), true, 60, 0.5D, 20); } if(timer == 8) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.leverCock", 1F, 0.8F); } @@ -280,6 +279,26 @@ public class Orchestras { } }; + public static BiConsumer ORCHESTRA_MARESLEG_AKIMBO = (stack, ctx) -> { + EntityLivingBase entity = ctx.entity; + if(entity.worldObj.isRemote) return; + AnimType type = ItemGunBaseNT.getLastAnim(stack, ctx.configIndex); + int timer = ItemGunBaseNT.getAnimTimer(stack, ctx.configIndex); + boolean aiming = ItemGunBaseNT.getIsAiming(stack); + + if(type == AnimType.CYCLE) { + if(timer == 14) { + int offset = ctx.configIndex == 0 ? -1 : 1; + SpentCasing casing = ctx.config.getReceivers(stack)[0].getMagazine(stack).getCasing(stack); + if(casing != null) CasingCreator.composeEffect(entity.worldObj, entity, 0.3125, -0.125, aiming ? -0.125 * offset : -0.375D * offset, 0, -0.08, 0, 0.01, casing.getName(), true, 60, 0.5D, 20); + } + if(timer == 8) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.leverCock", 1F, 0.8F); + return; + } + + ORCHESTRA_MARESLEG_SHORT.accept(stack, ctx); + }; + public static BiConsumer ORCHESTRA_FLAREGUN = (stack, ctx) -> { EntityLivingBase entity = ctx.entity; if(entity.worldObj.isRemote) return; 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 dd9afd920..390114544 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 @@ -11,10 +11,10 @@ import com.hbm.items.weapon.sedna.ItemGunBaseNT; import com.hbm.items.weapon.sedna.Receiver; import com.hbm.items.weapon.sedna.ItemGunBaseNT.GunState; import com.hbm.items.weapon.sedna.ItemGunBaseNT.LambdaContext; +import com.hbm.items.weapon.sedna.ItemGunBaseNT.WeaponQuality; import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmo; import com.hbm.items.weapon.sedna.mags.MagazineFullReload; import com.hbm.items.weapon.sedna.mags.MagazineSingleReload; -import com.hbm.lib.RefStrings; import com.hbm.main.ResourceManager; import com.hbm.particle.SpentCasing; import com.hbm.particle.SpentCasing.CasingType; @@ -55,7 +55,7 @@ public class XFactory12ga { BulletConfig[] all = new BulletConfig[] {g12_bp, g12_bp_magnum, g12_bp_slug, g12, g12_slug, g12_flechette, g12_magnum, g12_explosive, g12_phosphorus, g12_anthrax}; - ModItems.gun_maresleg = new ItemGunBaseNT(new GunConfig() + ModItems.gun_maresleg = new ItemGunBaseNT(WeaponQuality.A_SIDE, new GunConfig() .dura(600).draw(20).inspect(39).reloadSequential(true).crosshair(Crosshair.L_CIRCLE).smoke(Lego.LAMBDA_STANDARD_SMOKE) .rec(new Receiver(0) .dmg(12F).delay(20).reload(22, 10, 13, 0).jam(24).sound("hbm:weapon.fire.blackPowder", 1.0F, 1.0F) @@ -64,8 +64,8 @@ public class XFactory12ga { .setupStandardFire().recoil(Lego.LAMBDA_STANDARD_RECOIL)) .setupStandardConfiguration() .anim(LAMBDA_MARESLEG_ANIMS).orchestra(Orchestras.ORCHESTRA_MARESLEG) - ).setUnlocalizedName("gun_maresleg").setTextureName(RefStrings.MODID + ":gun_darter"); - ModItems.gun_maresleg_akimbo = new ItemGunBaseNT( + ).setUnlocalizedName("gun_maresleg"); + ModItems.gun_maresleg_akimbo = new ItemGunBaseNT(WeaponQuality.B_SIDE, new GunConfig().dura(600).draw(20).inspect(39).reloadSequential(true).crosshair(Crosshair.L_CIRCLE).smoke(Lego.LAMBDA_STANDARD_SMOKE) .rec(new Receiver(0) .dmg(12F).delay(20).reload(22, 10, 13, 0).jam(24).sound("hbm:weapon.fire.blackPowder", 1.0F, 1.0F) @@ -84,9 +84,19 @@ public class XFactory12ga { .ps(Lego.LAMBDA_STANDARD_CLICK_PRIMARY).pr(Lego.LAMBDA_STANDARD_RELOAD) .decider(GunStateDecider.LAMBDA_STANDARD_DECIDER) .anim(LAMBDA_MARESLEG_SHORT_ANIMS).orchestra(Orchestras.ORCHESTRA_MARESLEG_AKIMBO) - ).setUnlocalizedName("gun_maresleg_akimbo").setTextureName(RefStrings.MODID + ":gun_darter"); + ).setUnlocalizedName("gun_maresleg_akimbo"); + ModItems.gun_maresleg_broken = new ItemGunBaseNT(WeaponQuality.LEGENDARY, new GunConfig() + .dura(0).draw(20).inspect(39).reloadSequential(true).crosshair(Crosshair.L_CIRCLE).smoke(Lego.LAMBDA_STANDARD_SMOKE) + .rec(new Receiver(0) + .dmg(12F).delay(20).reload(22, 10, 13, 0).jam(24).sound("hbm:weapon.fire.blackPowder", 1.0F, 1.0F) + .mag(new MagazineSingleReload(0, 6).addConfigs(all)) + .offset(0.75, -0.0625, -0.1875) + .canFire(Lego.LAMBDA_STANDARD_CAN_FIRE).fire(Lego.LAMBDA_NOWEAR_FIRE).recoil(Lego.LAMBDA_STANDARD_RECOIL)) + .setupStandardConfiguration() + .anim(LAMBDA_MARESLEG_SHORT_ANIMS).orchestra(Orchestras.ORCHESTRA_MARESLEG_SHORT) + ).setUnlocalizedName("gun_maresleg_broken"); - ModItems.gun_liberator = new ItemGunBaseNT(new GunConfig() + ModItems.gun_liberator = new ItemGunBaseNT(WeaponQuality.A_SIDE, new GunConfig() .dura(200).draw(20).inspect(21).reloadSequential(true).crosshair(Crosshair.L_CIRCLE).smoke(Lego.LAMBDA_STANDARD_SMOKE) .rec(new Receiver(0) .dmg(12F).delay(20).rounds(4).reload(25, 15, 7, 0).jam(45).sound("hbm:weapon.fire.blackPowder", 1.0F, 1.0F) @@ -95,9 +105,9 @@ public class XFactory12ga { .setupStandardFire().recoil(Lego.LAMBDA_STANDARD_RECOIL)) .setupStandardConfiguration() .anim(LAMBDA_LIBERATOR_ANIMS).orchestra(Orchestras.ORCHESTRA_LIBERATOR) - ).setUnlocalizedName("gun_liberator").setTextureName(RefStrings.MODID + ":gun_darter"); + ).setUnlocalizedName("gun_liberator"); - ModItems.gun_spas12 = new ItemGunBaseNT(new GunConfig() + ModItems.gun_spas12 = new ItemGunBaseNT(WeaponQuality.A_SIDE, new GunConfig() .dura(600).draw(20).inspect(39).reloadSequential(true).crosshair(Crosshair.L_CIRCLE).smoke(Lego.LAMBDA_STANDARD_SMOKE) .rec(new Receiver(0) .dmg(12F).delay(20).reload(5, 10, 10, 10, 0).jam(24).sound("hbm:weapon.shotgunShoot", 1.0F, 1.0F) @@ -106,9 +116,9 @@ public class XFactory12ga { .setupStandardFire().recoil(Lego.LAMBDA_STANDARD_RECOIL)) .setupStandardConfiguration().ps(LAMBDA_SPAS_SECONDARY).pt(null) .anim(LAMBDA_SPAS_ANIMS).orchestra(Orchestras.ORCHESTRA_SPAS) - ).setUnlocalizedName("gun_spas12").setTextureName(RefStrings.MODID + ":gun_darter"); + ).setUnlocalizedName("gun_spas12"); - ModItems.gun_autoshotgun = new ItemGunBaseNT(new GunConfig() + ModItems.gun_autoshotgun = new ItemGunBaseNT(WeaponQuality.A_SIDE, new GunConfig() .dura(2_000).draw(10).inspect(33).reloadSequential(true).crosshair(Crosshair.L_CIRCLE).smoke(Lego.LAMBDA_STANDARD_SMOKE) .rec(new Receiver(0) .dmg(15F).delay(10).auto(true).autoAfterDry(true).dryfireAfterAuto(true).reload(44).jam(19).sound("hbm:weapon.fire.blackPowder", 1.0F, 1.0F) @@ -117,7 +127,7 @@ public class XFactory12ga { .setupStandardFire().recoil(Lego.LAMBDA_STANDARD_RECOIL)) .setupStandardConfiguration() .anim(LAMBDA_SHREDDER_ANIMS).orchestra(Orchestras.ORCHESTRA_SHREDDER) - ).setUnlocalizedName("gun_autoshotgun").setTextureName(RefStrings.MODID + ":gun_darter"); + ).setUnlocalizedName("gun_autoshotgun"); } //TODO: make generic code for this crap public static BiConsumer LAMBDA_SPAS_SECONDARY = (stack, ctx) -> { diff --git a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory22lr.java b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory22lr.java index ed9510c0f..1d96625c8 100644 --- a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory22lr.java +++ b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory22lr.java @@ -11,9 +11,9 @@ import com.hbm.items.weapon.sedna.GunConfig; import com.hbm.items.weapon.sedna.ItemGunBaseNT; import com.hbm.items.weapon.sedna.Receiver; import com.hbm.items.weapon.sedna.ItemGunBaseNT.LambdaContext; +import com.hbm.items.weapon.sedna.ItemGunBaseNT.WeaponQuality; import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmo; import com.hbm.items.weapon.sedna.mags.MagazineFullReload; -import com.hbm.lib.RefStrings; import com.hbm.main.ResourceManager; import com.hbm.particle.SpentCasing; import com.hbm.particle.SpentCasing.CasingType; @@ -42,7 +42,7 @@ public class XFactory22lr { p22_ap = new BulletConfig().setItem(EnumAmmo.P22_AP).setDoesPenetrate(true).setDamageFalloutByPen(false).setDamage(1.5F).setArmorPiercing(0.15F) .setCasing(casing22.clone().setColor(SpentCasing.COLOR_CASE_44).register("p22ap")); - ModItems.gun_am180 = new ItemGunBaseNT(new GunConfig() + ModItems.gun_am180 = new ItemGunBaseNT(WeaponQuality.A_SIDE, new GunConfig() .dura(177 * 25).draw(15).inspect(38).crosshair(Crosshair.L_CIRCLE).smoke(LAMBDA_SMOKE) .rec(new Receiver(0) .dmg(5F).delay(1).dry(10).auto(true).spread(0.02F).reload(66).jam(30).sound("hbm:weapon.fire.blackPowder", 1.0F, 1.0F) @@ -51,7 +51,7 @@ public class XFactory22lr { .setupStandardFire().recoil(Lego.LAMBDA_STANDARD_RECOIL)) .setupStandardConfiguration() .anim(LAMBDA_AM180_ANIMS).orchestra(Orchestras.ORCHESTRA_AM180) - ).setUnlocalizedName("gun_am180").setTextureName(RefStrings.MODID + ":gun_darter"); + ).setUnlocalizedName("gun_am180"); } public static BiConsumer LAMBDA_SMOKE = (stack, ctx) -> { diff --git a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory357.java b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory357.java index 6f529d054..c3aff5e15 100644 --- a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory357.java +++ b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory357.java @@ -8,9 +8,9 @@ import com.hbm.items.weapon.sedna.Crosshair; import com.hbm.items.weapon.sedna.GunConfig; import com.hbm.items.weapon.sedna.ItemGunBaseNT; import com.hbm.items.weapon.sedna.Receiver; +import com.hbm.items.weapon.sedna.ItemGunBaseNT.WeaponQuality; import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmo; import com.hbm.items.weapon.sedna.mags.MagazineFullReload; -import com.hbm.lib.RefStrings; import com.hbm.render.anim.BusAnimation; import com.hbm.render.anim.BusAnimationKeyframe.IType; import com.hbm.render.anim.BusAnimationSequence; @@ -33,7 +33,7 @@ public class XFactory357 { m357_ap = new BulletConfig().setItem(EnumAmmo.M357_AP).setDoesPenetrate(true).setDamageFalloutByPen(false).setDamage(1.5F).setArmorPiercing(0.15F); m357_express = new BulletConfig().setItem(EnumAmmo.M357_EXPRESS).setDoesPenetrate(true).setDamage(1.5F).setArmorPiercing(0.1F).setWear(1.5F); - ModItems.gun_light_revolver = new ItemGunBaseNT(new GunConfig() + ModItems.gun_light_revolver = new ItemGunBaseNT(WeaponQuality.A_SIDE, new GunConfig() .dura(300).draw(4).inspect(23).crosshair(Crosshair.CIRCLE).smoke(Lego.LAMBDA_STANDARD_SMOKE) .rec(new Receiver(0) .dmg(10F).delay(16).reload(55).jam(45).sound("hbm:weapon.fire.blackPowder", 1.0F, 1.0F) @@ -42,9 +42,9 @@ public class XFactory357 { .setupStandardFire().recoil(Lego.LAMBDA_STANDARD_RECOIL)) .setupStandardConfiguration() .anim(LAMBDA_ATLAS_ANIMS).orchestra(Orchestras.ORCHESTRA_ATLAS) - ).setUnlocalizedName("gun_light_revolver").setTextureName(RefStrings.MODID + ":gun_darter"); + ).setUnlocalizedName("gun_light_revolver"); - ModItems.gun_light_revolver_dani = new ItemGunBaseNT( + ModItems.gun_light_revolver_dani = new ItemGunBaseNT(WeaponQuality.LEGENDARY, new GunConfig().dura(30_000).draw(20).inspect(23).crosshair(Crosshair.CIRCLE).smoke(Lego.LAMBDA_STANDARD_SMOKE) .rec(new Receiver(0) .dmg(10F).delay(11).reload(55).jam(45).sound("hbm:weapon.fire.blackPowder", 1.0F, 1.0F) @@ -63,7 +63,7 @@ public class XFactory357 { .ps(Lego.LAMBDA_STANDARD_CLICK_PRIMARY).pr(Lego.LAMBDA_STANDARD_RELOAD) .decider(GunStateDecider.LAMBDA_STANDARD_DECIDER) .anim(LAMBDA_DANI_ANIMS).orchestra(Orchestras.ORCHESTRA_DANI) - ).setUnlocalizedName("gun_light_revolver_dani").setTextureName(RefStrings.MODID + ":gun_darter"); + ).setUnlocalizedName("gun_light_revolver_dani"); } @SuppressWarnings("incomplete-switch") public static BiFunction LAMBDA_ATLAS_ANIMS = (stack, type) -> { diff --git a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory40mm.java b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory40mm.java index 60b5caf87..7dfdc6280 100644 --- a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory40mm.java +++ b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory40mm.java @@ -11,9 +11,9 @@ import com.hbm.items.weapon.sedna.GunConfig; import com.hbm.items.weapon.sedna.ItemGunBaseNT; import com.hbm.items.weapon.sedna.Receiver; import com.hbm.items.weapon.sedna.ItemGunBaseNT.LambdaContext; +import com.hbm.items.weapon.sedna.ItemGunBaseNT.WeaponQuality; import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmo; import com.hbm.items.weapon.sedna.mags.MagazineSingleReload; -import com.hbm.lib.RefStrings; import com.hbm.main.ResourceManager; import com.hbm.particle.SpentCasing; import com.hbm.particle.SpentCasing.CasingType; @@ -39,7 +39,7 @@ public class XFactory40mm { g40_flare = new BulletConfig().setItem(EnumAmmo.G40_FLARE).setLife(100).setVel(2F).setGrav(0.035D).setRenderRotations(false).setCasing(new SpentCasing(CasingType.STRAIGHT).setColor(0x9E1616).setScale(2F).register("G40Flare")); g40 = new BulletConfig().setItem(EnumAmmo.G40).setLife(200).setOnImpact(LAMBDA_STANDARD_EXPLODE).setVel(2F).setGrav(0.035D).setCasing(new SpentCasing(CasingType.STRAIGHT).setColor(SpentCasing.COLOR_CASE_40MM).setScale(2, 2F, 1.5F).register("G40")); - ModItems.gun_flaregun = new ItemGunBaseNT(new GunConfig() + ModItems.gun_flaregun = new ItemGunBaseNT(WeaponQuality.A_SIDE, new GunConfig() .dura(100).draw(7).inspect(39).crosshair(Crosshair.L_CIRCUMFLEX).smoke(LAMBDA_SMOKE) .rec(new Receiver(0) .dmg(15F).delay(20).reload(28).jam(33).sound("hbm:weapon.hkShoot", 1.0F, 1.0F) @@ -48,9 +48,9 @@ public class XFactory40mm { .setupStandardFire().recoil(Lego.LAMBDA_STANDARD_RECOIL)) .setupStandardConfiguration() .anim(LAMBDA_FLAREGUN_ANIMS).orchestra(Orchestras.ORCHESTRA_FLAREGUN) - ).setUnlocalizedName("gun_flaregun").setTextureName(RefStrings.MODID + ":gun_darter"); + ).setUnlocalizedName("gun_flaregun"); - ModItems.gun_congolake = new ItemGunBaseNT(new GunConfig() + ModItems.gun_congolake = new ItemGunBaseNT(WeaponQuality.A_SIDE, new GunConfig() .dura(400).draw(7).inspect(39).reloadSequential(true).crosshair(Crosshair.L_CIRCUMFLEX).smoke(LAMBDA_SMOKE) .rec(new Receiver(0) .dmg(30F).delay(24).reload(16, 16, 16, 0).jam(0).sound("hbm:weapon.glShoot", 1.0F, 1.0F) @@ -59,7 +59,7 @@ public class XFactory40mm { .setupStandardFire().recoil(Lego.LAMBDA_STANDARD_RECOIL)) .setupStandardConfiguration() .anim(LAMBDA_CONGOLAKE_ANIMS).orchestra(Orchestras.ORCHESTRA_CONGOLAKE) - ).setUnlocalizedName("gun_congolake").setTextureName(RefStrings.MODID + ":gun_darter"); + ).setUnlocalizedName("gun_congolake"); } public static BiConsumer LAMBDA_SMOKE = (stack, ctx) -> { diff --git a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory44.java b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory44.java index 426aea451..9c6ee975f 100644 --- a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory44.java +++ b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory44.java @@ -8,10 +8,10 @@ import com.hbm.items.weapon.sedna.Crosshair; import com.hbm.items.weapon.sedna.GunConfig; import com.hbm.items.weapon.sedna.ItemGunBaseNT; import com.hbm.items.weapon.sedna.Receiver; +import com.hbm.items.weapon.sedna.ItemGunBaseNT.WeaponQuality; import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmo; import com.hbm.items.weapon.sedna.mags.MagazineFullReload; import com.hbm.items.weapon.sedna.mags.MagazineSingleReload; -import com.hbm.lib.RefStrings; import com.hbm.particle.SpentCasing; import com.hbm.particle.SpentCasing.CasingType; import com.hbm.render.anim.BusAnimation; @@ -42,7 +42,7 @@ public class XFactory44 { m44_express = new BulletConfig().setItem(EnumAmmo.M44_EXPRESS).setDoesPenetrate(true).setDamage(1.5F).setArmorPiercing(0.1F).setWear(1.5F) .setCasing(casing44.clone().register("m44express")); - ModItems.gun_henry = new ItemGunBaseNT(new GunConfig() + ModItems.gun_henry = new ItemGunBaseNT(WeaponQuality.A_SIDE, new GunConfig() .dura(300).draw(15).inspect(23).reloadSequential(true).crosshair(Crosshair.CIRCLE).smoke(Lego.LAMBDA_STANDARD_SMOKE) .rec(new Receiver(0) .dmg(12F).delay(20).reload(25, 11, 14, 8).jam(45).sound("hbm:weapon.fire.blackPowder", 1.0F, 1.0F) @@ -51,9 +51,9 @@ public class XFactory44 { .setupStandardFire().recoil(Lego.LAMBDA_STANDARD_RECOIL)) .setupStandardConfiguration() .anim(LAMBDA_HENRY_ANIMS).orchestra(Orchestras.ORCHESTRA_HENRY) - ).setUnlocalizedName("gun_henry").setTextureName(RefStrings.MODID + ":gun_darter"); + ).setUnlocalizedName("gun_henry"); - ModItems.gun_heavy_revolver = new ItemGunBaseNT(new GunConfig() + ModItems.gun_heavy_revolver = new ItemGunBaseNT(WeaponQuality.A_SIDE, new GunConfig() .dura(600F).draw(10).inspect(23).crosshair(Crosshair.L_CLASSIC).smoke(Lego.LAMBDA_STANDARD_SMOKE) .rec(new Receiver(0) .dmg(10F).delay(14).reload(46).jam(23).sound("hbm:weapon.44Shoot", 1.0F, 1.0F) @@ -63,7 +63,7 @@ public class XFactory44 { .pp(Lego.LAMBDA_STANDARD_CLICK_PRIMARY) .pr(Lego.LAMBDA_STANDARD_RELOAD) .pt(Lego.LAMBDA_TOGGLE_AIM) .decider(GunStateDecider.LAMBDA_STANDARD_DECIDER) .anim(LAMBDA_NOPIP_ANIMS).orchestra(Orchestras.ORCHESTRA_NOPIP) - ).setUnlocalizedName("gun_heavy_revolver").setTextureName(RefStrings.MODID + ":gun_darter"); + ).setUnlocalizedName("gun_heavy_revolver"); } @SuppressWarnings("incomplete-switch") public static BiFunction LAMBDA_HENRY_ANIMS = (stack, type) -> { diff --git a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory50.java b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory50.java index fda9f09fd..625477921 100644 --- a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory50.java +++ b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory50.java @@ -10,9 +10,9 @@ import com.hbm.items.weapon.sedna.GunConfig; import com.hbm.items.weapon.sedna.ItemGunBaseNT; import com.hbm.items.weapon.sedna.Receiver; import com.hbm.items.weapon.sedna.ItemGunBaseNT.LambdaContext; +import com.hbm.items.weapon.sedna.ItemGunBaseNT.WeaponQuality; import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmo; import com.hbm.items.weapon.sedna.mags.MagazineFullReload; -import com.hbm.lib.RefStrings; import com.hbm.particle.SpentCasing; import com.hbm.particle.SpentCasing.CasingType; import com.hbm.render.anim.BusAnimation; @@ -43,7 +43,7 @@ public class XFactory50 { bmg50_du = new BulletConfig().setItem(EnumAmmo.BMG50_DU).setDoesPenetrate(true).setDamageFalloutByPen(false).setDamage(2.5F).setArmorPiercing(0.25F) .setCasing(casing762.clone().setColor(SpentCasing.COLOR_CASE_44).register("bmg50du")); - ModItems.gun_m2 = new ItemGunBaseNT(new GunConfig() + ModItems.gun_m2 = new ItemGunBaseNT(WeaponQuality.A_SIDE, new GunConfig() .dura(3_000).draw(10).inspect(31).crosshair(Crosshair.L_CIRCLE).smoke(LAMBDA_SMOKE) .rec(new Receiver(0) .dmg(5F).delay(2).dry(10).auto(true).spread(0.005F).sound("hbm:weapon.fire.blackPowder", 1.0F, 1.0F) @@ -52,7 +52,7 @@ public class XFactory50 { .setupStandardFire().recoil(Lego.LAMBDA_STANDARD_RECOIL)) .setupStandardConfiguration() .anim(LAMBDA_M2_ANIMS).orchestra(Orchestras.ORCHESTRA_M2) - ).setUnlocalizedName("gun_m2").setTextureName(RefStrings.MODID + ":gun_darter"); + ).setUnlocalizedName("gun_m2"); } public static BiConsumer LAMBDA_SMOKE = (stack, ctx) -> { diff --git a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory556mm.java b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory556mm.java index e97b3e3c5..bf2f95f7a 100644 --- a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory556mm.java +++ b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory556mm.java @@ -10,9 +10,9 @@ import com.hbm.items.weapon.sedna.GunConfig; import com.hbm.items.weapon.sedna.ItemGunBaseNT; import com.hbm.items.weapon.sedna.Receiver; import com.hbm.items.weapon.sedna.ItemGunBaseNT.LambdaContext; +import com.hbm.items.weapon.sedna.ItemGunBaseNT.WeaponQuality; import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmo; import com.hbm.items.weapon.sedna.mags.MagazineFullReload; -import com.hbm.lib.RefStrings; import com.hbm.particle.SpentCasing; import com.hbm.particle.SpentCasing.CasingType; import com.hbm.render.anim.BusAnimation; @@ -40,7 +40,7 @@ public class XFactory556mm { r556_ap = new BulletConfig().setItem(EnumAmmo.R556_AP).setDoesPenetrate(true).setDamageFalloutByPen(false).setDamage(1.5F).setArmorPiercing(0.15F) .setCasing(casing556.clone().setColor(SpentCasing.COLOR_CASE_44).register("r556ap")); - ModItems.gun_g3 = new ItemGunBaseNT(new GunConfig() + ModItems.gun_g3 = new ItemGunBaseNT(WeaponQuality.A_SIDE, new GunConfig() .dura(3_000).draw(10).inspect(33).crosshair(Crosshair.CIRCLE).smoke(LAMBDA_SMOKE) .rec(new Receiver(0) .dmg(15F).delay(2).auto(true).dry(15).spread(0.0F).reload(50).jam(47).sound("hbm:weapon.fire.blackPowder", 1.0F, 1.0F) @@ -49,7 +49,7 @@ public class XFactory556mm { .setupStandardFire().recoil(Lego.LAMBDA_STANDARD_RECOIL)) .setupStandardConfiguration().ps(Lego.LAMBDA_STANDARD_CLICK_SECONDARY) .anim(LAMBDA_G3_ANIMS).orchestra(Orchestras.ORCHESTRA_G3) - ).setUnlocalizedName("gun_g3").setTextureName(RefStrings.MODID + ":gun_darter"); + ).setUnlocalizedName("gun_g3"); } public static BiConsumer LAMBDA_SMOKE = (stack, ctx) -> { diff --git a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory762mm.java b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory762mm.java index 6f88a140e..a48c4f657 100644 --- a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory762mm.java +++ b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory762mm.java @@ -10,9 +10,9 @@ import com.hbm.items.weapon.sedna.GunConfig; import com.hbm.items.weapon.sedna.ItemGunBaseNT; import com.hbm.items.weapon.sedna.Receiver; import com.hbm.items.weapon.sedna.ItemGunBaseNT.LambdaContext; +import com.hbm.items.weapon.sedna.ItemGunBaseNT.WeaponQuality; import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmo; import com.hbm.items.weapon.sedna.mags.MagazineFullReload; -import com.hbm.lib.RefStrings; import com.hbm.particle.SpentCasing; import com.hbm.particle.SpentCasing.CasingType; import com.hbm.render.anim.BusAnimation; @@ -43,7 +43,7 @@ public class XFactory762mm { r762_du = new BulletConfig().setItem(EnumAmmo.R762_DU).setDoesPenetrate(true).setDamageFalloutByPen(false).setDamage(2.5F).setArmorPiercing(0.25F) .setCasing(casing762.clone().setColor(SpentCasing.COLOR_CASE_44).register("r762du")); - ModItems.gun_carbine = new ItemGunBaseNT(new GunConfig() + ModItems.gun_carbine = new ItemGunBaseNT(WeaponQuality.A_SIDE, new GunConfig() .dura(3_000).draw(10).inspect(31).reloadSequential(true).crosshair(Crosshair.CIRCLE).smoke(LAMBDA_SMOKE) .rec(new Receiver(0) .dmg(5F).delay(5).dry(15).spread(0.0F).reload(30, 0, 15, 0).jam(60).sound("hbm:weapon.fire.blackPowder", 1.0F, 1.0F) @@ -52,7 +52,7 @@ public class XFactory762mm { .setupStandardFire().recoil(Lego.LAMBDA_STANDARD_RECOIL)) .setupStandardConfiguration() .anim(LAMBDA_CARBINE_ANIMS).orchestra(Orchestras.ORCHESTRA_CARBIBE) - ).setUnlocalizedName("gun_carbine").setTextureName(RefStrings.MODID + ":gun_darter"); + ).setUnlocalizedName("gun_carbine"); } public static BiConsumer LAMBDA_SMOKE = (stack, ctx) -> { diff --git a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory9mm.java b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory9mm.java index c604050c5..c02af2bf0 100644 --- a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory9mm.java +++ b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory9mm.java @@ -10,9 +10,9 @@ import com.hbm.items.weapon.sedna.GunConfig; import com.hbm.items.weapon.sedna.ItemGunBaseNT; import com.hbm.items.weapon.sedna.Receiver; import com.hbm.items.weapon.sedna.ItemGunBaseNT.LambdaContext; +import com.hbm.items.weapon.sedna.ItemGunBaseNT.WeaponQuality; import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmo; import com.hbm.items.weapon.sedna.mags.MagazineFullReload; -import com.hbm.lib.RefStrings; import com.hbm.particle.SpentCasing; import com.hbm.particle.SpentCasing.CasingType; import com.hbm.render.anim.BusAnimation; @@ -40,7 +40,7 @@ public class XFactory9mm { p9_ap = new BulletConfig().setItem(EnumAmmo.P9_AP).setDoesPenetrate(true).setDamageFalloutByPen(false).setDamage(1.5F).setArmorPiercing(0.15F) .setCasing(casing9.clone().setColor(SpentCasing.COLOR_CASE_44).register("p9ap")); - ModItems.gun_greasegun = new ItemGunBaseNT(new GunConfig() + ModItems.gun_greasegun = new ItemGunBaseNT(WeaponQuality.A_SIDE, new GunConfig() .dura(3_000).draw(15).inspect(31).crosshair(Crosshair.L_CIRCLE).smoke(LAMBDA_SMOKE) .rec(new Receiver(0) .dmg(5F).delay(4).dry(40).auto(true).spread(0.015F).reload(60).jam(55).sound("hbm:weapon.fire.blackPowder", 1.0F, 1.0F) @@ -49,9 +49,9 @@ public class XFactory9mm { .setupStandardFire().recoil(Lego.LAMBDA_STANDARD_RECOIL)) .setupStandardConfiguration() .anim(LAMBDA_GREASEGUN_ANIMS).orchestra(Orchestras.ORCHESTRA_GREASEGUN) - ).setUnlocalizedName("gun_greasegun").setTextureName(RefStrings.MODID + ":gun_darter"); + ).setUnlocalizedName("gun_greasegun"); - ModItems.gun_lag = new ItemGunBaseNT(new GunConfig() + ModItems.gun_lag = new ItemGunBaseNT(WeaponQuality.A_SIDE, new GunConfig() .dura(1_700).draw(15).inspect(31).crosshair(Crosshair.CIRCLE).smoke(LAMBDA_SMOKE) .rec(new Receiver(0) .dmg(15F).delay(4).dry(40).spread(0.005F).reload(60).jam(55).sound("hbm:weapon.fire.blackPowder", 1.0F, 1.0F) @@ -60,9 +60,9 @@ public class XFactory9mm { .setupStandardFire().recoil(Lego.LAMBDA_STANDARD_RECOIL)) .setupStandardConfiguration() .anim(LAMBDA_LAG_ANIMS).orchestra(Orchestras.ORCHESTRA_LAG) - ).setUnlocalizedName("gun_lag").setTextureName(RefStrings.MODID + ":gun_darter"); + ).setUnlocalizedName("gun_lag"); - ModItems.gun_uzi = new ItemGunBaseNT(new GunConfig() + ModItems.gun_uzi = new ItemGunBaseNT(WeaponQuality.A_SIDE, new GunConfig() .dura(3_000).draw(15).inspect(31).crosshair(Crosshair.CIRCLE).smoke(LAMBDA_SMOKE) .rec(new Receiver(0) .dmg(7.5F).delay(2).dry(25).auto(true).spread(0.005F).reload(55).jam(50).sound("hbm:weapon.fire.blackPowder", 1.0F, 1.0F) @@ -71,7 +71,7 @@ public class XFactory9mm { .setupStandardFire().recoil(Lego.LAMBDA_STANDARD_RECOIL)) .setupStandardConfiguration() .anim(LAMBDA_UZI_ANIMS).orchestra(Orchestras.ORCHESTRA_UZI) - ).setUnlocalizedName("gun_uzi").setTextureName(RefStrings.MODID + ":gun_darter"); + ).setUnlocalizedName("gun_uzi"); } public static BiConsumer LAMBDA_SMOKE = (stack, ctx) -> { diff --git a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactoryBlackPowder.java b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactoryBlackPowder.java index c854ac9fc..a13f9e3c1 100644 --- a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactoryBlackPowder.java +++ b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactoryBlackPowder.java @@ -8,9 +8,9 @@ import com.hbm.items.weapon.sedna.Crosshair; import com.hbm.items.weapon.sedna.GunConfig; import com.hbm.items.weapon.sedna.ItemGunBaseNT; import com.hbm.items.weapon.sedna.Receiver; +import com.hbm.items.weapon.sedna.ItemGunBaseNT.WeaponQuality; import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmo; import com.hbm.items.weapon.sedna.mags.MagazineFullReload; -import com.hbm.lib.RefStrings; import com.hbm.render.anim.BusAnimation; import com.hbm.render.anim.BusAnimationSequence; import com.hbm.render.anim.BusAnimationKeyframe.IType; @@ -27,7 +27,7 @@ public class XFactoryBlackPowder { BulletConfig iron = new BulletConfig().setItem(EnumAmmo.STONE_IRON).setSpread(0F).setRicochetAngle(90).setRicochetCount(5).setDoesPenetrate(true).setDamageFalloutByPen(false).setDamage(2F); BulletConfig shot = new BulletConfig().setItem(EnumAmmo.STONE_SHOT).setSpread(0.1F).setRicochetAngle(45).setProjectiles(6, 6).setDamage(0.5F); - ModItems.gun_pepperbox = new ItemGunBaseNT(new GunConfig() + ModItems.gun_pepperbox = new ItemGunBaseNT(WeaponQuality.A_SIDE, new GunConfig() .dura(300).draw(4).inspect(23).crosshair(Crosshair.CIRCLE).smoke(Lego.LAMBDA_STANDARD_SMOKE) .rec(new Receiver(0) .dmg(5F).delay(27).reload(67).jam(58).sound("hbm:weapon.fire.blackPowder", 1.0F, 1.0F) @@ -35,7 +35,7 @@ public class XFactoryBlackPowder { .setupStandardFire().recoil(Lego.LAMBDA_STANDARD_RECOIL)) .setupStandardConfiguration() .anim(LAMBDA_PEPPERBOX_ANIMS).orchestra(Orchestras.ORCHESTRA_PEPPERBOX) - ).setUnlocalizedName("gun_pepperbox").setTextureName(RefStrings.MODID + ":gun_darter"); + ).setUnlocalizedName("gun_pepperbox"); } @SuppressWarnings("incomplete-switch") public static BiFunction LAMBDA_PEPPERBOX_ANIMS = (stack, type) -> { diff --git a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactoryFlamer.java b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactoryFlamer.java index b0502ba69..e98eb9637 100644 --- a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactoryFlamer.java +++ b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactoryFlamer.java @@ -8,11 +8,11 @@ import com.hbm.items.weapon.sedna.Crosshair; import com.hbm.items.weapon.sedna.GunConfig; import com.hbm.items.weapon.sedna.ItemGunBaseNT; import com.hbm.items.weapon.sedna.Receiver; +import com.hbm.items.weapon.sedna.ItemGunBaseNT.WeaponQuality; import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmo; import com.hbm.items.weapon.sedna.impl.ItemGunChemthrower; import com.hbm.items.weapon.sedna.mags.MagazineFluid; import com.hbm.items.weapon.sedna.mags.MagazineFullReload; -import com.hbm.lib.RefStrings; import com.hbm.main.MainRegistry; import com.hbm.main.ResourceManager; import com.hbm.render.anim.BusAnimation; @@ -40,7 +40,7 @@ public class XFactoryFlamer { } }); - ModItems.gun_flamer = new ItemGunBaseNT(new GunConfig() + ModItems.gun_flamer = new ItemGunBaseNT(WeaponQuality.A_SIDE, new GunConfig() .dura(20_000).draw(10).inspect(17).crosshair(Crosshair.L_CIRCLE).smoke(Lego.LAMBDA_STANDARD_SMOKE) .rec(new Receiver(0) .dmg(10F).delay(1).auto(true).reload(90).jam(17) @@ -49,9 +49,9 @@ public class XFactoryFlamer { .setupStandardFire().recoil(Lego.LAMBDA_STANDARD_RECOIL)) .setupStandardConfiguration() .anim(LAMBDA_FLAMER_ANIMS).orchestra(Orchestras.ORCHESTRA_FLAMER) - ).setUnlocalizedName("gun_flamer").setTextureName(RefStrings.MODID + ":gun_darter"); + ).setUnlocalizedName("gun_flamer"); - ModItems.gun_chemthrower = new ItemGunChemthrower(new GunConfig() + ModItems.gun_chemthrower = new ItemGunChemthrower(WeaponQuality.A_SIDE, new GunConfig() .dura(90_000).draw(10).inspect(17).crosshair(Crosshair.L_CIRCLE).smoke(Lego.LAMBDA_STANDARD_SMOKE) .rec(new Receiver(0) .delay(1).auto(true) @@ -60,7 +60,7 @@ public class XFactoryFlamer { .canFire(ItemGunChemthrower.LAMBDA_CAN_FIRE).fire(ItemGunChemthrower.LAMBDA_FIRE)) .pp(Lego.LAMBDA_STANDARD_CLICK_PRIMARY).decider(GunStateDecider.LAMBDA_STANDARD_DECIDER) .anim(LAMBDA_CHEMTHROWER_ANIMS).orchestra(Orchestras.ORCHESTRA_CHEMTHROWER) - ).setUnlocalizedName("gun_chemthrower").setTextureName(RefStrings.MODID + ":gun_darter"); + ).setUnlocalizedName("gun_chemthrower"); } @SuppressWarnings("incomplete-switch") public static BiFunction LAMBDA_FLAMER_ANIMS = (stack, type) -> { diff --git a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactoryRocket.java b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactoryRocket.java index 1be25c301..528909b34 100644 --- a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactoryRocket.java +++ b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactoryRocket.java @@ -12,12 +12,12 @@ import com.hbm.items.weapon.sedna.GunConfig; import com.hbm.items.weapon.sedna.ItemGunBaseNT; import com.hbm.items.weapon.sedna.Receiver; import com.hbm.items.weapon.sedna.ItemGunBaseNT.LambdaContext; +import com.hbm.items.weapon.sedna.ItemGunBaseNT.WeaponQuality; import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmo; import com.hbm.items.weapon.sedna.impl.ItemGunStinger; import com.hbm.items.weapon.sedna.mags.MagazineFullReload; import com.hbm.items.weapon.sedna.mags.MagazineSingleReload; import com.hbm.lib.Library; -import com.hbm.lib.RefStrings; import com.hbm.render.anim.BusAnimation; import com.hbm.render.anim.BusAnimationSequence; import com.hbm.render.anim.BusAnimationKeyframe.IType; @@ -80,7 +80,7 @@ public class XFactoryRocket { rocket_qd_heat = new BulletConfig().setItem(EnumAmmo.ROCKET_HEAT).setLife(400).setDamage(1.5F).setSelfDamageDelay(10).setVel(0F).setGrav(0D) .setOnImpact(LAMBDA_STANDARD_EXPLODE_HEAT).setOnEntityHit(null).setOnRicochet(null).setOnUpdate(LAMBDA_STEERING_ACCELERATE); - ModItems.gun_panzerschreck = new ItemGunBaseNT(new GunConfig() + ModItems.gun_panzerschreck = new ItemGunBaseNT(WeaponQuality.A_SIDE, new GunConfig() .dura(300).draw(7).inspect(40).crosshair(Crosshair.L_CIRCUMFLEX) .rec(new Receiver(0) .dmg(25F).delay(5).reload(50).jam(40).sound("hbm:weapon.rpgShoot", 1.0F, 1.0F) @@ -89,9 +89,9 @@ public class XFactoryRocket { .setupStandardFire().recoil(Lego.LAMBDA_STANDARD_RECOIL)) .setupStandardConfiguration() .anim(LAMBDA_PANZERSCHRECK_ANIMS).orchestra(Orchestras.ORCHESTRA_PANERSCHRECK) - ).setUnlocalizedName("gun_panzerschreck").setTextureName(RefStrings.MODID + ":gun_darter"); + ).setUnlocalizedName("gun_panzerschreck"); - ModItems.gun_stinger = new ItemGunStinger(new GunConfig() + ModItems.gun_stinger = new ItemGunStinger(WeaponQuality.A_SIDE, new GunConfig() .dura(300).draw(7).inspect(40).crosshair(Crosshair.L_BOX_OUTLINE) .rec(new Receiver(0) .dmg(25F).delay(5).reload(50).jam(40).sound("hbm:weapon.rpgShoot", 1.0F, 1.0F) @@ -100,9 +100,9 @@ public class XFactoryRocket { .setupLockonFire().recoil(Lego.LAMBDA_STANDARD_RECOIL)) .setupStandardConfiguration().ps(LAMBDA_STINGER_SECONDARY_PRESS).rs(LAMBDA_STINGER_SECONDARY_RELEASE) .anim(LAMBDA_PANZERSCHRECK_ANIMS).orchestra(Orchestras.ORCHESTRA_STINGER) - ).setUnlocalizedName("gun_stinger").setTextureName(RefStrings.MODID + ":gun_darter"); + ).setUnlocalizedName("gun_stinger"); - ModItems.gun_quadro = new ItemGunBaseNT(new GunConfig() + ModItems.gun_quadro = new ItemGunBaseNT(WeaponQuality.A_SIDE, new GunConfig() .dura(300).draw(7).inspect(40).crosshair(Crosshair.L_CIRCUMFLEX).hideCrosshair(false) .rec(new Receiver(0) .dmg(25F).delay(10).reload(55).jam(40).sound("hbm:weapon.rpgShoot", 1.0F, 1.0F) @@ -111,7 +111,7 @@ public class XFactoryRocket { .setupStandardFire().recoil(Lego.LAMBDA_STANDARD_RECOIL)) .setupStandardConfiguration() .anim(LAMBDA_QUADRO_ANIMS).orchestra(Orchestras.ORCHESTRA_QUADRO) - ).setUnlocalizedName("gun_quadro").setTextureName(RefStrings.MODID + ":gun_darter"); + ).setUnlocalizedName("gun_quadro"); } public static BiConsumer LAMBDA_STINGER_SECONDARY_PRESS = (stack, ctx) -> { ItemGunStinger.setIsLockingOn(stack, true); }; diff --git a/src/main/java/com/hbm/items/weapon/sedna/impl/ItemGunChemthrower.java b/src/main/java/com/hbm/items/weapon/sedna/impl/ItemGunChemthrower.java index 1b883686f..231e0f239 100644 --- a/src/main/java/com/hbm/items/weapon/sedna/impl/ItemGunChemthrower.java +++ b/src/main/java/com/hbm/items/weapon/sedna/impl/ItemGunChemthrower.java @@ -23,8 +23,8 @@ public class ItemGunChemthrower extends ItemGunBaseNT implements IFillableItem { public static final int CONSUMPTION = 3; - public ItemGunChemthrower(GunConfig... cfg) { - super(cfg); + public ItemGunChemthrower(WeaponQuality quality, GunConfig... cfg) { + super(quality, cfg); } @Override diff --git a/src/main/java/com/hbm/items/weapon/sedna/impl/ItemGunStinger.java b/src/main/java/com/hbm/items/weapon/sedna/impl/ItemGunStinger.java index 5dccffc0e..a82763c5b 100644 --- a/src/main/java/com/hbm/items/weapon/sedna/impl/ItemGunStinger.java +++ b/src/main/java/com/hbm/items/weapon/sedna/impl/ItemGunStinger.java @@ -27,8 +27,8 @@ public class ItemGunStinger extends ItemGunBaseNT { public static float prevLockon; public static float lockon; - public ItemGunStinger(GunConfig... cfg) { - super(cfg); + public ItemGunStinger(WeaponQuality quality, GunConfig... cfg) { + super(quality, cfg); } @Override diff --git a/src/main/java/com/hbm/main/ClientProxy.java b/src/main/java/com/hbm/main/ClientProxy.java index 6561f9d3d..a9d61d184 100644 --- a/src/main/java/com/hbm/main/ClientProxy.java +++ b/src/main/java/com/hbm/main/ClientProxy.java @@ -137,6 +137,13 @@ public class ClientProxy extends ServerProxy { public RenderInfoSystem theInfoSystem = new RenderInfoSystem(); + /** Runs just before item an block init */ + @Override + public void registerPreRenderInfo() { + AdvancedModelLoader.registerModelHandler(new HmfModelLoader()); + } + + /** Runs right after item and block init */ @Override public void registerRenderInfo() { @@ -145,8 +152,6 @@ public class ClientProxy extends ServerProxy { registerClientEventHandler(new EventHandlerParticleEngine()); registerClientEventHandler(theInfoSystem); - AdvancedModelLoader.registerModelHandler(new HmfModelLoader()); - registerTileEntitySpecialRenderer(); registerItemRenderer(); registerEntityRenderer(); diff --git a/src/main/java/com/hbm/main/MainRegistry.java b/src/main/java/com/hbm/main/MainRegistry.java index 0a61bbeb7..1d48f0720 100644 --- a/src/main/java/com/hbm/main/MainRegistry.java +++ b/src/main/java/com/hbm/main/MainRegistry.java @@ -273,6 +273,7 @@ public class MainRegistry { * This "fix" just makes sure that the material system is loaded first no matter what. */ Mats.MAT_STONE.getUnlocalizedName(); Fluids.init(); + proxy.registerPreRenderInfo(); ModBlocks.mainRegistry(); ModItems.mainRegistry(); proxy.registerRenderInfo(); diff --git a/src/main/java/com/hbm/main/ResourceManager.java b/src/main/java/com/hbm/main/ResourceManager.java index 94d05d5cd..b9013dbae 100644 --- a/src/main/java/com/hbm/main/ResourceManager.java +++ b/src/main/java/com/hbm/main/ResourceManager.java @@ -974,6 +974,7 @@ public class ResourceManager { public static final ResourceLocation henry_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/henry.png"); public static final ResourceLocation greasegun_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/greasegun.png"); public static final ResourceLocation maresleg_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/maresleg.png"); + public static final ResourceLocation maresleg_broken_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/maresleg_broken.png"); public static final ResourceLocation flaregun_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/flaregun.png"); public static final ResourceLocation heavy_revolver_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/heavy_revolver.png"); public static final ResourceLocation carbine_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/huntsman.png"); diff --git a/src/main/java/com/hbm/main/ServerProxy.java b/src/main/java/com/hbm/main/ServerProxy.java index 530bf6c59..da21cb2f7 100644 --- a/src/main/java/com/hbm/main/ServerProxy.java +++ b/src/main/java/com/hbm/main/ServerProxy.java @@ -28,7 +28,8 @@ public class ServerProxy { public static final int ID_TOOLABILITY = 9; public static final int ID_GUN_MODE = 10; public static final int ID_GAS_HAZARD = 11; - + + public void registerPreRenderInfo() { } public void registerRenderInfo() { } public void registerTileEntitySpecialRenderer() { } public void registerItemRenderer() { } diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderMaresleg.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderMaresleg.java index 1d94563bb..4381b8824 100644 --- a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderMaresleg.java +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderMaresleg.java @@ -2,14 +2,22 @@ package com.hbm.render.item.weapon.sedna; import org.lwjgl.opengl.GL11; +import com.hbm.items.ModItems; import com.hbm.items.weapon.sedna.ItemGunBaseNT; import com.hbm.main.ResourceManager; import com.hbm.render.anim.HbmAnimations; import net.minecraft.client.Minecraft; import net.minecraft.item.ItemStack; +import net.minecraft.util.ResourceLocation; public class ItemRenderMaresleg extends ItemRenderWeaponBase { + + public ResourceLocation texture; + + public ItemRenderMaresleg(ResourceLocation texture) { + this.texture = texture; + } @Override protected float getTurnMagnitude(ItemStack stack) { return ItemGunBaseNT.getIsAiming(stack) ? 2.5F : -0.5F; } @@ -28,14 +36,17 @@ public class ItemRenderMaresleg extends ItemRenderWeaponBase { public void renderFirstPerson(ItemStack stack) { ItemGunBaseNT gun = (ItemGunBaseNT) stack.getItem(); - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.maresleg_tex); + Minecraft.getMinecraft().renderEngine.bindTexture(texture); double scale = 0.375D; GL11.glScaled(scale, scale, scale); + + boolean shortened = getShort(stack); double[] equip = HbmAnimations.getRelevantTransformation("EQUIP"); double[] recoil = HbmAnimations.getRelevantTransformation("RECOIL"); double[] lever = HbmAnimations.getRelevantTransformation("LEVER"); double[] turn = HbmAnimations.getRelevantTransformation("TURN"); + double[] flip = HbmAnimations.getRelevantTransformation("FLIP"); double[] lift = HbmAnimations.getRelevantTransformation("LIFT"); double[] shell = HbmAnimations.getRelevantTransformation("SHELL"); double[] flag = HbmAnimations.getRelevantTransformation("FLAG"); @@ -54,16 +65,23 @@ public class ItemRenderMaresleg extends ItemRenderWeaponBase { GL11.glRotated(equip[0], -1, 0, 0); GL11.glTranslated(0, 0, 4); + GL11.glTranslated(0, 0, -2); + GL11.glRotated(flip[0], -1, 0, 0); + GL11.glTranslated(0, 0, 2); + GL11.glPushMatrix(); - GL11.glTranslated(0, 1, 8); + GL11.glTranslated(0, 1, shortened ? 3.75 : 8); GL11.glRotated(turn[2], 0, 0, -1); + GL11.glRotated(flip[0], 1, 0, 0); GL11.glRotated(90, 0, 1, 0); this.renderSmokeNodes(gun.getConfig(stack, 0).smokeNodes, 0.25D); GL11.glPopMatrix(); ResourceManager.maresleg.renderPart("Gun"); - ResourceManager.maresleg.renderPart("Stock"); - ResourceManager.maresleg.renderPart("Barrel"); + if(!shortened) { + ResourceManager.maresleg.renderPart("Stock"); + ResourceManager.maresleg.renderPart("Barrel"); + } GL11.glPushMatrix(); GL11.glTranslated(0, 0.125, -2.875); @@ -87,7 +105,7 @@ public class ItemRenderMaresleg extends ItemRenderWeaponBase { GL11.glShadeModel(GL11.GL_FLAT); GL11.glPushMatrix(); - GL11.glTranslated(0, 1, 8); + GL11.glTranslated(0, 1, shortened ? 3.75 : 8); GL11.glRotated(90, 0, 1, 0); GL11.glRotated(90 * gun.shotRand, 1, 0, 0); this.renderMuzzleFlash(gun.lastShot[0], 75, 5); @@ -106,23 +124,39 @@ public class ItemRenderMaresleg extends ItemRenderWeaponBase { @Override public void setupInv(ItemStack stack) { super.setupInv(stack); - double scale = 1.4375D; - GL11.glScaled(scale, scale, scale); - GL11.glRotated(25, 1, 0, 0); - GL11.glRotated(45, 0, 1, 0); - GL11.glTranslated(-0.5, 0.5, 0); + + if(getShort(stack)) { + double scale = 2.5D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(25, 1, 0, 0); + GL11.glRotated(45, 0, 1, 0); + GL11.glTranslated(-1, 0, 0); + } else { + double scale = 1.4375D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(25, 1, 0, 0); + GL11.glRotated(45, 0, 1, 0); + GL11.glTranslated(-0.5, 0.5, 0); + } } @Override public void renderOther(ItemStack stack, ItemRenderType type) { GL11.glEnable(GL11.GL_LIGHTING); + GL11.glShadeModel(GL11.GL_SMOOTH); - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.maresleg_tex); + Minecraft.getMinecraft().renderEngine.bindTexture(texture); ResourceManager.maresleg.renderPart("Gun"); - ResourceManager.maresleg.renderPart("Stock"); - ResourceManager.maresleg.renderPart("Barrel"); ResourceManager.maresleg.renderPart("Lever"); + if(!getShort(stack)) { + ResourceManager.maresleg.renderPart("Stock"); + ResourceManager.maresleg.renderPart("Barrel"); + } GL11.glShadeModel(GL11.GL_FLAT); } + + public boolean getShort(ItemStack stack) { + return stack.getItem() == ModItems.gun_maresleg_broken; + } } diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index 45eee6745..c11015608 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -1150,16 +1150,56 @@ item.ammo_shell.name=240mm Geschoss item.ammo_shell_apfsds_du.name=240mm APFSDS-DU item.ammo_shell_apfsds_t.name=240mm APFSDS-T item.ammo_shell_explosive.name=240mm HE-Geschoss +item.ammo_standard.bmg50_ap.name=.50 BMG Patrone (Panzerbrechend) +item.ammo_standard.bmg50_du.name=.50 BMG Patrone (Urangeschoss) +item.ammo_standard.bmg50_equestrian.name=.50 BMG Zerstörer +item.ammo_standard.bmg50_fmj.name=.50 BMG Patrone (Vollmantelgeschoss) +item.ammo_standard.bmg50_jhp.name=.50 BMG Patrone (Hohlspitz) +item.ammo_standard.bmg50_sp.name=.50 BMG Patrone (Teilmantelgeschoss) +item.ammo_standard.flame_diesel.name=Dieseltank +item.ammo_standard.g12.name=Kaliber 12 Schrot +item.ammo_standard.g12_anthrax.name=Kaliber 12 Anthrax +item.ammo_standard.g12_bp.name=Kaliber 12 Schwarzpulver +item.ammo_standard.g12_bp_magnum.name=Kaliber 12 Schwarzpulver Magnum +item.ammo_standard.g12_bp_slug.name=Kaliber 12 Schwarzpulver Laufgeschoss +item.ammo_standard.g12_equestrian.name=Kaliber 12 Gleisnägel +item.ammo_standard.g12_explosive.name=Kaliber 12 Explosivgeschoss +item.ammo_standard.g12_flechette.name=Kaliber 12 Flechett +item.ammo_standard.g12_magnum.name=Kaliber 12 Magnum +item.ammo_standard.g12_phosphorus.name=Kaliber 12 Phosphor +item.ammo_standard.g12_slug.name=Kaliber 12 Laufgeschoss +item.ammo_standard.g40.name=40mm Granate +item.ammo_standard.g40_flare.name=Signalpatrone item.ammo_standard.m357_ap.name=.357 Magnumkugel (Panzerbrechend) item.ammo_standard.m357_express.name=.357 Magnumkugel (VMG Express) item.ammo_standard.m357_fmj.name=.357 Magnumkugel (Vollmantelgeschoss) item.ammo_standard.m357_jhp.name=.357 Magnumkugel (Hohlspitz) item.ammo_standard.m357_sp.name=.357 Magnumkugel (Teilmantelgeschoss) item.ammo_standard.m44_ap.name=.44 Magnumkugel (Panzerbrechend) +item.ammo_standard.m44_equestrian.name=.44 Magnum Schädelsprenger item.ammo_standard.m44_express.name=.44 Magnumkugel (VMG Express) item.ammo_standard.m44_fmj.name=.44 Magnumkugel (Vollmantelgeschoss) item.ammo_standard.m44_jhp.name=.44 Magnumkugel (Hohlspitz) item.ammo_standard.m44_sp.name=.44 Magnumkugel (Teilmantelgeschoss) +item.ammo_standard.p22_ap.name=.22 lfB Patrone (Panzerbrechend) +item.ammo_standard.p22_fmj.name=.22 lfB Patrone (Vollmantelgeschoss) +item.ammo_standard.p22_jhp.name=.22 lfB Patrone (Hohlspitz) +item.ammo_standard.p22_sp.name=.22 lfB Patrone (Teilmantelgeschoss) +item.ammo_standard.p9_ap.name=9mm Patrone (Panzerbrechend) +item.ammo_standard.p9_fmj.name=9mm Patrone (Vollmantelgeschoss) +item.ammo_standard.p9_jhp.name=9mm Patrone (Hohlspitz) +item.ammo_standard.p9_sp.name=.9mm Patrone (Teilmantelgeschoss) +item.ammo_standard.r556_ap.name=5,56mm Patrone (Panzerbrechend) +item.ammo_standard.r556_fmj.name=5,56mm Patrone (Vollmantelgeschoss) +item.ammo_standard.r556_jhp.name=5,56mm Patrone (Hohlspitz) +item.ammo_standard.r556_sp.name=5,56mm Patrone (Teilmantelgeschoss) +item.ammo_standard.r762_ap.name=7,62mm Patrone (Panzerbrechend) +item.ammo_standard.r762_du.name=7,62mm Patrone (Urangeschoss) +item.ammo_standard.r762_fmj.name=7,62mm Patrone (Vollmantelgeschoss) +item.ammo_standard.r762_jhp.name=7,62mm Patrone (Hohlspitz) +item.ammo_standard.r762_sp.name=7,62mm Patrone (Teilmantelgeschoss) +item.ammo_standard.rocket_he.name=Explosivrakete +item.ammo_standard.rocket_heat.name=Hohlladungsrakete item.ammo_standard.stone.name=Kugel und Pulver item.ammo_standard.stone_ap.name=Feuerstein und Pulver item.ammo_standard.stone_iron.name=Eisenkugel und Pulver @@ -2358,6 +2398,7 @@ item.insert_xsapi.name=XSAPI-Einlage item.insert_yharonite.name=Yharoniteinlage item.item_secret.canister.name=Komposit SB-26 item.item_secret.controller.name=Proprietäre Steuereinheit +item.item_secret.selenium_steel.name=Selen-Stahl item.iv_blood.name=Blutbeutel item.iv_empty.name=Infusionsbeutel item.iv_xp.name=Erfahrungsbeutel diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index 43d1aac1c..543b8e67e 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -1873,16 +1873,56 @@ item.ammo_shell_apfsds_du.name=240mm APFSDS-DU item.ammo_shell_apfsds_t.name=240mm APFSDS-T item.ammo_shell_explosive.name=240mm HE Shell item.ammo_shell_w9.name=240mm W9 Nuclear Shell +item.ammo_standard.bmg50_ap.name=.50 BMG Round (Armor Piercing) +item.ammo_standard.bmg50_du.name=.50 BMG Round (Depleted Uranium) +item.ammo_standard.bmg50_equestrian.name=.50 BMG Demolisher +item.ammo_standard.bmg50_fmj.name=.50 BMG Round (Full Metal Jacket) +item.ammo_standard.bmg50_jhp.name=.50 BMG Round (Jacketed Hollow Point) +item.ammo_standard.bmg50_sp.name=.50 BMG Round (Soft Point) +item.ammo_standard.flame_diesel.name=Diesel Tank +item.ammo_standard.g12.name=12 Gauge Buckshot +item.ammo_standard.g12_anthrax.name=12 Gauge Anthrax Shell +item.ammo_standard.g12_bp.name=12 Gauge Black Powder Buckshot +item.ammo_standard.g12_bp_magnum.name=12 Gauge Black Powder Magnum Shell +item.ammo_standard.g12_bp_slug.name=12 Gauge Black Powder Slug +item.ammo_standard.g12_equestrian.name=12 Gauge Railway Spike Shot +item.ammo_standard.g12_explosive.name=12 Gauge Explosive Shell +item.ammo_standard.g12_flechette.name=12 Gauge Flechette Shell +item.ammo_standard.g12_magnum.name=12 Gauge Magnum Shell +item.ammo_standard.g12_phosphorus.name=12 Gauge Phosphorus Shell +item.ammo_standard.g12_slug.name=12 Gauge Slug +item.ammo_standard.g40.name=40mm Grenade +item.ammo_standard.g40_flare.name=Signal Flare item.ammo_standard.m357_ap.name=.357 Magnum Round (Armor Piercing) item.ammo_standard.m357_express.name=.357 Magnum Round (FMJ Express) item.ammo_standard.m357_fmj.name=.357 Magnum Round (Full Metal Jacket) item.ammo_standard.m357_jhp.name=.357 Magnum Round (Jacketed Hollow Point) item.ammo_standard.m357_sp.name=.357 Magnum Round (Soft Point) item.ammo_standard.m44_ap.name=.44 Magnum Round (Armor Piercing) +item.ammo_standard.m44_equestrian.name=.44 Magnum Head-Exploder item.ammo_standard.m44_express.name=.44 Magnum Round (FMJ Express) item.ammo_standard.m44_fmj.name=.44 Magnum Round (Full Metal Jacket) item.ammo_standard.m44_jhp.name=.44 Magnum Round (Jacketed Hollow Point) item.ammo_standard.m44_sp.name=.44 Magnum Round (Soft Point) +item.ammo_standard.p22_ap.name=.22 LR Round (Armor Piercing) +item.ammo_standard.p22_fmj.name=.22 LR Round (Full Metal Jacket) +item.ammo_standard.p22_jhp.name=.22 LR Round (Jacketed Hollow Point) +item.ammo_standard.p22_sp.name=.22 LR Round (Soft Point) +item.ammo_standard.p9_ap.name=9mm Round (Armor Piercing) +item.ammo_standard.p9_fmj.name=9mm Round (Full Metal Jacket) +item.ammo_standard.p9_jhp.name=9mm Round (Jacketed Hollow Point) +item.ammo_standard.p9_sp.name=.9mm Round (Soft Point) +item.ammo_standard.r556_ap.name=5.56mm Round (Armor Piercing) +item.ammo_standard.r556_fmj.name=5.56mm Round (Full Metal Jacket) +item.ammo_standard.r556_jhp.name=5.56mm Round (Jacketed Hollow Point) +item.ammo_standard.r556_sp.name=5.56mm Round (Soft Point) +item.ammo_standard.r762_ap.name=7.62mm Round (Armor Piercing) +item.ammo_standard.r762_du.name=7.62mm Round (Depleted Uranium) +item.ammo_standard.r762_fmj.name=7.62mm Round (Full Metal Jacket) +item.ammo_standard.r762_jhp.name=7.62mm Round (Jacketed Hollow Point) +item.ammo_standard.r762_sp.name=7.62mm Round (Soft Point) +item.ammo_standard.rocket_he.name=Rocket, High-Explosive +item.ammo_standard.rocket_heat.name=Rocket, Shaped Charge item.ammo_standard.stone.name=Ball and Powder item.ammo_standard.stone_ap.name=Flint and Powder item.ammo_standard.stone_iron.name=Iron Ball and Powder @@ -3183,6 +3223,7 @@ item.insert_xsapi.name=XSAPI Insert item.insert_yharonite.name=Yharonite Insert item.item_secret.canister.name=Composition SB-26 item.item_secret.controller.name=Proprietary Control Unit +item.item_secret.selenium_steel.name=Selenium Steel item.iv_blood.name=Blood Bag item.iv_empty.name=IV Bag item.iv_xp.name=Experience Bag diff --git a/src/main/resources/assets/hbm/textures/items/ammo.png b/src/main/resources/assets/hbm/textures/items/ammo.png index 088300636..f8d52e3b7 100644 Binary files a/src/main/resources/assets/hbm/textures/items/ammo.png and b/src/main/resources/assets/hbm/textures/items/ammo.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.bmg50_equestrian.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.bmg50_equestrian.png new file mode 100644 index 000000000..246b16aa1 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.bmg50_equestrian.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.g12_equestrian.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.g12_equestrian.png new file mode 100644 index 000000000..3d060b001 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.g12_equestrian.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.m44_equestrian.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.m44_equestrian.png new file mode 100644 index 000000000..44cb11c96 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.m44_equestrian.png differ diff --git a/src/main/resources/assets/hbm/textures/items/item_secret.selenium_steel.png b/src/main/resources/assets/hbm/textures/items/item_secret.selenium_steel.png new file mode 100644 index 000000000..ae91dcdae Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/item_secret.selenium_steel.png differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/maresleg_broken.png b/src/main/resources/assets/hbm/textures/models/weapons/maresleg_broken.png new file mode 100644 index 000000000..0e895de19 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/weapons/maresleg_broken.png differ