Вопрос Перенос строки на другую

Начинающий
Статус
Оффлайн
Регистрация
17 Май 2023
Сообщения
227
Реакции[?]
2
Поинты[?]
1K

Перед прочтением основного контента ниже, пожалуйста, обратите внимание на обновление внутри секции Майна на нашем форуме. У нас появились:

  • бесплатные читы для Майнкрафт — любое использование на свой страх и риск;
  • маркетплейс Майнкрафт — абсолютно любая коммерция, связанная с игрой, за исключением продажи читов (аккаунты, предоставления услуг, поиск кодеров читов и так далее);
  • приватные читы для Minecraft — в этом разделе только платные хаки для игры, покупайте группу "Продавец" и выставляйте на продажу свой софт;
  • обсуждения и гайды — всё тот же раздел с вопросами, но теперь модернизированный: поиск нужных хаков, пати с игроками-читерами и другая полезная информация.

Спасибо!

1721661528704.png

вот такая ошибка, хотя использовал вроде бы символ \n но не помогло, что сделать?
 
Начинающий
Статус
Оффлайн
Регистрация
17 Май 2023
Сообщения
227
Реакции[?]
2
Поинты[?]
1K
ну или тут только создавать descriptionTwo(), и рендерить его по y еще ниже?
 
Начинающий
Статус
Оффлайн
Регистрация
2 Апр 2023
Сообщения
23
Реакции[?]
0
Поинты[?]
0
Хз поможет ли
Метод написал дядя чат гпт

Java:
public String[] splitString(String message, int chunkSize) {
        if (message.length() <= chunkSize) {
            return new String[]{message};
        }

        int numOfChunks = (int) Math.ceil((double) message.length() / chunkSize);
        String[] table = new String[numOfChunks];

        int start = 0;
        for (int i = 0; i < numOfChunks; i++) {
            int end = Math.min(start + chunkSize, message.length());
            String chunk = message.substring(start, end);

            if (i == 0 && numOfChunks > 1) {
                table[i] = chunk + "...";
            } else if (i > 0) {
                table[i] = "..." + chunk;
            } else {
                table[i] = chunk;
            }

            start += chunkSize;
        }

        return table;
    }
У тя переносить нужно примерно на 28 символе, по этому те над что-то типа
Java:
String description[] = splitString(module.getDescription(), 28);
int offset = posY; // Сюда задаешь позицию первой строки по Y
for(int i = 0; i < description.length; i++) {
    Fonts.yourFont.drawText(stack, description[i], posX, offset, ColorUtils.rgb(255, 255, 255), 12);
    offset += Fonts.yourFont.getHeight(12) + 3; // 3 - это отступ между строками
}
Либо же если не хочешь юзать переменные
Java:
for(int i = 0; i < splitString(module.getDescription(), 28).length; i++) {
    Fonts.yourFont.drawText(stack,  splitString(module.getDescription(), 28)[i], posX, posY + (i * Fonts.yourFont.getHeight(12) + 3), ColorUtils.rgb(255, 255, 255), 12);
}
// Не сразу увидел что решилась проблема
 
PoC Life
Пользователь
Статус
Оффлайн
Регистрация
22 Авг 2022
Сообщения
340
Реакции[?]
48
Поинты[?]
38K
Хз поможет ли
Метод написал дядя чат гпт

Java:
public String[] splitString(String message, int chunkSize) {
        if (message.length() <= chunkSize) {
            return new String[]{message};
        }

        int numOfChunks = (int) Math.ceil((double) message.length() / chunkSize);
        String[] table = new String[numOfChunks];

        int start = 0;
        for (int i = 0; i < numOfChunks; i++) {
            int end = Math.min(start + chunkSize, message.length());
            String chunk = message.substring(start, end);

            if (i == 0 && numOfChunks > 1) {
                table[i] = chunk + "...";
            } else if (i > 0) {
                table[i] = "..." + chunk;
            } else {
                table[i] = chunk;
            }

            start += chunkSize;
        }

        return table;
    }
У тя переносить нужно примерно на 28 символе, по этому те над что-то типа
Java:
String description[] = splitString(module.getDescription(), 28);
int offset = posY; // Сюда задаешь позицию первой строки по Y
for(int i = 0; i < description.length; i++) {
    Fonts.yourFont.drawText(stack, description[i], posX, offset, ColorUtils.rgb(255, 255, 255), 12);
    offset += Fonts.yourFont.getHeight(12) + 3; // 3 - это отступ между строками
}
Либо же если не хочешь юзать переменные
Java:
for(int i = 0; i < splitString(module.getDescription(), 28).length; i++) {
    Fonts.yourFont.drawText(stack,  splitString(module.getDescription(), 28)[i], posX, posY + (i * Fonts.yourFont.getHeight(12) + 3), ColorUtils.rgb(255, 255, 255), 12);
}
// Не сразу увидел что решилась проблема
String[] splitten = module.getDescription().split("\n");
for (int i = 0; i < splitten.length; i++) {
Fonts.yourFont.drawText(stack, posX, posY + i * 10, -1, 12); // 10 расстояние
}

нахуя тебе столько кода не пойму
 
Сверху Снизу