yeah whatever man

This commit is contained in:
Boblet 2025-04-01 11:22:50 +02:00
parent 81a0352986
commit 983208bc03
9 changed files with 196 additions and 0 deletions

View File

@ -4,6 +4,9 @@
* Totally different from the PWR, not similar in the slightest * Totally different from the PWR, not similar in the slightest
* Mark 3 nuclear bomb * Mark 3 nuclear bomb
* New bobm * New bobm
* ZOMG
* Cool gun
* Yes
## Changed ## Changed
* all secret weapons are now obtainable in creative, overstimulate yourselves all you want you little gremlins * all secret weapons are now obtainable in creative, overstimulate yourselves all you want you little gremlins

View File

@ -1498,6 +1498,7 @@ public class ModItems {
public static Item gun_aberrator_eott; public static Item gun_aberrator_eott;
public static Item gun_double_barrel; public static Item gun_double_barrel;
public static Item gun_double_barrel_sacred_dragon; public static Item gun_double_barrel_sacred_dragon;
public static Item gun_zomg;
public static Item ammo_standard; public static Item ammo_standard;
public static Item ammo_secret; public static Item ammo_secret;
@ -6493,6 +6494,7 @@ public class ModItems {
GameRegistry.registerItem(gun_aberrator_eott, gun_aberrator_eott.getUnlocalizedName()); GameRegistry.registerItem(gun_aberrator_eott, gun_aberrator_eott.getUnlocalizedName());
GameRegistry.registerItem(gun_double_barrel, gun_double_barrel.getUnlocalizedName()); GameRegistry.registerItem(gun_double_barrel, gun_double_barrel.getUnlocalizedName());
GameRegistry.registerItem(gun_double_barrel_sacred_dragon, gun_double_barrel_sacred_dragon.getUnlocalizedName()); GameRegistry.registerItem(gun_double_barrel_sacred_dragon, gun_double_barrel_sacred_dragon.getUnlocalizedName());
GameRegistry.registerItem(gun_zomg, gun_zomg.getUnlocalizedName());
GameRegistry.registerItem(ammo_standard, ammo_standard.getUnlocalizedName()); GameRegistry.registerItem(ammo_standard, ammo_standard.getUnlocalizedName());
GameRegistry.registerItem(ammo_secret, ammo_secret.getUnlocalizedName()); GameRegistry.registerItem(ammo_secret, ammo_secret.getUnlocalizedName());

View File

@ -46,6 +46,7 @@ public class GunFactoryClient {
MinecraftForgeClient.registerItemRenderer(ModItems.gun_henry, new ItemRenderHenry(ResourceManager.henry_tex)); MinecraftForgeClient.registerItemRenderer(ModItems.gun_henry, new ItemRenderHenry(ResourceManager.henry_tex));
MinecraftForgeClient.registerItemRenderer(ModItems.gun_henry_lincoln, new ItemRenderHenry(ResourceManager.henry_lincoln_tex)); MinecraftForgeClient.registerItemRenderer(ModItems.gun_henry_lincoln, new ItemRenderHenry(ResourceManager.henry_lincoln_tex));
MinecraftForgeClient.registerItemRenderer(ModItems.gun_greasegun, new ItemRenderGreasegun()); MinecraftForgeClient.registerItemRenderer(ModItems.gun_greasegun, new ItemRenderGreasegun());
MinecraftForgeClient.registerItemRenderer(ModItems.gun_zomg, new ItemRenderGreaseZOMG());
MinecraftForgeClient.registerItemRenderer(ModItems.gun_maresleg, new ItemRenderMaresleg(ResourceManager.maresleg_tex)); MinecraftForgeClient.registerItemRenderer(ModItems.gun_maresleg, new ItemRenderMaresleg(ResourceManager.maresleg_tex));
MinecraftForgeClient.registerItemRenderer(ModItems.gun_maresleg_akimbo, new ItemRenderMareslegAkimbo()); MinecraftForgeClient.registerItemRenderer(ModItems.gun_maresleg_akimbo, new ItemRenderMareslegAkimbo());
MinecraftForgeClient.registerItemRenderer(ModItems.gun_maresleg_broken, new ItemRenderMaresleg(ResourceManager.maresleg_broken_tex)); MinecraftForgeClient.registerItemRenderer(ModItems.gun_maresleg_broken, new ItemRenderMaresleg(ResourceManager.maresleg_broken_tex));
@ -206,6 +207,7 @@ public class GunFactoryClient {
folly_nuke.setRenderer(LegoClient.RENDER_BIG_NUKE); folly_nuke.setRenderer(LegoClient.RENDER_BIG_NUKE);
p35800.setRendererBeam(LegoClient.RENDER_CRACKLE); p35800.setRendererBeam(LegoClient.RENDER_CRACKLE);
zomg.setRenderer(LegoClient.RENDER_RAINBOW);
setRendererBulk(LegoClient.RENDER_GRENADE, shell_normal, shell_explosive, shell_ap, shell_du, shell_w9); //TODO: change the sabots setRendererBulk(LegoClient.RENDER_GRENADE, shell_normal, shell_explosive, shell_ap, shell_du, shell_w9); //TODO: change the sabots
@ -258,6 +260,7 @@ public class GunFactoryClient {
((ItemGunBaseNT) ModItems.gun_aberrator) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_AMMO); ((ItemGunBaseNT) ModItems.gun_aberrator) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_AMMO);
((ItemGunBaseNT) ModItems.gun_double_barrel) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO); ((ItemGunBaseNT) ModItems.gun_double_barrel) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO);
((ItemGunBaseNT) ModItems.gun_double_barrel_sacred_dragon) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO); ((ItemGunBaseNT) ModItems.gun_double_barrel_sacred_dragon) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO);
((ItemGunBaseNT) ModItems.gun_zomg) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO);
((ItemGunBaseNT) ModItems.gun_light_revolver_dani) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY_MIRROR, LegoClient.HUD_COMPONENT_AMMO_MIRROR); ((ItemGunBaseNT) ModItems.gun_light_revolver_dani) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY_MIRROR, LegoClient.HUD_COMPONENT_AMMO_MIRROR);
((ItemGunBaseNT) ModItems.gun_light_revolver_dani) .getConfig(null, 1).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO); ((ItemGunBaseNT) ModItems.gun_light_revolver_dani) .getConfig(null, 1).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO);

View File

@ -1,5 +1,7 @@
package com.hbm.items.weapon.sedna.factory; package com.hbm.items.weapon.sedna.factory;
import java.awt.Color;
import java.util.Random;
import java.util.function.BiConsumer; import java.util.function.BiConsumer;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL11;
@ -80,6 +82,15 @@ public class LegoClient {
renderBulletStandard(Tessellator.instance, 0x7F006E, 0xFF7FED, length, true); renderBulletStandard(Tessellator.instance, 0x7F006E, 0xFF7FED, length, true);
}; };
public static BiConsumer<EntityBulletBaseMK4, Float> RENDER_RAINBOW = (bullet, interp) -> {
double length = bullet.prevVelocity + (bullet.velocity - bullet.prevVelocity) * interp;
if(length <= 0) return;
Random rand = new Random(bullet.getEntityId());
Color light = new Color(rand.nextInt(2) * 255, rand.nextInt(2) * 255, rand.nextInt(2) * 255);
Color dark = new Color(light.getRed() / 2, light.getGreen() / 2, light.getBlue() / 2);
renderBulletStandard(Tessellator.instance, dark.getRGB(), light.getRGB(), length, true);
};
public static void renderBulletStandard(Tessellator tess, int dark, int light, double length, boolean fullbright) { renderBulletStandard(tess, dark, light, length, 0.03125D, 0.03125D * 0.25D, fullbright); } public static void renderBulletStandard(Tessellator tess, int dark, int light, double length, boolean fullbright) { renderBulletStandard(tess, dark, light, length, 0.03125D, 0.03125D * 0.25D, fullbright); }
public static void renderBulletStandard(Tessellator tess, int dark, int light, double length, double widthF, double widthB, boolean fullbright) { public static void renderBulletStandard(Tessellator tess, int dark, int light, double length, double widthF, double widthB, boolean fullbright) {

View File

@ -31,6 +31,7 @@ import com.hbm.util.DamageResistanceHandler.DamageClass;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraftforge.common.util.ForgeDirection;
public class XFactory9mm { public class XFactory9mm {
@ -38,6 +39,7 @@ public class XFactory9mm {
public static BulletConfig p9_fmj; public static BulletConfig p9_fmj;
public static BulletConfig p9_jhp; public static BulletConfig p9_jhp;
public static BulletConfig p9_ap; public static BulletConfig p9_ap;
public static BulletConfig zomg;
public static void init() { public static void init() {
SpentCasing casing9 = new SpentCasing(CasingType.STRAIGHT).setColor(SpentCasing.COLOR_CASE_BRASS).setScale(1F, 1F, 0.75F); SpentCasing casing9 = new SpentCasing(CasingType.STRAIGHT).setColor(SpentCasing.COLOR_CASE_BRASS).setScale(1F, 1F, 0.75F);
@ -49,6 +51,15 @@ public class XFactory9mm {
.setCasing(casing9.clone().register("p9jhp")); .setCasing(casing9.clone().register("p9jhp"));
p9_ap = new BulletConfig().setItem(EnumAmmo.P9_AP).setCasing(EnumCasingType.SMALL_STEEL, 12).setDoesPenetrate(true).setDamageFalloutByPen(false).setDamage(1.5F).setThresholdNegation(5F).setArmorPiercing(0.15F) p9_ap = new BulletConfig().setItem(EnumAmmo.P9_AP).setCasing(EnumCasingType.SMALL_STEEL, 12).setDoesPenetrate(true).setDamageFalloutByPen(false).setDamage(1.5F).setThresholdNegation(5F).setArmorPiercing(0.15F)
.setCasing(casing9.clone().setColor(SpentCasing.COLOR_CASE_44).register("p9ap")); .setCasing(casing9.clone().setColor(SpentCasing.COLOR_CASE_44).register("p9ap"));
zomg = new BulletConfig().setItem(ModItems.nugget_euphemium).setVel(3F).setReloadCount(300).setThresholdNegation(100F)
.setCasing(casing9.clone().setColor(SpentCasing.COLOR_CASE_BRASS).register("zomg")).setOnImpact((bullet, mop) -> {
if(mop.typeOfHit == mop.typeOfHit.BLOCK) {
for(ForgeDirection dir : ForgeDirection.values())
bullet.worldObj.func_147480_a(mop.blockX + dir.offsetX, mop.blockY + dir.offsetY, mop.blockZ + dir.offsetZ, false);
}
if(mop.entityHit != bullet.getThrower()) Lego.standardExplode(bullet, mop, 5F);
});
ModItems.gun_greasegun = new ItemGunBaseNT(WeaponQuality.A_SIDE, new GunConfig() ModItems.gun_greasegun = new ItemGunBaseNT(WeaponQuality.A_SIDE, new GunConfig()
.dura(3_000).draw(20).inspect(31).crosshair(Crosshair.L_CIRCLE).smoke(LAMBDA_SMOKE) .dura(3_000).draw(20).inspect(31).crosshair(Crosshair.L_CIRCLE).smoke(LAMBDA_SMOKE)
@ -61,6 +72,17 @@ public class XFactory9mm {
.anim(LAMBDA_GREASEGUN_ANIMS).orchestra(Orchestras.ORCHESTRA_GREASEGUN) .anim(LAMBDA_GREASEGUN_ANIMS).orchestra(Orchestras.ORCHESTRA_GREASEGUN)
).setNameMutator(LAMBDA_NAME_GREASEGUN) ).setNameMutator(LAMBDA_NAME_GREASEGUN)
.setUnlocalizedName("gun_greasegun"); .setUnlocalizedName("gun_greasegun");
ModItems.gun_zomg = new ItemGunBaseNT(WeaponQuality.LEGENDARY, new GunConfig()
.dura(3_000).draw(20).inspect(31).crosshair(Crosshair.L_CIRCLE).smoke(LAMBDA_SMOKE)
.rec(new Receiver(0)
.dmg(9_999F).delay(4).rounds(5).dry(40).auto(true).spread(0.05F).reload(60).jam(55).sound("hbm:weapon.fire.greaseGun", 1.0F, 1.0F)
.mag(new MagazineFullReload(0, 300).addConfigs(zomg))
.offset(1, -0.0625 * 2.5, -0.25D)
.setupStandardFire().recoil(LAMBDA_RECOIL_GREASEGUN))
.setupStandardConfiguration()
.anim(LAMBDA_GREASEGUN_ANIMS).orchestra(Orchestras.ORCHESTRA_GREASEGUN)
).setNameMutator(LAMBDA_NAME_GREASEGUN)
.setUnlocalizedName("gun_zomg");
ModItems.gun_lag = new ItemGunBaseNT(WeaponQuality.A_SIDE, new GunConfig() ModItems.gun_lag = new ItemGunBaseNT(WeaponQuality.A_SIDE, new GunConfig()
.dura(1_700).draw(7).inspect(31).crosshair(Crosshair.CIRCLE).smoke(LAMBDA_SMOKE) .dura(1_700).draw(7).inspect(31).crosshair(Crosshair.CIRCLE).smoke(LAMBDA_SMOKE)

View File

@ -956,6 +956,7 @@ public class ResourceManager {
public static final ResourceLocation henry_lincoln_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/henry_lincoln.png"); public static final ResourceLocation henry_lincoln_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/henry_lincoln.png");
public static final ResourceLocation greasegun_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/greasegun.png"); public static final ResourceLocation greasegun_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/greasegun.png");
public static final ResourceLocation greasegun_clean_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/greasegun_clean.png"); public static final ResourceLocation greasegun_clean_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/greasegun_clean.png");
public static final ResourceLocation zomg_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/zomg.png");
public static final ResourceLocation maresleg_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/maresleg.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 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 flaregun_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/flaregun.png");

View File

@ -0,0 +1,153 @@
package com.hbm.render.item.weapon.sedna;
import org.lwjgl.opengl.GL11;
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;
public class ItemRenderGreaseZOMG extends ItemRenderWeaponBase {
@Override
protected float getTurnMagnitude(ItemStack stack) { return ItemGunBaseNT.getIsAiming(stack) ? 2.5F : -0.5F; }
@Override
public float getViewFOV(ItemStack stack, float fov) {
float aimingProgress = ItemGunBaseNT.prevAimingProgress + (ItemGunBaseNT.aimingProgress - ItemGunBaseNT.prevAimingProgress) * interp;
return fov * (1 - aimingProgress * 0.33F);
}
@Override
public void setupFirstPerson(ItemStack stack) {
GL11.glTranslated(0, 0, 0.875);
float offset = 0.8F;
standardAimingTransform(stack,
-1.5F * offset, -1F * offset, 1.75F * offset,
0, -2.625 / 8D, 1.125);
}
@Override
public void renderFirstPerson(ItemStack stack) {
ItemGunBaseNT gun = (ItemGunBaseNT) stack.getItem();
Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.zomg_tex);
double scale = 0.375D;
GL11.glScaled(scale, scale, scale);
double[] equip = HbmAnimations.getRelevantTransformation("EQUIP");
double[] stock = HbmAnimations.getRelevantTransformation("STOCK");
double[] recoil = HbmAnimations.getRelevantTransformation("RECOIL");
double[] flap = HbmAnimations.getRelevantTransformation("FLAP");
double[] lift = HbmAnimations.getRelevantTransformation("LIFT");
double[] handle = HbmAnimations.getRelevantTransformation("HANDLE");
double[] mag = HbmAnimations.getRelevantTransformation("MAG");
double[] turn = HbmAnimations.getRelevantTransformation("TURN");
double[] bullet = HbmAnimations.getRelevantTransformation("BULLET");
GL11.glTranslated(0, -3, -3);
GL11.glRotated(equip[0], 1, 0, 0);
GL11.glTranslated(0, 3, 3);
GL11.glTranslated(0, -3, -3);
GL11.glRotated(lift[0], 1, 0, 0);
GL11.glTranslated(0, 3, 3);
if(gun.aimingProgress < 1F) GL11.glRotated(turn[2], 0, 0, 1);
GL11.glTranslated(0, 0, recoil[2]);
GL11.glShadeModel(GL11.GL_SMOOTH);
ResourceManager.greasegun.renderPart("Gun");
GL11.glPushMatrix();
GL11.glTranslated(0, 0, -4 - stock[2]);
ResourceManager.greasegun.renderPart("Stock");
GL11.glPopMatrix();
GL11.glPushMatrix();
GL11.glTranslated(mag[0], mag[1], mag[2]);
ResourceManager.greasegun.renderPart("Magazine");
if(bullet[0] != 1) ResourceManager.greasegun.renderPart("Bullet");
GL11.glPopMatrix();
GL11.glPushMatrix();
GL11.glTranslated(0, -1.4375, -0.125);
GL11.glRotated(handle[0], 1, 0, 0);
GL11.glTranslated(0, 1.4375, 0.125);
ResourceManager.greasegun.renderPart("Handle");
GL11.glPopMatrix();
GL11.glPushMatrix();
GL11.glTranslated(0, 0.53125, 0);
GL11.glRotated(flap[2], 0, 0, 1);
GL11.glTranslated(0, -0.5125, 0);
ResourceManager.greasegun.renderPart("Flap");
GL11.glPopMatrix();
double smokeScale = 0.25;
GL11.glPushMatrix();
GL11.glTranslated(-0.25, 0, 1.5);
GL11.glRotated(turn[2], 0, 0, -1);
GL11.glRotated(90, 0, 1, 0);
GL11.glScaled(smokeScale, smokeScale, smokeScale);
this.renderSmokeNodes(gun.getConfig(stack, 0).smokeNodes, 1D);
GL11.glPopMatrix();
GL11.glPushMatrix();
GL11.glTranslated(0, 0, 8);
GL11.glRotated(turn[2], 0, 0, -1);
GL11.glRotated(90, 0, 1, 0);
GL11.glScaled(smokeScale, smokeScale, smokeScale);
this.renderSmokeNodes(gun.getConfig(stack, 0).smokeNodes, 1D);
GL11.glPopMatrix();
GL11.glShadeModel(GL11.GL_FLAT);
GL11.glPushMatrix();
GL11.glTranslated(0, 0, 8);
GL11.glRotated(90, 0, 1, 0);
GL11.glRotated(90 * gun.shotRand, 1, 0, 0);
GL11.glScaled(0.5, 0.5, 0.5);
this.renderMuzzleFlash(gun.lastShot[0], 75, 7.5);
GL11.glPopMatrix();
}
@Override
public void setupThirdPerson(ItemStack stack) {
super.setupThirdPerson(stack);
GL11.glTranslated(0, 1, 3);
}
@Override
public void setupInv(ItemStack stack) {
super.setupInv(stack);
double scale = 1.5D;
GL11.glScaled(scale, scale, scale);
GL11.glRotated(25, 1, 0, 0);
GL11.glRotated(45, 0, 1, 0);
GL11.glTranslated(-0.5, 2, 0);
}
@Override
public void setupModTable(ItemStack stack) {
double scale = -7.5D;
GL11.glScaled(scale, scale, scale);
GL11.glRotated(90, 0, 1, 0);
GL11.glTranslated(0, 2, 0);
}
@Override
public void renderOther(ItemStack stack, ItemRenderType type) {
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glShadeModel(GL11.GL_SMOOTH);
Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.zomg_tex);
ResourceManager.greasegun.renderAll();
GL11.glShadeModel(GL11.GL_FLAT);
}
}

View File

@ -3089,6 +3089,7 @@ item.gun_tesla_cannon.name=Tesla Cannon
item.gun_uzi.name=Uzi item.gun_uzi.name=Uzi
item.gun_uzi_richter.name=Richter item.gun_uzi_richter.name=Richter
item.gun_uzi_akimbo.name=Uzis item.gun_uzi_akimbo.name=Uzis
item.gun_zomg.name=ZOMG
item.hand_drill.name=Hand Drill item.hand_drill.name=Hand Drill
item.hand_drill_desh.name=Desh Hand Drill item.hand_drill_desh.name=Desh Hand Drill
item.hazmat_boots.name=Hazmat Boots item.hazmat_boots.name=Hazmat Boots

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB