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

    Résolu Des Radius et adaptations spécifiques ?

    1.7.x
    1.7.10
    5
    33
    6235
    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.
    • S
      SquizzCraft dernière édition par

      Bien le bonsoir !

      Je me suis poser la question aujourd’hui au sujet de quelque chose de plûtot fou mais je ne sais pas si c’est faisable car je ne sais pas du tout comment faire cela. Je voudrais en fait faire en sorte que quand un joueur pose un bloc, tous les autres joueurs dans un rayon de 15 blocks soient empoisonné ! Comment on pourrait faire ça ?

      Aussi, je pense pour autre chose que c’est plus faisable, un bloc qui ne se pose que sur une fenêtre par exemple !!

      Comment puis-je procéder pour ces deux choses ? Merci !

      Solution : http://www.minecraftforgefrance.fr/showthread.php?tid=2032&pid=23187#pid23187

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

        Salut,
        1 - il y a une fonction pour quand le joueur pose un bloc, et dans dans la classe world il y a une fonction pour avoir une liste de toutes les entités autours.

        List entity = world.selectEntitiesWithinAABB(EntityPlayer.class, player.boundingBox.expand(15.0D, 15.0D, 15.0D), new IEntitySelector(){
        @Override
        public boolean isEntityApplicable(Entity entity)
        {
            return entity instanceof EntityPlayer;
        }
        });
        
        

        (il me semble que c’est comme ça, flemme de lancer eclipse car je vais aller me coucher après ce message)
        Après tu utilise un boucle for pour par courir la liste, tu cast EntityPlayer et tu ajoutes l’effet au joueur si le joueur n’est pas celui qui a posé le bloc.

        2 - fenêtre = GlassPane ?

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

          @‘SquizzCraft’:

          Bien le bonsoir !

          Je me suis poser la question aujourd’hui au sujet de quelque chose de plûtot fou mais je ne sais pas si c’est faisable car je ne sais pas du tout comment faire cela. Je voudrais en fait faire en sorte que quand un joueur pose un bloc, tous les autres joueurs dans un rayon de 15 blocks soient empoisonné ! Comment on pourrait faire ça ?

          Aussi, je pense pour autre chose que c’est plus faisable, un bloc qui ne se pose que sur une fenêtre par exemple !!

          Comment puis-je procéder pour ces deux choses ? Merci !

          Regarde la classe du cactus : il y a des fonctions pour savoir si le bloc peut rester là où il est.

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

            Bon, je vais aller voir tout ça ! Et oui, c’est pour le GlassPane !

            EDIT : J’ai pas réussi à faire la boucle for pour donner l’effet de poison 1 pendant 1 minute à tous les joueurs aux alentours du blocs sauf celui qui l’a poser ! 😕

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

              Alors, j’ai essayer ton code Robin, mais j’ai trop d’erreurs, il m’indique que world n’existe pas, alors pour résoudre à ça, j’ai mis une majuscule à “W”, et pour player, rien ne résout le soucis, ensuite, pour List, j’ai beaucoup d’éléments d’importation !

              Que dois-je faire ?

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

                @‘SquizzCraft’:

                Alors, j’ai essayer ton code Robin, mais j’ai trop d’erreurs, il m’indique que world n’existe pas, alors pour résoudre à ça, j’ai mis une majuscule à “W”, et pour player, rien ne résout le soucis, ensuite, pour List, j’ai beaucoup d’éléments d’importation !

                Que dois-je faire ?

                world correspond au paramètre world de ta fonction, peut importe comment il s’appelle, même chose pour le joueur. Pour la liste c’est java.util.List.

                PS : c’est mieux de savoir ce que le code fait et ce à quoi correspondent les variables avant de copier le code.

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

                  D’accord, mais au final, comment je dois construire le code pour arriver à effectuer une couche de poison sur une zone ?

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

                    @‘SquizzCraft’:

                    D’accord, mais au final, comment je dois construire le code pour arriver à effectuer une couche de poison sur une zone ?

                    Robin t’as donné le code, j’aurai fait le même code que lui, après tu peux regarder dans la classe world : y’a plusieurs méthodes pour avoir des entités.

                    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
                    • robin4002
                      robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par

                      Envoies le code que tu as fait actuellement.

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

                        List entity = world.selectEntitiesWithinAABB(EntityPlayer.class, player.boundingBox.expand(15.0D, 15.0D, 15.0D), new IEntitySelector(){
                        @Override
                        public boolean isEntityApplicable(Entity entity)
                        {
                           return entity instanceof EntityPlayer;
                        
                           ((entity)par3Entity).addPotionEffect(new PotionEffect(Potion.poison.id, 1200, 0));
                        }
                        }
                        });
                        

                        J’ai essayer de le faire comme ça, mais sans succès avec pleins d’erreurs 😕

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

                          Ah oui …
                          Tu as mit où ce code ?
                          Envoie la classe entière.

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

                            Essaie avec çà plutôt :

                            
                            List entity = world.selectEntitiesWithinAABB(EntityPlayer.class, player.boundingBox.expand(15.0D, 15.0D, 15.0D), new IEntitySelector(){
                            @Override
                            public boolean isEntityApplicable(Entity entity)
                            {
                            return entity instanceof EntityPlayer;
                            }
                            }
                            });
                            

                            Et ensuite tu récupère la liste que tu peux lire avec un iterator ou autre chose dans le genre, mais comme je l’ai dis : quand on ne sait pas ce qu’on fait, vaut mieux ne rein faire.

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

                              package fr.squizzcraft.modmikavanille;
                              
                              import java.util.List;
                              
                              import net.minecraft.block.Block;
                              import net.minecraft.block.material.Material;
                              import net.minecraft.command.IEntitySelector;
                              import net.minecraft.entity.Entity;
                              import net.minecraft.entity.player.EntityPlayer;
                              import net.minecraft.potion.Potion;
                              import net.minecraft.potion.PotionEffect;
                              import net.minecraft.world.World;
                              
                              public class RadiocatifBlock extends Block {
                              
                              protected RadiocatifBlock(Material material) {
                              super(material);
                              }
                              
                              List entity = world.selectEntitiesWithinAABB(EntityPlayer.class, player.boundingBox.expand(15.0D, 15.0D, 15.0D), new IEntitySelector(){ //Erreur sur world et player
                              @Override
                              public boolean isEntityApplicable(Entity entity)
                              {
                                 return entity instanceof EntityPlayer;
                              
                                 ((EntityPlayer)entity).addPotionEffect(new PotionEffect(Potion.poison.id, 1200, 0));
                              }
                              });
                              }
                              

                              Ensuite, je pense qu’avec ça, le joueur qui a posé le bloc va être empoisonné aussi !

                              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 mets du code comme ça n’importe où c’est normal que ça ne fonctionne pas …

                                ​    public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase living, ItemStack stack)
                                
                                    {
                                        List entities = world.selectEntitiesWithinAABB(EntityPlayer.class, living.boundingBox.expand(15.0D, 15.0D, 15.0D), new IEntitySelector()
                                        {
                                            @Override
                                            public boolean isEntityApplicable(Entity entity)
                                            {
                                                return entity instanceof EntityPlayer;
                                            }
                                        });
                                        for(Object o : entities)
                                        {
                                            if(o instanceof EntityPlayer)
                                            {
                                                ((EntityPlayer)o).addPotionEffect(new PotionEffect(Potion.poison.id, 1200, 0));
                                            }
                                        }
                                    }
                                
                                1 réponse Dernière réponse Répondre Citer 0
                                • S
                                  SquizzCraft dernière édition par

                                  Merci bien Robin ! Pour le radioactif ! Ca marche !

                                  Alors, j’ai fais des recherches pour le GlassPane, j’ai trouver ça dans la classe BlockCactus :

                                  public boolean canPlaceBlockAt(World world, int x, int y, int z)
                                  {
                                  return !super.canPlaceBlockAt(world, x, y, z) ? false : this.canBlockStay(world, x, y, z);
                                  }
                                  

                                  Mais, je ne sais pas comment je peux mettre le GlassPane, car on a pas d’énonciation de blocks !

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

                                    Personne pour le Block GlassPane ?

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

                                      @‘SquizzCraft’:

                                      Personne pour le Block GlassPane ?

                                      Il faut réécrire la fonction canBlockStay.

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

                                        Comment ça ?

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

                                          this.canBlockStay(world, x, y, z)
                                          ctrl + clic dessus. ça va te ramener à la fonction, c’est elle qu’il faut reprendre et adapter.

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

                                            @‘SquizzCraft’:

                                            Comment ça ?

                                            Apprend le java et le code sous MinecraftForge en regardant des tutoriels parce que là tu ne sais pas faire de simples choses : regarde les tutoriels de Robin (il y a aussi la chaîne youtube MinecraftForgeFrance)

                                            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
                                            • 1
                                            • 2
                                            • 1 / 2
                                            • Premier message
                                              Dernier message
                                            Design by Woryk
                                            Contact / Mentions Légales

                                            MINECRAFT FORGE FRANCE © 2018

                                            Powered by NodeBB