Библиотека для визуальных эффектов.

Версия Minecraft
1.20.1
Здравствуйте, пишу с целью узнать об библиотеках с возможностью создания таких же "текстур", как на скринах. Искал уже очень давно, но так и не нашел. На 1 скрине след за игроком(без кругов на земле), на 2 скрине цилиндр взмывающий в небо
 

Вложения

  • Screenshot_20250223_000011.jpg
    Screenshot_20250223_000011.jpg
    68.1 KB · Просмотры: 29
  • Screenshot_20250222_230119_com_google_android_youtube_MainActivity_edit_588840394776988.jpg
    Screenshot_20250222_230119_com_google_android_youtube_MainActivity_edit_588840394776988.jpg
    72.3 KB · Просмотры: 29
Сделал как-то так на Forge.

Java:
private static LinkedList<Vector3f> vectors = new LinkedList<>();

@SubscribeEvent
public void renderWorld(RenderPlayerEvent.Post event) {

    LocalPlayer player = Minecraft.getInstance().player;

    vectors.add(new Vector3f((float) player.getX(), (float) player.getY(), (float) player.getZ()));

    if (vectors.size() > 100) {
        vectors.removeFirst();
    }

    PoseStack poseStack = event.getPoseStack();
    VertexConsumer buffer = event.getMultiBufferSource().getBuffer(RenderType.debugQuads());

    poseStack.pushPose();

    Matrix4f pose = event.getPoseStack().last().pose();

    float partialTick = event.getPartialTick();

    pose.translate(
        (float) -Mth.lerp(partialTick, player.xOld, player.getX()),
        (float) -Mth.lerp(partialTick, player.yOld, player.getY()),
        (float) -Mth.lerp(partialTick, player.zOld, player.getZ())
    );

    Vector3f[] array = vectors.toArray(new Vector3f[0]);

    for (int i = 0; i < array.length - 1; i++) {
        buffer.addVertex(pose, array[i].x, array[i].y, array[i].z).setColor(255, 255, 255, 255);
        buffer.addVertex(pose, array[i].x, array[i].y + 1F, array[i].z).setColor(255, 255, 255, 0);
        buffer.addVertex(pose, array[i + 1].x, array[i + 1].y + 1F, array[i + 1].z).setColor(255, 255, 255, 0);
        buffer.addVertex(pose, array[i + 1].x, array[i + 1].y, array[i + 1].z).setColor(255, 255, 255, 255);
    }

    poseStack.popPose();
}

2025-02-23_08.25.33.png

Цилиндр примерно тоже самое, только вокруг точки надо окружность сделать.
 
Назад
Сверху