kasane's titos

This commit is contained in:
Boblet 2025-05-22 16:36:17 +02:00
parent a47aa63d21
commit d19894fa3d
13 changed files with 51 additions and 14 deletions

View File

@ -1469,6 +1469,8 @@ public class ModItems {
public static Item gun_stinger;
public static Item gun_chemthrower;
public static Item gun_amat;
public static Item gun_amat_subtlety;
public static Item gun_amat_penance;
public static Item gun_m2;
public static Item gun_autoshotgun;
public static Item gun_autoshotgun_shredder;

View File

@ -17,7 +17,6 @@ import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.EnumRarity;
import net.minecraft.item.ItemStack;
import net.minecraft.item.ItemSword;
import net.minecraft.util.EnumChatFormatting;
public class ItemSwordAbility extends ItemSword {

View File

@ -34,6 +34,7 @@ public class GunConfig {
public static final String I_INSPECTCANCEL = "I_INSPECTCANCEL";
public static final String O_CROSSHAIR = "O_CROSSHAIR";
public static final String B_HIDECROSSHAIR = "B_HIDECROSSHAIR";
public static final String B_THERMALSIGHTS = "B_THERMALSIGHTS";
public static final String B_RELOADREQUIRESTYPECHANGE = "B_RELOADREQUIRESTYPECHANGE";
public static final String B_RELOADANIMATIONSEQUENTIAL = "B_RELOADANIMATIONSEQUENTIAL";
public static final String O_SCOPETEXTURE = "O_SCOPETEXTURE";
@ -62,6 +63,7 @@ public class GunConfig {
protected boolean inspectCancel_DNA = true;
protected Crosshair crosshair_DNA;
protected boolean hideCrosshair_DNA = true;
protected boolean thermalSights_DNA = false;
protected boolean reloadRequiresTypeChange_DNA = false;
protected boolean reloadAnimationsSequential_DNA;
protected ResourceLocation scopeTexture_DNA;
@ -94,6 +96,7 @@ public class GunConfig {
public boolean getInspectCancel(ItemStack stack) { return WeaponModManager.eval(inspectCancel_DNA, stack, I_INSPECTCANCEL, this, this.index); }
public Crosshair getCrosshair(ItemStack stack) { return WeaponModManager.eval(crosshair_DNA, stack, O_CROSSHAIR, this, this.index); }
public boolean getHideCrosshair(ItemStack stack) { return WeaponModManager.eval(hideCrosshair_DNA, stack, B_HIDECROSSHAIR, this, this.index); }
public boolean hasThermalSights(ItemStack stack) { return WeaponModManager.eval(thermalSights_DNA, stack, B_THERMALSIGHTS, this, this.index); }
public boolean getReloadChangesType(ItemStack stack) { return WeaponModManager.eval(reloadRequiresTypeChange_DNA, stack, B_RELOADREQUIRESTYPECHANGE, this, this.index); }
public boolean getReloadAnimSequential(ItemStack stack) { return WeaponModManager.eval(reloadAnimationsSequential_DNA, stack, B_RELOADANIMATIONSEQUENTIAL, this, this.index); }
public ResourceLocation getScopeTexture(ItemStack stack) { return WeaponModManager.eval(scopeTexture_DNA, stack, O_SCOPETEXTURE, this, this.index); }
@ -124,6 +127,7 @@ public class GunConfig {
public GunConfig inspectCancel(boolean flag) { this.inspectCancel_DNA = flag; return this; }
public GunConfig crosshair(Crosshair crosshair) { this.crosshair_DNA = crosshair; return this; }
public GunConfig hideCrosshair(boolean flag) { this.hideCrosshair_DNA = flag; return this; }
public GunConfig thermalSights(boolean flag) { this.thermalSights_DNA = flag; return this; }
public GunConfig reloadChangeType(boolean flag) { this.reloadRequiresTypeChange_DNA = flag; return this; }
public GunConfig reloadSequential(boolean flag) { this.reloadAnimationsSequential_DNA = flag; return this; }
public GunConfig scopeTexture(ResourceLocation tex) { this.scopeTexture_DNA = tex; return this; }

View File

@ -101,7 +101,7 @@ public class GunFactory {
R762_HE, BMG50_HE, G10_EXPLOSIVE,
P45_SP, P45_FMJ, P45_JHP, P45_AP, P45_DU,
CT_HOOK, CT_MORTAR, CT_MORTAR_CHARGE,
NUKE_BALEFIRE,
NUKE_BALEFIRE, BMG50_SM,
//ONLY ADD NEW ENTRIES AT THE BOTTOM TO AVOID SHIFTING!
;
@ -116,7 +116,7 @@ public class GunFactory {
P45_SP, P45_FMJ, P45_JHP, P45_AP, P45_DU,
R556_SP, R556_FMJ, R556_JHP, R556_AP,
R762_SP, R762_FMJ, R762_JHP, R762_AP, R762_DU, R762_HE,
BMG50_SP, BMG50_FMJ, BMG50_JHP, BMG50_AP, BMG50_DU, BMG50_HE,
BMG50_SP, BMG50_FMJ, BMG50_JHP, BMG50_AP, BMG50_DU, BMG50_SM, BMG50_HE,
B75, B75_INC, B75_EXP,
G12_BP, G12_BP_MAGNUM, G12_BP_SLUG, G12, G12_SLUG, G12_FLECHETTE, G12_MAGNUM, G12_EXPLOSIVE, G12_PHOSPHORUS,
G10, G10_SHRAPNEL, G10_DU, G10_SLUG, G10_EXPLOSIVE,
@ -139,7 +139,7 @@ public class GunFactory {
public static enum EnumAmmoSecret {
FOLLY_SM, FOLLY_NUKE,
M44_EQUESTRIAN, G12_EQUESTRIAN, BMG50_EQUESTRIAN,
P35_800
P35_800, BMG50_BLACK
}
public static enum EnumModTest {

View File

@ -159,6 +159,8 @@ public class GunFactoryClient {
bmg50_ap.setRenderer(LegoClient.RENDER_AP_BULLET);
bmg50_du.setRenderer(LegoClient.RENDER_DU_BULLET);
bmg50_he.setRenderer(LegoClient.RENDER_HE_BULLET);
bmg50_sm.setRenderer(LegoClient.RENDER_SM_BULLET);
bmg50_black.setRenderer(LegoClient.RENDER_BLACK_BULLET);
b75.setRenderer(LegoClient.RENDER_AP_BULLET);
b75_inc.setRenderer(LegoClient.RENDER_AP_BULLET);

View File

@ -72,6 +72,18 @@ public class LegoClient {
renderBulletStandard(Tessellator.instance, 0xD8CA00, 0xFFF19D, length, true);
};
public static BiConsumer<EntityBulletBaseMK4, Float> RENDER_SM_BULLET = (bullet, interp) -> {
double length = bullet.prevVelocity + (bullet.velocity - bullet.prevVelocity) * interp;
if(length <= 0) return;
renderBulletStandard(Tessellator.instance, 0x42A8DD, 0xFFFFFF, length, true);
};
public static BiConsumer<EntityBulletBaseMK4, Float> RENDER_BLACK_BULLET = (bullet, interp) -> {
double length = bullet.prevVelocity + (bullet.velocity - bullet.prevVelocity) * interp;
if(length <= 0) return;
renderBulletStandard(Tessellator.instance, 0x000000, 0x7F006E, length, true);
};
public static BiConsumer<EntityBulletBaseMK4, Float> RENDER_TRACER_BULLET = (bullet, interp) -> {
double length = bullet.prevVelocity + (bullet.velocity - bullet.prevVelocity) * interp;
if(length <= 0) return;

View File

@ -14,6 +14,7 @@ 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.factory.GunFactory.EnumAmmoSecret;
import com.hbm.items.weapon.sedna.mags.MagazineBelt;
import com.hbm.items.weapon.sedna.mags.MagazineFullReload;
import com.hbm.particle.SpentCasing;
@ -34,6 +35,8 @@ public class XFactory50 {
public static BulletConfig bmg50_ap;
public static BulletConfig bmg50_du;
public static BulletConfig bmg50_he;
public static BulletConfig bmg50_sm;
public static BulletConfig bmg50_black;
public static BiConsumer<EntityBulletBaseMK4, MovingObjectPosition> LAMBDA_STANDARD_EXPLODE = (bullet, mop) -> {
if(mop.typeOfHit == mop.typeOfHit.ENTITY && bullet.ticksExisted < 3 && mop.entityHit == bullet.getThrower()) return;
@ -41,25 +44,29 @@ public class XFactory50 {
};
public static void init() {
SpentCasing casing762 = new SpentCasing(CasingType.BOTTLENECK).setColor(SpentCasing.COLOR_CASE_BRASS).setScale(1.5F);
SpentCasing casing50 = new SpentCasing(CasingType.BOTTLENECK).setColor(SpentCasing.COLOR_CASE_BRASS).setScale(1.5F);
bmg50_sp = new BulletConfig().setItem(EnumAmmo.BMG50_SP).setCasing(EnumCasingType.LARGE, 12)
.setCasing(casing762.clone().register("bmg50"));
.setCasing(casing50.clone().register("bmg50"));
bmg50_fmj = new BulletConfig().setItem(EnumAmmo.BMG50_FMJ).setCasing(EnumCasingType.LARGE, 12).setDamage(0.8F).setThresholdNegation(7F).setArmorPiercing(0.1F)
.setCasing(casing762.clone().register("bmg50fmj"));
.setCasing(casing50.clone().register("bmg50fmj"));
bmg50_jhp = new BulletConfig().setItem(EnumAmmo.BMG50_JHP).setCasing(EnumCasingType.LARGE, 12).setDamage(1.5F).setHeadshot(1.5F).setArmorPiercing(-0.25F)
.setCasing(casing762.clone().register("bmg50jhp"));
.setCasing(casing50.clone().register("bmg50jhp"));
bmg50_ap = new BulletConfig().setItem(EnumAmmo.BMG50_AP).setCasing(EnumCasingType.LARGE_STEEL, 12).setDoesPenetrate(true).setDamageFalloffByPen(false).setDamage(1.25F).setThresholdNegation(17.5F).setArmorPiercing(0.15F)
.setCasing(casing762.clone().setColor(SpentCasing.COLOR_CASE_44).register("bmg50ap"));
.setCasing(casing50.clone().setColor(SpentCasing.COLOR_CASE_44).register("bmg50ap"));
bmg50_du = new BulletConfig().setItem(EnumAmmo.BMG50_DU).setCasing(EnumCasingType.LARGE_STEEL, 12).setDoesPenetrate(true).setDamageFalloffByPen(false).setDamage(1.5F).setThresholdNegation(21F).setArmorPiercing(0.25F)
.setCasing(casing762.clone().setColor(SpentCasing.COLOR_CASE_44).register("bmg50du"));
.setCasing(casing50.clone().setColor(SpentCasing.COLOR_CASE_44).register("bmg50du"));
bmg50_he = new BulletConfig().setItem(EnumAmmo.BMG50_HE).setCasing(EnumCasingType.LARGE_STEEL, 12).setWear(3F).setDoesPenetrate(true).setDamageFalloffByPen(false).setDamage(1.75F).setOnImpact(LAMBDA_STANDARD_EXPLODE)
.setCasing(casing762.clone().setColor(SpentCasing.COLOR_CASE_44).register("bmg50he"));
.setCasing(casing50.clone().setColor(SpentCasing.COLOR_CASE_44).register("bmg50he"));
bmg50_sm = new BulletConfig().setItem(EnumAmmo.BMG50_SM).setCasing(EnumCasingType.LARGE_STEEL, 12).setWear(10F).setDoesPenetrate(true).setDamageFalloffByPen(false).setDamage(2.5F).setThresholdNegation(30F).setArmorPiercing(0.35F)
.setCasing(casing50.clone().setColor(SpentCasing.COLOR_CASE_44).register("bmg50sm"));
bmg50_black = new BulletConfig().setItem(EnumAmmoSecret.BMG50_BLACK).setWear(5F).setDoesPenetrate(true).setDamageFalloffByPen(false).setSpectral(true).setDamage(1.5F).setHeadshot(3F).setThresholdNegation(30F).setArmorPiercing(0.35F)
.setCasing(casing50.clone().setColor(SpentCasing.COLOR_CASE_EQUESTRIAN).register("bmg50black"));
ModItems.gun_amat = new ItemGunBaseNT(WeaponQuality.A_SIDE, new GunConfig()
.dura(350).draw(20).inspect(50).crosshair(Crosshair.CIRCLE).scopeTexture(XFactory44.scope_lilmac).smoke(LAMBDA_SMOKE)
.rec(new Receiver(0)
.dmg(30F).delay(25).dry(25).spreadHipfire(0.05F).reload(51).jam(43).sound("hbm:weapon.fire.amat", 1.0F, 1.0F)
.mag(new MagazineFullReload(0, 7).addConfigs(bmg50_sp, bmg50_fmj, bmg50_jhp, bmg50_ap, bmg50_du, bmg50_he))
.mag(new MagazineFullReload(0, 7).addConfigs(bmg50_sp, bmg50_fmj, bmg50_jhp, bmg50_ap, bmg50_du, bmg50_sm, bmg50_he))
.offset(1, -0.0625 * 1.5, -0.25D)
.setupStandardFire().recoil(LAMBDA_RECOIL_AMAT))
.setupStandardConfiguration()

View File

@ -1313,14 +1313,21 @@ public class ModEventHandlerClient {
if(hudOn) {
RenderOverhead.renderMarkers(event.partialTicks);
boolean thermalSights = false;
if(ArmorFSB.hasFSBArmor(player)) {
ItemStack plate = player.inventory.armorInventory[2];
ArmorFSB chestplate = (ArmorFSB) plate.getItem();
if(chestplate.thermal)
RenderOverhead.renderThermalSight(event.partialTicks);
if(chestplate.thermal) thermalSights = true;
}
if(player.getHeldItem() != null && player.getHeldItem().getItem() instanceof ItemGunBaseNT) {
ItemGunBaseNT gun = (ItemGunBaseNT) player.getHeldItem().getItem();
for(int i = 0; i < gun.getConfigCount(); i++) if(gun.getConfig(player.getHeldItem(), i).hasThermalSights(player.getHeldItem())) thermalSights = true;
}
if(thermalSights) RenderOverhead.renderThermalSight(event.partialTicks);
}
RenderOverhead.renderActionPreview(event.partialTicks);

View File

@ -1053,6 +1053,7 @@ item.ammo_shell_apfsds_t.name=240mm APFSDS-T
item.ammo_shell_explosive.name=240mm HE-Geschoss
item.ammo_shell_w9.name=240mm W9-Atomgeschoss
item.ammo_secret.bmg50_equestrian.name=.50 BMG Zerstörer
item.ammo_secret.bmg50_black.name=.50 BMG Bypass
item.ammo_secret.folly_nuke.name=Silberne Kugel, Atomar
item.ammo_secret.folly_sm.name=Silberne Kugel
item.ammo_secret.g12_equestrian.name=Kaliber 12 Gleisnägel
@ -1066,6 +1067,7 @@ item.ammo_standard.bmg50_du.name=.50 BMG Patrone (Urangeschoss)
item.ammo_standard.bmg50_he.name=.50 BMG Patrone (Explosiv)
item.ammo_standard.bmg50_fmj.name=.50 BMG Patrone (Vollmantelgeschoss)
item.ammo_standard.bmg50_jhp.name=.50 BMG Patrone (Hohlspitz)
item.ammo_standard.bmg50_sm.name=.50 BMG Patrone (Sternenmetall)
item.ammo_standard.bmg50_sp.name=.50 BMG Patrone (Teilmantelgeschoss)
item.ammo_standard.capacitor.name=Kondensator (Standard)
item.ammo_standard.capacitor_ir.name=Capacitor (niedrige Wellenlänge)

View File

@ -1778,6 +1778,7 @@ 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_secret.bmg50_equestrian.name=.50 BMG Demolisher
item.ammo_secret.bmg50_black.name=.50 BMG Bypass Round
item.ammo_secret.folly_nuke.name=Silver Bullet, Nuclear
item.ammo_secret.folly_sm.name=Silver Bullet
item.ammo_secret.g12_equestrian.name=12 Gauge Railway Spike Shot
@ -1791,6 +1792,7 @@ item.ammo_standard.bmg50_du.name=.50 BMG Round (Depleted Uranium)
item.ammo_standard.bmg50_he.name=.50 BMG Round (High-Explosive)
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_sm.name=.50 BMG Round (Starmetal)
item.ammo_standard.bmg50_sp.name=.50 BMG Round (Soft Point)
item.ammo_standard.capacitor.name=Capacitor (Standard)
item.ammo_standard.capacitor_ir.name=Capacitor (Low Wavelength)

Binary file not shown.

After

Width:  |  Height:  |  Size: 325 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 352 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 312 B