BetonQuest
présentation[modifier | modifier le wikicode]
Betonquest permet de créer des quest et de gérer des quêtes.
documation[modifier | modifier le wikicode]
https://github.com/Co0sh/BetonQuest
https://betonquest.pl/javadocs/index.html?pl/betoncraft/betonquest/database/PlayerData.html
Tuto[modifier | modifier le wikicode]
Maintenant que vous savez à quoi ressemble une quête (très) simple, il est temps de commencer à apprendre à écrire quelque chose de similaire. Commençons par les événements.Nous ne ferons pas de conversation tout de suite,
Événements[modifier | modifier le wikicode]
Ouvrons simplement le fichier events.yml dans le package par défaut . A la fin, ajoutez une nouvelle ligne:
foo: message Hello world!
Ceci est une instruction d'événement. BetonQuest l'utilisera pour déterminer le type d'événement et ce qu'il doit faire exactement.
foo est le nom,
message est le type
et Hello world! indique le type de message qu'il doit afficher.
Dans ce cas, si vous exécutez foo , il vous affichera un Hello world! .
Enregistrez maintenant le fichier, lancez la commande /q reload et exécutez l'événement avec la commande /q e {name} foo ( q raccourci pour quest, e raccourci pour event, {name} nom de votre Minecraft sans crochets et foo nom de l'événement que nous venons de créer. ).
Il devrait vous montrer un Hello world! dans le chat il serra marquer en blanc dans le chat.
Créons un autre événement, plus compliqué. teleport semble assez compliqué.
Comme vous pouvez le lire dans la liste des événements , un seul argument, l'emplacement. Appuyez sur F3 et vérifiez votre position actuelle (il est indiqué à gauche, trois chiffres x, yet z). Ajoutez maintenant dans events.yml une autre ligne:
bar: teleport 100;200;300;world
et remplacez 100 par votre x coordonnée, 200 avec y et 300 avec z. world doit être remplacé par le nom de votre monde actuel. Enregistrez le fichier, rechargez le plugin et exécutez cet événement avec une commande décrite précédemment. Il devrait vous téléporter à l'emplacement que vous avez spécifié.
Félicitations, vous venez de créer vos premiers événements.
Allez-y et faites des expériences avec d'autres types d'événements.
Vous pouvez les trouver dans le chapitre Liste des événements . Une fois que vous avez terminé, commençons les conditions d'apprentissage.
Conditions[modifier | modifier le wikicode]
Ouvrez le fichier conditions.yml et ajoutez-y une nouvelle ligne:
foo: location 100;200;300;world 5
Pouvez-vous voir comment nous avons nommé la foo condition de la même manière que l' foo événement ?
Ils ne sont connectés d'aucune façon. Les noms de condition et les noms d'événement sont séparés, vous pouvez donc leur attribuer le même nom sans aucun problème. Regardons maintenant la chaîne d'instruction. Comme vous pouvez le soupçonner, location est un type de condition.
Celui-ci signifie que nous vérifierons si le joueur se trouve à proximité de cet emplacement (vous devez changer l'emplacement pour l'endroit où vous vous trouvez actuellement, afin que vous n'ayez pas à parcourir le monde entier). Notez qu'il ya un argument supplémentaire, 5. Il s’agit de la distance maximale que vous pouvez éloigner de l’emplacement pour satisfaire à la condition.Bon, enregistrez le fichier et rechargez le plugin.
Maintenant, dirigez-vous vers l'emplacement que vous avez défini dans la condition.
Essayez de vous tenir sur le bloc exact correspondant à cet endroit.
Émettez /q c {nom} commande foo ( c'est un raccourci pour condition).
Il devrait vous montrer "vérification de l'état bla bla bla: vrai ". Nous nous concentrons sur ce dernier mot, vrai .
Cela signifie que vous remplissez la condition: vous vous tenez dans un rayon de 5 pâtés de maisons. Maintenant déplacez-vous de 2 pâtés de maisons et lancez cette commande à nouveau. Vous devriez toujours remplir la condition. Marchez 4 pâtés de maisons et essayez maintenant. Il devrait montrer faux . Vous êtes maintenant en dehors de ce rayon de 5 blocs. Trouver? Génial.
Maintenant, je vais vous montrer l'utilisation la plus simple de ces conditions.
Ouvrez à nouveau le fichier events.yml et, à la fin de l' foo instruction, ajoutez un conditions:foo argument. Au fait, renommez l' foo événement en baz, afin que les noms ne deviennent pas déroutants. Maintenant, vous devriez avoir quelque chose comme
baz: message Hello world! conditions:foo
Maintenant, l' baz événement ne s'exécutera que s'il remplit les foo conditions.
Rechargez le plugin, sortez du rayon de 5 blocs et essayez d’exécuter l’ baz événement. Puff, rien ne se passe. C'est parce que vous ne remplissez pas la foo condition. Retournez dans le rayon et essayez d’organiser cet événement maintenant. Il devrait heureusement afficher le Hello world! message.
C'est très bien que nous puissions ajouter de telles conditions, mais le problème est le suivant: que se passe-t-il si vous voulez afficher le message uniquement si le joueur est en dehors du rayon? Ne vous inquiétez pas, vous n'avez pas à spécifier de inverted_locationcondition ou quoi que ce soit du genre. Vous pouvez simplement nier la condition. La négation fait que la condition se comporte exactement de la manière opposée, dans ce cas, elle foone sera satisfaite que si le joueur se trouve en dehors du rayon de 5 pâtés de maisons et ne sera pas remplie s'il est à l'intérieur. Ouvrez le fichier events.yml et ajoutez un point d’exclamation avant la foocondition.
baz: message Hello world! conditions:!foo
Cela signifie "afficher le message Hello world!si la foocondition n'est pas remplie ". Enregistrez le fichier, rechargez le plug-in et exécutez l'événement à l'intérieur et à l'extérieur du rayon pour voir comment il fonctionne.
Command[modifier | modifier le wikicode]
commande de BetonQuest | info | permission |
---|---|---|
/j | donne le journal | betonquest.journal |
/bc | ouvre vos pointeurs de boussole. | |
/backpack | ouvre le backpack | betonquest.backpack |
/q | liste toutes les commandes admin disponibles | betonquest.admin |
/q reload | recharge le plugin | |
/q event {playerName} {package.eventID} | déclenche un événement par le joueur. | |
/q condition {playerName} {package.conditionID} | indique si le lecteur remplit ou non la condition spécifiée | |
/q item {package.itemID} | crée un article en fonction de ce que vous avez en main | |
/q donne {package.itemID} | vous donne un élément défini dans la configuration | |
/q purge {playerName} | supprime toutes les données du joueur de la base de données | |
/q rename {tag / point / objectif / entry} {oldName} {newName} | renomme tous les éléments spécifiés de la base de données | |
/q delete {étiquette / point / objectif / entrée} {nom} | supprime tous les éléments spécifiés de la base de données | |
/q backup | crée une sauvegarde des fichiers de configuration et de la base de données | |
/q update | met à jour le plug-in avec la dernière version disponible. Si vous souhaitez plutôt mettre à jour une version de développement, ajoutez un --devargument à la fin de la commande. | |
/q create {package} | crée un nouveau package avec le nom donné, rempli avec la quête par défaut | |
/questlang {lang} | change la langue du lecteur (et globalement si utilisé depuis la console). default language utilisera le langage défini dans config.yml . | betonquest.language |
Info utile[modifier | modifier le wikicode]
BetonQuest a un api et peux stocker dans un basse de doner mysql les donner des quets
il peux prendre en conte les commande sudo (jouer) et les commande (console)
BetonQuest peut s’accrocher à d’autres plugins pour étendre ses fonctionnalités
on peus activer des command block avec le setblock a distance
Ne donnez pas la permission à betonquest.admin à des personnes en qui vous n'avez pas entièrement confiance. Ils peuvent utiliser la commande / q config pour ajouter un événement de commande et ainsi exécuter n'importe quelle commande en tant que console. Cela pourrait être dangereux.