[1.8x] Aide pour modder une safe zone



  • Salut à tous, encore moi!

    Mon Mod et ma compréhension des différentes classes avancent bien, cependant, j'aimerais créer une safe zone comme ceci:

    Un joueur se log sur le serveur: cela crée un fichier nom joueurID avec des infos et les coordonnées de se safe zone.
    si le fichier existe déjà, le joueur est TP dans sa zone. Cette zone contient des blocs seulement destructibles par lui.
    Il peut utiliser une commande pour rendre certains blocs destructibles par tous. Cette commande ne doit donc pouvoir être utilisée dans cette zone que par le joueur propriétaire.

    Seulement, je ne trouvent pas beaucoup d'infos récentes pertinentes pour trouver les classes à exploiter et notamment du côté serveur! Donc si vous aviez quelques indications pour m'aider à réaliser cette partie importante de mon projet=).

    Ps: Je suis désolé de poser autant de questions, je vous remercie à tous!


  • Administrateurs

    Salut,
    Si tu prévois un joueur par safe-zone le mieux serait de stocker la savezone dans le tabnbt du joueur.
    Après pour détecter la connexion d'un joueur faut passer par l'event PlayerLoginEvent



  • @'robin4002':

    Salut,
    Si tu prévois un joueur par safe-zone le mieux serait de stocker la savezone dans le tabnbt du joueur.
    Après pour détecter la connexion d'un joueur faut passer par l'event PlayerLoginEvent

    OK, je vais chercher ça! Et pour la privatisation de blocs, je crée une nouvelle fonction où je peux utiliser une déjà présente?


  • Administrateurs

    Ah j'avais pas vu ce passage du message x)
    Il faudrait sauvegarder la zone autre part que dans le tag nbt pour ça.
    Et il faudrait passer par l'event BlockBreakEvent



  • Un peu comme tu as fais pour le tuto d'utilisation des évents? Y'a quand même beaucoup de connaissances à acquérir sur les différentes classes MC!

    PS: Au passage les vidéos de modding du forum sont très bien réalisées=)!



  • Un peu comme tu as fais pour le tuto d'utilisation des évents?

    Oui, si tu veux empêcher que quelqu'un casse un bloc, tu passes par l'event BlockBreakEvent et tu fais setCancelleted(true); 😉 (Si c'est toujours ça en 1.8)

    EDIT: Voici une partie de mon code pour t'aider 😉

    @SubscribeEvent
    public void onBlockDestroyedTonBloc(BreakEvent event)
    {
    if(event.block == TonMod.TonBloc)
    {
    event.setCanceled(true);
    }
    }