Cherche plugin qui permet d'interdire le craft de certains items ET compatible avec LuckPerms. Sinon, est-il possible d'en créer un soi-même ?

FastyLmJ

Aventurier
26 Juillet 2023
10
0
1
21
Bonjour,

J'aimerais savoir s'il existe un plugin qui permet d'interdire le craft de certains items ET SURTOUT qui marche avec le plugin de permission LuckPerms. En fait, ce que je veux c'est interdire certains craft d'item (comme les potions par exemple) pour un groupe en particulier créé avec LuckPerms. Aussi, si possible, je veux que tout cela fonctionne en 1.20.

Cela fait littéralement plusieurs heures que je cherche sur internet, et je ne trouve rien... Aussi, si personne ne peut m'aider, est-il possible de créer un plugin assez facilement soi-même afin parvenir à ce que je veux ?

Merci d'avance pour votre aide.
 

ShE3py

Enbogueuse
Support
26 Septembre 2015
4 305
172
479
247
21
Mìlhüsa
Bonjour,

Généralement c'est plutôt un plugin qui requiert que le joueur ait une permission pour pouvoir craft l'item, c'est à toi après de configurer LuckPerms pour donner cette permission aux groupes que tu veux.

Cordialement,
ShE3py
 

FastyLmJ

Aventurier
26 Juillet 2023
10
0
1
21
Bonjour,

Généralement c'est plutôt un plugin qui requiert que le joueur ait une permission pour pouvoir craft l'item, c'est à toi après de configurer LuckPerms pour donner cette permission aux groupes que tu veux.

Cordialement,
ShE3py
Bonjour,

Je sais, mais comment faire quand ce que je veux interdire est un item par défaut que propose Minecraft ? Pour être exacte, j'ai besoin d'interdire de crafter toutes les potions que tu peux faire de base dans Minecraft à un groupe en particulier créé avec LuckPerms. Je ne pense pas avoir bien compris comment fonctionnait réellement le système de permission...

Si je comprends bien ton message, je dois faire l'inverse ? C'est-à-dire interdire tout par défaut et mettre seulement ce que je veux autoriser en permission sur l'interface web de LuckPerms ? Mais dans ces cas là, je n'arrive pas à trouver où est la permission qui permet d'autoriser le craft des potions.

Désolé si ma réponse n'est pas précise, je suis nouveau dans le monde des plugins.

Cordialement,
FastyLmJ
 

FastyLmJ

Aventurier
26 Juillet 2023
10
0
1
21
Il te faut
  • Un plugin qui empêche de craft si le joueur n'a pas une permission
  • Un plugin de permission (ici LuckPerms)
En premier résultat sur Google je trouve ça :
https://www.spigotmc.org/resources/❎-1-8-1-20-1-disable-recipe-❎-disable-the-crafting-or-smelting-recipe-of-any-item.85786/

Tu peux regarder le wiki du plugin, par contre c'est pas sûr que ça marche pour l'alambic.
Je viens de voir sur leur channel support sur leur discord que non, ça ne marche pas pour les potions... et qu'est-ce que tu entends par "un plugin qui empêche de craft si le joueur n'a pas une permission" ? Je crois que je n'arrive pas à comprendre LuckPerms...
Perso, je suis obligé de mettre une permission, puis de la mettre en mode "false" pour faire en sorte d'interdire une permission sur mon serveur. Est-ce normal ? C'est-à-dire que personnellement, sur mon serveur, un joueur qui rejoint mon serveur pour la première fois à directement toutes les permissions d'un nouveau joueur qui n'est pas admin (+ les permissions que j'ai mis en mode false pour créer une interdiction de certains permissions).
Ce qui me rend perplexe car quand je lis tes réponses, j'ai l'impression qu'il ne devrait pas avoir de droits tout courts, et que c'est à moi de lui donner chaque autorisation avec les permissions... Bref je suis vraiment perdu :(
 

FastyLmJ

Aventurier
26 Juillet 2023
10
0
1
21
Il te faut
  • Un plugin qui empêche de craft si le joueur n'a pas une permission
  • Un plugin de permission (ici LuckPerms)
En premier résultat sur Google je trouve ça :
https://www.spigotmc.org/resources/❎-1-8-1-20-1-disable-recipe-❎-disable-the-crafting-or-smelting-recipe-of-any-item.85786/

Tu peux regarder le wiki du plugin, par contre c'est pas sûr que ça marche pour l'alambic.
Petite Update : Les supports LuckPerms viennent de me dire qu'il n'est pas possible d'interdire un craft avec LuckPerms...
 

ShE3py

Enbogueuse
Support
26 Septembre 2015
4 305
172
479
247
21
Mìlhüsa
Minecraft n'a jamais supporté ni les mods ni les plugins, ce sont des joueurs qui modifient le jeu pour qu'il soit capable de faire cela, d'où le fait qu'il fasse télécharger Forge/Fabric pour les mods et Spigot pour les plugins.

Maintenant, le système vanilla de permission est trop « tout ou rien » pour les serveurs ; soit tu es op et tu peux tout faire, soit tu ne l'es pas.

Spigot, en plus de permettre le chargement de plugins, modifie aussi certaines fonctionnalités du jeu, notamment les commandes pour avoir un choix plus souple de qui peut faire quoi.

Concrètement, Spigot remplace le code
Code:
LORSQUE joueur EXÉCUTE /tp
SI joueur EST OP ALORS
    téléporter le joueur
SINON
   message d'erreur
FIN SI
Par
Code:
LORSQUE joueur EXÉCUTE /tp
SI joueur A LA PERMISSION “minecraft.command.teleport” ALORS
    téléporter le joueur
SINON
   message d'erreur
FIN SI

Par défaut, les op ont toutes les permissions et les non-op n'en ont aucune. Pour changer ces permissions et donner le droit de faire /tp à un non-op, il faut installer un plugin de permission (LuckPerms ou n'importe quoi d'autre) qui servira à coller des permissions aux joueurs.

Maintenant, s'il n'y a aucun code derrière, une permission reste juste une étiquette collée à un joueur. LuckPerms peut rajouter une étiquette « Ne peut pas manger de pommes » sur ton dos, absolument rien ne t'empêche de manger des pommes.

Donc dans ce sens, LuckPerms ne peut pas empêcher quoique ce soit. Tu dois rajouter un plugin qui bloque l'action :
Code:
LORSQUE joueur MANGE pomme
SI joueur N'A PAS LA PERMISSION “salade.manger” ALORS
    REFUSER L'ACTION
FIN SI
La permission n'a que le sens que le plugin lui donne ; ici, salade.manger permet de manger des pommes.

Donc là, l'idée est d'avoir un plugin avec un fichier de configuration dans ce style :
YAML:
restricted:
  - "minecraft:dirt"
  - "minecraft:stone"

Qui bloquera le craft si le joueur n'a pas une permission spécifique, généralement générée implicitement (myplugin.craft.stone), seulement pour des items spécifiques.

La vérification de la permission se fera par LuckPerms, mais au final c'est bien l'autre plugin qui bloquera l'action.
 

FastyLmJ

Aventurier
26 Juillet 2023
10
0
1
21
Minecraft n'a jamais supporté ni les mods ni les plugins, ce sont des joueurs qui modifient le jeu pour qu'il soit capable de faire cela, d'où le fait qu'il fasse télécharger Forge/Fabric pour les mods et Spigot pour les plugins.

Maintenant, le système vanilla de permission est trop « tout ou rien » pour les serveurs ; soit tu es op et tu peux tout faire, soit tu ne l'es pas.

Spigot, en plus de permettre le chargement de plugins, modifie aussi certaines fonctionnalités du jeu, notamment les commandes pour avoir un choix plus souple de qui peut faire quoi.

Concrètement, Spigot remplace le code
Code:
LORSQUE joueur EXÉCUTE /tp
SI joueur EST OP ALORS
    téléporter le joueur
SINON
   message d'erreur
FIN SI
Par
Code:
LORSQUE joueur EXÉCUTE /tp
SI joueur A LA PERMISSION “minecraft.command.teleport” ALORS
    téléporter le joueur
SINON
   message d'erreur
FIN SI

Par défaut, les op ont toutes les permissions et les non-op n'en ont aucune. Pour changer ces permissions et donner le droit de faire /tp à un non-op, il faut installer un plugin de permission (LuckPerms ou n'importe quoi d'autre) qui servira à coller des permissions aux joueurs.

Maintenant, s'il n'y a aucun code derrière, une permission reste juste une étiquette collée à un joueur. LuckPerms peut rajouter une étiquette « Ne peut pas manger de pommes » sur ton dos, absolument rien ne t'empêche de manger des pommes.

Donc dans ce sens, LuckPerms ne peut pas empêcher quoique ce soit. Tu dois rajouter un plugin qui bloque l'action :
Code:
LORSQUE joueur MANGE pomme
SI joueur N'A PAS LA PERMISSION “salade.manger” ALORS
    REFUSER L'ACTION
FIN SI
La permission n'a que le sens que le plugin lui donne ; ici, salade.manger permet de manger des pommes.

Donc là, l'idée est d'avoir un plugin avec un fichier de configuration dans ce style :
YAML:
restricted:
  - "minecraft:dirt"
  - "minecraft:stone"

Qui bloquera le craft si le joueur n'a pas une permission spécifique, généralement générée implicitement (myplugin.craft.stone), seulement pour des items spécifiques.

La vérification de la permission se fera par LuckPerms, mais au final c'est bien l'autre plugin qui bloquera l'action.
Bonjour,

Merci beaucoup pour cette explication. Ca m'est extrêmement utile ! Je peux enfin comprendre comment marche le système de permission... et est-il facile de coder un plugin ?
Car du coup si je comprends bien, si je veux bloquer les potions pour une personne, je dois vraiment chercher non pas un plugin qui peut bloquer tous les items (même si ce serait l'idéal), mais vraiment un plugin qui bloque l'item ou le type d'item en particulier que je veux bloquer... Mais cela veut aussi dire que si je ne trouve pas ça, je ne suis pas sorti de l'auberge...

Donc est-ce que ce serait bien de trouver quelqu'un qui sait coder des plugins au cas où je ne saurait pas trouver un plugin qui sait faire ce que je veux ?
 

ShE3py

Enbogueuse
Support
26 Septembre 2015
4 305
172
479
247
21
Mìlhüsa
je dois vraiment chercher non pas un plugin qui peut bloquer tous les items (même si ce serait l'idéal), mais vraiment un plugin qui bloque l'item ou le type d'item en particulier que je veux bloquer
Oui, mais après c'est possible de donner toutes les permissions (l'étoile signifie tout, minecraft.command.* pour toutes les commandes vanilla, les ops ont toutes les permissions donc *), et aussi d'enlever des permissions, donc tu peux faire un truc dans ce style :
YAML:
- "minecraft.command.*"
- "-minecraft.command.stop"
Pour toutes les commandes sauf /stop, après je ne connais pas la syntaxe exacte de LuckPerms, pas impossible que ça soit autre chose que - comme préfixe de permission négative.

Après même si ça reste l'artisanat le code est différent entre une table de craft et un alambic, mais au besoin je peux te faire un plugin d'ici plus ou moins mercredi si tu me précises ta version du jeu, et comme y'a pas tellement de potions, je pense que je ferai une permission par potion.
 

FastyLmJ

Aventurier
26 Juillet 2023
10
0
1
21
Oui, mais après c'est possible de donner toutes les permissions (l'étoile signifie tout, minecraft.command.* pour toutes les commandes vanilla, les ops ont toutes les permissions donc *), et aussi d'enlever des permissions, donc tu peux faire un truc dans ce style :
YAML:
- "minecraft.command.*"
- "-minecraft.command.stop"
Pour toutes les commandes sauf /stop, après je ne connais pas la syntaxe exacte de LuckPerms, pas impossible que ça soit autre chose que - comme préfixe de permission négative.

Après même si ça reste l'artisanat le code est différent entre une table de craft et un alambic, mais au besoin je peux te faire un plugin d'ici plus ou moins mercredi si tu me précises ta version du jeu, et comme y'a pas tellement de potions, je pense que je ferai une permission par potion.
Ce serait vraiment génial si tu pouvais faire ça pour moi ! Mon serveur est en version 1.19.4 (Git 7d7b241e353), la version java c'est Java 17 et c'est bien évidemment un serveur Spigot. Ah et sur LuckPerms ça marche à priori comme ça : je tape juste la permission, puis je l'ajoute dans une liste de permission qui correspond à un groupe en particulier. Ensuite, je clique à côté de la permission soit sur "false" pour faire l'équivalent du "-", soit sur "true" pour autoriser la permission.