数据system
本帖最后由 数据system 于 2020-3-16 11:21 编辑
  1. @Override
  2.     public void doRender(EntityMagicBullet entity, double x, double y, double z,float entityYaw, float partialTicks) {
  3.             ResourceLocation T=new ResourceLocation(Dataextension.MODID, "textures/entity/MagicBullet.png");
  4.             Minecraft.getMinecraft().renderEngine.bindTexture(T);//绑定贴图
  5.             GlStateManager.disableCull();//開啟雙面顯示
  6.             GlStateManager.pushMatrix();//压入当前矩阵堆栈
  7.             GlStateManager.disableLighting();//關閉自帶光源
  8.             GlStateManager.enableBlend();//開啟不透明度
  9.             GlStateManager.blendFunc(GlStateManager.SourceFactor.SRC_ALPHA, GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA);
  10.             GlStateManager.translate((float)x, (float)y, (float)z);//坐標
  11.             
  12.             GlStateManager.rotate(entity.prevRotationYaw + (entity.rotationYaw - entity.prevRotationYaw) * partialTicks - 90.0F, 0.0F, 1.0F, 0.0F);
  13.             GlStateManager.rotate(entity.prevRotationPitch + (entity.rotationPitch - entity.prevRotationPitch) * partialTicks, 0.0F, 0.0F, 1.0F);
  14.             
  15.              Tessellator tessellator = Tessellator.getInstance();//3D绘图的实例
  16.          BufferBuilder vertexbuffer = tessellator.getBuffer();//顶点计算
  17.          GlStateManager.enableRescaleNormal();//重新规范化法向量
  18.          GlStateManager.scale(0.05625F, 0.05625F, 0.05625F);//设置大小
  19.          GlStateManager.translate(-3.0F, 0.0F, 0.0F);//把渲染图形往箭尾移动一
  20.          
  21.          OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, 240f, 240f); //光照相关
  22.          
  23.          for (int j = 0; j < 1; ++j){
  24.              GlStateManager.rotate(90.0F, 1.0F, 0.0F, 0.0F);//x轴旋转90度

  25.              vertexbuffer.begin(7, DefaultVertexFormats.POSITION_TEX);//开始绘制
  26.              vertexbuffer.pos(-3.0D, -3.0D, 3.0D).tex(0.0D,0.0D).endVertex();//点1
  27.              vertexbuffer.pos(3.0D, -3.0D, 3.0D).tex(4.0D, 0.0D).endVertex();//点2
  28.              vertexbuffer.pos(3.0D, 3.0D, 3.0D).tex(4.0D, 4.0D).endVertex();//点3
  29.              vertexbuffer.pos(-3.0D, 3.0D, 3.0D).tex(0.0D, 4.0D).endVertex();//点4
  30.         //4个点绘制一个四边形
  31.              tessellator.draw();

  32.              vertexbuffer.begin(7, DefaultVertexFormats.POSITION_TEX);
  33.              vertexbuffer.pos(-9.0D, 0.0D, 0.0D).tex(0.0D, 0.0D).endVertex();
  34.              vertexbuffer.pos(-3.0D, -3.0D, 3.0D).tex(4.0, 0.0D).endVertex();
  35.              vertexbuffer.pos(-3.0D, 3.0D, 3.0D).tex(4.0, 4.0D).endVertex();
  36.              vertexbuffer.pos(-9.0D, 0.0D, 0.0D).tex(0.0D, 4.0D).endVertex();
  37.              tessellator.draw();

  38.             vertexbuffer.begin(7, DefaultVertexFormats.POSITION_TEX);
  39.              vertexbuffer.pos(9.0D, 0.0D, 0.0D).tex(0.0D, 0.0D).endVertex();
  40.              vertexbuffer.pos(3.0D, 3.0D, 3.0D).tex(4.0D, 0.0D).endVertex();
  41.              vertexbuffer.pos(3.0D, -3.0D, 3.0D).tex(4.0D, 4.0D).endVertex();
  42.              vertexbuffer.pos(9.0D, 0.0D, 0.0D).tex(0.0D, 4.0D).endVertex();
  43.              tessellator.draw();
  44.          }
  45.          
  46.          GlStateManager.disableRescaleNormal();//关闭规范化法向量
  47.          GlStateManager.enableLighting();//開啟自帶光源
  48.          GlStateManager.enableCull();//關閉雙面顯示
  49.          GlStateManager.disableBlend();//關閉不透明度
  50.          GlStateManager.popMatrix();//弹出当前矩阵堆栈
  51.          super.doRender(entity, x, y, z, entityYaw, partialTicks);
  52.     }
复制代码
基本完全照抄了大佬的代码但还是出现问题了
forge-1.12.2-14.23.5.2847-mdk

2021.12 数据,可能有更多内容 本帖最后由 数据system 于 2020-3-16 11:21 编辑

代码:

  1. @Override
  2.     public void doRender(EntityMagicBullet entity, double x, double y, double z,float entityYaw, float partialTicks) {
  3.    ResourceLocation T=new ResourceLocation(Dataextension.MODID, "textures/entity/MagicBullet.png");
  4.    Minecraft.getMinecraft().renderEngine.bindTexture(T);//绑定贴图
  5.    GlStateManager.disableCull();//開啟雙面顯示
  6.    GlStateManager.pushMatrix();//压入当前矩阵堆栈
  7.    GlStateManager.disableLighting();//關閉自帶光源
  8.    GlStateManager.enableBlend();//開啟不透明度
  9.    GlStateManager.blendFunc(GlStateManager.SourceFactor.SRC_ALPHA, GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA);
  10.    GlStateManager.translate((float)x, (float)y, (float)z);//坐標
  11.    
  12.    GlStateManager.rotate(entity.prevRotationYaw + (entity.rotationYaw - entity.prevRotationYaw) * partialTicks - 90.0F, 0.0F, 1.0F, 0.0F);
  13.    GlStateManager.rotate(entity.prevRotationPitch + (entity.rotationPitch - entity.prevRotationPitch) * partialTicks, 0.0F, 0.0F, 1.0F);
  14.    
  15.     Tessellator tessellator = Tessellator.getInstance();//3D绘图的实例
  16.    BufferBuilder vertexbuffer = tessellator.getBuffer();//顶点计算
  17.    GlStateManager.enableRescaleNormal();//重新规范化法向量
  18.    GlStateManager.scale(0.05625F, 0.05625F, 0.05625F);//设置大小
  19.    GlStateManager.translate(-3.0F, 0.0F, 0.0F);//把渲染图形往箭尾移动一
  20.    
  21.    OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, 240f, 240f); //光照相关
  22.    
  23.    for (int j = 0; j < 1; ++j){
  24.     GlStateManager.rotate(90.0F, 1.0F, 0.0F, 0.0F);//x轴旋转90度

  25.     vertexbuffer.begin(7, DefaultVertexFormats.POSITION_TEX);//开始绘制
  26.     vertexbuffer.pos(-3.0D, -3.0D, 3.0D).tex(0.0D,0.0D).endVertex();//点1
  27.     vertexbuffer.pos(3.0D, -3.0D, 3.0D).tex(4.0D, 0.0D).endVertex();//点2
  28.     vertexbuffer.pos(3.0D, 3.0D, 3.0D).tex(4.0D, 4.0D).endVertex();//点3
  29.     vertexbuffer.pos(-3.0D, 3.0D, 3.0D).tex(0.0D, 4.0D).endVertex();//点4
  30.   //4个点绘制一个四边形
  31.     tessellator.draw();

  32.     vertexbuffer.begin(7, DefaultVertexFormats.POSITION_TEX);
  33.     vertexbuffer.pos(-9.0D, 0.0D, 0.0D).tex(0.0D, 0.0D).endVertex();
  34.     vertexbuffer.pos(-3.0D, -3.0D, 3.0D).tex(4.0, 0.0D).endVertex();
  35.     vertexbuffer.pos(-3.0D, 3.0D, 3.0D).tex(4.0, 4.0D).endVertex();
  36.     vertexbuffer.pos(-9.0D, 0.0D, 0.0D).tex(0.0D, 4.0D).endVertex();
  37.     tessellator.draw();

  38.    vertexbuffer.begin(7, DefaultVertexFormats.POSITION_TEX);
  39.     vertexbuffer.pos(9.0D, 0.0D, 0.0D).tex(0.0D, 0.0D).endVertex();
  40.     vertexbuffer.pos(3.0D, 3.0D, 3.0D).tex(4.0D, 0.0D).endVertex();
  41.     vertexbuffer.pos(3.0D, -3.0D, 3.0D).tex(4.0D, 4.0D).endVertex();
  42.     vertexbuffer.pos(9.0D, 0.0D, 0.0D).tex(0.0D, 4.0D).endVertex();
  43.     tessellator.draw();
  44.    }
  45.    
  46.    GlStateManager.disableRescaleNormal();//关闭规范化法向量
  47.    GlStateManager.enableLighting();//開啟自帶光源
  48.    GlStateManager.enableCull();//關閉雙面顯示
  49.    GlStateManager.disableBlend();//關閉不透明度
  50.    GlStateManager.popMatrix();//弹出当前矩阵堆栈
  51.    super.doRender(entity, x, y, z, entityYaw, partialTicks);
  52.     }
基本完全照抄了大佬的代码但还是出现问题了

forge-1.12.2-14.23.5.2847-mdk

3TUSK
形状肯定是对的,只是
  1. ResourceLocation T=new ResourceLocation(Dataextension.MODID, "textures/entity/MagicBullet.png");
复制代码

文件名应该全小写的。

directo_kr
进来- -发现看不懂留个评论

第一页 上一页 下一页 最后一页