• S'inscrire
    • Se connecter
    • Recherche
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes

    Bâton de fouille

    Sans suite
    1.8
    5
    25
    5553
    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.
    • Gabs
      Gabs dernière édition par

      Bonsoir,

      Comme vous l’avez vus dans le tire je cherche a faire un bâton de fouille.

      En gros: Une item que quand on clique droit sur l’entity player on ouvre sont inventaire (celui du target) mais je voudrais que on ne puisse pas prendre d’item juste voir son inventaire .

      Fonction utilisée pour ce bâton: itemInteractionForEntity

      Possible ?

      Et des idées de comment faire ?

      Merci 🙂

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

        Rien de très compliqué : créer un item qui ouvre un gui lors du clique sur un joueur, et dans le container bloquer le clique

        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
        • Gabs
          Gabs dernière édition par

          @‘SCAREX’:

          Rien de très compliqué : créer un item qui ouvre un gui lors du clique sur un joueur, et dans le container bloquer le clique

          Je vois,
          J’ai fais ça:

          
           public boolean itemInteractionForEntity(ItemStack stack, EntityPlayer playerIn, EntityLivingBase target)
             {
          if(target instanceof EntityPlayer)
          {
          EntityPlayer targetp = (EntityPlayer)target;
          playerIn.inventory.openInventory(targetp);
          playerIn.addChatComponentMessage(new ChatComponentText(EnumChatFormatting.GREEN + "Vous fouillez: " + targetp.getDisplayNameString()));
          targetp.addChatComponentMessage(new ChatComponentText(EnumChatFormatting.RED + playerIn.getDisplayNameString() + " vous fouille."));
          
             }
          return false;
          }  
          

          J’ai pas essayer en multi mais ça me semble cohérent le problème c’est que je vois pas la fonction a utilisé pour bloqué les clics …

          merci 🙂

          1 réponse Dernière réponse Répondre Citer 0
          • AymericRed
            AymericRed dernière édition par

            Il faut que tu fasses ton propre Container (en prenant celui vanilla) pour l’inventaire puis que tu réécrives la fonction slotClic.

            Si je vous ai aidé, n'oubliez pas d’être heureux, j'aiderai encore +

            AymericRed, moddeur expérimenté qui aide sur ce forum et qui peut accepter de faire un mod Forge rémunéré de temps en temps.

            Mes tutos : Table de craft, plugin NEI, plugin JEI, modifier l'overlay
            Je suis un membre apprécié et joueur, j'ai déjà obtenu 6 points de réputation.

            1 réponse Dernière réponse Répondre Citer 0
            • Gabs
              Gabs dernière édition par

              @‘AymericRed’:

              Il faut que tu fasses ton propre Container (en prenant celui vanilla) pour l’inventaire puis que tu réécrives la fonction slotClic.

              Ah mince, vraiment ? je veux récupéré l’inventaire du joueur que je pointe en faisant clic droit pas mon propre inventaire .

              edit: petite question aussi le container faut l’enregistrer ?
              Et le nom de la classe vanilla que je dois m’aider elle s’appelle comment ?

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

                Il faut que tu changes le container et le gui, en revanche tu n’as absolument pas besoin de ré-écrire l’inventaire du joueur. Le container n’a pas à être enregistré. De quelle classe vanilla tu parles ?

                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
                • AymericRed
                  AymericRed dernière édition par

                  Il faut créer un Gui et un Container qui seront extends GuiInventory et GuiInventory pour récupérer le fonctions vanilla mais overwrite la fonction slotClick dans le container pour les empêcher (et pour les ouvrir, c’est comme avec un gui custom).

                  Si je vous ai aidé, n'oubliez pas d’être heureux, j'aiderai encore +

                  AymericRed, moddeur expérimenté qui aide sur ce forum et qui peut accepter de faire un mod Forge rémunéré de temps en temps.

                  Mes tutos : Table de craft, plugin NEI, plugin JEI, modifier l'overlay
                  Je suis un membre apprécié et joueur, j'ai déjà obtenu 6 points de réputation.

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

                    GuiContainer pour le gui, pour le container il faut juste extend Container

                    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
                    • AymericRed
                      AymericRed dernière édition par

                      C’est mieux de mettre GuiInventory et ContainerInventory, ça évitera de recopier le code, et sera plus simple lors des mises à jour de Mc.

                      Si je vous ai aidé, n'oubliez pas d’être heureux, j'aiderai encore +

                      AymericRed, moddeur expérimenté qui aide sur ce forum et qui peut accepter de faire un mod Forge rémunéré de temps en temps.

                      Mes tutos : Table de craft, plugin NEI, plugin JEI, modifier l'overlay
                      Je suis un membre apprécié et joueur, j'ai déjà obtenu 6 points de réputation.

                      1 réponse Dernière réponse Répondre Citer 0
                      • Gabs
                        Gabs dernière édition par

                        Ok aymeric j’ai pas trouver ContainerInventory du coup j’ai mis Container juste.

                        J’ai fais ça du coup:

                        
                        package com.CSC.net.GUI;
                        
                        import net.minecraft.entity.player.EntityPlayer;
                        import net.minecraft.inventory.Container;
                        import net.minecraft.item.ItemStack;
                        
                        public class containerGui extends Container{
                        
                        @Override
                        public boolean canInteractWith(EntityPlayer playerIn) {
                        return false;
                        }
                        @Override
                        public ItemStack slotClick(int slotId, int clickedButton, int mode, EntityPlayer playerIn)
                            {
                        return null;
                        
                            }
                        
                        }
                        
                        
                        
                        package com.CSC.net.GUI;
                        
                        import net.minecraft.client.gui.inventory.GuiContainer;
                        import net.minecraft.client.gui.inventory.GuiInventory;
                        import net.minecraft.client.resources.I18n;
                        import net.minecraft.entity.player.EntityPlayer;
                        import net.minecraft.inventory.Container;
                        
                        public class guiInv extends GuiInventory{
                        
                        public guiInv(EntityPlayer p_i1094_1_) {
                        super(p_i1094_1_);
                        }
                        
                        @Override
                        protected void drawGuiContainerBackgroundLayer(float partialTicks,
                        int mouseX, int mouseY) {
                        this.fontRendererObj.drawString(I18n.format("container.crafting", new Object[0]), 86, 16, 4210752);
                        }
                        
                        }
                        
                        
                        
                        package com.CSC.net.item;
                        
                        import com.CSC.net.Main;
                        
                        import net.minecraft.entity.EntityLivingBase;
                        import net.minecraft.entity.player.EntityPlayer;
                        import net.minecraft.item.Item;
                        import net.minecraft.item.ItemStack;
                        import net.minecraft.util.ChatComponentText;
                        import net.minecraft.util.EnumChatFormatting;
                        
                        public class bfouille extends Item
                        {
                        
                        public boolean itemInteractionForEntity(ItemStack stack, EntityPlayer playerIn, EntityLivingBase target)
                           {
                        if(target instanceof EntityPlayer)
                        {
                        EntityPlayer targetp = (EntityPlayer)target;
                        playerIn.openGui(Main.instance, 0, playerIn.worldObj, (int) playerIn.posX, (int) playerIn.posY, (int) playerIn.posZ);
                        playerIn.addChatComponentMessage(new ChatComponentText(EnumChatFormatting.GREEN + "Vous fouillez: " + targetp.getDisplayNameString()));
                            targetp.addChatComponentMessage(new ChatComponentText(EnumChatFormatting.RED + playerIn.getDisplayNameString() + " vous fouille."));
                           }
                        return false;
                        }  
                        
                        }
                        
                        

                        J’ai pas essayer en multi c’est bon ?

                        1 réponse Dernière réponse Répondre Citer 0
                        • AymericRed
                          AymericRed dernière édition par

                          Le Container ne marchera pas, il faut que tu l’extends celui vanilla, regarde dans le GuiInventory le container qui est appelé dans le super(…) du constructeur.

                          Si je vous ai aidé, n'oubliez pas d’être heureux, j'aiderai encore +

                          AymericRed, moddeur expérimenté qui aide sur ce forum et qui peut accepter de faire un mod Forge rémunéré de temps en temps.

                          Mes tutos : Table de craft, plugin NEI, plugin JEI, modifier l'overlay
                          Je suis un membre apprécié et joueur, j'ai déjà obtenu 6 points de réputation.

                          1 réponse Dernière réponse Répondre Citer 0
                          • X
                            Xeolis dernière édition par

                            Bonjour,

                            Je travaille pour un projet de server AltisLife minecraft mais malheureusement nous n’avons pas réussi à faire de batons de fouilles.
                            Il nous en faudrait un dans les plus brèves délais car notre serveur ouvre dans 1 semaine et nous ne voyons pas comment réussir à y aboutir une bonne fois pour toutes.

                            Pourquoi je fais ce poste ?

                            C’est simple parcequ’il nous faudrait de l’aide au plus vite pour faire ce baton de fouille.
                            Je ne vous demandes pas de me faire un plugins mais bien un script de baton de fouille permettant d’ouvrir l’inventaire de la personne quand on clique dessus mais aussi de ne pas pouvoir cliqué sour la personne quand elle est à plus de deux blocs de nous sinon il y aurai trop d’abus.

                            Pour me contacter venir sur le TS à cette adresse: eu2.freets3.ovh:30176

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

                              @‘Xeolis’:

                              Bonjour,

                              Je travaille pour un projet de server AltisLife minecraft mais malheureusement nous n’avons pas réussi à faire de batons de fouilles.
                              Il nous en faudrait un dans les plus brèves délais car notre serveur ouvre dans 1 semaine et nous ne voyons pas comment réussir à y aboutir une bonne fois pour toutes.

                              Pourquoi je fais ce poste ?

                              C’est simple parcequ’il nous faudrait de l’aide au plus vite pour faire ce baton de fouille.
                              Je ne vous demandes pas de me faire un plugins mais bien un script de baton de fouille permettant d’ouvrir l’inventaire de la personne quand on clique dessus mais aussi de ne pas pouvoir cliqué sour la personne quand elle est à plus de deux blocs de nous sinon il y aurai trop d’abus.

                              Pour me contacter venir sur le TS à cette adresse: eu2.freets3.ovh:30176

                              Où est-ce que tu bloques ?

                              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
                              • X
                                Xeolis dernière édition par

                                @‘SCAREX’:

                                @‘Xeolis’:

                                Bonjour,

                                Je travaille pour un projet de server AltisLife minecraft mais malheureusement nous n’avons pas réussi à faire de batons de fouilles.
                                Il nous en faudrait un dans les plus brèves délais car notre serveur ouvre dans 1 semaine et nous ne voyons pas comment réussir à y aboutir une bonne fois pour toutes.

                                Pourquoi je fais ce poste ?

                                C’est simple parcequ’il nous faudrait de l’aide au plus vite pour faire ce baton de fouille.
                                Je ne vous demandes pas de me faire un plugins mais bien un script de baton de fouille permettant d’ouvrir l’inventaire de la personne quand on clique dessus mais aussi de ne pas pouvoir cliqué sour la personne quand elle est à plus de deux blocs de nous sinon il y aurai trop d’abus.

                                Pour me contacter venir sur le TS à cette adresse: eu2.freets3.ovh:30176

                                Où est-ce que tu bloques ?

                                Je ne bloque pas je ne c’est pas faire c’est pour ca que je demande de l’aide

                                1 réponse Dernière réponse Répondre Citer 0
                                • robin4002
                                  robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par

                                  Si tu cherches quelqu’un pour faire ça pour toi, il faut aller dans la section recrutement.

                                  1 réponse Dernière réponse Répondre Citer 0
                                  • Gabs
                                    Gabs dernière édition par

                                    @‘AymericRed’:

                                    Le Container ne marchera pas, il faut que tu l’extends celui vanilla, regarde dans le GuiInventory le container qui est appelé dans le super(…) du constructeur.

                                    Re,

                                    Excusez moi du retard x)

                                    Aymeric j’ai pas bien compris se que tu as dis.

                                    Extends celui vanilla je vois pas du tout.

                                    Et pour le super j’ai fais ça:

                                    
                                    public class containerGui extends Container{
                                    
                                    public containerGui(EntityPlayer p)
                                    {
                                    super(p.inventoryContainer);//prob ici
                                    }
                                    
                                    @Override
                                    public boolean canInteractWith(EntityPlayer playerIn) {
                                    return false;
                                    }
                                    @Override
                                    public ItemStack slotClick(int slotId, int clickedButton, int mode, EntityPlayer playerIn)
                                        {
                                    return null;
                                    
                                        }
                                    

                                    Mais j’ai une érreur au super "The constructor Container(Container) is undefined.

                                    1 réponse Dernière réponse Répondre Citer 0
                                    • AymericRed
                                      AymericRed dernière édition par

                                      Je que je voulais te dire, c’est de changer java extends Container par ```java
                                      extends ContainerInventory

                                      
                                      EDIT : ContainerPlayer au lieu de ContainerInventory.

                                      Si je vous ai aidé, n'oubliez pas d’être heureux, j'aiderai encore +

                                      AymericRed, moddeur expérimenté qui aide sur ce forum et qui peut accepter de faire un mod Forge rémunéré de temps en temps.

                                      Mes tutos : Table de craft, plugin NEI, plugin JEI, modifier l'overlay
                                      Je suis un membre apprécié et joueur, j'ai déjà obtenu 6 points de réputation.

                                      1 réponse Dernière réponse Répondre Citer 1
                                      • Gabs
                                        Gabs dernière édition par

                                        @‘AymericRed’:

                                        Je que je voulais te dire, c’est de changer java extends Container par ```java
                                        extends ContainerInventory

                                        
                                        EDIT : ContainerPlayer au lieu de ContainerInventory.
                                        

                                        D’acc ^^

                                        Du coup j’ai ça:

                                        
                                        public class containerGui extends ContainerPlayer{
                                        
                                        public containerGui(InventoryPlayer playerInventory, boolean localWorld, EntityPlayer player) {
                                        
                                        super(playerInventory, localWorld, player);
                                        
                                        }
                                        
                                        @Override
                                        public boolean canInteractWith(EntityPlayer playerIn) {
                                        return false;
                                        }
                                        @Override
                                        public ItemStack slotClick(int slotId, int clickedButton, int mode, EntityPlayer playerIn)
                                            {
                                        return null;
                                        
                                            }
                                        
                                        }
                                        
                                        
                                        public class guiInv extends GuiInventory{
                                        
                                        public guiInv(EntityPlayer p_i1094_1_) {
                                        super(p_i1094_1_);
                                        }
                                        
                                        @Override
                                        protected void drawGuiContainerBackgroundLayer(float partialTicks,
                                        int mouseX, int mouseY) {
                                        this.fontRendererObj.drawString(I18n.format("container.crafting", new Object[0]), 86, 16, 4210752);
                                        }
                                        
                                        }
                                        
                                        
                                        
                                        public boolean itemInteractionForEntity(ItemStack stack, EntityPlayer playerIn, EntityLivingBase target)
                                           {
                                        if(target instanceof EntityPlayer)
                                        {
                                        EntityPlayer targetp = (EntityPlayer)target;
                                        playerIn.openGui(Main.instance, 0, playerIn.worldObj, (int) playerIn.posX, (int) playerIn.posY, (int) playerIn.posZ);
                                        playerIn.addChatComponentMessage(new ChatComponentText(EnumChatFormatting.GREEN + "Vous fouillez: " + targetp.getDisplayNameString()));
                                            targetp.addChatComponentMessage(new ChatComponentText(EnumChatFormatting.RED + playerIn.getDisplayNameString() + " vous fouille."));
                                           }
                                        return false;
                                        }  
                                        
                                        

                                        j’ai pas essayer en multi du coup je peux pas vous dire si ça marche, ça semble bon ?

                                        Et j’ai une question, je dois pas définir la classe guiInv ou containerGui ? Simplement avec ce code ça marche ? playerIn.openGui(Main.instance, 0, playerIn.worldObj, (int) playerIn.posX, (int) playerIn.posY, (int) playerIn.posZ);

                                        Merci 😉

                                        1 réponse Dernière réponse Répondre Citer 0
                                        • AymericRed
                                          AymericRed dernière édition par

                                          Ah mais en fait en repensant à tout, je suis en train de me dire que ça ne servait à rien de faire un container et un gui custom…
                                          Quand tu fais “playerIn.openGui(Main.instance, 0, playerIn.worldObj, (int) playerIn.posX, (int) playerIn.posY, (int) playerIn.posZ);”, les fonctions getServerGuiElement et getClientGuiElement de ton GuiHandler vont être appelées, et là il faut respectivement retourner java return new ContainerPlayer(le joueur.inventory, world.isRemote, le joueur); et ```java
                                          return new GuiInventory(le joueur);

                                          
                                          J'espère que t'a compris car je sais pas si j'ai bien tout expliqué :)

                                          Si je vous ai aidé, n'oubliez pas d’être heureux, j'aiderai encore +

                                          AymericRed, moddeur expérimenté qui aide sur ce forum et qui peut accepter de faire un mod Forge rémunéré de temps en temps.

                                          Mes tutos : Table de craft, plugin NEI, plugin JEI, modifier l'overlay
                                          Je suis un membre apprécié et joueur, j'ai déjà obtenu 6 points de réputation.

                                          1 réponse Dernière réponse Répondre Citer 0
                                          • Gabs
                                            Gabs dernière édition par

                                            @‘AymericRed’:

                                            Ah mais en fait en repensant à tout, je suis en train de me dire que ça ne servait à rien de faire un container et un gui custom…
                                            Quand tu fais “playerIn.openGui(Main.instance, 0, playerIn.worldObj, (int) playerIn.posX, (int) playerIn.posY, (int) playerIn.posZ);”, les fonctions getServerGuiElement et getClientGuiElement de ton GuiHandler vont être appelées, et là il faut respectivement retourner java return new ContainerPlayer(le joueur.inventory, world.isRemote, le joueur); et ```java
                                            return new GuiInventory(le joueur);

                                            
                                            J'espère que t'a compris car je sais pas si j'ai bien tout expliqué :)
                                            

                                            Alors ouais j’ai compris je crois, par contre pour la variable pas trop je vois pas trop comment faire.

                                            Du coup j’ai plus que le handler et la classe de l’item:

                                            
                                            package com.CSC.net.item;
                                            
                                            import com.CSC.net.Main;
                                            
                                            import net.minecraft.entity.EntityLivingBase;
                                            import net.minecraft.entity.player.EntityPlayer;
                                            import net.minecraft.item.Item;
                                            import net.minecraft.item.ItemStack;
                                            import net.minecraft.util.ChatComponentText;
                                            import net.minecraft.util.EnumChatFormatting;
                                            
                                            public class bfouille extends Item
                                            {
                                            
                                            public boolean itemInteractionForEntity(ItemStack stack, EntityPlayer playerIn, EntityLivingBase target)
                                               {
                                            System.out.println(Main.instance);
                                            if(target instanceof EntityPlayer)
                                            {
                                            EntityPlayer targetp = (EntityPlayer)target;
                                            playerIn.openGui(Main.instance, 0, playerIn.worldObj, (int) playerIn.posX, (int) playerIn.posY, (int) playerIn.posZ);
                                            playerIn.addChatComponentMessage(new ChatComponentText(EnumChatFormatting.GREEN + "Vous fouillez: " + targetp.getDisplayNameString()));
                                                targetp.addChatComponentMessage(new ChatComponentText(EnumChatFormatting.RED + playerIn.getDisplayNameString() + " vous fouille."));
                                            }
                                            return false;
                                            }  
                                            
                                            }
                                            
                                            
                                            
                                            package com.CSC.net.GUI;
                                            
                                            import net.minecraft.client.gui.inventory.GuiInventory;
                                            import net.minecraft.entity.player.EntityPlayer;
                                            import net.minecraft.inventory.ContainerPlayer;
                                            import net.minecraft.world.World;
                                            import net.minecraftforge.fml.common.network.IGuiHandler;
                                            
                                            public class GuiHandlerInv implements IGuiHandler{
                                            
                                            @Override
                                            public Object getServerGuiElement(int ID, EntityPlayer player, World world,
                                            int x, int y, int z) {
                                            
                                            return new ContainerPlayer(player.inventory, world.isRemote, player);
                                            }
                                            
                                            @Override
                                            public Object getClientGuiElement(int ID, EntityPlayer player, World world,
                                            int x, int y, int z) {
                                            
                                            return new GuiInventory(player);
                                            }
                                            
                                            }
                                            
                                            
                                            1 réponse Dernière réponse Répondre Citer 0
                                            • 1
                                            • 2
                                            • 1 / 2
                                            • Premier message
                                              Dernier message
                                            Design by Woryk
                                            Contact / Mentions Légales

                                            MINECRAFT FORGE FRANCE © 2018

                                            Powered by NodeBB