Question about maps?


#1

[Google trad]
Hello
I would like to know if I can change in Java the default map of the server by a map created by my plugin?
Otherwise is it possible to know all the chunk generated by the server?
cordially

[FR]
Bonjour
J’aimerais savoir si je peux changer en java la map par défaut du serveur par une map créé par mon plugin ?
Sinon est ce qu’on peut connaitre tout les chunk générer par le serveur ?
Cordialement


#2

[EN]
Hi,

I have some troubles to understand what you’re trying to accomplish, but yes, you can custom world generation using Sponge plugin. Reading the documentation will give some information. If you have any issue to understand or use, feel free to explain-it.

[FR]
Salut,

j’ai un peu de mal à comprendre ce que tu essayes de faire mais oui, il est possible d’agir sur la génération des mondes grâce à un plugin Sponge. La documentation est plutôt bien faite à ce sujet, tu devrais y trouver les informations nécessaires. SI un point précis te bloque, n’hésite pas à l’expliciter ! :wink:


#3

[FR] Est-ce que tu veut changer le façon de la creation du terrain dans le map, ou est-ce que tu veut modifier l’option de quelle “map folder” est utilizer pour le serveur? Si tu peut m’expliquer un peut plus a quoi tu veut faire?

[EN] Do you want to change world generation for new chunks, or do you want to change the option of what world folder is used and/of require?

If you could also explain a bit further as tow what your aim goa. inhere?


#4

[FR]
Bonjour.

Vous parlez français ? Je suis nul en anglais et je m'aide de Google trad et jai un copain qui corrige mais il est pas la.


En gros mon plugin regénère des chunk de la map ou des “zones”. C'est utile quand on a fait une bêtise ou qu'on veut détruire un truck…

Le moyen le plus simple que j'ai trouvé pour le faire c'est de créer une copie identique de la map ou je prends des Chunk tout neuf pour remplacer ce que je veux changer.

Par contre la nouvelle map ne peut pas avoir le même nom même si je la supprime. Elle doit donc s'appeler world_copy_1, world_copy_2… on peut pas faire quelque chose ?

Le problème:

J'aimerais pouvoir aussi faire le contraire:

Exemple: je suis en 1.12.2 et je passe mon serveur en 1.13 et bas je veux regénérer la toute la map SAUF par exemple quelques chunk que je veux garder telle quelle, car j’ai ma maison ou je veux tout simplement repartir de zéro tout en gardant mon spawn.

Donc je pensais soit:

Je crée une nouvelle map. Je prends ce que je veux de l'ancienne pour y mettre sur la nouvelle. Puis je décharge l’ancienne map. Je delete l'ancienne et la nouvelle map prend le nom de l’ancienne map ce qui fait qu’elle prend le nom de la map principal, mais j’ai l’impression qu’on ne peut pas ?

Seconde option:

Je regarde tous les Chunk créé et je les prends sur la nouvelle map pour les mettre sur l'ancienne pour remettre la map a zero.

C'est assez clair ?

Merci


#5

Oui, je parle français, mais mon orthographe n’est pas bonne et en plus, mon grammaire est plus pire. J’écris comme je parles, alors je fait des fautes partout. Je suis désolé si ç’arrive que tu me ne comprends pas a cause de mon français.

Oui, avec le API, on viens d’ajouter une function sûr World pour cette occasion, de régénérer les chunks que tu veut “réparer”.

C’est un peu manuel, mais ça peut marcher, c’est que le map doit être d’hors de le directoire de serveur, parce qu’il y as les “conversions” de Sponge qui vont essayer d’importer tes maps “originelle”.

Je peut te dire que tu doit régénérer les chunks avec le API, comme ça il n’y as pas des duplication des maps. Les methods que tu peut utilizer sont ici.

J’espère que ça t’aide un peut, ou au moins, tu m’a compris. Si non, je peut essayer de trouver un autre solution pour ton problème.


#6

J’ai bien comprit ce que tu as dit gabizou :+1: C’est cool de trouver quelqu’un d’autre qui parle un peut français car j’ai du mal avec anglais.

Merci a toi aussi DiscowZombie


Je ne trouve pas la méthode regenerateChunk(). Elle est pas ajouté encore ?

Je sais même pas qu’elle version j’utilise:
image
J’ai fait la MAJ “Updating your Clone” avec les commandes “git pull”…


La méthode regenerateChunk() renvoie un Optional, c’est moi quoi place le morceau que je veux ou j’ai mal comprit ?

Est ce que je peux savoir tous les Chunk qui on été créé par le serveur ? car ce que j’aimerais c’est créer une copie de la map et mettre les chunk de la map a garder dedans et la rendre par défaut sans arrêter le serveur OU dans ce qu’a recréer tous les chunk déjà généré.

Tu as dit “c’est que le map doit être d’hors de le directoire de serveur”, moi la seconde map créé se trouve dans le dossier de la map par défaut. On peut choisir de la créer a la racine ?

Dernière chose: est ce que je peux créer une map du même nom qu’une map déjà delete avec mon plugin ? Le jeu renvoie comme quoi le nom est déja présent dans “Catalog type” je crois.


#7

Bonjour, moi a nouveau

J’ai réussi a recréer un chunk:

	    Optional<World> worldOptional = Sponge.getServer().getWorld("world");
        if(worldOptional.isPresent()) {
            World world = worldOptional.get();
            Optional<Chunk> cOptional = world.regenerateChunk(getPositionChunk.toInt(), ChunkRegenerateFlags.ALL);
            if(cOptional.isPresent()) {
                Chunk c = cOptional.get();
                Tool.getLogger().info("regenerateChunk");
            }
        }

En revanche, cela place le Chunk directement sur le serveur, on peut pas avoir les blocs du Chunk dans un tableau et placer la partie du Chunk que l’on souhaite ?

Dernière chose: est ce qu’on peut faire afficher une particule créer avec un mod avec un plugin Sponge ?


#8

@gabizou Personne a de réponse ?


#9

Désolé, j’aurai le temps pour répondre après ce weekend, j’ai tellement des choses affaires, j’ai pas eu le temps de lire et écrire une reponse.


#10

Personne a d’idée ? J’aimerais que quand on a envie de regénérer un Chunk d’avoir la liste des bloc du Chunk mais que ça ne place pas le Chunk