2 votes

Remplir les pages d'un livre sans toucher aux autres pages?

Encore une fois, je me lance dans quelque chose de plus avancé : Dans ma carte, je veux inclure un système de déplacement rapide. Comme la distance entre les points de téléportation sera probablement plus grande que la distance de rendu (ce qui signifie que tous les blocs situés à côté d'un point de téléportation avec une commande lancée à partir d'un autre point de chargement ne fonctionneront pas car tous les blocs hors de la distance de rendu sont "en dehors du monde"), j'ai pensé qu'un livre avec du texte formaté en JSON qui vous téléporte serait le plus susceptible de fonctionner.

Le problème est que, comme dans un système de déplacement rapide typique, les joueurs ne devraient pouvoir se téléporter qu'aux points de téléportation qu'ils ont déjà visités. Cela signifie que, lorsqu'un joueur atteint un point de téléportation, ce joueur devrait pouvoir effectuer une action qui ajoute dynamiquement le texte formaté en JSON dans son livre. Cela ne poserait pas de problème si ce n'était pas pour le texte déjà présent dans le livre...

J'ai décidé de consacrer une page entière à chaque point de téléportation, principalement parce que je pensais que les pages devraient être plus faciles à garder séparées. Si quelqu'un a une solution qui ne fonctionne que sur une plus petite échelle pour une raison quelconque, n'hésitez pas à la poster également. Fondamentalement, ce que je dois faire, c'est ajouter un nouveau texte (avec un événement de clic) à un livre écrit, sans écraser le texte déjà présent.

Je sais que je pourrais limiter où les joueurs peuvent aller, pour savoir à l'avance quel texte le livre a déjà. Cela irait cependant à l'encontre du concept de la carte, car elle est censée être 100% non linéaire (c'est pourquoi je veux un système de déplacement rapide en premier lieu). L'option d'appeler différentes commandes en fonction du contenu du livre m'est également venue à l'esprit, mais a été rapidement rejetée car je devrais passer par toutes les combinaisons possibles de pages actives et inactives, donc les dispositifs augmenteraient de façon exponentielle avec le nombre de points de téléportation. Des livres séparés pour chaque point de téléportation seraient en quelque sorte une option, mais ce n'est qu'un dernier recours car cela prend évidemment beaucoup d'espace d'inventaire.

Je préférerais que la solution soit compatible avec la version 1.8, mais s'il n'y a vraiment pas de solution sans tomber dans les défauts mentionnés ci-dessus, je peux également recourir à une version ultérieure. Les mods sont acceptables (de préférence compatibles avec Forge) tant que la carte est jouable en mode Vanille par la suite.

0voto

IronAnvil Points 5606

Vous ne pouvez pas ajouter de pages. Vous ne pouvez pas ajouter de données à un élément spécifique dans la balise de données avec l'une ou l'autre des commandes de modification de données.

Une courte citation de la section dataTag des commandes blockdata et entitydata sur le wiki des commandes:

Spécifie les éléments de balise de données à ajouter ou à écraser

Si vous spécifiez un élément qui est déjà dans la balise de données, cela écrase les données existantes.


Vous pourriez utiliser des balises de tableau de bord car vous pouvez ajouter/supprimer des balises pour chaque point de manière non linéaire sans écraser les balises existantes.

L'inconvénient est d'avoir un livre rempli d'événements de clic, dont certains ne fonctionneront pas tant que le joueur n'aura pas la balise appropriée.

0voto

Egor Hans Points 473

Une option qui m'est venue à l'esprit et que j'aimerais mentionner (même si je vais probablement opter pour des tableaux de bord), consiste à remplir plusieurs livres dans une boîte de shulker dédiée. Les boîtes de shulker étendent efficacement l'inventaire, ce qui permet de placer n'importe quoi à l'intérieur. Si vous voulez éviter que le joueur n'utilise l'espace inventaire supplémentaire autrement, vous pourriez constamment remplir tous les emplacements de la boîte de shulker qui ne sont pas marqués pour contenir des livres (de manière plus efficace en utilisant des balises de tableau de bord comme décrit) avec des objets de pacotille, et tous ceux qui contiennent des livres avec le livre respectif. Permet en fait d'exposer dynamiquement des informations régionales en plus des warps, et permet également de faire fonctionner facilement des objets déblocables.

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