Seed kutusuna "Glacier" gibi bir kelime mi yazdın? Minecraft dünyanı kurmadan önce o metni bir sayıya çevirir. Bu metinden seed'e dönüştürücü o sayıyı anında gösterir. Herhangi bir kelime ya da ifade yaz; Java Edition'ın gerçekten kullandığı sayısal seed'i al. Sonra haritada açabilir, paylaşabilir ya da yalnızca sayı kabul eden diğer araçlara yapıştırabilirsin.
Metinden seed'e dönüştürücü nasıl kullanılır
- Metin seed'ini oyunda girdiğin şekliyle aynen yaz.
- Kutunun altındaki sayısal seed'i oku.
- Sayıyı kopyala ya da haritada aç.
Büyük harfler önemlidir. "Glacier" ve "glacier" iki farklı seed'dir. Ortadaki boşluklar da önemlidir, ancak güncel sürümlerde baştaki ve sondaki boşluklar kırpılır.
Java metni nasıl seed'e çevirir
Java Edition önce girdinin bir sayı olup olmadığına bakar. 64 bite sığan bir tam sayıysa oyun onu olduğu gibi kullanır. Başta eksi veya artı işareti olması sorun değildir.
Geri kalan her şey metindir. Metin için oyun Java'nın String.hashCode() yöntemini çalıştırır. Bu yöntem her karakter üzerinden geçer. Çalışan toplamı 31 ile çarpar, sonra karakter kodunu ekler. Sonuç 32 bitlik işaretli bir tam sayıya sarılır.
| Metin | Sayısal seed |
|---|---|
| Glacier | 1772835215 |
| glacier | 108181935 |
| minecraft | 695073197 |
64 bite sığmayan büyük sayılar metin gibi işlenir. Yani onlar da hashCode() işleminden geçer.
Metin seed'lerinin neden sınırları var
hashCode() 32 bitlik bir sayı döndürdüğü için metin seed'leri yalnızca yaklaşık 4.29 milyar dünyaya ulaşabilir. Sayısal seed'ler tüm 64 bitlik aralığı kullanır. Bu yaklaşık 18.4 kentilyon dünya eder.
Başka bir deyişle, dünyaların çoğuna metinle asla ulaşılamaz. En geniş seçimi istiyorsan sayı kullan.
Farklı metinler aynı sayıyı da verebilir; buna çakışma denir. Örneğin creashaks organzine ve pollinating sandboxes ifadelerinin ikisi de 0 değerine özetlenir. Seed 0 ile aynı dünyayı üretirler.
İpuçları ve kullanım örnekleri
- Seed'leri net paylaş. Sayı, büyük harf ve yazım hatası karışıklığını önler.
- Seed araçlarını kullan. Birçok harita ve bulucu aracı sayısal değere ihtiyaç duyar.
- Dünyana isim ver. Kendi adını ya da bir sunucu adını yaz ve hangi dünyayı oluşturduğunu gör.
- Ünlü bir seed'i kontrol et. Çevir ve neden ünlü olduğunu görmek için haritada aç.
Sık yapılan hatalar ve Bedrock notları
Sık yapılan bir hata büyük/küçük harfi değiştirmektir. "Minecraft" ve "minecraft" farklı sayılar verir. Bir diğeri de kopyala yapıştırdan gelen sondaki sekme gibi gizli karakterler eklemektir.
Bu dönüştürücü yalnızca Java Edition'ı kapsar. Bedrock Edition da metin seed'lerini kabul eder. Ancak Bedrock'un metni nasıl çevirdiğini doğrulamadık, bu yüzden Bedrock değeri göstermiyoruz. Bedrock oynuyorsan bunun yerine dünya ayarlarında gösterilen sayısal seed'i kullan.
1.18 sürümünden beri Java ve Bedrock, aynı 64 bitlik sayı için arazi ve biyomları paylaşır. Yapılar edition'lar arasında hâlâ farklıdır.
Matematiğe kısa bir bakış
Aracı kullanmak için matematiği bilmen gerekmez. Yine de küçük bir örnek yardımcı olur. "ab" metni için oyun 0 değerinden başlar. Sonra "a" harfinin kodunu, yani 97 değerini alır. Ardından 97 değerini 31 ile çarpar ve "b" harfinin kodu olan 98 değerini ekler. Sonuç 3105 olur.
Daha uzun metinler aynı adımı her karakter için tekrarlar. Toplam hızla büyür ve 32 bitlik aralığı aşar. Bu olunca değer sarılır. Pek çok metin seed'inin negatif sayı vermesinin nedeni budur.
Adımlar sabit olduğu için aynı metin her bilgisayarda hep aynı seed'i verir.
Bu, herhangi bir ünlü metin seed'ini kendin de kontrol edebileceğin anlamına gelir. Yaz; dönüştürücü oyunun yaptığı adımların aynısını tekrarlar.
SSS
"Glacier" için sayısal seed nedir?
Java Edition'da Glacier metni 1772835215 olur.
Metin seed'leri büyük/küçük harfe duyarlı mı?
Evet. Her harfin kendi karakter kodu vardır, bu yüzden harf büyüklüğünü değiştirmek sayıyı değiştirir.
Metin seed'imin sayısı neden negatif?
String.hashCode() 32 bitlik işaretli bir tam sayı döndürür, bu yüzden metinlerin yaklaşık yarısı negatif sayı verir.
Sayı da hashCode'dan geçer mi?
Hayır. 64 bite sığan tam sayılar doğrudan kullanılır. Yalnızca metin ve çok büyük sayılar özetlenir.
Bu Bedrock Edition için çalışır mı?
Bu araç yalnızca Java Edition'ı kapsar. Bedrock dünyanın ayarlarındaki sayısal seed'e bak.
İki farklı metin aynı seed'i verebilir mi?
Evet. Metin seed'lerinin yalnızca yaklaşık 4.29 milyar olası değeri vardır, bu yüzden birçok ifade bir sayıyı paylaşır.