we ain't even done wit this we #KillingOurselves

superficial dedicated + integrated server testing worked. ran into a weird race condition on the former, though, but i doubt that's from anythng here
This commit is contained in:
Vaern 2026-01-11 18:17:36 -08:00
parent 8bdce3a4b3
commit 712ae952df
53 changed files with 172 additions and 57 deletions

View File

@ -14,7 +14,9 @@ import com.hbm.items.weapon.sedna.mags.IMagazine;
import com.hbm.items.weapon.sedna.mods.XWeaponModManager;
import com.hbm.lib.ModDamageSource;
import com.hbm.main.MainRegistry;
import com.hbm.packet.PacketDispatcher;
import com.hbm.packet.toclient.AuxParticlePacketNT;
import com.hbm.packet.toclient.MuzzleFlashPacket;
import com.hbm.particle.SpentCasing;
import com.hbm.particle.helper.CasingCreator;
import com.hbm.render.anim.HbmAnimations;
@ -200,6 +202,7 @@ public class Orchestras {
if(timer == 5) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.openLatch", 1F, 1F);
}
if(type == GunAnimation.CYCLE) {
if(timer == 0) PacketDispatcher.wrapper.sendToAllAround(new MuzzleFlashPacket(entity), new TargetPoint(entity.worldObj.provider.dimensionId, entity.posX, entity.posY, entity.posZ, 100));
if(timer == 2) {
SpentCasing casing = ctx.config.getReceivers(stack)[0].getMagazine(stack).getCasing(stack, ctx.inventory);
if(casing != null) CasingCreator.composeEffect(entity.worldObj, entity, 0.55, aiming ? 0 : -0.125, aiming ? 0 : -0.25D, 0, 0.18, -0.12, 0.01, -7.5F + (float)entity.getRNG().nextGaussian() * 5F, 12F + (float)entity.getRNG().nextGaussian() * 5F, casing.getName());
@ -752,6 +755,7 @@ public class Orchestras {
if(timer == 0) {
SpentCasing casing = ctx.config.getReceivers(stack)[0].getMagazine(stack).getCasing(stack, ctx.inventory);
if(casing != null) CasingCreator.composeEffect(entity.worldObj, entity, 0.5, aiming ? 0 : -0.125, aiming ? 0 : -0.25D, 0, 0.18, -0.12, 0.01, (float)entity.getRNG().nextGaussian() * 5F, 12.5F + (float)entity.getRNG().nextFloat() * 5F, casing.getName());
PacketDispatcher.wrapper.sendToAllAround(new MuzzleFlashPacket(entity), new TargetPoint(entity.worldObj.provider.dimensionId, entity.posX, entity.posY, entity.posZ, 100));
}
}
if(type == GunAnimation.CYCLE_DRY) {

View File

@ -1425,6 +1425,14 @@ public class ModEventHandlerClient {
if(event.phase == event.phase.END) {
ItemCustomLore.updateSystem();
//prune other entities' muzzle flashes
long millis = System.currentTimeMillis();
if(event.world.getTotalWorldTime() % 30 == 0) {
Iterator itr = ItemRenderWeaponBase.flashMap.keySet().iterator();
//dead entities may have later insertion order than actively firing ones, so we be safe
ItemRenderWeaponBase.flashMap.values().removeIf(entry -> entry.longValue() - millis >= 100);
}
}
}

View File

@ -69,6 +69,8 @@ public class PacketDispatcher {
wrapper.registerMessage(SerializableRecipePacket.Handler.class, SerializableRecipePacket.class, i++, Side.CLIENT);
//Syncing of NBT for guns
wrapper.registerMessage(HeldItemNBTPacket.Handler.class, HeldItemNBTPacket.class, i++, Side.CLIENT);
//Syncs muzzle flashes of SEDNA guns for clients from other entities/players
wrapper.registerMessage(MuzzleFlashPacket.Handler.class, MuzzleFlashPacket.class, i++, Side.CLIENT);
}
}

View File

@ -0,0 +1,62 @@
package com.hbm.packet.toclient;
import com.hbm.items.weapon.sedna.ItemGunBaseNT;
import com.hbm.render.item.weapon.sedna.ItemRenderWeaponBase;
import cpw.mods.fml.common.network.simpleimpl.IMessage;
import cpw.mods.fml.common.network.simpleimpl.IMessageHandler;
import cpw.mods.fml.common.network.simpleimpl.MessageContext;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import io.netty.buffer.ByteBuf;
import net.minecraft.client.Minecraft;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.item.ItemStack;
public class MuzzleFlashPacket implements IMessage {
private int entityID;
private int gunIndex; //e.g. akimbo
public MuzzleFlashPacket() { }
public MuzzleFlashPacket(EntityLivingBase entity) { this(entity, 0); }
public MuzzleFlashPacket(EntityLivingBase entity, int index) {
this.entityID = entity.getEntityId();
this.gunIndex = index;
}
@Override
public void toBytes(ByteBuf buf) {
buf.writeInt(entityID);
buf.writeInt(gunIndex);
}
@Override
public void fromBytes(ByteBuf buf) {
this.entityID = buf.readInt();
this.gunIndex = buf.readInt();
}
public static class Handler implements IMessageHandler<MuzzleFlashPacket, IMessage> {
@SideOnly(Side.CLIENT)
@Override
public IMessage onMessage(MuzzleFlashPacket m, MessageContext ctx) {
EntityLivingBase entity = (EntityLivingBase) Minecraft.getMinecraft().theWorld.getEntityByID(m.entityID);
if(entity == null) return null;
ItemStack stack = entity.getHeldItem();
if(stack == null) return null;
if(stack.getItem() instanceof ItemGunBaseNT) {
ItemGunBaseNT gun = (ItemGunBaseNT) stack.getItem();
ItemRenderWeaponBase.flashMap.put(entity, System.currentTimeMillis());
}
return null;
}
}
}

View File

@ -194,7 +194,7 @@ public class ItemRenderAberrator extends ItemRenderWeaponBase {
}
@Override
public void renderOther(ItemStack stack, ItemRenderType type) {
public void renderOther(ItemStack stack, ItemRenderType type, Object... data) {
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glAlphaFunc(GL11.GL_GREATER, 0F);

View File

@ -147,7 +147,7 @@ public class ItemRenderAm180 extends ItemRenderWeaponBase {
}
@Override
public void renderOther(ItemStack stack, ItemRenderType type) {
public void renderOther(ItemStack stack, ItemRenderType type, Object... data) {
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glShadeModel(GL11.GL_SMOOTH);

View File

@ -181,7 +181,7 @@ public class ItemRenderAmat extends ItemRenderWeaponBase {
}
@Override
public void renderOther(ItemStack stack, ItemRenderType type) {
public void renderOther(ItemStack stack, ItemRenderType type, Object... data) {
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glShadeModel(GL11.GL_SMOOTH);

View File

@ -135,7 +135,7 @@ public class ItemRenderAtlas extends ItemRenderWeaponBase {
}
@Override
public void renderOther(ItemStack stack, ItemRenderType type) {
public void renderOther(ItemStack stack, ItemRenderType type, Object... data) {
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glShadeModel(GL11.GL_SMOOTH);

View File

@ -114,7 +114,7 @@ public class ItemRenderBolter extends ItemRenderWeaponBase {
}
@Override
public void renderOther(ItemStack stack, ItemRenderType type) {
public void renderOther(ItemStack stack, ItemRenderType type, Object... data) {
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glRotated(180, 0, 1, 0);

View File

@ -134,7 +134,7 @@ public class ItemRenderCarbine extends ItemRenderWeaponBase {
}
@Override
public void renderOther(ItemStack stack, ItemRenderType type) {
public void renderOther(ItemStack stack, ItemRenderType type, Object... data) {
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glShadeModel(GL11.GL_SMOOTH);

View File

@ -136,7 +136,7 @@ public class ItemRenderChargeThrower extends ItemRenderWeaponBase {
}
@Override
public void renderOther(ItemStack stack, ItemRenderType type) {
public void renderOther(ItemStack stack, ItemRenderType type, Object... data) {
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glShadeModel(GL11.GL_SMOOTH);

View File

@ -86,7 +86,7 @@ public class ItemRenderChemthrower extends ItemRenderWeaponBase {
}
@Override
public void renderOther(ItemStack stack, ItemRenderType type) {
public void renderOther(ItemStack stack, ItemRenderType type, Object... data) {
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glRotated(90, 0, 1, 0);

View File

@ -83,7 +83,7 @@ public class ItemRenderCoilgun extends ItemRenderWeaponBase {
}
@Override
public void renderOther(ItemStack stack, ItemRenderType type) {
public void renderOther(ItemStack stack, ItemRenderType type, Object... data) {
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glRotated(-90, 0, 1, 0);

View File

@ -168,7 +168,7 @@ public class ItemRenderCongoLake extends ItemRenderWeaponBase {
}
@Override
public void renderOther(ItemStack stack, ItemRenderType type) {
public void renderOther(ItemStack stack, ItemRenderType type, Object... data) {
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glShadeModel(GL11.GL_SMOOTH);

View File

@ -167,7 +167,7 @@ public class ItemRenderDANI extends ItemRenderWeaponBase {
}
@Override
public void renderEquipped(ItemStack stack) {
public void renderEquipped(ItemStack stack, Object... data) {
GL11.glShadeModel(GL11.GL_SMOOTH);
Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.dani_lunar_tex);
@ -216,7 +216,7 @@ public class ItemRenderDANI extends ItemRenderWeaponBase {
}
@Override
public void renderOther(ItemStack stack, ItemRenderType type) {
public void renderOther(ItemStack stack, ItemRenderType type, Object... data) {
GL11.glShadeModel(GL11.GL_SMOOTH);
Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.dani_celestial_tex);

View File

@ -120,7 +120,7 @@ public class ItemRenderDebug extends ItemRenderWeaponBase {
}
@Override
public void renderOther(ItemStack stack, ItemRenderType type) {
public void renderOther(ItemStack stack, ItemRenderType type, Object... data) {
GL11.glRotated(90, 0, 1, 0);
GL11.glEnable(GL11.GL_LIGHTING);

View File

@ -158,7 +158,7 @@ public class ItemRenderDoubleBarrel extends ItemRenderWeaponBase {
}
@Override
public void renderOther(ItemStack stack, ItemRenderType type) {
public void renderOther(ItemStack stack, ItemRenderType type, Object... data) {
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glShadeModel(GL11.GL_SMOOTH);

View File

@ -127,7 +127,7 @@ public class ItemRenderDrill extends ItemRenderWeaponBase {
}
@Override
public void renderOther(ItemStack stack, ItemRenderType type) {
public void renderOther(ItemStack stack, ItemRenderType type, Object... data) {
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glShadeModel(GL11.GL_SMOOTH);

View File

@ -209,7 +209,7 @@ public class ItemRenderEOTT extends ItemRenderWeaponBase {
}
@Override
public void renderEquipped(ItemStack stack) {
public void renderEquipped(ItemStack stack, Object... data) {
GL11.glShadeModel(GL11.GL_SMOOTH);
Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.eott_tex);
@ -268,7 +268,7 @@ public class ItemRenderEOTT extends ItemRenderWeaponBase {
}
@Override
public void renderOther(ItemStack stack, ItemRenderType type) {
public void renderOther(ItemStack stack, ItemRenderType type, Object... data) {
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glAlphaFunc(GL11.GL_GREATER, 0F);

View File

@ -119,7 +119,7 @@ public class ItemRenderFatMan extends ItemRenderWeaponBase {
}
@Override
public void renderOther(ItemStack stack, ItemRenderType type) {
public void renderOther(ItemStack stack, ItemRenderType type, Object... data) {
GL11.glEnable(GL11.GL_LIGHTING);
ItemGunBaseNT gun = (ItemGunBaseNT) stack.getItem();

View File

@ -112,7 +112,7 @@ public class ItemRenderFlamer extends ItemRenderWeaponBase {
}
@Override
public void renderOther(ItemStack stack, ItemRenderType type) {
public void renderOther(ItemStack stack, ItemRenderType type, Object... data) {
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glShadeModel(GL11.GL_SMOOTH);

View File

@ -120,7 +120,7 @@ public class ItemRenderFlaregun extends ItemRenderWeaponBase {
}
@Override
public void renderOther(ItemStack stack, ItemRenderType type) {
public void renderOther(ItemStack stack, ItemRenderType type, Object... data) {
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glShadeModel(GL11.GL_SMOOTH);

View File

@ -202,7 +202,7 @@ public class ItemRenderFolly extends ItemRenderWeaponBase {
}
@Override
public void renderOther(ItemStack stack, ItemRenderType type) {
public void renderOther(ItemStack stack, ItemRenderType type, Object... data) {
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glShadeModel(GL11.GL_SMOOTH);

View File

@ -9,6 +9,7 @@ import com.hbm.main.ResourceManager;
import com.hbm.render.anim.HbmAnimations;
import net.minecraft.client.Minecraft;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ResourceLocation;
@ -180,7 +181,7 @@ public class ItemRenderG3 extends ItemRenderWeaponBase {
}
@Override
public void renderOther(ItemStack stack, ItemRenderType type) {
public void renderOther(ItemStack stack, ItemRenderType type, Object... data) {
GL11.glEnable(GL11.GL_LIGHTING);
boolean silenced = hasSilencer(stack);
@ -209,6 +210,28 @@ public class ItemRenderG3 extends ItemRenderWeaponBase {
if(isScoped) ResourceManager.g3.renderPart("Scope");
}
GL11.glShadeModel(GL11.GL_FLAT);
//third-person muzzle flashes
if(type == ItemRenderType.EQUIPPED && !silenced) {
EntityLivingBase ent = (EntityLivingBase) data[1];
long shot;
double shotRand = 0;
if(ent == Minecraft.getMinecraft().thePlayer) {
ItemGunBaseNT gun = (ItemGunBaseNT) stack.getItem();
shot = gun.lastShot[0];
shotRand = gun.shotRand;
} else {
shot = ItemRenderWeaponBase.flashMap.getOrDefault(ent, (long) -1);
if(shot < 0) return;
}
GL11.glPushMatrix();
GL11.glTranslated(0, 0, 12);
GL11.glRotated(90, 0, 1, 0);
GL11.glRotated(-25 + shotRand * 10, 1, 0, 0);
GL11.glScaled(0.75, 0.75, 0.75);
this.renderMuzzleFlash(shot, 75, 10);
GL11.glPopMatrix();
}
}
public boolean hasStock(ItemStack stack) {

View File

@ -143,13 +143,25 @@ public class ItemRenderGreasegun extends ItemRenderWeaponBase {
}
@Override
public void renderOther(ItemStack stack, ItemRenderType type) {
public void renderOther(ItemStack stack, ItemRenderType type, Object... data) {
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glShadeModel(GL11.GL_SMOOTH);
Minecraft.getMinecraft().renderEngine.bindTexture(isRefurbished(stack) ? ResourceManager.greasegun_clean_tex : ResourceManager.greasegun_tex);
ResourceManager.greasegun.renderAll();
GL11.glShadeModel(GL11.GL_FLAT);
if(type == ItemRenderType.EQUIPPED) {
ItemGunBaseNT gun = (ItemGunBaseNT) stack.getItem();
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();
}
}
public boolean isRefurbished(ItemStack stack) {

View File

@ -134,7 +134,7 @@ public class ItemRenderHangman extends ItemRenderWeaponBase {
}
@Override
public void renderOther(ItemStack stack, ItemRenderType type) {
public void renderOther(ItemStack stack, ItemRenderType type, Object... data) {
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glShadeModel(GL11.GL_SMOOTH);

View File

@ -153,7 +153,7 @@ public class ItemRenderHeavyRevolver extends ItemRenderWeaponBase {
}
@Override
public void renderOther(ItemStack stack, ItemRenderType type) {
public void renderOther(ItemStack stack, ItemRenderType type, Object... data) {
GL11.glRotated(90, 0, 1, 0);
GL11.glEnable(GL11.GL_LIGHTING);

View File

@ -160,7 +160,7 @@ public class ItemRenderHenry extends ItemRenderWeaponBase {
}
@Override
public void renderOther(ItemStack stack, ItemRenderType type) {
public void renderOther(ItemStack stack, ItemRenderType type, Object... data) {
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glShadeModel(GL11.GL_SMOOTH);

View File

@ -135,7 +135,7 @@ public class ItemRenderLAG extends ItemRenderWeaponBase {
}
@Override
public void renderOther(ItemStack stack, ItemRenderType type) {
public void renderOther(ItemStack stack, ItemRenderType type, Object... data) {
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glRotated(90, 0, 1, 0);

View File

@ -122,7 +122,7 @@ public class ItemRenderLaserPistol extends ItemRenderWeaponBase {
}
@Override
public void renderOther(ItemStack stack, ItemRenderType type) {
public void renderOther(ItemStack stack, ItemRenderType type, Object... data) {
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glShadeModel(GL11.GL_SMOOTH);

View File

@ -120,7 +120,7 @@ public class ItemRenderLasrifle extends ItemRenderWeaponBase {
}
@Override
public void renderOther(ItemStack stack, ItemRenderType type) {
public void renderOther(ItemStack stack, ItemRenderType type, Object... data) {
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glShadeModel(GL11.GL_SMOOTH);

View File

@ -150,7 +150,7 @@ public class ItemRenderLiberator extends ItemRenderWeaponBase {
}
@Override
public void renderOther(ItemStack stack, ItemRenderType type) {
public void renderOther(ItemStack stack, ItemRenderType type, Object... data) {
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glShadeModel(GL11.GL_SMOOTH);

View File

@ -102,7 +102,7 @@ public class ItemRenderM2 extends ItemRenderWeaponBase {
}
@Override
public void renderOther(ItemStack stack, ItemRenderType type) {
public void renderOther(ItemStack stack, ItemRenderType type, Object... data) {
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glRotated(180, 0, 1, 0);

View File

@ -178,7 +178,7 @@ public class ItemRenderMAS36 extends ItemRenderWeaponBase {
}
@Override
public void renderOther(ItemStack stack, ItemRenderType type) {
public void renderOther(ItemStack stack, ItemRenderType type, Object... data) {
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glShadeModel(GL11.GL_SMOOTH);

View File

@ -155,7 +155,7 @@ public class ItemRenderMaresleg extends ItemRenderWeaponBase {
}
@Override
public void renderOther(ItemStack stack, ItemRenderType type) {
public void renderOther(ItemStack stack, ItemRenderType type, Object... data) {
GL11.glEnable(GL11.GL_LIGHTING);

View File

@ -204,7 +204,7 @@ public class ItemRenderMareslegAkimbo extends ItemRenderWeaponBase {
}
@Override
public void renderOther(ItemStack stack, ItemRenderType type) {
public void renderOther(ItemStack stack, ItemRenderType type, Object... data) {
GL11.glShadeModel(GL11.GL_SMOOTH);
Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.maresleg_tex);

View File

@ -120,7 +120,7 @@ public class ItemRenderMinigun extends ItemRenderWeaponBase {
}
@Override
public void renderOther(ItemStack stack, ItemRenderType type) {
public void renderOther(ItemStack stack, ItemRenderType type, Object... data) {
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glShadeModel(GL11.GL_SMOOTH);

View File

@ -112,7 +112,7 @@ public class ItemRenderMinigunDual extends ItemRenderWeaponBase {
}
@Override
public void renderEquipped(ItemStack stack) {
public void renderEquipped(ItemStack stack, Object... data) {
GL11.glShadeModel(GL11.GL_SMOOTH);
Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.minigun_dual_tex);
@ -172,7 +172,7 @@ public class ItemRenderMinigunDual extends ItemRenderWeaponBase {
}
@Override
public void renderOther(ItemStack stack, ItemRenderType type) {
public void renderOther(ItemStack stack, ItemRenderType type, Object... data) {
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glShadeModel(GL11.GL_SMOOTH);

View File

@ -141,7 +141,7 @@ public class ItemRenderMissileLauncher extends ItemRenderWeaponBase {
}
@Override
public void renderOther(ItemStack stack, ItemRenderType type) {
public void renderOther(ItemStack stack, ItemRenderType type, Object... data) {
GL11.glEnable(GL11.GL_LIGHTING);
Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.missile_launcher_tex);

View File

@ -144,7 +144,7 @@ public class ItemRenderNI4NI extends ItemRenderWeaponBase {
}
@Override
public void renderOther(ItemStack stack, ItemRenderType type) {
public void renderOther(ItemStack stack, ItemRenderType type, Object... data) {
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glAlphaFunc(GL11.GL_GREATER, 0F);

View File

@ -99,7 +99,7 @@ public class ItemRenderPanzerschreck extends ItemRenderWeaponBase {
}
@Override
public void renderOther(ItemStack stack, ItemRenderType type) {
public void renderOther(ItemStack stack, ItemRenderType type, Object... data) {
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glShadeModel(GL11.GL_SMOOTH);

View File

@ -127,7 +127,7 @@ public class ItemRenderPepperbox extends ItemRenderWeaponBase {
}
@Override
public void renderOther(ItemStack stack, ItemRenderType type) {
public void renderOther(ItemStack stack, ItemRenderType type, Object... data) {
GL11.glEnable(GL11.GL_LIGHTING);

View File

@ -138,7 +138,7 @@ public class ItemRenderQuadro extends ItemRenderWeaponBase {
}
@Override
public void renderOther(ItemStack stack, ItemRenderType type) {
public void renderOther(ItemStack stack, ItemRenderType type, Object... data) {
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glShadeModel(GL11.GL_SMOOTH);

View File

@ -131,7 +131,7 @@ public class ItemRenderSPAS12 extends ItemRenderWeaponBase {
}
@Override
public void renderOther(ItemStack stack, ItemRenderType type) {
public void renderOther(ItemStack stack, ItemRenderType type, Object... data) {
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glRotated(180, 0, 1, 0);

View File

@ -171,7 +171,7 @@ public class ItemRenderSTG77 extends ItemRenderWeaponBase {
}
@Override
public void renderOther(ItemStack stack, ItemRenderType type) {
public void renderOther(ItemStack stack, ItemRenderType type, Object... data) {
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glShadeModel(GL11.GL_SMOOTH);

View File

@ -212,7 +212,7 @@ public class ItemRenderSexy extends ItemRenderWeaponBase {
}
@Override
public void renderOther(ItemStack stack, ItemRenderType type) {
public void renderOther(ItemStack stack, ItemRenderType type, Object... data) {
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glShadeModel(GL11.GL_SMOOTH);

View File

@ -167,7 +167,7 @@ public class ItemRenderShredder extends ItemRenderWeaponBase {
}
@Override
public void renderOther(ItemStack stack, ItemRenderType type) {
public void renderOther(ItemStack stack, ItemRenderType type, Object... data) {
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glShadeModel(GL11.GL_SMOOTH);

View File

@ -127,7 +127,7 @@ public class ItemRenderStinger extends ItemRenderWeaponBase {
}
@Override
public void renderOther(ItemStack stack, ItemRenderType type) {
public void renderOther(ItemStack stack, ItemRenderType type, Object... data) {
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glShadeModel(GL11.GL_SMOOTH);

View File

@ -88,7 +88,7 @@ public class ItemRenderTau extends ItemRenderWeaponBase {
}
@Override
public void renderOther(ItemStack stack, ItemRenderType type) {
public void renderOther(ItemStack stack, ItemRenderType type, Object... data) {
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glShadeModel(GL11.GL_SMOOTH);

View File

@ -136,7 +136,7 @@ public class ItemRenderTeslaCannon extends ItemRenderWeaponBase {
}
@Override
public void renderOther(ItemStack stack, ItemRenderType type) {
public void renderOther(ItemStack stack, ItemRenderType type, Object... data) {
GL11.glEnable(GL11.GL_LIGHTING);
Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.tesla_cannon_tex);

View File

@ -154,7 +154,7 @@ public class ItemRenderUzi extends ItemRenderWeaponBase {
}
@Override
public void renderOther(ItemStack stack, ItemRenderType type) {
public void renderOther(ItemStack stack, ItemRenderType type, Object... data) {
GL11.glEnable(GL11.GL_LIGHTING);
boolean silenced = hasSilencer(stack, 0);

View File

@ -153,7 +153,7 @@ public class ItemRenderUziAkimbo extends ItemRenderWeaponBase {
}
@Override
public void renderEquipped(ItemStack stack) {
public void renderEquipped(ItemStack stack, Object... data) {
GL11.glShadeModel(GL11.GL_SMOOTH);
Minecraft.getMinecraft().renderEngine.bindTexture(isSaturnite(stack, 1) ? ResourceManager.uzi_saturnite_tex : ResourceManager.uzi_tex);
@ -234,7 +234,7 @@ public class ItemRenderUziAkimbo extends ItemRenderWeaponBase {
}
@Override
public void renderOther(ItemStack stack, ItemRenderType type) {
public void renderOther(ItemStack stack, ItemRenderType type, Object... data) {
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glShadeModel(GL11.GL_SMOOTH);

View File

@ -1,5 +1,6 @@
package com.hbm.render.item.weapon.sedna;
import java.util.HashMap;
import java.util.List;
import org.lwjgl.opengl.GL11;
@ -33,6 +34,7 @@ public abstract class ItemRenderWeaponBase implements IItemRenderer {
public static final ResourceLocation laser_flash = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/laser_flash.png");
public static float interp;
public static HashMap<EntityLivingBase, Long> flashMap = new HashMap<EntityLivingBase, Long>();
public boolean isAkimbo() { return false; }
public boolean isLeftHanded() { return false; }
@ -46,7 +48,7 @@ public abstract class ItemRenderWeaponBase implements IItemRenderer {
public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) {
return helper == ItemRendererHelper.ENTITY_BOBBING || helper == ItemRendererHelper.ENTITY_ROTATION;
}
@SuppressWarnings("incomplete-switch") //shut the fuck up
@Override
public void renderItem(ItemRenderType type, ItemStack item, Object... data) {
@ -55,14 +57,14 @@ public abstract class ItemRenderWeaponBase implements IItemRenderer {
switch(type) {
case EQUIPPED_FIRST_PERSON: setupFirstPerson(item); renderFirstPerson(item); break;
case EQUIPPED:
if(isLeftHanded()) break; setupThirdPerson(item); renderEquipped(item); break;
if(isLeftHanded()) break; setupThirdPerson(item); renderEquipped(item, data); break;
case INVENTORY: setupInv(item); renderInv(item); break;
case ENTITY: setupEntity(item); renderEntity(item); break;
}
GL11.glPopMatrix();
}
public void renderEquipped(ItemStack stack) { renderOther(stack, ItemRenderType.EQUIPPED); }
//entitylivingbase is second Object passed
public void renderEquipped(ItemStack stack, Object... data) { renderOther(stack, ItemRenderType.EQUIPPED, data); }
public void renderEquippedAkimbo(ItemStack stack) { renderOther(stack, ItemRenderType.EQUIPPED); }
public void renderInv(ItemStack stack) { renderOther(stack, ItemRenderType.INVENTORY); }
public void renderEntity(ItemStack stack) { renderOther(stack, ItemRenderType.ENTITY); }
@ -277,7 +279,7 @@ public abstract class ItemRenderWeaponBase implements IItemRenderer {
}
public abstract void renderFirstPerson(ItemStack stack);
public void renderOther(ItemStack stack, ItemRenderType type) { }
public void renderOther(ItemStack stack, ItemRenderType type, Object... data) { }
public static void standardAimingTransform(ItemStack stack, double sX, double sY, double sZ, double aX, double aY, double aZ) {
float aimingProgress = ItemGunBaseNT.prevAimingProgress + (ItemGunBaseNT.aimingProgress - ItemGunBaseNT.prevAimingProgress) * interp;
@ -347,6 +349,7 @@ public abstract class ItemRenderWeaponBase implements IItemRenderer {
GL11.glEnable(GL11.GL_BLEND);
GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE);
GL11.glDepthMask(false);
GL11.glDisable(GL11.GL_CULL_FACE);
GL11.glPushMatrix();
double fire = (System.currentTimeMillis() - lastShot) / (double) flash;
@ -384,6 +387,7 @@ public abstract class ItemRenderWeaponBase implements IItemRenderer {
GL11.glPopMatrix();
GL11.glDepthMask(true);
GL11.glDisable(GL11.GL_BLEND);
GL11.glEnable(GL11.GL_CULL_FACE);
}
}