2 votes

Comment puis-je rendre les variables persistantes dans WorldEdit CraftScripting ?

Lorsque j'expérimente dans Minecraft, j'ai généralement créé une grande surface plate sur laquelle travailler en utilisant WorldEdit.

Cependant, cela se termine généralement par un crash ou un gros gel.

Je vais créer un script qui peut prendre un gros travail de nettoyage et le diviser en plusieurs petits et donner le temps au jeu de récupérer. Ça n'a pas l'air trop compliqué à faire, mais si je dois retaper la commande et les arguments à chaque fois, ça va être embêtant.

J'ai besoin d'une variable qui peut persister après l'exécution du script pour pouvoir faire quelque chose du type "/suivant" pour passer au travail suivant.

J'ai regardé la référence de l'api, mais je ne vois rien concernant les préférences ou les paramètres ou quelque chose que je pourrais utiliser.

2voto

Caelum19 Points 281

Je vous suggère de ne pas utiliser world edit, créer un plugin Bukkit à partir de zéro est très facile et très amusant.

L'API de Bukkit dispose d'outils de modification de blocs très utiles, ce bout de code ici placera un bloc de pierre (b.setTypeId(1);) au-dessus de la tête de chaque joueur à chaque déplacement.

public void onPlayerMove(PlayerMoveEvent evt) {

    Location loc = evt.getPlayer().getLocation();

    World w = loc.getWorld();

    loc.setY(loc.getY()-1);
    Block b = w.getBlockAt(loc);
    if(!b.isEmpty())
    {
    b.setTypeId(1);
    }}

Et en ce qui concerne l'anti-crash, il suffit de faire fonctionner le plugin sur un thread séparé du serveur principal, de cette manière, si votre plugin "crash", le serveur ne répondra pas différemment avant que le plugin ait terminé de calculer et se terminera plus rapidement.

AlleGamers.com

AlleGamers est une communauté de gamers qui cherche à élargir la connaissance des jeux vidéo.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X