14 votes

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

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

Je sais déjà comment les empêcher de casser quoi que ce soit via [effet joueur 'fatigue minière'], mais cela ne les empêchera pas de placer de la lave, de la TNT, ou toute autre chose qui pourrait obstruer quelque chose d'important.

Des suggestions?

7voto

Gigazelle Points 14074

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

spawn-protection=999999

Ensuite, OP toi-même et toute personne en qui tu as confiance pour placer et détruire des blocs. Cela force votre monde (ou du moins toute distance réaliste depuis le spawn) à avoir une protection du spawn. Les blocs ne peuvent pas être placés ou détruits dans cette zone, à moins d'être un OP (et au moins un OP doit être répertorié pour que cela fonctionne).

Notez qu'il n'est actuellement pas possible d'empêcher complètement le griefing que vous avez décrit ci-dessus dans le jeu de base sans manipuler l'inventaire de l'utilisateur ou l'utilisation d'outils de modding.

6voto

Abhigyan Points 101

Définissez leur mode de jeu en mode aventure en utilisant /gamemode aventure. Cela fait en sorte qu'ils ne peuvent pas casser ou placer de blocs.

2voto

SevenSidedDie Points 32991

Aussi longtemps qu'un joueur possède des blocs ou des objets pouvant être placés, il peut les placer. Par conséquent, le seul moyen d'empêcher de placer des blocs est de retirer l'inventaire d'un joueur avec la commande clear .

S'il y a seulement quelques objets que vous devez empêcher d'être utilisés de cette manière (par exemple, si vous craignez spécifiquement la TNT et les seaux de lave, et rien d'autre), vous pouvez être plus spécifique en utilisant les arguments optionnels [item] et [metadata] de la commande clear pour ne supprimer qu'un type spécifique de l'objet par commande. Mais sinon, votre seul recours est de vider tout leur inventaire.

2voto

MisterBuilder Points 21

Au commentateur suggérant d'utiliser @p et l'horloge à redstone qu'il a démontrée, j'ai deux remarques.

Premièrement, vous recherchez @a pour sélectionner tous les joueurs. Les sélecteurs sont les suivants:

@p - sélectionne le joueur le plus proche du bloc de commande
@a - sélectionne tous les joueurs
@r - sélectionne un joueur aléatoire
@e - sélectionne toutes les entités*

    *y compris les mobs hostiles/amicaux, les joueurs, les objets/blocs au sol, etc.
     il est *fortement* recommandé d'utiliser des modificateurs pour réduire la portée lors de
     l'utilisation de @e.

Il existe des moyens beaucoup plus efficaces et plus rapides de construire des horloges, et avoir moins de répéteurs/torches de redstone, etc. est un avantage. Le "Lag de Redstone" que les joueurs rencontrent souvent est en fait le résultat des mises à jour de la lumière des blocs, causées par ces dispositifs qui s'allument/ s'éteignent. Les blocs autour d'eux sont éclairés et assombris à chaque cycle, et ces changements d'éclairage sont ce qui fait planter certaines machines.

La redstone pure et les blocs de redstone ont tendance à avoir moins ou pas d'impact sur l'éclairage. Vous pouvez construire une horloge incroyablement rapide en plaçant simplement deux blocs de commande contre un bloc de pierre. Dans un bloc de commande, utilisez /setblock pour placer un bloc de redstone là où se trouve actuellement le bloc de pierre. Ensuite, dans l'autre bloc de commande, dites-lui de placer le bloc de redstone (en utilisant la commande setblock) à l'air (minecraft:air). Enfin, remplacez manuellement le bloc de pierre qui est adjacent aux deux blocs de commande par un bloc de redstone. Ils commenceront immédiatement à se battre l'un contre l'autre pour le contrôle du bloc et une horloge incroyablement rapide, relativement peu impactante sera produite.

Je suggérerais également d'exécuter /gamerule commandBlockOutput False sinon votre chat sera rempli ligne après ligne de "Bloc Placé".

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

Commande: /setblock x y z minecraft:redstone_block
v
C S C
    ^
Commande: /setblock x y z minecraft:air

les deux ensembles de x y z 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. Celles-ci sont faites comme ~ ~ ~ au lieu de nombres. Les trois tildes (~) exécuteront la commande directement sur les coordonnées propres du bloc de commande. Vous pouvez modifier les coordonnées relatives en utilisant des valeurs positives ou négatives. Dans l'exemple 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 X comme exemple).

Premier: /setblock ~1 ~ ~ minecraft:redstoneblock
Deuxième: /setblock ~-1 ~ ~ minecraft:air

Cela fait en sorte que le bloc de commande à gauche sélectionne dans la direction positive sur l'axe gauche (tout en maintenant les axes y et z du bloc de commande). Le bloc de droite fait exactement l'inverse. Dans cet exemple, le seul axe qui change est X. L'avantage est que nous pouvons copier ce système en utilisant une commande comme clone, ou en copiant juste le code, et ne pas avoir besoin d'ajuster les coordonnées à chaque fois. Cela sauve beaucoup de travail.

Prendre en main les blocs de commande est une entreprise importante.

2voto

Fff Points 1

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

Ce système permet à tous les joueurs de créer une zone protégée de 30×30 dans laquelle eux seuls peuvent construire ou placer des blocs, avec la possibilité d'ajouter un autre utilisateur de confiance qui peut également construire dans leur zone. Comme il est composé de blocks de commande et d'objectifs de scoreboard, cela est utile pour tout serveur vanilla.

AlleGamers.com

AlleGamers est une communauté de gamers qui cherche à élargir la connaissance des jeux vidéo.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X