Начинающий
- Статус
- Оффлайн
- Регистрация
- 13 Май 2025
- Сообщения
- 71
- Реакции
- 1
- Выберите загрузчик игры
- Прочие моды
GlitchedUtility:
package i.chuppachups.deadcode.Other.Utility.Helper;
public class GlitchedUtility {
private final String baseText;
private int glitchStartIndex = 0;
private int glitchCharFrame = 0;
private final int framesPerChar;
private final long glitchIntervalMillis;
private final int maxGlitchChars;
private long lastUpdateTime;
private boolean isGlitching = false;
public GlitchedUtility(String text, int maxGlitchChars, int framesPerChar, long glitchIntervalMillis) {
this.baseText = text;
this.maxGlitchChars = Math.min(maxGlitchChars, text.length());
this.framesPerChar = framesPerChar;
this.glitchIntervalMillis = glitchIntervalMillis;
}
public void start() {
glitchStartIndex = 0;
glitchCharFrame = 0;
isGlitching = true;
lastUpdateTime = System.currentTimeMillis();
}
public boolean update() {
if (!isGlitching) return false;
long now = System.currentTimeMillis();
if (now - lastUpdateTime >= glitchIntervalMillis) {
lastUpdateTime = now;
glitchCharFrame++;
if (glitchCharFrame >= framesPerChar) {
glitchCharFrame = 0;
glitchStartIndex++;
if (glitchStartIndex > baseText.length()) {
isGlitching = false;
glitchStartIndex = baseText.length();
}
}
}
return isGlitching;
}
public String getGlitchedText() {
StringBuilder sb = new StringBuilder();
int textLen = baseText.length();
for (int i = 0; i < textLen; i++) {
if (i < glitchStartIndex) {
sb.append(baseText.charAt(i));
} else if (i >= glitchStartIndex && i < glitchStartIndex + maxGlitchChars) {
if (glitchCharFrame == 0) {
sb.append(baseText.charAt(i));
} else {
sb.append(randomChar());
}
} else {
sb.append(baseText.charAt(i));
}
}
return sb.toString();
}
public boolean isGlitching() {
return isGlitching;
}
private char randomChar() {
return (char) (33 + (int) (Math.random() * 30));
}
}
Пожалуйста, авторизуйтесь для просмотра ссылки.
Последнее редактирование: