Résolu Seed minecraft

iKreal

Massacreur de Mouton
30 Octobre 2015
40
2
23
23
Bonjour,
Je souhaiterai savoir comment fonctionnent les seeds, c'est-à-dire comment sont-ils calculés en fonction de ce que l'on va écrire. On peut en effet choisir le seed lors de la génération de la map. Et je me souviens par exemple du seed "gimeabreak" qui d'ailleurs signifie "Give me a break" et ainsi traduit par "Laisse moi tranquille" pour l'anecdote. Et donc je me posais la question suivante : comment Minecraft calcule-t-il les seeds en fonction de la chaîne de caractères saisie ? Est-ce que c'est un algorithme un peu "hasardeux" ou alors il a une réelle signification ? Merci pour ceux qui ont la réponse à cette question ! :)
 
Je crois avoir eu la réponse sur le wiki en anglais :
https://minecraft.gamepedia.com/Seed_(level_generation)
"The Java String.hashCode() function is used to generate a number seed if a word/phrase is used. This restricts Minecraft to a subset of the possible worlds (to 232 which is 4,294,967,296), due to the datatypes used. Use number seeds directly or let Minecraft generate the seed (it uses the system clock) to access the full set of possible worlds (264 which is 18,446,744,073,709,551,616). Multiplayer seeds may only have 248 possible values if randomly generated by Minecraft due to using nextLong()."
Un peu compliqué, mais ce n'est que du code simple. C'est donc basé sur un algorithme utilisant la fonction String.hashCode()
Voilà pour ceux qui étaient aussi intéressés ! :)