import org.lwjgl.opengl.GL11;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import net.minecraft.client.Minecraft;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.stats.StatList;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.client.event.RenderGameOverlayEvent;
import net.minecraftforge.client.event.RenderPlayerEvent;
import net.minecraftforge.client.model.AdvancedModelLoader;
import net.minecraftforge.client.model.IModelCustom;
public class EventRenderer {
Minecraft mc = Minecraft.getMinecraft();
private static final ResourceLocation texture = new ResourceLocation("dayz", "textures/items/backpack.png");
private static final IModelCustom model = AdvancedModelLoader.loadModel(new ResourceLocation("dayz", "models/items/modelbp.obj"));
@SubscribeEvent
public void renderItem(RenderPlayerEvent.Specials.Pre event) {
EntityPlayer player = event.entityPlayer;
double p_x = player.lastTickPosX + (player.posX - player.lastTickPosX);
double p_y = player.lastTickPosY + (player.posY - player.lastTickPosY);
double p_z = player.lastTickPosZ + (player.posZ - player.lastTickPosZ);
double dx = player.posX - p_x;
double dy = player.posY - p_y;
double dz = player.posZ - p_z;
GL11.glPushMatrix();
GL11.glTranslated(dx, dy, dz);
GL11.glRotatef(180F, 1F, 0F, 0F);
GL11.glTranslatef(
event.renderer.modelBipedMain.bipedBody.rotationPointX * event.partialRenderTick,
event.renderer.modelBipedMain.bipedBody.rotationPointY * event.partialRenderTick,
event.renderer.modelBipedMain.bipedBody.rotationPointZ * event.partialRenderTick);
GL11.glRotatef(event.renderer.modelBipedMain.bipedBody.rotateAngleZ * (180F / (float)Math.PI), 0F, 0F, 1F);
GL11.glRotatef(event.renderer.modelBipedMain.bipedBody.rotateAngleY * (180F / (float)Math.PI), 0F, 1F, 0F);
GL11.glRotatef(event.renderer.modelBipedMain.bipedBody.rotateAngleX * (180F / (float)Math.PI), 1F, 0F, 0F);
GL11.glTranslatef(0F, -1.5F, 0F);
mc.renderEngine.bindTexture(texture);
model.renderAll();
GL11.glPopMatrix();
}
public void drawStats(RenderGameOverlayEvent.Text e){
int stat = mc.thePlayer.getStatFileWriter().writeStat(StatList.distanceWalkedStat);
int posX = (e.resolution.getScaledWidth() - xSize) / 2;
int posY = (e.resolution.getScaledHeight() - ySize) / 2;
mc.ingameGUI.drawTexturedModalRect(posX, posY, 0, 0, xSize, ySize);
mc.fontRenderer.drawString("Пройдено: " + stat, posX + 30, posY + 30, 4210752);
}
static final ResourceLocation furnaceGuiTextures = new ResourceLocation("dayz", "textures/items/backpack.png");
int xSize = 16;
int ySize = 16;
@SubscribeEvent
public void render(RenderGameOverlayEvent event) {
switch(event.type) {
case ALL:{
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
mc.getTextureManager().bindTexture(furnaceGuiTextures);
int posX = (event.resolution.getScaledWidth() - xSize) / 2;
int posY = (event.resolution.getScaledHeight() - ySize) / 2;
mc.ingameGUI.drawTexturedModalRect(posX, posY, 0, 0, xSize, ySize);
break;
}
default:break;
}
}
}