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

                                      Oui d’accord, mais il n’y a pas de Blocks.Sand dans cette fonction ?

                                      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

                                        return block.canSustainPlant(p_149718_1_, p_149718_2_, p_149718_3_ - 1, p_149718_4_, ForgeDirection.UP, this);
                                        C’est dans cette fonction que c’est géré.

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

                                          Il faut que je fasse un return block.GlassPane ?

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

                                            @‘SquizzCraft’:

                                            Il faut que je fasse un return block.GlassPane ?

                                            Non, il faut juste regarder si le block en dessous est un glass pane.

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

                                            MINECRAFT FORGE FRANCE © 2024

                                            Powered by NodeBB