77import com .robotgryphon .compactcrafting .core .Constants ;
88import net .minecraft .block .BlockState ;
99import net .minecraft .client .Minecraft ;
10- import net .minecraft .client .renderer .Atlases ;
11- import net .minecraft .client .renderer .BlockRendererDispatcher ;
12- import net .minecraft .client .renderer .IRenderTypeBuffer ;
13- import net .minecraft .client .renderer .RenderType ;
10+ import net .minecraft .client .renderer .*;
1411import net .minecraft .client .renderer .model .IBakedModel ;
1512import net .minecraft .client .renderer .model .ModelManager ;
1613import net .minecraft .client .renderer .tileentity .TileEntityRenderer ;
1714import net .minecraft .client .renderer .tileentity .TileEntityRendererDispatcher ;
1815import net .minecraft .util .Direction ;
1916import net .minecraft .util .math .AxisAlignedBB ;
20- import net .minecraft .util .math .vector .Matrix4f ;
2117import net .minecraft .util .math .vector .Vector3d ;
2218import net .minecraft .util .math .vector .Vector3f ;
2319import net .minecraftforge .client .model .ModelDataManager ;
2420import net .minecraftforge .client .model .data .IModelData ;
2521
2622import java .awt .*;
2723
24+ import static net .minecraft .client .renderer .RenderType .makeType ;
25+
2826public class FieldProjectorRenderer extends TileEntityRenderer <FieldProjectorTile > {
2927
3028 enum RotationSpeed {
@@ -45,16 +43,8 @@ public int getSpeed() {
4543
4644 private IBakedModel bakedModelCached ;
4745
48- // RenderType t = RenderType.makeType("my_type", DefaultVertexFormats.POSITION_COLOR, 7, 256,
49- // false, true, RenderType.State.getBuilder()
50- // .transparency(TRANSLUCENT_TRANSPARENCY)
51- // .writeMask(COLOR_DEPTH_WRITE)
52- // .build(false));
53-
5446 public FieldProjectorRenderer (TileEntityRendererDispatcher rendererDispatcherIn ) {
5547 super (rendererDispatcherIn );
56-
57-
5848 }
5949
6050 @ Override
@@ -79,21 +69,11 @@ private IBakedModel getModel() {
7969 return bakedModelCached ;
8070 }
8171
82- /**
83- * Draw a coloured line from a starting vertex to an end vertex
84- *
85- * @param matrixPos the current transformation matrix
86- * @param renderBuffer the vertex builder used to draw the line
87- * @param startVertex
88- * @param endVertex
89- */
90- private static void drawLine (Matrix4f matrixPos , IVertexBuilder renderBuffer , Color color ,
91- Vector3d startVertex , Vector3d endVertex ) {
92- renderBuffer .pos (matrixPos , (float ) startVertex .x , (float ) startVertex .y , (float ) startVertex .z )
93- .color (color .getRed (), color .getGreen (), color .getBlue (), color .getAlpha ()) // there is also a version for floats (0 -> 1)
94- .endVertex ();
95- renderBuffer .pos (matrixPos , (float ) endVertex .getX (), (float ) endVertex .getY (), (float ) endVertex .getZ ())
96- .color (color .getRed (), color .getGreen (), color .getBlue (), color .getAlpha ()) // there is also a version for floats (0 -> 1)
72+ private void addColoredVertex (IVertexBuilder renderer , MatrixStack stack , Color color , Vector3f position ) {
73+ renderer .pos (stack .getLast ().getMatrix (), position .getX (), position .getY (), position .getZ ())
74+ .color (color .getRed (), color .getGreen (), color .getBlue (), color .getAlpha ())
75+ .lightmap (0 , 240 )
76+ .normal (1 , 0 , 0 )
9777 .endVertex ();
9878 }
9979
@@ -138,33 +118,25 @@ private void renderDish(FieldProjectorTile te, MatrixStack mx, IRenderTypeBuffer
138118 private void renderFaces (MatrixStack mx , IRenderTypeBuffer buffer , AxisAlignedBB cube , double extraLength ) {
139119
140120 try {
141- IVertexBuilder lines = buffer .getBuffer (RenderType .getLines ());
142-
143- //region color and vertex positions
144- int color = 0xFF6A00 ;
145- float cR = (color >> 16 & 255 ) / 255.0f ;
146- float cG = (color >> 8 & 255 ) / 255.0f ;
147- float cB = (color & 255 ) / 255.0f ;
148- float cA = 0.15f ;
149-
150- double x1 = cube .minX ;
151- double x2 = cube .maxX ;
152- double y1 = cube .minY ;
153- double y2 = cube .maxY ;
154- double z1 = cube .minZ ;
155- double z2 = cube .maxZ ;
156- double radius = (cube .maxY - cube .minY ) / 2 ;
157-
158- double y4 = cube .maxY - radius + 0.3d ;
159- //endregion
121+ IVertexBuilder builder = buffer .getBuffer (RenderTypesExtensions .PROJECTION_FIELD_RENDERTYPE );
122+
123+ int color = 0x88FF6A00 ;
124+ Color fieldColor = new Color (color , true );
160125
161126 // Draw the faces
162127 Vector3d start = new Vector3d (cube .minX , cube .minY , cube .minZ );
163128 Vector3d end = new Vector3d (cube .maxX , cube .maxY , cube .maxZ );
129+
130+ addColoredVertex (builder , mx , fieldColor , new Vector3f (0 , 0 , .5f ));
131+ addColoredVertex (builder , mx , fieldColor , new Vector3f (1 , 0 , .5f ));
132+ addColoredVertex (builder , mx , fieldColor , new Vector3f (1 , 1 , .5f ));
133+ addColoredVertex (builder , mx , fieldColor , new Vector3f (0 , 1 , .5f ));
164134
165- drawLine (mx .getLast ().getMatrix (), lines , Color .orange , start , end );
135+ addColoredVertex (builder , mx , fieldColor , new Vector3f (0 , 1 , .5f ));
136+ addColoredVertex (builder , mx , fieldColor , new Vector3f (1 , 1 , .5f ));
137+ addColoredVertex (builder , mx , fieldColor , new Vector3f (1 , 0 , .5f ));
138+ addColoredVertex (builder , mx , fieldColor , new Vector3f (0 , 0 , .5f ));
166139
167- // lines.pos(x1, y2, z1).color(cR, cG, cB, cA).endVertex();
168140// lines.pos(x2, y2, z1).color(cR, cG, cB, cA).endVertex();
169141// lines.pos(x2, y1, z1).color(cR, cG, cB, cA).endVertex();
170142// lines.pos(x1, y1, z2).color(cR, cG, cB, cA).endVertex();
@@ -178,7 +150,7 @@ private void renderFaces(MatrixStack mx, IRenderTypeBuffer buffer, AxisAlignedBB
178150// lines.pos(x1, y1, z2).color(cR, cG, cB, cA).endVertex();
179151// lines.pos(x1, y2, z1).color(cR, cG, cB, cA).endVertex();
180152// lines.pos(x1, y2, z2).color(cR, cG, cB, cA).endVertex();
181- // lines.pos(x2, y2, z2).color(cR, cG, cB, cA).endVertex();
153+ // lines.pos(x2, y2, z2).color(cR, cG, cB, cA).endVertex();w
182154// lines.pos(x2, y2, z1).color(cR, cG, cB, cA).endVertex();
183155//
184156// lines.pos(x1, y1, z1).color(cR, cG, cB, cA).endVertex();
0 commit comments