package divcraft.guns.render;
import net.minecraft.client.Minecraft;
import net.minecraft.client.entity.EntityClientPlayerMP;
import net.minecraft.client.renderer.RenderBlocks;
import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.util.MathHelper;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.client.IItemRenderer;
import net.minecraftforge.client.model.AdvancedModelLoader;
import net.minecraftforge.client.model.IModelCustom;
import org.lwjgl.input.Keyboard;
import org.lwjgl.input.Mouse;
import org.lwjgl.opengl.GL11;
import divcraft.guns.handler.KeyGuns;
import divcraft.guns.handler.TickGuns;
import divcraft.guns.items.ItemGun;
import divcraft.guns.model.Ruka;
import divcraft.guns.player.DivPlayer;
import divcraft.guns.utils.GunsLoader;
public class Ak74Render implements IItemRenderer {
private IModelCustom model;
protected Ruka Ruka;
public EntityPlayer player;
float speed;
float scope;
float shot;
public int spoc;
TickGuns tick = new TickGuns();
public Ak74Render() {
model = AdvancedModelLoader
.loadModel("/assets/divstalker/models/ak74u.obj");
Ruka = new Ruka();
}
@Override
public boolean handleRenderType(ItemStack item, ItemRenderType type) {
switch (type) {
case EQUIPPED:
return true;
case EQUIPPED_FIRST_PERSON:
return true;
case ENTITY:
return true;
default:
return false;
}
}
@Override
public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item,
ItemRendererHelper helper) {
return false;
}
@Override
public void renderItem(ItemRenderType type, ItemStack item, Object... data) {
switch (type) {
case EQUIPPED_FIRST_PERSON: {
EntityPlayer player = (EntityPlayer) data[1];
if (player.isSprinting()) {
speed += 0.05;
} else {
speed -= 0.05;
if (Mouse.isButtonDown(1)) {
scope += 0.05;
} else {
scope -= 0.05;
}
if (Mouse.isButtonDown(0)) {
shot += 0.05;
} else {
shot -= 0.05;
}
}
if (speed >= 1.0) {
speed = 1;
}
if (speed <= 0) {
speed = 0;
}
if (scope >= 1.0) {
scope = 1;
}
if (scope <= 0) {
scope = 0;
}
float ospeed = 1 - speed;
float oscope = 1 - scope;
float oshot = 1 - shot;
GL11.glPushMatrix();
TickGuns tick = new TickGuns();
Minecraft.getMinecraft().renderEngine
.bindTexture(new ResourceLocation("divstalker",
"textures/ak74u.png"));
if (Mouse.isButtonDown(1) && !player.isSprinting()) {
float[] rot1 = { 18.0F, 0.0F, 0.0F, 1.0F };
float[] rot2 = { 22.0F, 0.0F, 0.0F, 1F };
float[] sc1 = { 0.07F, 0.07F, 0.07F };
float[] sc2 = { 0.07F, 0.07F, 0.07F };
float[] tr1 = { 0.5F, 0.6F, 0.35F };
float[] tr2 = { 0.1F, 1F, 0.46F };
GL11.glRotatef(45F, -0.95F, -1.9F, 1F);
GL11.glRotatef(65F, -22F, 1.5F, 1F);
GL11.glRotatef(rot1[0] * oscope + rot2[0] * scope, rot1[1]
* oscope + rot2[1] * scope, rot1[2] * oscope + rot2[2]
* scope, rot1[3] * oscope + rot2[3] * scope);
GL11.glTranslatef(tr1[0] * oscope + tr2[0] * scope, tr1[1]
* oscope + tr2[1] * scope, tr1[2] * oscope + tr2[2]
* scope);
GL11.glScalef(sc1[0] * oscope + sc2[0] * scope, sc1[1] * oscope
+ sc2[1] * scope, sc1[2] * oscope + sc2[2] * scope);
if (Mouse.isButtonDown(0)) {
if (((ItemGun) player.inventory.getCurrentItem().getItem()).curBullet != 0) {
if (tick.sload == 1) {
GL11.glTranslatef(MathHelper.sin(-1F) * 1, 0.0F,
0.0F);
}
}
}
} else {
float[] tr1 = { 0.5F, 0.6F, 0.35F };
float[] tr2 = { 0.8F, -0.1F, 0.35F };
float[] rot1 = { 18.0F, 0.0F, 0.0F, 1.0F };
float[] rot2 = { 100.0F, 0.0F, 0.0F, 1.0F };
float[] sc1 = { 0.07F, 0.07F, 0.07F };
float[] sc2 = { 0.05F, 0.05F, 0.05F };
GL11.glRotatef(45F, -0.95F, -1.9F, 1F);
GL11.glRotatef(65F, -22F, 1.5F, 0F);
GL11.glRotatef(rot1[0] * ospeed + rot2[0] * speed, rot1[1]
* ospeed + rot2[1] * speed, rot1[2] * ospeed + rot2[2]
* speed, rot1[3] * ospeed + rot2[3] * speed);
GL11.glTranslatef(tr1[0] * ospeed + tr2[0] * speed, tr1[1]
* ospeed + tr2[1] * speed, tr1[2] * ospeed + tr2[2]
* speed);
GL11.glScalef(sc1[0] * ospeed + sc2[0] * speed, sc1[1] * ospeed
+ sc2[1] * speed, sc1[2] * ospeed + sc2[2] * speed);
if (Mouse.isButtonDown(0)) {
if (player.inventory.getCurrentItem() != null) {
if (player.inventory.getCurrentItem().getItem() == GunsLoader.ak74) {
if (((ItemGun) player.inventory.getCurrentItem()
.getItem()).curBullet != 0) {
if (tick.sload == 1) {
GL11.glTranslatef(MathHelper.sin(-1F) * 1,
0.0F, 0.0F);
}
}
}
}
}
}
if (KeyGuns.reload.isPressed()) {
}
float scale = 1.0F;
model.renderAll();
GL11.glPopMatrix();
GL11.glPushMatrix();
RenderBlocks rb = (RenderBlocks) data[0];
EntityClientPlayerMP icon11 = (EntityClientPlayerMP) data[1];
rb.minecraftRB.renderEngine.bindTexture(icon11.getLocationSkin());
GL11.glRotatef(150F, 1.5F, -1F, -0.3F);
GL11.glRotatef(65F, -10F, 1F, 0F);
GL11.glRotatef(-10F, 30F, 10F, 0.05F);
if (Mouse.isButtonDown(1) && !player.isSprinting()) {
float[] tr11 = { -0.1F, -0.5F, -0.4F };
float[] tr22 = { -0.1F, -0.9F, -0.4F };
GL11.glTranslatef(tr11[0] * oscope + tr22[0] * scope, tr11[1]
* oscope + tr22[1] * scope, tr11[2] * oscope + tr22[2]
* scope);
} else {
GL11.glTranslatef(-0.1F, -0.5F, -0.4F);
if (Mouse.isButtonDown(0)) {
if (player.inventory.getCurrentItem() != null) {
if (player.inventory.getCurrentItem().getItem() == GunsLoader.ak74) {
if (((ItemGun) player.inventory.getCurrentItem()
.getItem()).curBullet != 0) {
if (tick.sload == 1) {
GL11.glTranslatef(0.0F, 0.0F,
MathHelper.sin(0.1F) * 1);
}
}
}
}
}
}
float scale1 = 1.0F;
GL11.glScalef(0.5F, 0.5F, 0.5F);
Ruka.render((Entity) data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F);
GL11.glPopMatrix();
GL11.glPushMatrix();
rb.minecraftRB.renderEngine.bindTexture(icon11.getLocationSkin());
if (Mouse.isButtonDown(1) && !player.isSprinting()) {
float[] rot11 = { 50F, -10F, 0F, -1.0F };
float[] rot21 = { 70F, -10F, 0F, -1.0F };
float[] rot12 = { 20F, 30F, 1F, 1.3F };
float[] rot22 = { 20F, 30F, 1F, 1.3F };
float[] tr11 = { -0.15F, -1.1F, 0.0F };
float[] tr22 = { -0.15F, -1.15F, -0.3F };
float[] sc11 = { 0.7F, 0.7F, 2.4F };
float[] sc22 = { 0.7F, 0.7F, 2F };
GL11.glRotatef(140F, 1.6F, -1.1F, -0.3F);
GL11.glRotatef(rot11[0] * oscope + rot21[0] * scope, rot11[1]
* oscope + rot21[1] * scope, rot11[2] * oscope
+ rot21[2] * scope, rot11[3] * oscope + rot21[3]
* scope);
GL11.glRotatef(rot12[0] * oscope + rot22[0] * scope, rot12[1]
* oscope + rot22[1] * scope, rot12[2] * oscope
+ rot22[2] * scope, rot12[3] * oscope + rot22[3]
* scope);
GL11.glTranslatef(tr11[0] * oscope + tr22[0] * scope, tr11[1]
* oscope + tr22[1] * scope, tr11[2] * oscope + tr22[2]
* scope);
GL11.glScalef(sc11[0] * oscope + sc22[0] * scope, sc11[1]
* oscope + sc22[1] * scope, sc11[2] * oscope + sc22[2]
* scope);
} else {
float[] rot11 = { 50F, -10F, 0F, -1.0F };
float[] rot21 = { 65F, -10F, 0F, -1.0F };
float[] rot12 = { 20F, 30F, 1F, 1.3F };
float[] rot22 = { 0F, 30F, 1F, 1.3F };
float[] tr11 = { -0.15F, -1.1F, 0.0F };
float[] tr22 = { -0.15F, -1.2F, -0.5F };
float[] sc11 = { 0.7F, 0.7F, 2.4F };
float[] sc22 = { 0.6F, 0.6F, 0.6F };
GL11.glRotatef(140F, 1.6F, -1.1F, -0.3F);
GL11.glRotatef(rot11[0] * ospeed + rot21[0] * speed, rot11[1]
* ospeed + rot21[1] * speed, rot11[2] * ospeed
+ rot21[2] * speed, rot11[3] * ospeed + rot21[3]
* speed);
GL11.glRotatef(rot12[0] * ospeed + rot22[0] * speed, rot12[1]
* ospeed + rot22[1] * speed, rot12[2] * ospeed
+ rot22[2] * speed, rot12[3] * ospeed + rot22[3]
* speed);
GL11.glTranslatef(tr11[0] * ospeed + tr22[0] * speed, tr11[1]
* ospeed + tr22[1] * speed, tr11[2] * ospeed + tr22[2]
* speed);
GL11.glScalef(sc11[0] * ospeed + sc22[0] * speed, sc11[1]
* ospeed + sc22[1] * speed, sc11[2] * ospeed + sc22[2]
* speed);
if (Mouse.isButtonDown(0)) {
if (player.inventory.getCurrentItem() != null) {
if (player.inventory.getCurrentItem().getItem() == GunsLoader.ak74) {
if (((ItemGun) player.inventory.getCurrentItem()
.getItem()).curBullet != 0) {
if (tick.sload == 1) {
GL11.glTranslatef(0.0F, 0.0F,
MathHelper.sin(0.05F) * 1);
}
}
}
}
}
}
float scale2 = 1.0F;
Ruka.render((Entity) data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F);
GL11.glPopMatrix();
}
default:
break;
}
switch (type) {
case EQUIPPED: {
GL11.glPushMatrix();
Minecraft.getMinecraft().renderEngine
.bindTexture(new ResourceLocation("divstalker",
"textures/ak74u.png"));
GL11.glRotatef(-55F, 1F, 0.2F, 0.1F);
GL11.glRotatef(65F, -10F, 15F, -3F);
GL11.glRotatef(-90F, 0F, 1F, 0.03F);
GL11.glTranslatef(0.8F, 0.1F, -0.1F);
float scale = 1.0F;
GL11.glScalef(0.05F, 0.05F, 0.05F);
model.renderAll();
GL11.glPopMatrix();
}
default:
break;
}
switch (type) {
case ENTITY: {
GL11.glPushMatrix();
Minecraft.getMinecraft().renderEngine
.bindTexture(new ResourceLocation("divstalker",
"textures/ak74u.png"));
GL11.glRotatef(65F, 2F, 0F, -0.2F);
GL11.glRotatef(65F, -10F, 1F, 0F);
GL11.glRotatef(0F, 0F, 3F, 0F);
GL11.glTranslatef(-0F, -0.1F, -0.09F);
float scale = 1.0F;
GL11.glScalef(0.07F, 0.07F, 0.07F);
model.renderAll();
GL11.glPopMatrix();
}
default:
break;
}
}
}