MFF

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

    Des Radius et adaptations spécifiques ?

    Planifier Épinglé Verrouillé Déplacé Résolu 1.7.x
    1.7.10
    33 Messages 5 Publieurs 7.2k 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.
    • SCAREXS Hors-ligne
      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 Hors-ligne
        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 Hors-ligne
          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
          • SCAREXS Hors-ligne
            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 Hors-ligne
              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
              • SCAREXS Hors-ligne
                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
                • robin4002R Hors-ligne
                  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 Hors-ligne
                    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
                    • robin4002R Hors-ligne
                      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
                      • SCAREXS Hors-ligne
                        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 Hors-ligne
                          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
                          • robin4002R Hors-ligne
                            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 Hors-ligne
                              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 Hors-ligne
                                SquizzCraft
                                dernière édition par

                                Personne pour le Block GlassPane ?

                                1 réponse Dernière réponse Répondre Citer 0
                                • SCAREXS Hors-ligne
                                  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 Hors-ligne
                                    SquizzCraft
                                    dernière édition par

                                    Comment ça ?

                                    1 réponse Dernière réponse Répondre Citer 0
                                    • robin4002R Hors-ligne
                                      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
                                      • SCAREXS Hors-ligne
                                        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
                                        • S Hors-ligne
                                          SquizzCraft
                                          dernière édition par

                                          Ben, il me ramène là :

                                          public boolean canBlockStay(World p_149718_1_, int p_149718_2_, int p_149718_3_, int p_149718_4_)
                                          {
                                          return true;
                                          }
                                          

                                          Encore une fois, il n’y a pas de déclaration de bloc ^^’

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

                                            Pas dans le cas du cactus :

                                            ​    public boolean canBlockStay(World p_149718_1_, int p_149718_2_, int p_149718_3_, int p_149718_4_)
                                            
                                                {
                                                    if (p_149718_1_.getBlock(p_149718_2_ - 1, p_149718_3_, p_149718_4_).getMaterial().isSolid())
                                                    {
                                                        return false;
                                                    }
                                                    else if (p_149718_1_.getBlock(p_149718_2_ + 1, p_149718_3_, p_149718_4_).getMaterial().isSolid())
                                                    {
                                                        return false;
                                                    }
                                                    else if (p_149718_1_.getBlock(p_149718_2_, p_149718_3_, p_149718_4_ - 1).getMaterial().isSolid())
                                                    {
                                                        return false;
                                                    }
                                                    else if (p_149718_1_.getBlock(p_149718_2_, p_149718_3_, p_149718_4_ + 1).getMaterial().isSolid())
                                                    {
                                                        return false;
                                                    }
                                                    else
                                                    {
                                                        Block block = p_149718_1_.getBlock(p_149718_2_, p_149718_3_ - 1, p_149718_4_);
                                                        return block.canSustainPlant(p_149718_1_, p_149718_2_, p_149718_3_ - 1, p_149718_4_, ForgeDirection.UP, this);
                                                    }
                                                }
                                            
                                            1 réponse Dernière réponse Répondre Citer 0
                                            • 1
                                            • 2
                                            • 1 / 2
                                            • Premier message
                                              Dernier message
                                            Design by Woryk
                                            ContactMentions Légales

                                            MINECRAFT FORGE FRANCE © 2024

                                            Powered by NodeBB