Ввів слово на кшталт «Glacier» у поле сіда? Minecraft перетворює цей текст на число, перш ніж будувати світ. Цей інструмент «текст у сід» показує тобі це число миттєво. Введи будь-яке слово чи фразу, і отримаєш числовий сід, який справді використовує Java Edition. Потім можна відкрити його на мапі, поділитися ним або вставити в інші інструменти, що приймають лише числа.
Як користуватися перетворенням тексту на сід
- Введи свій текстовий сід так само, як у грі.
- Прочитай числовий сід під полем.
- Скопіюй число або відкрий його на мапі.
Великі літери мають значення. «Glacier» і «glacier» — це два різні сіди. Пробіли всередині теж мають значення, але пробіли на початку й в кінці в сучасних версіях обрізаються.
Як Java перетворює текст на сід
Java Edition спершу перевіряє, чи введення є числом. Якщо це ціле число, що вміщується в 64 біт, гра використовує його як є. Мінус або плюс на початку допускається.
Усе інше — текст. Для тексту гра запускає Java-метод String.hashCode(). Він проходить кожен символ. Множить поточну суму на 31, потім додає код символу. Результат загортається в 32-бітне ціле зі знаком.
| Текст | Числовий сід |
|---|---|
| Glacier | 1772835215 |
| glacier | 108181935 |
| minecraft | 695073197 |
Числа, завеликі для 64 біт, обробляються як текст. Тож вони теж проходять через hashCode().
Чому текстові сіди мають межі
Оскільки hashCode() повертає 32-бітне число, текстові сіди можуть охопити лише близько 4.29 мільярдів світів. Числові сіди використовують повний 64-бітний діапазон. Це близько 18.4 квінтильйонів світів.
Іншими словами, більшість світів ніколи не можна отримати текстом. Якщо хочеш найширший вибір, використовуй число.
Різні тексти також можуть давати те саме число — це називається колізією. Наприклад, фрази creashaks organzine і pollinating sandboxes обидві хешуються в 0. Вони генерують той самий світ, що й сід 0.
Поради та випадки використання
- Ділися сідами чітко. Число уникає плутанини з великими літерами й помилками.
- Використовуй інструменти для сідів. Багато мап і пошуків потребують числового значення.
- Назви світ. Введи своє ім’я чи назву сервера й подивись, який світ створиться.
- Перевір відомий сід. Перетвори його й відкрий на мапі, щоб побачити, чому він відомий.
Типові помилки та нотатки про Bedrock
Типова помилка — зміна регістру. «Minecraft» і «minecraft» дають різні числа. Інша — додавання прихованих символів, як-от кінцевої табуляції після копіювання й вставлення.
Цей конвертер охоплює лише Java Edition. Bedrock Edition також приймає текстові сіди. Однак ми не перевіряли, як Bedrock перетворює текст, тож значення для Bedrock не показуємо. Якщо граєш у Bedrock, скористайся числовим сідом із налаштувань світу.
Починаючи з 1.18, Java і Bedrock мають однаковий рельєф і біоми для того самого 64-бітного числа. Структури між виданнями все ще відрізняються.
Короткий погляд на математику
Щоб користуватися інструментом, математику знати не треба. Та невеликий приклад допоможе. Для тексту «ab» гра починає з 0. Потім бере код «a», тобто 97. Далі множить 97 на 31 і додає 98, код «b». Результат — 3105.
Довші тексти повторюють той самий крок для кожного символу. Сума швидко росте, тож виходить за межі 32-бітного діапазону. Тоді значення загортається. Тому багато текстових сідів дають від’ємні числа.
Оскільки кроки фіксовані, той самий текст завжди дає той самий сід на кожному комп’ютері.
Це також означає, що можна самому перевірити будь-який відомий текстовий сід. Введи його, і конвертер повторить ті самі кроки, що й гра.
ЧаПи
Який числовий сід для "Glacier"?
У Java Edition текст Glacier стає 1772835215.
Чи залежать текстові сіди від регістру?
Так. Кожна літера має свій код символу, тож зміна регістру змінює число.
Чому число мого текстового сіда від’ємне?
String.hashCode() повертає 32-бітне ціле зі знаком, тож приблизно половина текстів дає від’ємні числа.
Чи проходить число через hashCode?
Ні. Цілі числа, що вміщуються в 64 біт, використовуються напряму. Хешуються лише текст і завеликі числа.
Чи працює це для Bedrock Edition?
Цей інструмент охоплює лише Java Edition. Перевір числовий сід у налаштуваннях світу Bedrock.
Чи можуть два різні тексти дати той самий сід?
Так. Текстові сіди мають лише близько 4.29 мільярдів можливих значень, тож багато фраз ділять одне число.