Помогите Как форматировать UUID в формат #00000

mieslefd

Ньюби
Пользователь
Баллы
1
Нужно форматировать плейсхолдер %player_uuid% в формат #00000 вместо основного формата уникального идентификатора игрока
 
Если даже придумать конвертер UUID в цифру, то сами числа будут получатся намного длиннее, чем UUID. Так как вариантов UUID огромное количество.
Проще при входе игрока генерировать ему число и сохранять в базу. Сомневаюсь, что такие плагины легко найти в паблике, если кто-то и писал. Так что писать или заказывать.
 
Для чего его так форматировать? Какая конечная задача?
Технически довольно легко перевести в число, но зачем?
 
Для чего его так форматировать? Какая конечная задача?
Технически довольно легко перевести в число, но зачем?
для присваивания порядкового номера каждому вошедшему игроку
Формат как я и указывал: #00000 - #99999
 
для присваивания порядкового номера каждому вошедшему игроку
Формат как я и указывал: #00000 - #99999
UUID - это не порядковый номер, а практически случайный номер. Вот так выглядит UUID в числовом виде:
170141183460469231740910675752738881536

Если тебе нужен именно порядковый номер - UUID тебе не поможет. Используй либо какой-то другой плейсхолдер, либо вовсе другой плагин.

Если надо - вот код перевода UUID в число:
String uuidString = new BigInteger(uuid.toString().replace("-", ""), 16).toString();
Любой программист сможет сделать плейсхолдер
 
UUID - это не порядковый номер, а практически случайный номер. Вот так выглядит UUID в числовом виде:
170141183460469231740910675752738881536

Если тебе нужен именно порядковый номер - UUID тебе не поможет. Используй либо какой-то другой плейсхолдер, либо вовсе другой плагин.

Если надо - вот код перевода UUID в число:
String uuidString = new BigInteger(uuid.toString().replace("-", ""), 16).toString();
Любой программист сможет сделать плейсхолдер
я пробовал сделать свой плейсхолдер, так как не нашёл альтернатив:

package PassNumP;

import me.clip.placeholderapi.expansion.PlaceholderExpansion;
import org.bukkit.entity.Player;

public class PassNumberExpansion extends PlaceholderExpansion {

private static int nextPassNumber = 1;


public String getIdentifier() {
return "pass_num";
}


public String getAuthor() {
return "AuthorName";
}


public String getVersion() {
return "1.0";
}


public String onRequest(Player player, String identifier) {

if (player == null) {
return "";
}

int passNumber = nextPassNumber++;

return String.format("#%05d", passNumber);
}

}

при добавлении в ChestCommands плейсхолдера %pass_num% ничего не происходит, должно выводить номер паспорта в формате #00000

но не работает
 
Назад
Верх Низ