Metaverse-City Saint Etienne : plugins et serveur
Projet | Animateurs et Joueurs | Objets connectés | Plugins et serveur |
Liste des plugins[modifier | modifier le wikicode]
- Citizens. Vous trouverez aussi le plugin Sentinel sur la même page.
- World guard
- Worldedit https://minecraft.fr/world-edit/
Présentation de Betonquest[modifier | modifier le wikicode]
Betonquest permet de créer des quest et de gérer des quêtes.
le nom du npc->quester: 'forgeron'
1er ponteur->first: 'greeting'
si il est block oupas du menu -> stop: 'fals'
la ou on mais les info du pnj-> la NPC_options:
'greeting':
text du pnj->text: "Hey bud, what's your name?"
ponte vere les autre text du joueur ou du npc->pointers: 'dismiss,engage,rude'
'understand':
text: "Oh okay. See you around."
'hurt':
text: "Wow, okay... Bye, i guess."
'npcname':
text: "forgeron, how has your day been going?"
pointers: 'goodday,badday'
'concern':
text: "Oh, i'm sorry bud. Hey, i know we just met, but if you ever need help. I got you."
pointers: 'earlyleave,continue'
'forgeronday':
text: "It's been real good, the world is amazing, isn't it."
pointers: 'agree'
'npcgoodbye':
text: "It was really nice meeting you %player%, i hope to see you around soon."
les reponse du joueur->player_options:
'rude':
pointers: 'hurt'
text: "I do not have time for someone like you!"
'dismiss':
text: "I am a bit busy at the moment."
pointers: 'understand'
'engage':
text: "%player%, what is your?"
pointers: 'npcname'
'goodday':
text: "It's been really good forgeron, how about your day?"
pointers: 'forgeronday'
'badday':
text: "It hasn't been too good."
pointers: 'concern'
'earlyleave':
text: "Thanks a lot man, I will see you around."
'continue':
text: "Thanks you, well. How was you day"
pointers: 'forgeronday'
'agree':
text: "It really is."
pointers: 'npcgoodbye'
'disagree':
text: "I do not know, I have seen some pretty scary stuff."
pointers: 'npcgoodbye'
documentation[modifier | modifier le wikicode]
Wiki de BetonQuest, en anglais
preview du nouveau wiki https://github.com/bundabrg/BetonQuest/tree/v2.0-preview.26/docs
l'api de BetonQuest: https://betonquest.pl/javadocs/index.html?pl/betoncraft/betonquest/database/PlayerData.html
pour config BetonQuest :https://github.com/Co0sh/BetonQuest/wiki/Installation-and-Configuration
site officiel de BetonQuest https://betonquest.pl/
Configuration[modifier | modifier le wikicode]
avec BetonQuest il a moin de passer par le menu qui est par defaut active ou par le chat.
pour passer par le chat il sufis d'aller dans le fichier config et trouver la ligne : default_conversation_IO
et de remplacer chest
par tellraw
et après d'enregistrer et appre d'aller sur minecraft est de /q reload
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.
Évènement "Protection de PNJ"[modifier | modifier le wikicode]
Cette suite de commandes permet de détecter l'intrusion de plusieurs mobs, d'un type précis ou pas, dans une zone définie. Cela déclenche ensuite un évènement, qui permet de tuer les joueurs.
bxz est le nom de l'event, qui va dans plusieurs ficher exemple event,le non du pnj, on peux le remplacer par le non quon veux de l’évent bxz.
Dans le jeu[modifier | modifier le wikicode] | ||
command | Explications | |
player (joueur) | /q e nom bxz | le / pour designer une commande , q raccourci pour quest,
e raccourci pour event , nom de votre joueur et bxz nom de l'événement que je crée. Commande a taper dans le jeu |
Dans le ficher
Onglet | code yamel | Explications |
le nom du pnj | events: ' bxz' | pour déclarer un event dans le fichier conversations il faut mettre event: 'le nom qu'on a mis dans le ficher event' |
event | bxz: folder effe,title,comm,
|
bxz est le nom qu'on va appeler dans le fichier conversations
|
conditions | mobspawn: 'monsters ZOMBIE:1 x;y;z;$mon_monde$ 10 ' | monsters est le nom de la condition, Zombie est le type de mob qu'il va détecter dans la zone et 1 est le nombre de mob qui doit détecter au minimum pour que la condition marche, la zone de détection a un radius de 10 blocs. |
Évènement "Coffre give"[modifier | modifier le wikicode]
Cette suite de commandes permet de déclencher par le click le give d'itemes dans un coffre.
muffin est le nom de l'event, qui va dans plusieurs ficher exemple event,le non du pnj, on peux le remplacer par le non quon veux de l’évent muffin.
Dans le jeu[modifier | modifier le wikicode] | ||
command | Explications | |
player (joueur) | /q e nom muffin | le / pour designer une commande , q raccourci pour quest,
e raccourci pour event , |
player (joueur) | /q o click_chest | le / pour designer une commande , q raccourci pour quest,
o raccourci pour objectives, nom de votre joueur et nom de l'objectives que je créer. Commande a taper dans le jeu pour voir si vous avez l'objectives d'activer. |
Dans le ficher
Onglet | code yamel | Explications |
le nom du pnj | évents: ' chestgive_un' | pour déclarer un évent dans le fichier conversations il faut mettre évent: 'le nom qu'on a mis dans le ficher évent' |
évent | chestgive_un: chestgive -387;8;159;world bow
|
chest_placer est le nom qu'on va appeler dans le fichier conversations
|
objectif | clic_chest: action right chest loc:-387;8;159;world évent:chestgive_un | action est le nom de l'objectif, right est comment il clic sur l'objet, chest est l'objet ou il dois cliquer ,loc c'est coordonner de la ou il a l'objet en question, évent:chestgive est le nom de l'évent qui se si tu dans le fichier évent |
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 |
Pour donner un permission par betonquets il faut fair minecraft-command: command lp user non du jouer permission set le non de la permission.
Info utile[modifier | modifier le wikicode]
BetonQuest a un api et peux stocker dans une basse de donnée mysql les données des quets
il peux prendre en compte les commande sudo (joueur) et les commande (console)
BetonQuest peut s’accrocher à d’autres plugins pour étendre ses fonctionnalités
on peut 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.
Présentation de WorldEdit[modifier | modifier le wikicode]
WorldEdit est un plugin avec le quel on peut terraformer
Documentation et tuto écrire[modifier | modifier le wikicode]
en: https://wiki.sk89q.com/wiki/WorldEdit wiki officiel de WorldEdit
en:https://minecraft.fr/world-edit/ article écrit qui explique WorldEdit
info en vrac[modifier | modifier le wikicode]
les blocks de structure marche un peu comme schematica (limite des block de structure 32x32x32)
Le bloc de commande (nom anglais : command block) est un bloc permettant d’exécuter des commandes.
les command block ne prenne pas les // donc la solution c'est de fair passer par betonquest les command de worldedit ( q e @p le name)
minecraft-world: paste 190;70;60;world roger
minecraft-worldx: paste 186;70;61;world vide
les plugin python sont plus vraiment mis à jour (https://github.com/zhuowei/RaspberryJuice,https://github.com/Jycraft/jycraft)
l'alternative a Worldedit et VoxelSniper a se jour c'est Fast il prend les deux plugins en meme temps
skin : https://minecraft.novaskin.me/
pour les arme (CrackShot (Guns) https://dev.bukkit.org/projects/crackshot
commande block: "@r" tuera un joueur aléatoire, "@a" tuera tous les joueurs et "@e" tuera toutes les entités (ATTENTION cette dernière peut être dangereuse)