Spawn Slime

Olivevht

Ceci est un titre
9 Février 2012
4 083
86
147
27
Bonjour, j'ai besoin de beacoup de slime ball pour faire des potion, or je ne trouve aucun slime. Comment en faire spawn ? J'ai essayé de faire un grand espace a la couche 6 ( H4,L10,l10) mais aucun slime ne spawn !
Help !

SOLUTION: Chercher un chunk a slime, creuser une grande salle a l’intérieur (H3,L16,l16) en dessous de la couche 40, attendez beaucoup de temps, et voila vous avez des slimes !
 

Rirlain

Architecte en herbe
11 Mai 2013
4
0
62
40
1) On ne up pas les vieux poste.
2) J'ai déjà donné la réponse plus haut.

Bonjour robin,

Pour tout dire, je préfère up un vieux post plutôt que d'en créer un nouveau sur le même sujet... Alors peut-être n'est-ce pas la politique de ce forum, et dans ce cas je m'en excuse.

Pour ta réponse donnée plus haut, je ne sais absolument pas où tu vas chercher tes informations car non, les slimes ne peuvent spawn partout, et certainement pas seulement à partir de la couche 32... Je me permets donc de mettre en doute l'exactitude de tes propos.
Sur le wiki on peut lire : "Slimes spawn throughout the world below layer 40, but only in certain chunks, 1 in 10 of all chunks..."
Donc un chunk sur 10, qui peut être trouvé par un calcul dispo sur le wiki anglais, ou bien par le site Minecraft Slime Finder qui utilise cette formule. On peut aussi utiliser les coordonnées de la map en les divisant par 16.

Bref, si ca peut aider quelqu'un plus tard, voilà voilà.
 

robin4002

Expert en informatique et systèmes d'information
Staff
Responsable technique
Responsable forum
12 Novembre 2012
20 815
156
3 000
347
26
Alsace
www.minecraftforgefrance.fr
Du coup je suis aller voir dans la class du slim, je tombe sur ça :
Code:
    public boolean getCanSpawnHere()
    {
        Chunk chunk = this.worldObj.getChunkFromBlockCoords(MathHelper.floor_double(this.posX), MathHelper.floor_double(this.posZ));
 
        if (this.worldObj.getWorldInfo().getTerrainType().handleSlimeSpawnReduction(rand, worldObj))
        {
            return false;
        }
        else
        {
            if (this.getSlimeSize() == 1 || this.worldObj.difficultySetting > 0)
            {
                BiomeGenBase biomegenbase = this.worldObj.getBiomeGenForCoords(MathHelper.floor_double(this.posX), MathHelper.floor_double(this.posZ));
 
                if (biomegenbase == BiomeGenBase.swampland && this.posY > 50.0D && this.posY < 70.0D && this.rand.nextFloat() < 0.5F && this.rand.nextFloat() < spawnChances[this.worldObj.getMoonPhase()] && this.worldObj.getBlockLightValue(MathHelper.floor_double(this.posX), MathHelper.floor_double(this.posY), MathHelper.floor_double(this.posZ)) <= this.rand.nextInt(8))
                {
                    return super.getCanSpawnHere();
                }
 
                if (this.rand.nextInt(10) == 0 && chunk.getRandomWithSeed(987234911L).nextInt(10) == 0 && this.posY < 40.0D)
                {
                    return super.getCanSpawnHere();
                }
            }
 
            return false;
        }
    }
Donc dans les biomes de marrai, les slims peuvent spawn entre le niveau 50 et 70, sinon partout ailleurs, ils spawn en effet en dessous du niveau 40 et non 32, j'ai parlé trop vite.
Après la fonction rand.nextInt(10) génère un chiffre entre 0 et 10, vu la condition, ça colle aussi pour les 1 chances sur 10.

Pour finir la fonction chunk.getRandomWithSeed c'est ça :
Code:
    public Random getRandomWithSeed(long par1)
    {
        return new Random(this.worldObj.getSeed() + (long)(this.xPosition * this.xPosition * 4987142) + (long)(this.xPosition * 5947611) + (long)(this.zPosition * this.zPosition) * 4392871L + (long)(this.zPosition * 389711) ^ par1);
    }
Il y a un test par rapport au seed, c'est ça qui fait que les chunk à slime sont différent sur toute les map, en revanche, il n'y a pas de raison pour que les chunks à slime bougent, donc soit le seed de ta map bug et change, soit rei minimap bug, je pense plutôt à un bug de reiminimap comme j'ai déjà vu des slims dans un lieux ou reiminimap disait qu'ils ne pouvait pas spawn.
 

Rirlain

Architecte en herbe
11 Mai 2013
4
0
62
40
Tu as très certainement raison sur le fait que ce soit rei's qui plante, à mon avis il a du se baser sur un ancien algorithme du jeu.
En tout cas merci à toi pour m'avoir aidé à y voir plus clair.