Scanner les blocks allentour
-
non en gros je veut que mon block scan les block alentour dès que le chunk est charger
-
Il faut utiliser la fonction updateTick alors. Par contre ça va être assez lourd.
-
esplique quand meme
-
La fonction updateTick est appelée 10 fois par seconde, la plupart du temps ce n’est pas nécessaire de l’utiliser : il y a des event pour çà. Que veux-tu faire avec ?
-
je souhaite faire un block qui face pousser les plante qu’il y a autour
-
Alors, regarde comment le block BlockCrops est fait et baisse la fréquence de mise à jour.
-
c’est fait me je comprend pas –’ je sais même pas comment mit prendre . Il y a plein de problème : -comment faire pour que le bloc soit actif
-faire poussez les autre plante dans un secteur de 8X8X8
-… -
this.setTickRandomly(true); dans le constructeur pour indiquer que le jeu doit ticker ton block.
Et ensuite ré-écris la fonction updateTick et rajoute ce que tu veux dedans, mais évite de l’appeler tous les ticks si possible. -
public void updateTick(World p_149674_1_, int p_149674_2_, int p_149674_3_, int p_149674_4_, Random p_149674_5_){ }es-que sa équivaut a sa ?
public void updateTick(World world, int x, int y, int z, Random rand){ }Avec world , x , y , z pour la position de mon bloc ?
-
Ve sont des noms de variables, tu peux mettre tout ce que tu veux. Mais c’est mieux de respecter la convention java.
-
On pourrait même mettre :
public void updateTick(World world, int robinEstUnAdminTresPuissant, int ScarexCodeTresBien, int albanninouAEncoreBesoinDaide, Random rand){
ça serait la même chose.
Bon en général on met plutôt des noms de variable qui vont avec la situation. -
la question est pas si je peut les renommer mais si elle correspond bien a sa (si c’est bien les coordonnés de mon block)
-
Oui c’est ça. En général quand tu as world et 3 int après c’est toujours world, x, y, z
-
et le rand c’est quoi ?
-
Une instance de Random.
-
Du coup j’ai fait sa :
public void updateTick(World world, int x, int y, int z, Random rand){ Block block; Material Materiaux; for(int a = x -4;a!=8;a++){ for(int b = y -4;b!=8;b++){ for(int c = z-4;c!=8;c++){ block = world.getBlock(a,b,c); Materiaux = block.getMaterial(); if(Materiaux == Material.plants){ // fonction pour faire poussez la plante } } } } }mais je ne trouve pas la méthode pour faire pousser la plante
-
Regarde ce que fait le bonne meal quand on fait un clic droit (ItemDye)
-
j’y comprend rien –’ pour quoi ils on pas écrit comme tout le monde (en anglais bien sur ) parce que leur func_2656287_8 c’est du charabia incompréhensible
-
if (block instanceof IGrowable) { IGrowable igrowable = (IGrowable)block; if (igrowable.func_149851_a(world, a, b, c, world.isRemote)) { if (!world.isRemote) { if (igrowable.func_149852_a(world, world.rand, a, b, c)) { igrowable.func_149853_b(world, world.rand, a, b, c); } } } }Les func_xxxx c’est parce que les noms de fonctions n’ont pas été traduites.
-
D’accord un grand merci je test sa dessuite