Problème de datapack, ralentissement énorme du serveur local

Cinahcem

Bucheron
18 Février 2018
21
3
16
Bonjour,
dans ma map j'ai un datapack pour pas mal de choses et notamment l'ajout d'une épée capable d'envoyer des projectiles.
J'ai trois fonctions pour ça, la fonction tick de base qui s'active tous les tick, la fonction sword et la fonction swordfiles.
Lorsque que je clic avec une canne à pêche carotte ça ajoute 1 à "clic".

Le Problème est que au moment où je clic avec la canne le serveur local ralenti à fond genre je ne peux plus taper les mobs, les blocs de commandes sont vide les chunks ne chargent pas... etc. Le seul moyen est de désactiver le datapack...

Je ne sais pas du tout à quoi c'est dû, j'espère que vous pourrez m'aider... Merci d'avance.

Fonction tick.png





Fonction sword.png





Fonction swordfiles.png
 
Hey !
Es-tu sûr que ta fonction récursive ne boucle pas à l'infini ?
 
Bonjour,
si je crois bien que c'est ce qui ce passe mais je n'arrive pas à régler ce problème...
 
Dans ce genre de cas, ajoute un "timeout", donc un nombre d'itération maximum !
Genre à chaque tour de boucle, tu incrémentes une variable de 1, et dès que tu atteins un palier défini préalablement, tu stoppes les appels récursif
 
Je vais essayer, j'ai un peu modifié les fonction et le serveur ralenti un peu, que pendant 1 seconde, seulement le projectile ne bouge pas d'un pouce pendant ce laps de temps...
 
Ah et aussi, je ne sais pas comment faire prendre des dégâts à un Wither grâce à des commandes j'ai essayé avec des effets de instant_health mais le jeu n'accepte pas alors qu'une potion en splash fonctionne... merci Mojang... J'aimerais lui faire prendre des dégâts à chaque fois que le projectile de l'épée le touche, du moins quand le projectile bougera... Désolé j'ai pas mal besoin d'aide...
 
Personnellement, le effect d'instant_damage fonctionne :/
Code:
/effect give @e[type=minecraft:wither_skeleton] minecraft:instant_health 1 1
 
Ah je me suis mal exprimé, je parlais du Wither boss, là ca ne fonctionne pas pour lui...
Et d'ailleurs merci pour les petits conseils pour le datapack, après avoir modifié quelque trucs, le projectile bouge correctement et sans lags du serveur local.
 
  • J'aime
Reactions: Oromis
Du coup j'ai testé, le Wither est immunisé aux effets, dont les potions splash. Après, tu peux simuler des dégâts en faisant décrémenter directement la valeur du NBT Tag de vie "Health", par contre il n'aura l'animation spécifique de la prise de dégâts.
 
Oui...
Ah on peut faire comme ça :o mais genre comment je fais pour que ça enlève 1 hp à chaque projectiles qu'il reçoit ? C'est avec la commande /data ?