Начинающий
Начинающий
- Статус
- Оффлайн
- Регистрация
- 17 Дек 2024
- Сообщения
- 43
- Реакции
- 0
короче, пытаюсь зарендерить есп(forge 1.21), у меня боксы рендерятся то за игроком, то вообще за километр от него, мб проблема в матрице, но я хз че делать ваще
render:
@SubscribeEvent
public void onRender(RenderPlayerEvent.Post event) {
Vec3 view = mc.gameRenderer.getMainCamera().getPosition();
for (Player player : mc.player.level().players()) {
if (player != mc.player) {
var tesselator = Tesselator.getInstance();
var buffer = tesselator.begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION_COLOR);
VertexBuffer vertexBuffer = new VertexBuffer(VertexBuffer.Usage.STATIC);
float x = (float) player.getX();
float y = (float) player.getY();
float z = (float) player.getZ();
float width = player.getBbWidth();
float height = player.getBbHeight();
buffer.addVertex(x, y, z).setColor(1f, 1f, 1f, 1f);
buffer.addVertex(x + width, y, z).setColor(1f, 1f, 1f, 1f);
buffer.addVertex(x + width, y + height, z).setColor(1f, 1f, 1f, 1f);
buffer.addVertex(x, y + height, z).setColor(1f, 1f, 1f, 1f);
vertexBuffer.bind();
vertexBuffer.upload(buffer.buildOrThrow());
Matrix4f matrix = event.getPoseStack().last().pose();
matrix.translate((float) -view.x, (float) -view.y, (float) -view.z);
var shader = GameRenderer.getPositionColorShader();
vertexBuffer.drawWithShader(matrix, mc.gameRenderer.getProjectionMatrix(mc.options.fov().get()), shader);
VertexBuffer.unbind();
}
}
}
}