MFF

    Minecraft Forge France
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes
    • Forge Events
      • Automatique
      • Foncé
      • Clair
    • S'inscrire
    • Se connecter

    Identifiant de bloc

    Planifier Épinglé Verrouillé Déplacé Résolu 1.7.x
    1.7.10
    10 Messages 5 Publieurs 2.4k Vues 1 Watching
    Charger plus de messages
    • Du plus ancien au plus récent
    • Du plus récent au plus ancien
    • Les plus votés
    Répondre
    • Répondre à l'aide d'un nouveau sujet
    Se connecter pour répondre
    Ce sujet a été supprimé. Seuls les utilisateurs avec les droits d'administration peuvent le voir.
    • YorwanY Hors-ligne
      Yorwan
      dernière édition par

      bonjour j’aimerai faire un bloc qui aurait un identifiant  (whaaa la découverte  😄 )  je m’explique : ce bloc posséderait un chiffre qui le différencierait d’un autre bloc du même type et cet identifiant pourrai être recyclé si je detruit le bloc cependant je ne vois pas comment faire merci de votre aide

      1 réponse Dernière réponse Répondre Citer 0
      • isadorI Hors-ligne
        isador Moddeurs confirmés Modérateurs
        dernière édition par

        avec les tab NBT

        1 réponse Dernière réponse Répondre Citer 0
        • DiangleD Hors-ligne
          Diangle
          dernière édition par

          Pour ça il te faut passer par un TileEntity

          1 réponse Dernière réponse Répondre Citer 0
          • YorwanY Hors-ligne
            Yorwan
            dernière édition par

            ok merci


            heu désolé d’éditer le sujet mais après avoir réfléchi je ne vois pas comment faire une fois dans le tile entity pour avoir l’identifiant en chiffre

            1 réponse Dernière réponse Répondre Citer 0
            • SCAREXS Hors-ligne
              SCAREX
              dernière édition par

              @‘Asmath’:

              ok merci


              heu désolé d’éditer le sujet mais après avoir réfléchi je ne vois pas comment faire une fois dans le tile entity pour avoir l’identifiant en chiffre

              Tu mets un public static int dans la classe de ton block que tu incrémentes à chaque fois.

              Site web contenant mes scripts : http://SCAREXgaming.github.io

              Pas de demandes de support par MP ni par skype SVP.
              Je n'accepte sur skype que l…

              1 réponse Dernière réponse Répondre Citer 0
              • YorwanY Hors-ligne
                Yorwan
                dernière édition par

                si je le met dans la class du block c’est le même pour chaque bloc et si il est static il peut pas changer si j’ai bien compris

                1 réponse Dernière réponse Répondre Citer 0
                • V Hors-ligne
                  vanlong
                  dernière édition par

                  Bah les Tile Entity à mon avis, c’est une bonne solution 🙂

                  1 réponse Dernière réponse Répondre Citer 0
                  • YorwanY Hors-ligne
                    Yorwan
                    dernière édition par

                    bonjour j’ai trouvé la solution je vous la donne pour que tout le monde puisse en profiter si quelqu’un en à besoin
                    ma class pour les event

                    package com.mathiasetampes.algorythme.common;
                    
                    import cpw.mods.fml.common.eventhandler.SubscribeEvent;
                    import cpw.mods.fml.common.gameevent.TickEvent;
                    import net.minecraft.block.Block;
                    import net.minecraft.tileentity.TileEntity;
                    import net.minecraftforge.event.entity.EntityJoinWorldEvent;
                    import net.minecraftforge.event.world.BlockEvent;
                    import net.minecraftforge.event.world.BlockEvent.PlaceEvent;
                    
                    public class AllEvent
                    {
                    int TabIds[] = new int[50];
                    @SubscribeEvent
                    public void PlaceEvent(PlaceEvent event)
                    {
                    TileEntity te = event.world.getTileEntity(event.x, event.y, event.z); // Obtient le tile entité du bloc
                    if(te instanceof TileEntityAire)
                    {
                    for(int i = 0;i<50;i++)
                    {
                    TileEntityAire tileTuto = (TileEntityAire)te;
                    if(TabIds*!=1)
                    {
                    tileTuto.UpIds(i);
                    TabIds* = 1;
                    break;
                    }
                    }
                    }
                    }
                    public void BreakEvent(BlockEvent.BreakEvent event)
                    {
                    TileEntity te = event.world.getTileEntity(event.x, event.y, event.z); // Obtient le tile entité du bloc
                    if(te instanceof TileEntityAire)
                    {
                    TileEntityAire tileTuto = (TileEntityAire)te;
                    TabIds[tileTuto.getIds()] = 0;
                    }
                    }
                    }
                    

                    la class de TileEntity

                    package com.mathiasetampes.algorythme.common;
                    
                    import net.minecraft.nbt.NBTTagCompound;
                    import net.minecraft.tileentity.TileEntity;
                    
                    public class TileEntityAire extends TileEntity
                    {
                    public int ids;
                    public int identifiant;
                    
                    @Override
                    public void readFromNBT(NBTTagCompound compound)
                    {
                    super.readFromNBT(compound);
                    this.identifiant = compound.getInteger("Identifiant");
                    }
                    
                    @Override
                    public void writeToNBT(NBTTagCompound compound)
                    {
                    super.writeToNBT(compound);
                    compound.setInteger("Identifiant", this.identifiant);
                    }
                    public void UpIds(int i)
                    {
                    this.ids=i;
                    return;
                    }
                    public int getIds()
                    {
                    return this.ids;
                    }
                    }
                    
                    
                    1 réponse Dernière réponse Répondre Citer 0
                    • SCAREXS Hors-ligne
                      SCAREX
                      dernière édition par

                      @‘Asmath’:

                      si je le met dans la class du block c’est le même pour chaque bloc et si il est static il peut pas changer si j’ai bien compris

                      S’il est static, il n’y aura qu’une seule instance de celui-ci donc tu aurais juste à faire ClasseDeTonBlock.tonInt++ et il serais automatiquement incrémenté et près pour les autres blocs.

                      Site web contenant mes scripts : http://SCAREXgaming.github.io

                      Pas de demandes de support par MP ni par skype SVP.
                      Je n'accepte sur skype que l…

                      1 réponse Dernière réponse Répondre Citer 0
                      • YorwanY Hors-ligne
                        Yorwan
                        dernière édition par

                        oui mais c’est pas ce que je voulais j’ai du mal m’expliquer

                        1 réponse Dernière réponse Répondre Citer 0
                        • 1 / 1
                        • Premier message
                          Dernier message
                        Design by Woryk
                        ContactMentions Légales

                        MINECRAFT FORGE FRANCE © 2024

                        Powered by NodeBB