|
19 | 19 | import mekanism.client.render.armor.ISpecialGear; |
20 | 20 | import mekanism.client.render.armor.MekaSuitArmor; |
21 | 21 | import mekanism.client.render.hud.RadiationOverlay; |
22 | | -import mekanism.client.render.lib.Quad; |
23 | | -import mekanism.client.render.lib.QuadUtils; |
24 | 22 | import mekanism.client.render.lib.Vertex; |
25 | 23 | import mekanism.client.render.lib.effect.BoltRenderer; |
26 | 24 | import mekanism.client.render.tileentity.IWireFrameRenderer; |
|
56 | 54 | import net.minecraft.client.renderer.MultiBufferSource; |
57 | 55 | import net.minecraft.client.renderer.RenderType; |
58 | 56 | import net.minecraft.client.renderer.Sheets; |
| 57 | +import net.minecraft.client.renderer.block.model.BakedQuad; |
59 | 58 | import net.minecraft.client.renderer.blockentity.BlockEntityRenderer; |
60 | 59 | import net.minecraft.client.renderer.entity.player.PlayerRenderer; |
61 | 60 | import net.minecraft.client.renderer.texture.OverlayTexture; |
@@ -480,54 +479,19 @@ public void onBlockHover(RenderHighlightEvent.Block event) { |
480 | 479 | } |
481 | 480 |
|
482 | 481 | private void renderQuadsWireFrame(BlockState state, VertexConsumer buffer, PoseStack matrix, RandomSource rand, int red, int green, int blue, int alpha) { |
483 | | - List<Vertex[]> vertices = cachedWireFrames.get(state); |
484 | | - if (vertices == null) { |
485 | | - BakedModel bakedModel = Minecraft.getInstance().getBlockRenderer().getBlockModel(state); |
486 | | - //TODO: Eventually we may want to add support for Model data and maybe render type |
487 | | - ModelData modelData = ModelData.EMPTY; |
488 | | - vertices = new ArrayList<>(); |
489 | | - for (Direction direction : EnumUtils.DIRECTIONS) { |
490 | | - for (Quad quad : QuadUtils.unpack(bakedModel.getQuads(state, direction, rand, modelData, null))) { |
491 | | - vertices.add(quad.getVertices()); |
492 | | - } |
493 | | - } |
494 | | - for (Quad quad : QuadUtils.unpack(bakedModel.getQuads(state, null, rand, modelData, null))) { |
495 | | - vertices.add(quad.getVertices()); |
| 482 | + //TODO: Eventually we may want to add support for Model data and maybe render type |
| 483 | + ModelData modelData = ModelData.EMPTY; |
| 484 | + BakedModel bakedModel = Minecraft.getInstance().getBlockRenderer().getBlockModel(state); |
| 485 | + for (Direction direction : EnumUtils.DIRECTIONS) { |
| 486 | + for (BakedQuad quad : bakedModel.getQuads(state, direction, rand, modelData, null)) { |
| 487 | + buffer.putBulkData(matrix.last(), quad, red, green, blue, alpha, 0, OverlayTexture.NO_OVERLAY, false); |
496 | 488 | } |
497 | | - cachedWireFrames.put(state, vertices); |
498 | 489 | } |
499 | | - renderVertexWireFrame(vertices, buffer, matrix.last().pose(), red, green, blue, alpha); |
500 | | - } |
501 | | - |
502 | | - public static void renderVertexWireFrame(List<Vertex[]> allVertices, VertexConsumer buffer, Matrix4f matrix, int red, int green, int blue, int alpha) { |
503 | | - for (Vertex[] vertices : allVertices) { |
504 | | - Vector4f vertex = getVertex(matrix, vertices[0]); |
505 | | - Vector3f normal = vertices[0].getNormal(); |
506 | | - Vector4f vertex2 = getVertex(matrix, vertices[1]); |
507 | | - Vector3f normal2 = vertices[1].getNormal(); |
508 | | - Vector4f vertex3 = getVertex(matrix, vertices[2]); |
509 | | - Vector3f normal3 = vertices[2].getNormal(); |
510 | | - Vector4f vertex4 = getVertex(matrix, vertices[3]); |
511 | | - Vector3f normal4 = vertices[3].getNormal(); |
512 | | - buffer.vertex(vertex.x(), vertex.y(), vertex.z()).color(red, green, blue, alpha).normal(normal.x(), normal.y(), normal.z()).endVertex(); |
513 | | - buffer.vertex(vertex2.x(), vertex2.y(), vertex2.z()).color(red, green, blue, alpha).normal(normal2.x(), normal2.y(), normal2.z()).endVertex(); |
514 | | - |
515 | | - buffer.vertex(vertex3.x(), vertex3.y(), vertex3.z()).color(red, green, blue, alpha).normal(normal3.x(), normal3.y(), normal3.z()).endVertex(); |
516 | | - buffer.vertex(vertex4.x(), vertex4.y(), vertex4.z()).color(red, green, blue, alpha).normal(normal4.x(), normal4.y(), normal4.z()).endVertex(); |
517 | | - |
518 | | - buffer.vertex(vertex2.x(), vertex2.y(), vertex2.z()).color(red, green, blue, alpha).normal(normal2.x(), normal2.y(), normal2.z()).endVertex(); |
519 | | - buffer.vertex(vertex3.x(), vertex3.y(), vertex3.z()).color(red, green, blue, alpha).normal(normal3.x(), normal3.y(), normal3.z()).endVertex(); |
520 | | - |
521 | | - buffer.vertex(vertex.x(), vertex.y(), vertex.z()).color(red, green, blue, alpha).normal(normal.x(), normal.y(), normal.z()).endVertex(); |
522 | | - buffer.vertex(vertex4.x(), vertex4.y(), vertex4.z()).color(red, green, blue, alpha).normal(normal4.x(), normal4.y(), normal4.z()).endVertex(); |
| 490 | + for (BakedQuad quad : bakedModel.getQuads(state, null, rand, modelData, null)) { |
| 491 | + buffer.putBulkData(matrix.last(), quad, red, green, blue, alpha, 0, OverlayTexture.NO_OVERLAY, false); |
523 | 492 | } |
524 | 493 | } |
525 | 494 |
|
526 | | - private static Vector4f getVertex(Matrix4f matrix4f, Vertex vertex) { |
527 | | - Vector4f vector4f = new Vector4f((float) vertex.getPos().x(), (float) vertex.getPos().y(), (float) vertex.getPos().z(), 1); |
528 | | - return vector4f.mul(matrix4f); |
529 | | - } |
530 | | - |
531 | 495 | private void renderJetpackSmoke(Level world, Vec3 pos, Vec3 motion) { |
532 | 496 | world.addParticle(MekanismParticleTypes.JETPACK_FLAME.get(), pos.x, pos.y, pos.z, motion.x, motion.y, motion.z); |
533 | 497 | world.addParticle(MekanismParticleTypes.JETPACK_SMOKE.get(), pos.x, pos.y, pos.z, motion.x, motion.y, motion.z); |
|
0 commit comments