generated from tilera/1710mod
142 lines
5.5 KiB
Java
142 lines
5.5 KiB
Java
package icbm.zhapin.render;
|
|
|
|
import cpw.mods.fml.relauncher.Side;
|
|
import cpw.mods.fml.relauncher.SideOnly;
|
|
import icbm.zhapin.ESuiPian;
|
|
import net.minecraft.block.Block;
|
|
import net.minecraft.client.renderer.Tessellator;
|
|
import net.minecraft.client.renderer.entity.Render;
|
|
import net.minecraft.client.renderer.texture.TextureMap;
|
|
import net.minecraft.entity.Entity;
|
|
import net.minecraft.init.Blocks;
|
|
import net.minecraft.util.MathHelper;
|
|
import net.minecraft.util.ResourceLocation;
|
|
import net.minecraft.world.IBlockAccess;
|
|
import net.minecraft.world.World;
|
|
import org.lwjgl.opengl.GL11;
|
|
|
|
@SideOnly(Side.CLIENT)
|
|
public class RShrapnel extends Render {
|
|
public void renderArrow(
|
|
final ESuiPian suiPian,
|
|
final double par2,
|
|
final double par4,
|
|
final double par6,
|
|
final float par8,
|
|
final float par9
|
|
) {
|
|
if (suiPian.isAnvil) {
|
|
GL11.glPushMatrix();
|
|
GL11.glTranslatef((float) par2, (float) par4, (float) par6);
|
|
this.bindTexture(TextureMap.locationBlocksTexture);
|
|
// yay anvilcraft
|
|
final Block block = Blocks.anvil;
|
|
final World world = suiPian.worldObj;
|
|
GL11.glDisable(2896);
|
|
this.field_147909_c.blockAccess = (IBlockAccess) world;
|
|
final Tessellator var12 = Tessellator.instance;
|
|
var12.startDrawingQuads();
|
|
var12.setTranslation(
|
|
(double) (-MathHelper.floor_double(suiPian.posX) - 0.5f),
|
|
(double) (-MathHelper.floor_double(suiPian.posY) - 0.5f),
|
|
(double) (-MathHelper.floor_double(suiPian.posZ) - 0.5f)
|
|
);
|
|
this.field_147909_c.renderBlockByRenderType(
|
|
block,
|
|
MathHelper.floor_double(suiPian.posX),
|
|
MathHelper.floor_double(suiPian.posY),
|
|
MathHelper.floor_double(suiPian.posZ)
|
|
);
|
|
var12.setTranslation(0.0, 0.0, 0.0);
|
|
var12.draw();
|
|
GL11.glEnable(2896);
|
|
GL11.glPopMatrix();
|
|
} else {
|
|
this.bindTexture(new ResourceLocation("icbm", "textures/models/fragment.png")
|
|
);
|
|
GL11.glPushMatrix();
|
|
GL11.glTranslatef((float) par2, (float) par4, (float) par6);
|
|
GL11.glRotatef(
|
|
suiPian.prevRotationYaw
|
|
+ (suiPian.rotationYaw - suiPian.prevRotationYaw) * par9 - 90.0f,
|
|
0.0f,
|
|
1.0f,
|
|
0.0f
|
|
);
|
|
GL11.glRotatef(
|
|
suiPian.prevRotationPitch
|
|
+ (suiPian.rotationPitch - suiPian.prevRotationPitch) * par9,
|
|
0.0f,
|
|
0.0f,
|
|
1.0f
|
|
);
|
|
final Tessellator var13 = Tessellator.instance;
|
|
final byte var14 = 0;
|
|
final float var15 = 0.0f;
|
|
final float var16 = 0.5f;
|
|
final float var17 = (0 + var14 * 10) / 32.0f;
|
|
final float var18 = (5 + var14 * 10) / 32.0f;
|
|
final float var19 = 0.0f;
|
|
final float var20 = 0.15625f;
|
|
final float var21 = (5 + var14 * 10) / 32.0f;
|
|
final float var22 = (10 + var14 * 10) / 32.0f;
|
|
final float var23 = 0.05625f;
|
|
GL11.glEnable(32826);
|
|
final float var24 = suiPian.arrowShake - par9;
|
|
|
|
if (var24 > 0.0f) {
|
|
final float var25 = -MathHelper.sin(var24 * 3.0f) * var24;
|
|
GL11.glRotatef(var25, 0.0f, 0.0f, 1.0f);
|
|
}
|
|
|
|
GL11.glRotatef(45.0f, 1.0f, 0.0f, 0.0f);
|
|
GL11.glScalef(var23, var23, var23);
|
|
GL11.glTranslatef(-4.0f, 0.0f, 0.0f);
|
|
GL11.glNormal3f(var23, 0.0f, 0.0f);
|
|
var13.startDrawingQuads();
|
|
var13.addVertexWithUV(-7.0, -2.0, -2.0, (double) var19, (double) var21);
|
|
var13.addVertexWithUV(-7.0, -2.0, 2.0, (double) var20, (double) var21);
|
|
var13.addVertexWithUV(-7.0, 2.0, 2.0, (double) var20, (double) var22);
|
|
var13.addVertexWithUV(-7.0, 2.0, -2.0, (double) var19, (double) var22);
|
|
var13.draw();
|
|
GL11.glNormal3f(-var23, 0.0f, 0.0f);
|
|
var13.startDrawingQuads();
|
|
var13.addVertexWithUV(-7.0, 2.0, -2.0, (double) var19, (double) var21);
|
|
var13.addVertexWithUV(-7.0, 2.0, 2.0, (double) var20, (double) var21);
|
|
var13.addVertexWithUV(-7.0, -2.0, 2.0, (double) var20, (double) var22);
|
|
var13.addVertexWithUV(-7.0, -2.0, -2.0, (double) var19, (double) var22);
|
|
var13.draw();
|
|
|
|
for (int var26 = 0; var26 < 4; ++var26) {
|
|
GL11.glRotatef(90.0f, 1.0f, 0.0f, 0.0f);
|
|
GL11.glNormal3f(0.0f, 0.0f, var23);
|
|
var13.startDrawingQuads();
|
|
var13.addVertexWithUV(-8.0, -2.0, 0.0, (double) var15, (double) var17);
|
|
var13.addVertexWithUV(8.0, -2.0, 0.0, (double) var16, (double) var17);
|
|
var13.addVertexWithUV(8.0, 2.0, 0.0, (double) var16, (double) var18);
|
|
var13.addVertexWithUV(-8.0, 2.0, 0.0, (double) var15, (double) var18);
|
|
var13.draw();
|
|
}
|
|
|
|
GL11.glDisable(32826);
|
|
GL11.glPopMatrix();
|
|
}
|
|
}
|
|
|
|
public void doRender(
|
|
final Entity par1Entity,
|
|
final double par2,
|
|
final double par4,
|
|
final double par6,
|
|
final float par8,
|
|
final float par9
|
|
) {
|
|
this.renderArrow((ESuiPian) par1Entity, par2, par4, par6, par8, par9);
|
|
}
|
|
|
|
@Override
|
|
protected ResourceLocation getEntityTexture(Entity p_110775_1_) {
|
|
return null;
|
|
}
|
|
}
|