Résolu Probleme résolu + explication a bush à XP
-
Super ! Merci beaucoup ! Comment je peux te remercier ?
-
+2 ? ^^
EDIT : Mais comme je l’ai dit tu peux améliorer le code surtout au niveau des directions -
Bah je ne le peux pas xD j’ai aucune connaissance en java
Bon … j’ai reussi a faire
-Minerais (5 en tout) + la generation dans l’overworld
-les lingot
-les bloc de lingot
-les armures
-les armes et outils
-et tout les craft qui en découlent ! -
Pas mal pour quelqu’un qui n’a “aucune” connaissance en java
-
bah j’ai suivie des tuto p’y c’est de la logique en faite donc plutot facile je devrais apprendre pck rien qu’a faire ça je me suis eclater xD
Sinon pour faire un bush genre (Oreberry bush de TC)
C’est un block avec des meta datas qui arriver a un certain stade laisse la posibilité de clic droit ? -
C’est ça en gros
-
oki je suis en train de regarder le tuto de robin
Mais j’aurais surment besoin d’aide pour laisser l’acces au clic droit + l’action -
ça y est je viens de fini j’ai mon block avec mes 4 metadata !
Maintenant je doit faire quoi pour lui dire que tout les “X” tick le block change de metadata ?
Et ensuite pour lui dire que a la 4 eme metadata on peux faire un clic droit dessus( ET PAS AVANT !) pour recuperer un item ?
Et ensuite dire au block de repartir a la metadata numero 1 ?Merci de votre aides !
-
Malheureusement les blocks ne sont pas tickés, ils peuvent seulement êtres tickés de façon aléatoire, donc tu as 2 options :
- faire ticker ton block de façon aléatoire
- lui ajouter une TileEntity qui elle peut être tickée
-
Si je le fait ticker de façon aléatoire le lapse de temps est compris entre combien de tick ? y’a forcement une valeur butée je me trompe ?
-
Alors en fait c’est plus compliqué (j’avais oublié) : je crois que tu dois indiqué dans ton constructeur que ton block doit être tické de façon aléatoire, ensuite tu dois ré-écrire les fonctions tickRate qui indique le nombre de ticks entre chaque mise à jour et updateTick qui sera appelée lors de la mise à jour, mais tu dois aussi rajouter dans la fonction updateTick la fonction World.scheduleBlockUpdate(x, y, z, block, tickRate) pour mettre à jour ton block dans le futur (de façon non-aléatoire)
-
Bon autant dire que c’est impossible a mon niveau……___quelqu’un pour reelement m’aider ? Je suis débutant j’ai besoin de savoir quoi mettre ou.
-
Si toujours personne demain, je te montre.
Et sinon pour faire que le clic droit ne soit que quand tu as plus de 4 en méta, tu dois récrire la fonction onBlockActivated dans ton block et faire if(world.getBlockMetadata(X, y, z) >= 4) puis faire drop ce que tu veux.Envoyé de mon RAINBOW LITE 4G en utilisant Tapatalk
-
oui ça je savais mais c’est pour dire au block de tout les “X” temps de changer de metadata
-
Toutes les plantes de Minecraft utilise le tick aléatoire.
Dans le constructeur du bloc il faut ajouter :
this.setTickRandomly(true);
Ensuite il faut utiliser la fonction suivante :public void updateTick(World world, int x, int y, int z, Random rand) { }
Dans ton cas il suffit de faire un world.setBlock(x, y, z, this, world.getBlockMetadata(x, y, z) + 1, 3);
Tu peux utiliser la fonction :
public int tickRate(World world) { return 10; // nombre à changer ici }
pour influencer la fréquence du tick.
-
Merci beaucoup Robin !
Et maintenant pour dire que quand le block et a la metadata 4 que je peux faire un clic droit ?EDIT: je me rend compte d’une chose : la meta data 4 passe a 1 alors que j’aimerais qu’elle repasse a 1 que lorsque je fait un clic droit dessus
-
Dans la fonction onBlockActivated il suffit de faire une condition if(world.getBlockMetadata(x, y, z) >= 4)
-
oui ça je le sais mais le fait que la metadata passe de 4 a 1 sans que je clic. Mon but est de faire un bush et si on peux recolter que a la 4eme metadata on perd du farm.
-
Tu es sur que ça repasse à un 1 et non que ça passe à 5 puis 6 etc …
Ajoutes :
if(world.getBlockMetadata(x, y, z) < 4)
avant :
world.setBlock(x, y, z, this, world.getBlockMetadata(x, y, z) + 1, 3);dans la fonction updateTick
-
Je vais voir si sa reste a 4 désormais.
Je le savais pck la texture de ma 4 eme metadata est diferente des 3 autre présedente
Et je n’en est mis que 4EDIT : la metadata change encore