Comment puis-je utiliser les blocs de commandes pour empêcher les joueurs de placer des blocs sur un serveur vanilla?

Je souhaite savoir comment empêcher les joueurs de placer des blocs dans une certaine zone sur mon serveur Minecraft en utilisant les blocs de commande .

Je sais déjà comment les empêcher de briser quoi que ce soit par l'intermédiaire de la «fatigue minière» du joueur d'effet, mais cela ne les empêchera pas de placer de la lave, TNT ou tout ce qui pourrait entraver tout ce qui est important.

Aucune suggestion?

Ma suggestion serait de modifier la variable suivante dans le fichier server.properties:

spawn-protection=999999

Ensuite, OP vous-même et quelqu'un d'autre dans lequel vous avez confiance pour placer et détruire des blocs. Cela oblige votre monde (ou au moins une distance réaliste de la fraie) à avoir une protection contre les frai. Les blocs ne peuvent être placés ou détruits dans cette zone, sauf si vous êtes un OP (et au moins un OP doit être répertorié pour qu'il fonctionne).

Notez qu'il n'est actuellement pas possible d'empêcher totalement le grief que vous avez décrit ci-dessus dans la vanille sans altérer l'inventaire de l'utilisateur ou l'utilisation d'outils de modding.

Réglez leur gamemode en mode aventure en utilisant /gamemode <plr> adventure . Cela permet de ne pas casser ou de placer des blocs.

Tant qu'un joueur possède des blocs ou des objets pouvant être placés, ils peuvent les placer. Par conséquent, la seule façon d'éviter de placer des blocs est de retirer l'inventaire d'un joueur avec la commande clear <playername> .

S'il n'y a que quelques éléments dont vous avez besoin pour éviter d'être utilisés de cette façon (par exemple, vous êtes spécifiquement préoccupé par TNT et les seaux de lave, et rien d'autre), vous pouvez obtenir plus précis en utilisant l'option [item] et [metadata] Arguments de la commande clear pour supprimer uniquement un type spécifique d'élément par commande. Mais sinon, votre seul recours supprime tout leur inventaire.

Pour le commentateur suggérant l'utilisation de @p et l'horloge redstone qu'il a démontré, j'ai deux notes.

Tout d'abord, vous recherchez @a pour sélectionner tous les joueurs. Les sélecteurs sont les suivants:

 @p - selects closest player to the command block @a - selects all players @r - selects a random player @e - selects all entities* *including hostile/friendly mobs, players, items/blocks on the ground, etc. it is *strongly* recommended you use modifiers to reduce the scope when using @e. 

Il existe des moyens beaucoup plus efficaces et plus rapides de construire des horloges et d'avoir moins de répéteurs / torches Redstone etc. est un bonus. Les joueurs «Redstone Lag» éprouvent souvent l'expérience des mises à jour de blocs de lumière, causées par ces dispositifs allumer / éteindre. Les blocs autour d'eux sont allumés et diminués à chaque cycle, et ces changements d'éclairage sont ce qui écrase certaines machines.

Les blocs redstone et redstone purs ont tendance à avoir moins ou pas d'impact sur l'éclairage. Vous pouvez créer une horloge incroyablement rapide en plaçant simplement deux blocs de commande sur un bloc de pierre. Dans un bloc de commande, utilisez / setblock pour définir un bloc redstone où se trouve actuellement le bloc de pierre. Ensuite, dans l'autre bloc de commande, dites-le pour régler le bloc redstone (à l'aide de la commande setblock) à l'air (minecraft: air). Enfin, remplacez le bloc de pierre qui est adjacent aux deux blocs de commande avec un bloc redstone manuellement. Ils commencent instantanément à se battre pour contrôler le bloc et une horloge d'impact extrêmement rapide et relativement faible est produite.

Je suggère également d'exécuter / gamerule commandBlockOutput False sinon votre chat sera rempli avec la ligne après la ligne de "Block Placed".

Pour plus de clarté, C est un bloc de commande, S est le bloc de pierre

 Command: /setblock xyz minecraft:redstone_block v CSC ^ Command: /setblock xyz minecraft:air 

Les deux jeux de xyz doivent être remplacés par les coordonnées du bloc S. Utilisez des entiers complets, pas de décimales. Alternativement, vous pouvez utiliser des coordonnées relatives. Ceux-ci sont faits comme ~ ~ ~ au lieu de nombres. Les trois tildes (~) exécuteront la commande directement sur la commande, bloquant les coordonnées propres. Vous pouvez modifier les coordonnées relatives en utilisant des valeurs positives ou négatives. Dans l'exemple dessiné ci-dessus, je pourrais utiliser les entiers suivants. (Assurez-vous de savoir quel axe vous ajustez, dans ce cas, j'ai simplement utilisé l'axe des X comme exemple).

 First: /setblock ~1 ~ ~ minecraft:redstoneblock Second: /setblock ~-1 ~ ~ minecraft:air 

Cela provoque le bloc de commande à gauche pour sélectionner dans la direction positive sur l'axe de gauche (tout en maintenant les blocs de commande y et z). Le bloc à droite fait exactement le contraire. Dans cet exemple, le seul axe qui change est X. L'avantage est que nous pouvons copier ce système à l'aide d'une commande comme clone, ou en copiant uniquement le code et ne pas nécessairement ajuster les coordonnées à chaque fois. Cela permet d'économiser beaucoup de travail.

Obtenir le blocage des blocs de commandes est une entreprise

J'ai créé un système en utilisant les blocs de commande et les objectifs du tableau de bord que j'appelle GriefDenial 2.0 . Il est disponible dans un format de fichier schématique que vous pouvez importer dans votre monde à l'aide de MCedit ou d'autres outils qui comprennent les fichiers schématiques.

Ce système permet à tous et à tous les joueurs de créer une zone protégée de 30 × 30 dans laquelle seuls ils peuvent construire ou placer des blocs, avec la possibilité d'ajouter un autre utilisateur de confiance qui peut également créer sa demande. Comme il est construit à partir des blocs de commande et des objectifs du tableau de bord, cela est utile pour n'importe quel serveur vanilla.

Vous pourriez, avoir un bloc de commande et faire une boucle redstone où il se déplace autour et autour. Exemple: R = Redstone J = Répétiteurs Redstone. (Les répéteurs se tournent vers les directions d'oppisite) Ensuite, allumez la redstone avec une torche redstone, une torche de coupure et avec Redstone, aussi vite que possible et remplacez la redstone allumée.

  RR JJ RR 

Après avoir fait cela, ou quelque chose comme ça, vous avez besoin d'un bloc de commande. Dans le bloc de commande, tapez /clear @p je pense que @p est-ce, il y a un code qui est tout le monde. Donc, cela permettra de dégager leurs inventaires. Rapidement, vous n'avez donc pas à le faire manuellement.

Utilisez un bloc de configuration et cloquez pour placer des blocs d'air tout autour de la zone. Accrochez les blocs de commande jusqu'à une horloge de remplissage, et cela devrait faire le tour. Note: cela prend beaucoup de travail.

Peut-être que tous les joueurs ne sont pas dans une "équipe OP" et dans un certain rayon en mode Aventure. Cela signifierait que vous pourriez encore modifier le spawn, et permettre des "zones de survie" en dehors de la fraie.