Follow along with the video below to see how to install our site as a web app on your home screen.
Примечание: This feature may not be available in some browsers.
Я и спрашиваю как рисовать.FanKar написал(а):рисование линий от min* до max*
public class EventForgeClient {
Minecraft mc = Minecraft.getMinecraft();
@SubscribeEvent
public void renderBoxEntity(RenderWorldLastEvent event) {
double x_fix = -(mc.thePlayer.lastTickPosX + (mc.thePlayer.posX - mc.thePlayer.lastTickPosX) * event.partialTicks);
double y_fix = -(mc.thePlayer.lastTickPosY + (mc.thePlayer.posY - mc.thePlayer.lastTickPosY) * event.partialTicks);
double z_fix = -(mc.thePlayer.lastTickPosZ + (mc.thePlayer.posZ - mc.thePlayer.lastTickPosZ) * event.partialTicks);
GL11.glPushMatrix();
GL11.glTranslated(x_fix, y_fix, z_fix);
GL11.glEnable(GL11.GL_BLEND);
GL11.glDisable(GL11.GL_TEXTURE_2D);
for (int i = 0; i < mc.theWorld.loadedEntityList.size(); ++i) {
if (mc.theWorld.loadedEntityList.get(i) instanceof EntityLivingBase) {
EntityLivingBase entity = (EntityLivingBase)mc.theWorld.loadedEntityList.get(i);
GL11.glColor4f(1.0F, 1.0F, 1.0F, 0.25F);
box(entity.boundingBox);
GL11.glColor4f(1.0F, 1.0F, 1.0F, 0.75F);
lines(entity.boundingBox);
GL11.glColor4f(1F, 1F, 1F, 1F);
}
}
GL11.glEnable(GL11.GL_TEXTURE_2D);
GL11.glDisable(GL11.GL_BLEND);
GL11.glPopMatrix();
}
public static void box(AxisAlignedBB aabb) {
Tessellator tessellator = Tessellator.instance;
tessellator.startDrawingQuads();
//top
tessellator.addVertex(aabb.maxX, aabb.maxY, aabb.minZ);
tessellator.addVertex(aabb.minX, aabb.maxY, aabb.minZ);
tessellator.addVertex(aabb.minX, aabb.maxY, aabb.maxZ);
tessellator.addVertex(aabb.maxX, aabb.maxY, aabb.maxZ);
//bottom
tessellator.addVertex(aabb.maxX, aabb.minY, aabb.maxZ);
tessellator.addVertex(aabb.minX, aabb.minY, aabb.maxZ);
tessellator.addVertex(aabb.minX, aabb.minY, aabb.minZ);
tessellator.addVertex(aabb.maxX, aabb.minY, aabb.minZ);
//north
tessellator.addVertex(aabb.maxX, aabb.minY, aabb.minZ);
tessellator.addVertex(aabb.minX, aabb.minY, aabb.minZ);
tessellator.addVertex(aabb.minX, aabb.maxY, aabb.minZ);
tessellator.addVertex(aabb.maxX, aabb.maxY, aabb.minZ);
//south
tessellator.addVertex(aabb.maxX, aabb.maxY, aabb.maxZ);
tessellator.addVertex(aabb.minX, aabb.maxY, aabb.maxZ);
tessellator.addVertex(aabb.minX, aabb.minY, aabb.maxZ);
tessellator.addVertex(aabb.maxX, aabb.minY, aabb.maxZ);
//west
tessellator.addVertex(aabb.minX, aabb.maxY, aabb.maxZ);
tessellator.addVertex(aabb.minX, aabb.maxY, aabb.minZ);
tessellator.addVertex(aabb.minX, aabb.minY, aabb.minZ);
tessellator.addVertex(aabb.minX, aabb.minY, aabb.maxZ);
//east
tessellator.addVertex(aabb.maxX, aabb.minY, aabb.maxZ);
tessellator.addVertex(aabb.maxX, aabb.minY, aabb.minZ);
tessellator.addVertex(aabb.maxX, aabb.maxY, aabb.minZ);
tessellator.addVertex(aabb.maxX, aabb.maxY, aabb.maxZ);
tessellator.draw();
}
public static void lines(AxisAlignedBB aabb) {
GL11.glBegin(GL11.GL_LINES);
/*-top-*/
GL11.glVertex3d(aabb.minX, aabb.maxY, aabb.minZ);//a - 1
GL11.glVertex3d(aabb.maxX, aabb.maxY, aabb.minZ);//b - 2
GL11.glVertex3d(aabb.maxX, aabb.maxY, aabb.minZ);//a - 2
GL11.glVertex3d(aabb.maxX, aabb.maxY, aabb.maxZ);//b - 3
GL11.glVertex3d(aabb.maxX, aabb.maxY, aabb.maxZ);//a - 3
GL11.glVertex3d(aabb.minX, aabb.maxY, aabb.maxZ);//b - 4
GL11.glVertex3d(aabb.minX, aabb.maxY, aabb.maxZ);//a - 4
GL11.glVertex3d(aabb.minX, aabb.maxY, aabb.minZ);//b - 1
/*-bottom-*/
GL11.glVertex3d(aabb.minX, aabb.minY, aabb.minZ);//a - 1
GL11.glVertex3d(aabb.maxX, aabb.minY, aabb.minZ);//b - 2
GL11.glVertex3d(aabb.maxX, aabb.minY, aabb.minZ);//a - 2
GL11.glVertex3d(aabb.maxX, aabb.minY, aabb.maxZ);//b - 3
GL11.glVertex3d(aabb.maxX, aabb.minY, aabb.maxZ);//a - 3
GL11.glVertex3d(aabb.minX, aabb.minY, aabb.maxZ);//b - 4
GL11.glVertex3d(aabb.minX, aabb.minY, aabb.maxZ);//a - 4
GL11.glVertex3d(aabb.minX, aabb.minY, aabb.minZ);//b - 1
/*-side-/-edge-*/
GL11.glVertex3d(aabb.minX, aabb.maxY, aabb.minZ);//a
GL11.glVertex3d(aabb.minX, aabb.minY, aabb.minZ);//b
GL11.glVertex3d(aabb.maxX, aabb.maxY, aabb.maxZ);//a
GL11.glVertex3d(aabb.maxX, aabb.minY, aabb.maxZ);//b
GL11.glVertex3d(aabb.maxX, aabb.maxY, aabb.minZ);//a
GL11.glVertex3d(aabb.maxX, aabb.minY, aabb.minZ);//b
GL11.glVertex3d(aabb.minX, aabb.maxY, aabb.maxZ);//a
GL11.glVertex3d(aabb.minX, aabb.minY, aabb.maxZ);//b
GL11.glEnd();
}
}
Нет, это я сказал для примера. Ведь в майнкрафте это уже есть F3 + B.[font=Verdana, Helvetica, Arial, sans-serif]Пока-что линия куда смотрит моб, пока-что не сделал.[/font]
@SubscribeEvent
public void renderBox(RenderWorldLastEvent event) {
//dot start
double ax = -1.0D;
double ay = 63.0D;
double az = -1.0D;
//dot end
double bx = 1.0D;
double by = 65.0D;
double bz = 1.0D;
AxisAlignedBB aabb = AxisAlignedBB.getBoundingBox(ax, ay, az, bx, by, bz).expand(0.01D, 0.01D, 0.01D);
double x_fix = -(mc.thePlayer.lastTickPosX + (mc.thePlayer.posX - mc.thePlayer.lastTickPosX) * event.partialTicks);
double y_fix = -(mc.thePlayer.lastTickPosY + (mc.thePlayer.posY - mc.thePlayer.lastTickPosY) * event.partialTicks);
double z_fix = -(mc.thePlayer.lastTickPosZ + (mc.thePlayer.posZ - mc.thePlayer.lastTickPosZ) * event.partialTicks);
GL11.glPushMatrix();
GL11.glTranslated(x_fix, y_fix, z_fix);
GL11.glEnable(GL11.GL_BLEND);
GL11.glDisable(GL11.GL_TEXTURE_2D);
//
GL11.glColor4f(0.75F, 0.25F, 0.25F, 0.25F);
box(aabb);
GL11.glColor4f(0.75F, 0.25F, 0.25F, 0.75F);
lines(aabb);
GL11.glColor4f(1F, 1F, 1F, 0F);
//
GL11.glEnable(GL11.GL_TEXTURE_2D);
GL11.glDisable(GL11.GL_BLEND);
GL11.glPopMatrix();
}
Это координаты?Код://dot start double ax = -1.0D; double ay = 63.0D; double az = -1.0D; //dot end double bx = 1.0D; double by = 65.0D; double bz = 1.0D;