I intend to generate a hollow square with dimensions of 2x2 at the player's feet, providing a visual range indicator for the player.
However, it is not working in the game. The code is shown below.
private Tesselator tesselator = new Tesselator();
private boolean isBuildLine = true;
@SubscribeEvent
public void drawRectangle(TickEvent.PlayerTickEvent event) {
LocalPlayer player = Minecraft.getInstance().player;
LevelRenderer levelRenderer = Minecraft.getInstance().levelRenderer;
if (player != null && isBuildLine) {
isBuildLine = false;
BufferBuilder builder = tesselator.getBuilder();
builder.begin(VertexFormat.Mode.LINES, DefaultVertexFormat.POSITION_COLOR);
// Calculated position
double playerX = player.getX();
double playerY = player.getY();
double playerZ = player.getZ();
double footY = playerY - player.getEyeHeight();
builder.vertex(playerX - 1, footY, playerZ - 1).color(216, 59, 1, 0).endVertex();
builder.vertex(playerX + 1, footY, playerZ - 1).color(216, 59, 1, 0).endVertex();
builder.vertex(playerX + 1, footY, playerZ - 1).color(216, 59, 1, 0).endVertex();
builder.vertex(playerX + 1, footY, playerZ + 1).color(216, 59, 1, 0).endVertex();
builder.vertex(playerX + 1, footY, playerZ + 1).color(216, 59, 1, 0).endVertex();
builder.vertex(playerX - 1, footY, playerZ + 1).color(216, 59, 1, 0).endVertex();
builder.vertex(playerX - 1, footY, playerZ + 1).color(216, 59, 1, 0).endVertex();
builder.vertex(playerX - 1, footY, playerZ - 1).color(216, 59, 1, 0).endVertex();
tesselator.end();
isBuildLine = true;
}
}