mirror of
https://github.com/HbmMods/Hbm-s-Nuclear-Tech-GIT.git
synced 2026-01-25 10:32:49 +00:00
revolver animations
This commit is contained in:
parent
f771345f88
commit
7777fdb32a
@ -49,7 +49,7 @@ public class ItemArmorMod extends Item {
|
|||||||
if(chestplate)
|
if(chestplate)
|
||||||
list.add(" " + I18nUtil.resolveKey("armorMod.chestplates"));
|
list.add(" " + I18nUtil.resolveKey("armorMod.chestplates"));
|
||||||
if(leggings)
|
if(leggings)
|
||||||
list.add(" " + I18nUtil.resolveKey("armorMod.leggins"));
|
list.add(" " + I18nUtil.resolveKey("armorMod.leggings"));
|
||||||
if(boots)
|
if(boots)
|
||||||
list.add(" " + I18nUtil.resolveKey("armorMod.boots"));
|
list.add(" " + I18nUtil.resolveKey("armorMod.boots"));
|
||||||
}
|
}
|
||||||
|
|||||||
@ -27,7 +27,7 @@ public class ItemTemplateFolder extends Item {
|
|||||||
|
|
||||||
String[] lang = I18nUtil.resolveKeyArray(this.getUnlocalizedName() + ".desc");
|
String[] lang = I18nUtil.resolveKeyArray(this.getUnlocalizedName() + ".desc");
|
||||||
for(String line : lang) {
|
for(String line : lang) {
|
||||||
list.add(lang);
|
list.add(line);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -16,6 +16,7 @@ import com.hbm.packet.AuxParticlePacketNT;
|
|||||||
import com.hbm.packet.GunAnimationPacket;
|
import com.hbm.packet.GunAnimationPacket;
|
||||||
import com.hbm.packet.GunButtonPacket;
|
import com.hbm.packet.GunButtonPacket;
|
||||||
import com.hbm.packet.PacketDispatcher;
|
import com.hbm.packet.PacketDispatcher;
|
||||||
|
import com.hbm.render.anim.BusAnimation;
|
||||||
import com.hbm.render.anim.HbmAnimations.AnimType;
|
import com.hbm.render.anim.HbmAnimations.AnimType;
|
||||||
import com.hbm.render.util.RenderScreenOverlay;
|
import com.hbm.render.util.RenderScreenOverlay;
|
||||||
import com.hbm.render.util.RenderScreenOverlay.Crosshair;
|
import com.hbm.render.util.RenderScreenOverlay.Crosshair;
|
||||||
@ -248,7 +249,7 @@ public class ItemGunBase extends Item implements IHoldableWeapon, IItemHUD {
|
|||||||
EntityBulletBase bullet = new EntityBulletBase(world, config, player);
|
EntityBulletBase bullet = new EntityBulletBase(world, config, player);
|
||||||
world.spawnEntityInWorld(bullet);
|
world.spawnEntityInWorld(bullet);
|
||||||
|
|
||||||
if(this.mainConfig.animations.containsKey(AnimType.CYCLE) && player instanceof EntityPlayerMP)
|
if(player instanceof EntityPlayerMP)
|
||||||
PacketDispatcher.wrapper.sendTo(new GunAnimationPacket(AnimType.CYCLE.ordinal()), (EntityPlayerMP) player);
|
PacketDispatcher.wrapper.sendTo(new GunAnimationPacket(AnimType.CYCLE.ordinal()), (EntityPlayerMP) player);
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -804,4 +805,10 @@ public class ItemGunBase extends Item implements IHoldableWeapon, IItemHUD {
|
|||||||
RenderScreenOverlay.renderCustomCrosshairs(event.resolution, Minecraft.getMinecraft().ingameGUI, Crosshair.NONE);
|
RenderScreenOverlay.renderCustomCrosshairs(event.resolution, Minecraft.getMinecraft().ingameGUI, Crosshair.NONE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@SideOnly(Side.CLIENT)
|
||||||
|
public BusAnimation getAnimation(ItemStack stack, AnimType type) {
|
||||||
|
GunConfiguration config = ((ItemGunBase) stack.getItem()).mainConfig;
|
||||||
|
return config.animations.get(type);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -4,6 +4,10 @@ import java.util.ArrayList;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import com.hbm.handler.GunConfiguration;
|
import com.hbm.handler.GunConfiguration;
|
||||||
|
import com.hbm.render.anim.BusAnimation;
|
||||||
|
import com.hbm.render.anim.BusAnimationKeyframe;
|
||||||
|
import com.hbm.render.anim.BusAnimationSequence;
|
||||||
|
import com.hbm.render.anim.HbmAnimations.AnimType;
|
||||||
|
|
||||||
import cpw.mods.fml.relauncher.Side;
|
import cpw.mods.fml.relauncher.Side;
|
||||||
import cpw.mods.fml.relauncher.SideOnly;
|
import cpw.mods.fml.relauncher.SideOnly;
|
||||||
@ -32,7 +36,7 @@ public class ItemGunBio extends ItemGunBase {
|
|||||||
protected void updateClient(ItemStack stack, World world, EntityPlayer entity, int slot, boolean isCurrentItem) {
|
protected void updateClient(ItemStack stack, World world, EntityPlayer entity, int slot, boolean isCurrentItem) {
|
||||||
super.updateClient(stack, world, entity, slot, isCurrentItem);
|
super.updateClient(stack, world, entity, slot, isCurrentItem);
|
||||||
|
|
||||||
boolean smoking = lastShot + 3000 > System.currentTimeMillis();
|
boolean smoking = lastShot + 2000 > System.currentTimeMillis();
|
||||||
|
|
||||||
if(!smoking && !smokeNodes.isEmpty()) {
|
if(!smoking && !smokeNodes.isEmpty()) {
|
||||||
smokeNodes.clear();
|
smokeNodes.clear();
|
||||||
@ -52,10 +56,71 @@ public class ItemGunBio extends ItemGunBase {
|
|||||||
node[2] += prev.zCoord * accel + world.rand.nextGaussian() * waggle;
|
node[2] += prev.zCoord * accel + world.rand.nextGaussian() * waggle;
|
||||||
}
|
}
|
||||||
|
|
||||||
double alpha = (System.currentTimeMillis() - ItemGunBio.lastShot) / 3000D;
|
double alpha = (System.currentTimeMillis() - ItemGunBio.lastShot) / 2000D;
|
||||||
alpha = (1 - alpha) * 0.25D;
|
alpha = (1 - alpha) * 0.35D;
|
||||||
|
|
||||||
|
if(this.getReloadCycle(stack) > 0) alpha = 0;
|
||||||
|
|
||||||
smokeNodes.add(new double[] {0, 0, 0, alpha});
|
smokeNodes.add(new double[] {0, 0, 0, alpha});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@SideOnly(Side.CLIENT)
|
||||||
|
public BusAnimation getAnimation(ItemStack stack, AnimType type) {
|
||||||
|
//GunConfiguration config = ((ItemGunBase) stack.getItem()).mainConfig;
|
||||||
|
//return config.animations.get(type);
|
||||||
|
|
||||||
|
if(type == AnimType.CYCLE) return new BusAnimation()
|
||||||
|
.addBus("RECOIL", new BusAnimationSequence()
|
||||||
|
.addKeyframe(new BusAnimationKeyframe(0, 0, 0, 50))
|
||||||
|
.addKeyframe(new BusAnimationKeyframe(0, 0, -3, 50))
|
||||||
|
.addKeyframe(new BusAnimationKeyframe(0, 0, 0, 250))
|
||||||
|
)
|
||||||
|
.addBus("HAMMER", new BusAnimationSequence()
|
||||||
|
.addKeyframe(new BusAnimationKeyframe(0, 0, 1, 50))
|
||||||
|
.addKeyframe(new BusAnimationKeyframe(0, 0, 1, 300))
|
||||||
|
.addKeyframe(new BusAnimationKeyframe(0, 0, 0, 200))
|
||||||
|
)
|
||||||
|
.addBus("DRUM", new BusAnimationSequence()
|
||||||
|
.addKeyframe(new BusAnimationKeyframe(0, 0, 1, 50))
|
||||||
|
);
|
||||||
|
|
||||||
|
if(type == AnimType.RELOAD) return new BusAnimation()
|
||||||
|
.addBus("LATCH", new BusAnimationSequence()
|
||||||
|
.addKeyframe(new BusAnimationKeyframe(0, 0, 90, 300))
|
||||||
|
.addKeyframe(new BusAnimationKeyframe(0, 0, 90, 2000))
|
||||||
|
.addKeyframe(new BusAnimationKeyframe(0, 0, 0, 150))
|
||||||
|
)
|
||||||
|
.addBus("FRONT", new BusAnimationSequence()
|
||||||
|
.addKeyframe(new BusAnimationKeyframe(0, 0, 0, 200))
|
||||||
|
.addKeyframe(new BusAnimationKeyframe(0, 0, 45, 150))
|
||||||
|
.addKeyframe(new BusAnimationKeyframe(0, 0, 45, 2000))
|
||||||
|
.addKeyframe(new BusAnimationKeyframe(0, 0, 0, 75))
|
||||||
|
)
|
||||||
|
.addBus("RELOAD_ROT", new BusAnimationSequence()
|
||||||
|
.addKeyframe(new BusAnimationKeyframe(0, 0, 0, 300))
|
||||||
|
.addKeyframe(new BusAnimationKeyframe(60, 0, 0, 500))
|
||||||
|
.addKeyframe(new BusAnimationKeyframe(60, 0, 0, 500))
|
||||||
|
.addKeyframe(new BusAnimationKeyframe(0, -90, -90, 0))
|
||||||
|
.addKeyframe(new BusAnimationKeyframe(0, -90, -90, 600))
|
||||||
|
.addKeyframe(new BusAnimationKeyframe(0, 0, 0, 300))
|
||||||
|
.addKeyframe(new BusAnimationKeyframe(0, 0, 0, 100))
|
||||||
|
.addKeyframe(new BusAnimationKeyframe(-45, 0, 0, 50))
|
||||||
|
.addKeyframe(new BusAnimationKeyframe(-45, 0, 0, 100))
|
||||||
|
.addKeyframe(new BusAnimationKeyframe(0, 0, 0, 300))
|
||||||
|
)
|
||||||
|
.addBus("RELOAD_MOVE", new BusAnimationSequence()
|
||||||
|
.addKeyframe(new BusAnimationKeyframe(0, 0, 0, 300))
|
||||||
|
.addKeyframe(new BusAnimationKeyframe(0, -15, 0, 1000))
|
||||||
|
.addKeyframe(new BusAnimationKeyframe(0, 0, 0, 450))
|
||||||
|
)
|
||||||
|
.addBus("DRUM_PUSH", new BusAnimationSequence()
|
||||||
|
.addKeyframe(new BusAnimationKeyframe(0, 0, 0, 1600))
|
||||||
|
.addKeyframe(new BusAnimationKeyframe(0, 0, -5, 0))
|
||||||
|
.addKeyframe(new BusAnimationKeyframe(0, 0, 0, 300))
|
||||||
|
);
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,6 +1,5 @@
|
|||||||
package com.hbm.packet;
|
package com.hbm.packet;
|
||||||
|
|
||||||
import com.hbm.handler.GunConfiguration;
|
|
||||||
import com.hbm.items.weapon.ItemGunBase;
|
import com.hbm.items.weapon.ItemGunBase;
|
||||||
import com.hbm.render.anim.BusAnimation;
|
import com.hbm.render.anim.BusAnimation;
|
||||||
import com.hbm.render.anim.HbmAnimations;
|
import com.hbm.render.anim.HbmAnimations;
|
||||||
@ -58,10 +57,8 @@ public class GunAnimationPacket implements IMessage {
|
|||||||
if(m.type < 0 || m.type >= AnimType.values().length)
|
if(m.type < 0 || m.type >= AnimType.values().length)
|
||||||
return null;
|
return null;
|
||||||
|
|
||||||
GunConfiguration config = ((ItemGunBase) stack.getItem()).mainConfig;
|
|
||||||
AnimType type = AnimType.values()[m.type];
|
AnimType type = AnimType.values()[m.type];
|
||||||
|
BusAnimation animation = ((ItemGunBase) stack.getItem()).getAnimation(stack, type);
|
||||||
BusAnimation animation = config.animations.get(type);
|
|
||||||
|
|
||||||
if(animation != null) {
|
if(animation != null) {
|
||||||
HbmAnimations.hotbar[slot] = new Animation(stack.getItem().getUnlocalizedName(), System.currentTimeMillis(), animation);
|
HbmAnimations.hotbar[slot] = new Animation(stack.getItem().getUnlocalizedName(), System.currentTimeMillis(), animation);
|
||||||
|
|||||||
@ -4,6 +4,7 @@ import org.lwjgl.opengl.GL11;
|
|||||||
|
|
||||||
import com.hbm.items.weapon.ItemGunBio;
|
import com.hbm.items.weapon.ItemGunBio;
|
||||||
import com.hbm.main.ResourceManager;
|
import com.hbm.main.ResourceManager;
|
||||||
|
import com.hbm.render.anim.HbmAnimations;
|
||||||
|
|
||||||
import net.minecraft.client.Minecraft;
|
import net.minecraft.client.Minecraft;
|
||||||
import net.minecraft.client.renderer.Tessellator;
|
import net.minecraft.client.renderer.Tessellator;
|
||||||
@ -52,6 +53,9 @@ public class ItemRenderBioRevolver implements IItemRenderer {
|
|||||||
GL11.glPushMatrix();
|
GL11.glPushMatrix();
|
||||||
GL11.glTranslated(0.0, 2.0, 10.0);
|
GL11.glTranslated(0.0, 2.0, 10.0);
|
||||||
|
|
||||||
|
double[] recoil = HbmAnimations.getRelevantTransformation("RECOIL");
|
||||||
|
GL11.glTranslated(0, -recoil[2] * 1.5, recoil[2]);
|
||||||
|
|
||||||
if(ItemGunBio.smokeNodes.size() > 1) {
|
if(ItemGunBio.smokeNodes.size() > 1) {
|
||||||
|
|
||||||
Tessellator tess = Tessellator.instance;
|
Tessellator tess = Tessellator.instance;
|
||||||
@ -79,6 +83,48 @@ public class ItemRenderBioRevolver implements IItemRenderer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
GL11.glPopMatrix();
|
GL11.glPopMatrix();
|
||||||
|
GL11.glTranslated(recoil[0], recoil[1], recoil[2]);
|
||||||
|
GL11.glRotated(recoil[2] * 10, 1, 0, 0);
|
||||||
|
|
||||||
|
double[] reloadMove = HbmAnimations.getRelevantTransformation("RELOAD_MOVE");
|
||||||
|
GL11.glTranslated(reloadMove[0], reloadMove[1], reloadMove[2]);
|
||||||
|
|
||||||
|
double[] reloadRot = HbmAnimations.getRelevantTransformation("RELOAD_ROT");
|
||||||
|
GL11.glRotated(reloadRot[0], 1, 0, 0);
|
||||||
|
GL11.glRotated(reloadRot[2], 0, 0, 1);
|
||||||
|
GL11.glRotated(reloadRot[1], 0, 1, 0);
|
||||||
|
|
||||||
|
GL11.glShadeModel(GL11.GL_SMOOTH);
|
||||||
|
ResourceManager.bio_revolver.renderPart("Grip");
|
||||||
|
|
||||||
|
GL11.glPushMatrix(); /// FRONT PUSH ///
|
||||||
|
GL11.glRotated(HbmAnimations.getRelevantTransformation("FRONT")[2], 1, 0, 0);
|
||||||
|
ResourceManager.bio_revolver.renderPart("Barrel");
|
||||||
|
GL11.glPushMatrix(); /// LATCH PUSH ///
|
||||||
|
GL11.glTranslated(0, 2.3125, -0.875);
|
||||||
|
GL11.glRotated(HbmAnimations.getRelevantTransformation("LATCH")[2], 1, 0, 0);
|
||||||
|
GL11.glTranslated(0, -2.3125, 0.875);
|
||||||
|
ResourceManager.bio_revolver.renderPart("Latch");
|
||||||
|
GL11.glPopMatrix(); /// LATCH POP ///
|
||||||
|
|
||||||
|
GL11.glPushMatrix(); /// DRUM PUSH ///
|
||||||
|
GL11.glTranslated(0, 1, 0);
|
||||||
|
GL11.glRotated(HbmAnimations.getRelevantTransformation("DRUM")[2] * 60, 0, 0, 1);
|
||||||
|
GL11.glTranslated(0, -1, 0);
|
||||||
|
GL11.glTranslated(0, 0, HbmAnimations.getRelevantTransformation("DRUM_PUSH")[2]);
|
||||||
|
ResourceManager.bio_revolver.renderPart("Drum");
|
||||||
|
GL11.glPopMatrix(); /// DRUM POP ///
|
||||||
|
|
||||||
|
GL11.glPopMatrix(); /// FRONT POP ///
|
||||||
|
|
||||||
|
GL11.glPushMatrix(); /// HAMMER ///
|
||||||
|
GL11.glTranslated(0, 0, -4.5);
|
||||||
|
GL11.glRotated(-45 + 45 * HbmAnimations.getRelevantTransformation("HAMMER")[2], 1, 0, 0);
|
||||||
|
GL11.glTranslated(0, 0, 4.5);
|
||||||
|
ResourceManager.bio_revolver.renderPart("Hammer");
|
||||||
|
GL11.glPopMatrix();
|
||||||
|
|
||||||
|
GL11.glShadeModel(GL11.GL_FLAT);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -115,9 +161,11 @@ public class ItemRenderBioRevolver implements IItemRenderer {
|
|||||||
default: break;
|
default: break;
|
||||||
}
|
}
|
||||||
|
|
||||||
GL11.glShadeModel(GL11.GL_SMOOTH);
|
if(type != ItemRenderType.EQUIPPED_FIRST_PERSON) {
|
||||||
ResourceManager.bio_revolver.renderAll();
|
GL11.glShadeModel(GL11.GL_SMOOTH);
|
||||||
GL11.glShadeModel(GL11.GL_FLAT);
|
ResourceManager.bio_revolver.renderAll();
|
||||||
|
GL11.glShadeModel(GL11.GL_FLAT);
|
||||||
|
}
|
||||||
|
|
||||||
GL11.glPopMatrix();
|
GL11.glPopMatrix();
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user