-
En effet comme cela ça ne risque pas de fonctionner …
Déjà pour override la méthode onBlockDestroyed il faut les bons arguments, donc commence par regarder dans la classe Block.java à quoi ressemble la fonction.
Et ensuite world.setBlock sans parenthèse après, ce n’est pas comme ça qu’on appelle une fonction en Java.
-
Merci, jai chercher dqans le block.class et jai trouvee ca (modifier pour mes plante) :
@Override public void onBlockDestroyedByPlayer(World world, int x, int y, int z, int p_149664_5_) { world.setBlock(x, y, z, NostalgieRPPlants.CannabisCrops, 0, 2); }Mais la texture 5 de mon houblons ne veux pas safficher alors que il es bien mis dans le dossier blocks avec les texture du cannabis, si on peux m’aider, ca serrais la joie, vrm merci @robin4002

-
je cherche aussi pour change le temp de croissance des plante si vous savez .-.
-
La texture 5 ne s’affiche pas, c’est à dire ? Il y a un texture noir / violet ? Ou elle n’apparait juste jamais (et la plante reste sur la texture 4 pour toujours ?)
-
nan c’est bon jai regle ca, javais delete une etape et non, ca me donnait une texture noir et rose et apres ca changais quand ca grandissais, tous se que il me manque c’est le temp custom de croissance,
-
De mémoire il suffit de changer la méthode tickRate (ou un truc du genre)
-
donc il faudrais que je @Override le TickRate, je vais voir ca
-
je comprend pas le tickrate(); .-. sa se trouve c tous con mais voilah.
-
Il faut override la méthode et changer la valeur de retour.
Plus le nombre est petit moins cela tickera souvent (et donc plus la plante poussera lentement). -
le tickRate ne peux pas etre override, ou il faut que je cree une classe super
-
Une classe super ?
-

-
Car tu n’as pas la bonne signature, de mémoire il doit avoir world en argument.
Une fois de plus, regardes dans la classe Block comme elle est exactement.
-
(desoler de te garder aussi tard sur se probleme, si tu veux tu peux attendre demain pour le reste)
/** * How many world ticks before ticking */ public int tickRate(World p_149738_1_) { return 10; }dans block jai trouvee ca, donc si je fait return 2400 ca fait 1 minute (comme c en ticks) mais apres il faut que je mes quoi ?
public int tickRate(World p_149738_1_) { return 10; world.setblock NostalgieRPPlants.HoublonsCrops; }un truc comme ca
-
Pourquoi tu as mis ce world.setBlock qui n’a aucun sens ?
Tu as juste à reprendre la fonction à l’identique dans ta classe et changer le 10 par autre chose. -
donc quel’que chose comme ca :
@Override public int tickRate(World world, int parX, int parY, int parZ, Random growStage) { return 2400; super.tickRate(world, parX, parY, parZ, growthStage); int growStage = world.getBlockMetadata(parX, parY, parZ) + 1; if (growStage > 7) { growStage = 7; } world.setBlockMetadataWithNotify(parX, parY, parZ, growStage, 0, 2); }mais ca me semble pas bon.
-
jai un peux changer et le code me semble mieux :
@Override public int tickRate(World parWorld, int parX, int parY, int parZ) { int growStage = parWorld.getBlockMetadata(parX, parY, parZ) + 1; if (growStage > 7) { growStage = 7; } parWorld.setBlockMetadataWithNotify(parX, parY, parZ, growStage, 2); return 2400; }le truc tourne pendant 8 minute (2400 ticks = 1 minutes)
je pence que la il es correcte -
Dans la fonction tickRate il ne devrait avoir rien d’autre que le return avec la valeur voulu.
Le reste de la logique doit être dans la fonction updateTick
-
ok merci tous marche, je vais mettre le thread en resolu