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 0192bb059..aadbb52a5 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 @@ -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) { diff --git a/src/main/java/com/hbm/main/ModEventHandlerClient.java b/src/main/java/com/hbm/main/ModEventHandlerClient.java index 8f9ac08b5..9af5d3172 100644 --- a/src/main/java/com/hbm/main/ModEventHandlerClient.java +++ b/src/main/java/com/hbm/main/ModEventHandlerClient.java @@ -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); + } } } diff --git a/src/main/java/com/hbm/packet/PacketDispatcher.java b/src/main/java/com/hbm/packet/PacketDispatcher.java index e61fd0082..207f95ca2 100644 --- a/src/main/java/com/hbm/packet/PacketDispatcher.java +++ b/src/main/java/com/hbm/packet/PacketDispatcher.java @@ -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); } } diff --git a/src/main/java/com/hbm/packet/toclient/MuzzleFlashPacket.java b/src/main/java/com/hbm/packet/toclient/MuzzleFlashPacket.java new file mode 100644 index 000000000..c6d5d7feb --- /dev/null +++ b/src/main/java/com/hbm/packet/toclient/MuzzleFlashPacket.java @@ -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 { + + @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; + } + + } +} diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderAberrator.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderAberrator.java index 4673f7998..2fc69657d 100644 --- a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderAberrator.java +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderAberrator.java @@ -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); diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderAm180.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderAm180.java index 23d32f066..9b02af74e 100644 --- a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderAm180.java +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderAm180.java @@ -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); diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderAmat.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderAmat.java index 97c5b88bc..f20872a23 100644 --- a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderAmat.java +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderAmat.java @@ -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); diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderAtlas.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderAtlas.java index 8d0bcfe47..93491598f 100644 --- a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderAtlas.java +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderAtlas.java @@ -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); diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderBolter.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderBolter.java index de524c481..b14a396cb 100644 --- a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderBolter.java +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderBolter.java @@ -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); diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderCarbine.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderCarbine.java index 36fae0ee0..6d6a71f71 100644 --- a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderCarbine.java +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderCarbine.java @@ -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); diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderChargeThrower.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderChargeThrower.java index d039b18bc..b7b78c9e7 100644 --- a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderChargeThrower.java +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderChargeThrower.java @@ -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); diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderChemthrower.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderChemthrower.java index 238aa9a5a..9020b9c84 100644 --- a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderChemthrower.java +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderChemthrower.java @@ -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); diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderCoilgun.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderCoilgun.java index 84a709149..985362209 100644 --- a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderCoilgun.java +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderCoilgun.java @@ -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); diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderCongoLake.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderCongoLake.java index b628ce34a..48aac7e48 100644 --- a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderCongoLake.java +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderCongoLake.java @@ -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); diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderDANI.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderDANI.java index 1da273b6c..daab6c279 100644 --- a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderDANI.java +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderDANI.java @@ -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); diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderDebug.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderDebug.java index 981138487..5751aad58 100644 --- a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderDebug.java +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderDebug.java @@ -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); diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderDoubleBarrel.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderDoubleBarrel.java index bc9fcf024..5274de066 100644 --- a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderDoubleBarrel.java +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderDoubleBarrel.java @@ -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); diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderDrill.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderDrill.java index 709c306b1..c9417ddfc 100644 --- a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderDrill.java +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderDrill.java @@ -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); diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderEOTT.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderEOTT.java index 15fac95a2..3d2229432 100644 --- a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderEOTT.java +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderEOTT.java @@ -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); diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderFatMan.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderFatMan.java index 67ad4ba90..9c5f7f7bf 100644 --- a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderFatMan.java +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderFatMan.java @@ -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(); diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderFlamer.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderFlamer.java index f1c9f3560..d36f3cd48 100644 --- a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderFlamer.java +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderFlamer.java @@ -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); diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderFlaregun.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderFlaregun.java index d21439d5d..d708cdea0 100644 --- a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderFlaregun.java +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderFlaregun.java @@ -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); diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderFolly.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderFolly.java index 2908e52d1..8a06c72b8 100644 --- a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderFolly.java +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderFolly.java @@ -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); diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderG3.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderG3.java index ca7650ece..f66ec0917 100644 --- a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderG3.java +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderG3.java @@ -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) { diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderGreasegun.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderGreasegun.java index 7b9969d22..5f2bc578f 100644 --- a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderGreasegun.java +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderGreasegun.java @@ -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) { diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderHangman.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderHangman.java index 21948b4a8..54ed9b280 100644 --- a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderHangman.java +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderHangman.java @@ -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); diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderHeavyRevolver.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderHeavyRevolver.java index acad2ddb2..9b871f090 100644 --- a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderHeavyRevolver.java +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderHeavyRevolver.java @@ -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); diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderHenry.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderHenry.java index df4bbf90c..6e3f26942 100644 --- a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderHenry.java +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderHenry.java @@ -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); diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderLAG.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderLAG.java index 4e69f2572..95a4267a8 100644 --- a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderLAG.java +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderLAG.java @@ -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); diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderLaserPistol.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderLaserPistol.java index 208a26aed..7cd3678a7 100644 --- a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderLaserPistol.java +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderLaserPistol.java @@ -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); diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderLasrifle.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderLasrifle.java index 7cb1a4140..2a85e1598 100644 --- a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderLasrifle.java +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderLasrifle.java @@ -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); diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderLiberator.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderLiberator.java index bb46a00b3..df293dada 100644 --- a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderLiberator.java +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderLiberator.java @@ -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); diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderM2.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderM2.java index 2069d94a6..c9bbaf445 100644 --- a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderM2.java +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderM2.java @@ -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); diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderMAS36.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderMAS36.java index 86a94fecb..bb766b01f 100644 --- a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderMAS36.java +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderMAS36.java @@ -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); 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 cc4d945ae..eda9c5863 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 @@ -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); diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderMareslegAkimbo.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderMareslegAkimbo.java index 4ae026ddb..18ea42e35 100644 --- a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderMareslegAkimbo.java +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderMareslegAkimbo.java @@ -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); diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderMinigun.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderMinigun.java index 5d33852bc..9a0fbefe7 100644 --- a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderMinigun.java +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderMinigun.java @@ -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); diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderMinigunDual.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderMinigunDual.java index 715cd3fda..49278464a 100644 --- a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderMinigunDual.java +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderMinigunDual.java @@ -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); diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderMissileLauncher.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderMissileLauncher.java index 09149bfa4..c4a0fd1b7 100644 --- a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderMissileLauncher.java +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderMissileLauncher.java @@ -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); diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderNI4NI.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderNI4NI.java index c38aefa5f..08759711c 100644 --- a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderNI4NI.java +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderNI4NI.java @@ -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); diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderPanzerschreck.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderPanzerschreck.java index 7538b0371..7aabc98ba 100644 --- a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderPanzerschreck.java +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderPanzerschreck.java @@ -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); diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderPepperbox.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderPepperbox.java index a653d60f4..e732af0e5 100644 --- a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderPepperbox.java +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderPepperbox.java @@ -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); diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderQuadro.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderQuadro.java index 61a50d391..c86dfd27b 100644 --- a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderQuadro.java +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderQuadro.java @@ -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); diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderSPAS12.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderSPAS12.java index 5cab21b0b..803561443 100644 --- a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderSPAS12.java +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderSPAS12.java @@ -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); diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderSTG77.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderSTG77.java index 64bf11710..c39db100d 100644 --- a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderSTG77.java +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderSTG77.java @@ -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); diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderSexy.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderSexy.java index 7c961b43c..988ff6118 100644 --- a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderSexy.java +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderSexy.java @@ -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); diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderShredder.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderShredder.java index 313ff60a4..45de8d96e 100644 --- a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderShredder.java +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderShredder.java @@ -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); diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderStinger.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderStinger.java index 3e72596e1..df6b11ba1 100644 --- a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderStinger.java +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderStinger.java @@ -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); diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderTau.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderTau.java index 440cdb9d5..6450a556b 100644 --- a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderTau.java +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderTau.java @@ -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); diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderTeslaCannon.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderTeslaCannon.java index c10d2c977..77bb6e29e 100644 --- a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderTeslaCannon.java +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderTeslaCannon.java @@ -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); diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderUzi.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderUzi.java index c4887c37c..57e14bb82 100644 --- a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderUzi.java +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderUzi.java @@ -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); diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderUziAkimbo.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderUziAkimbo.java index b7c71507d..881f3a84e 100644 --- a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderUziAkimbo.java +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderUziAkimbo.java @@ -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); diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderWeaponBase.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderWeaponBase.java index 34484b5e3..d0219d591 100644 --- a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderWeaponBase.java +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderWeaponBase.java @@ -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 flashMap = new HashMap(); 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); } }