MFF

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

    Blocks de portail

    Planifier Épinglé Verrouillé Déplacé Résolu 1.7.x
    1.7.x
    23 Messages 4 Publieurs 4.6k 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.
    • DiangleD Hors-ligne
      Diangle
      dernière édition par

      Bon moi je vais vite finir mon tuto xD.

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

        @Julot10085 : Je parle de la structure du portail et non des blocs nommés ‘portal’.

        @robin4002 : Je ne suis sûr que du code soit nécessaire c’est de la théorie.

        Mes mods:

        • New Ores
        • More Dragons
        1 réponse Dernière réponse Répondre Citer 0
        • DeletedD Hors-ligne
          Deleted
          dernière édition par

          @‘MrBlockTNT’:

          @Julot10085 : Je parle de la structure du portail et non des blocs nommés ‘portal’.

          @robin4002 : Je ne suis sûr que du code soit nécessaire c’est de la théorie.

          Je prenais le block portals comme exemple, dans ma tête je pensais au bloc constituant le portail tel que l’obsidienne désolé je suis allé trop vite. Mais enfin tu peux remplacer le block constituant le portail par te tien autrement c’est pas possible

          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 justement j’ai besoin de tes codes pour voir ce que tu as fait et donc conclure pourquoi ça ne fonctionne pas avec un bloc custom …

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

              Apparemment il semble que ça marche avec des blocs (de mon mod) possédant une classe dédiée (type BlockGrass).

              L’erreur doit être dans cette classe (le système du drop est une expérience) :
              BlockDragonsMod.java :

              
              package fr.MrBlockTNT.Dragons.block;
              
              import java.util.Random;
              
              import net.minecraft.block.Block;
              import net.minecraft.block.material.Material;
              import net.minecraft.item.Item;
              import fr.MrBlockTNT.Dragons.core.Dragons;
              
              public class BlockDragonsMod extends Block
              {
              Block drop;
              
              public BlockDragonsMod(Material material)
              {
              super(material);
              drop = null;
              this.setCreativeTab(Dragons.DragonsTab);
              }
              
              public BlockDragonsMod(Block block, Material material)
              {
              super(material);
              drop = block;
              this.setCreativeTab(Dragons.DragonsTab);
              }
              
              public Item getItemDropped(int a, Random b, int c)
              {
              return Item.getItemFromBlock(this.drop);
              }
              }
              
              

              Mes mods:

              • New Ores
              • More Dragons
              1 réponse Dernière réponse Répondre Citer 0
              • DeletedD Hors-ligne
                Deleted
                dernière édition par

                @‘MrBlockTNT’:

                Apparemment il semble que ça marche avec des blocs (de mon mod) possédant une classe dédiée (type BlockGrass).

                L’erreur doit être dans cette classe (le système du drop est une expérience) :
                BlockDragonsMod.java :

                
                package fr.MrBlockTNT.Dragons.block;
                
                import java.util.Random;
                
                import net.minecraft.block.Block;
                import net.minecraft.block.material.Material;
                import net.minecraft.item.Item;
                import fr.MrBlockTNT.Dragons.core.Dragons;
                
                public class BlockDragonsMod extends Block
                {
                Block drop;
                
                public BlockDragonsMod(Material material)
                {
                super(material);
                drop = null;
                this.setCreativeTab(Dragons.DragonsTab);
                }
                
                public BlockDragonsMod(Block block, Material material)
                {
                super(material);
                drop = block;
                this.setCreativeTab(Dragons.DragonsTab);
                }
                
                public Item getItemDropped(int a, Random b, int c)
                {
                return Item.getItemFromBlock(this.drop);
                }
                }
                
                

                Euh essaie de mettre en commentaire ta ligne

                
                drop = null
                
                

                pour voir si ça change quelque chose

                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

                  Je vois pas de problème en rapport avec ton histoire de portail.
                  En revanche fait attention, celle classe peut déclencher un NPE …
                  Normalement tu mets TaClassePrincipale.nomDuBloc et voila.

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

                    Je pense pas étant donné que mon block “structure” possède les 2 arguments (logiquement, drop sera quand même null), mais je teste quand même.

                    EDIT : C’est bien ce que je pensais ça ne marche pas.

                    Mes mods:

                    • New Ores
                    • More Dragons
                    1 réponse Dernière réponse Répondre Citer 0
                    • DeletedD Hors-ligne
                      Deleted
                      dernière édition par

                      @‘MrBlockTNT’:

                      Je pense pas étant donné que mon block “structure” possède les 2 arguments (logiquement, drop sera quand même null), mais je teste quand même.

                      EDIT : C’est bien ce que je pensais ça ne marche pas.

                      Autant pour moi….

                      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

                        J’ai posté une réponse qui est resté inaperçu :
                        @‘robin4002’:

                        Je vois pas de problème en rapport avec ton histoire de portail.
                        En revanche fait attention, celle classe peut déclencher un NPE …
                        Normalement tu mets TaClassePrincipale.nomDuBloc et voila.

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

                          A désolé je n’avais pas vu.
                          Le rapport avec le portail c’est que c’est la classe du bloc ‘structure/container’ du portail.


                          Je ne comprends plus rien : avec deux classes différentes possédant le même code un bloc sur les deux marche… 😞

                          Mes mods:

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

                            Je ne comprend pas ton problème xD.

                            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

                              Envoie tout tes codes en rapport avec le portail.

                              1 réponse Dernière réponse Répondre Citer 0
                              • bin4r1sB Hors-ligne
                                bin4r1s
                                dernière édition par robin4002

                                Classe principale (Dragons.java) :

                                fire_stone = (new BlockDragonsMod(this.fire_stone, Material.rock)).setHardness(20.0F).setResistance(2000.0F).setStepSound(Block.soundTypeStone).setBlockName("fire_stone").setBlockTextureName("dragons:fire_stone");
                                GameRegistry.registerBlock(fire_stone, "fire_stone");
                                

                                IDimBlockPortal.java (non, ce n’est pas une interface 😄 (I = Ice))

                                package fr.MrBlockTNT.Dragons.dimension.ice;
                                
                                import java.util.Random;
                                
                                import net.minecraft.block.Block;
                                import net.minecraft.block.material.Material;
                                import net.minecraft.entity.Entity;
                                import net.minecraft.entity.player.EntityPlayerMP;
                                import net.minecraft.init.Blocks;
                                import net.minecraft.item.ItemStack;
                                import net.minecraft.util.AxisAlignedBB;
                                import net.minecraft.util.MovingObjectPosition;
                                import net.minecraft.world.IBlockAccess;
                                import net.minecraft.world.World;
                                import cpw.mods.fml.relauncher.Side;
                                import cpw.mods.fml.relauncher.SideOnly;
                                import fr.MrBlockTNT.Dragons.block.BlockBase;
                                import fr.MrBlockTNT.Dragons.core.Dragons;
                                
                                public class IDimBlockPortal extends BlockBase
                                {
                                    public static Block portalMaterial = Dragons.fire_stone;
                                
                                    public IDimBlockPortal()
                                    {
                                        super(Material.portal);
                                        this.setTickRandomly(true);
                                        this.setStepSound(Block.soundTypeGlass);
                                        this.setLightLevel(0.75F);
                                    }
                                
                                    @Override
                                    public void setBlockBoundsBasedOnState(IBlockAccess blockaccess, int x, int y, int z)
                                    {
                                        float f;
                                        float f1;
                                
                                        if(!blockaccess.getBlock(x - 1, y, z).equals(this) && !blockaccess.getBlock(x + 1, y, z).equals(this))
                                        {
                                            f = 0.125F;
                                            f1 = 0.5F;
                                            this.setBlockBounds(0.5F - f, 0.0F, 0.5F - f1, 0.5F + f, 1.0F, 0.5F + f1);
                                        }
                                        else
                                        {
                                            f = 0.5F;
                                            f1 = 0.125F;
                                            this.setBlockBounds(0.5F - f, 0.0F, 0.5F - f1, 0.5F + f, 1.0F, 0.5F + f1);
                                        }
                                    }
                                
                                    @Override
                                    public void setBlockBoundsForItemRender()
                                    {
                                        float f1 = 0.125F;
                                        this.setBlockBounds(0, 0.0F, 0.5F - f1, 1F, 1.0F, 0.5F + f1);
                                    }
                                
                                    @Override
                                    public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z)
                                    {
                                        return null;
                                    }
                                
                                @Override
                                public void onNeighborBlockChange(World world, int x, int y, int z, Block block)
                                {
                                int y2 = y;
                                while(world.getBlock(x, y2, z).equals(this))
                                {
                                y2–;
                                }
                                if(!world.getBlock(x, y2, z).equals(this.portalMaterial))
                                {
                                world.setBlockToAir(x, y, z);
                                }
                                int y3 = y2 + 1;
                                boolean portalIsGood = false;
                                if(world.getBlock(x, y3, z + 1).equals(this))
                                {
                                portalIsGood = (world.getBlock(x, y2, z).equals(this.portalMaterial) && world.getBlock(x, y2, z + 1).equals(this.portalMaterial) && world.getBlock(x, y2 + 1, z + 2).equals(this.portalMaterial) && world.getBlock(x, y2 + 2, z + 2).equals(this.portalMaterial) && world.getBlock(x, y2 + 3, z + 2).equals(this.portalMaterial) && world.getBlock(x, y2 + 1, z - 1).equals(this.portalMaterial) && world.getBlock(x, y2 + 2, z - 1).equals(this.portalMaterial) && world.getBlock(x, y2 + 3, z - 1).equals(this.portalMaterial) && world.getBlock(x, y2 + 4, z - 1).equals(this.portalMaterial) && world.getBlock(x, y2 + 4, z).equals(this.portalMaterial));
                                }
                                else if(world.getBlock(x, y3, z - 1).equals(this))
                                {
                                portalIsGood = (world.getBlock(x, y2, z).equals(this.portalMaterial) && world.getBlock(x, y2, z - 1).equals(this.portalMaterial) && world.getBlock(x, y2 + 1, z - 2).equals(this.portalMaterial) && world.getBlock(x, y2 + 2, z - 2).equals(this.portalMaterial) && world.getBlock(x, y2 + 3, z - 2).equals(this.portalMaterial) && world.getBlock(x, y2 + 1, z + 1).equals(this.portalMaterial) && world.getBlock(x, y2 + 2, z + 1).equals(this.portalMaterial) && world.getBlock(x, y2 + 3, z + 1).equals(this.portalMaterial) && world.getBlock(x, y2 + 4, z + 1).equals(this.portalMaterial) && world.getBlock(x, y2 + 4, z).equals(this.portalMaterial));
                                }
                                else if(world.getBlock(x + 1, y3, z).equals(this))
                                {
                                portalIsGood = (world.getBlock(x, y2, z).equals(this.portalMaterial) && world.getBlock(x + 1, y2, z).equals(this.portalMaterial) && world.getBlock(x + 2, y2 + 1, z).equals(this.portalMaterial) && world.getBlock(x + 2, y2 + 2, z).equals(this.portalMaterial) && world.getBlock(x + 2, y2 + 3, z).equals(this.portalMaterial) && world.getBlock(x - 1, y2 + 1, z).equals(this.portalMaterial) && world.getBlock(x - 1, y2 + 2, z).equals(this.portalMaterial) && world.getBlock(x - 1, y2 + 3, z).equals(this.portalMaterial) && world.getBlock(x + 1, y2 + 4, z).equals(this.portalMaterial) && world.getBlock(x, y2 + 4, z).equals(this.portalMaterial));
                                }
                                else if(world.getBlock(x - 1, y3, z).equals(this))
                                {
                                portalIsGood = (world.getBlock(x, y2, z).equals(this.portalMaterial) && world.getBlock(x - 1, y2, z).equals(this.portalMaterial) && world.getBlock(x - 2, y2 + 1, z).equals(this.portalMaterial) && world.getBlock(x - 2, y2 + 2, z).equals(this.portalMaterial) && world.getBlock(x - 2, y2 + 3, z).equals(this.portalMaterial) && world.getBlock(x + 1, y2 + 1, z).equals(this.portalMaterial) && world.getBlock(x + 1, y2 + 2, z).equals(this.portalMaterial) && world.getBlock(x + 1, y2 + 3, z).equals(this.portalMaterial) && world.getBlock(x + 1, y2 + 4, z).equals(this.portalMaterial) && world.getBlock(x, y2 + 4, z).equals(this.portalMaterial));
                                }
                                
                                if(!portalIsGood)
                                {
                                world.setBlockToAir(x, y, z);
                                }
                                }
                                
                                    @Override
                                    public boolean isOpaqueCube()
                                    {
                                        return false;
                                    }
                                
                                    @Override
                                    public boolean renderAsNormalBlock()
                                    {
                                        return false;
                                    }
                                
                                    @Override
                                    public int quantityDropped(Random random)
                                    {
                                        return 0;
                                    }
                                
                                    @Override
                                    public void onEntityCollidedWithBlock(World world, int x, int y, int z, Entity entity)
                                    {
                                        if((entity.ridingEntity == null) && (entity.riddenByEntity == null))
                                        {
                                            if(entity.dimension != Dragons.dimensionIdIce)
                                            {
                                                if(entity instanceof EntityPlayerMP)
                                                {
                                                    EntityPlayerMP player = (EntityPlayerMP)entity;
                                                    if(player.timeUntilPortal > 0)
                                                    {
                                                        player.timeUntilPortal = 10;
                                                    }
                                                    else
                                                    {
                                                        player.timeUntilPortal = 10;
                                                        player.mcServer.getConfigurationManager().transferPlayerToDimension(player, Dragons.dimensionIdIce, new IDimTeleporter(player.mcServer.worldServerForDimension(Dragons.dimensionIdIce)));
                                                    }
                                                }
                                                else
                                                {
                                                    EntityTeleporter.teleportToDim(entity, Dragons.dimensionIdIce);
                                                }
                                            }
                                            else
                                            {
                                                if(entity instanceof EntityPlayerMP)
                                                {
                                                    EntityPlayerMP player = (EntityPlayerMP)entity;
                                                    if(player.timeUntilPortal > 0)
                                                    {
                                                        player.timeUntilPortal = 10;
                                                    }
                                                    else
                                                    {
                                                        player.timeUntilPortal = 10;
                                                        player.mcServer.getConfigurationManager().transferPlayerToDimension(player, 0, new IDimTeleporter(player.mcServer.worldServerForDimension(0)));
                                                    }
                                                }
                                                else
                                                {
                                                    EntityTeleporter.teleportToDim(entity, 0);
                                                }
                                            }
                                        }
                                
                                    }
                                
                                    @SideOnly(Side.CLIENT)
                                    @Override
                                    public int getRenderBlockPass()
                                    {
                                        return 1;
                                    }
                                
                                    @SideOnly(Side.CLIENT)
                                    @Override
                                    public ItemStack getPickBlock(MovingObjectPosition target, World world, int x, int y, int z)
                                    {
                                        return null;
                                    }
                                
                                    @Override
                                    public void breakBlock(World world, int x, int y, int z, Block block, int metadata)
                                    {
                                        super.breakBlock(world, x, y, z, block, metadata);
                                        if(world.getBlock(x, y + 1, z).equals(this))
                                        {
                                            world.setBlockToAir(x, y + 1, z);
                                        }
                                        if(world.getBlock(x, y - 1, z).equals(this))
                                        {
                                            world.setBlockToAir(x, y - 1, z);
                                        }
                                        if(world.getBlock(x + 1, y, z).equals(this))
                                        {
                                            world.setBlockToAir(x + 1, y, z);
                                        }
                                        if(world.getBlock(x - 1, y, z).equals(this))
                                        {
                                            world.setBlockToAir(x - 1, y, z);
                                        }
                                        if(world.getBlock(x, y, z + 1).equals(this))
                                        {
                                            world.setBlockToAir(x, y, z + 1);
                                        }
                                        if(world.getBlock(x, y, z - 1).equals(this))
                                        {
                                            world.setBlockToAir(x, y, z - 1);
                                        }
                                    }
                                }
                                

                                Mes mods:

                                • New Ores
                                • More Dragons
                                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

                                  Heu ? Je ne vois pas où est le problème, ça devrait très bien fonctionner non ?

                                  1 réponse Dernière réponse Répondre Citer 0
                                  • bin4r1sB Hors-ligne
                                    bin4r1s
                                    dernière édition par robin4002

                                    Et bien apparemment non 😞

                                    Code de l’activateur ? :
                                    ItemIcePortalOpener.java :

                                    package fr.MrBlockTNT.Dragons.item;
                                    
                                    import net.minecraft.entity.player.EntityPlayer;
                                    import net.minecraft.item.Item;
                                    import net.minecraft.item.ItemStack;
                                    import net.minecraft.world.World;
                                    import fr.MrBlockTNT.Dragons.core.Dragons;
                                    import fr.MrBlockTNT.Dragons.dimension.ice.IDimBlockPortal;
                                    
                                    public class ItemIcePortalOpener extends Item
                                    {
                                        public ItemIcePortalOpener()
                                        {
                                            super();
                                        }
                                    
                                        public boolean onItemUse(ItemStack stack, EntityPlayer player, World par3World, int x, int y, int z, int side, float hitX, float hitY, float hitZ)
                                        {
                                            if(!par3World.isRemote && par3World.getBlock(x, y, z).equals(IDimBlockPortal.portalMaterial))
                                            {
                                                if(par3World.getBlock(x, y, z).equals(IDimBlockPortal.portalMaterial) && par3World.getBlock(x - 1, y, z).equals(IDimBlockPortal.portalMaterial) && par3World.getBlock(x - 2, y + 1, z).equals(IDimBlockPortal.portalMaterial) && par3World.getBlock(x - 2, y + 2, z).equals(IDimBlockPortal.portalMaterial) && par3World.getBlock(x - 2, y + 3, z).equals(IDimBlockPortal.portalMaterial) && par3World.getBlock(x + 1, y + 1, z).equals(IDimBlockPortal.portalMaterial) && par3World.getBlock(x + 1, y + 2, z).equals(IDimBlockPortal.portalMaterial) && par3World.getBlock(x + 1, y + 3, z).equals(IDimBlockPortal.portalMaterial) && par3World.getBlock(x - 1, y + 4, z).equals(IDimBlockPortal.portalMaterial) && par3World.getBlock(x, y + 4, z).equals(IDimBlockPortal.portalMaterial))
                                                {
                                                    for(int i = 0; i < 3; i++)
                                                    {
                                                        par3World.setBlock(x, y + 1 + i, z, Dragons.ice_portal);
                                                        par3World.setBlock(x - 1, y + 1 + i, z, Dragons.ice_portal);
                                                    }
                                                    if(!player.capabilities.isCreativeMode)
                                                    {
                                                        stack.stackSize–;
                                                    }
                                                    return true;
                                                }
                                    
                                                if(par3World.getBlock(x, y, z).equals(IDimBlockPortal.portalMaterial) && par3World.getBlock(x + 1, y, z).equals(IDimBlockPortal.portalMaterial) && par3World.getBlock(x + 2, y + 1, z).equals(IDimBlockPortal.portalMaterial) && par3World.getBlock(x + 2, y + 2, z).equals(IDimBlockPortal.portalMaterial) && par3World.getBlock(x + 2, y + 3, z).equals(IDimBlockPortal.portalMaterial) && par3World.getBlock(x - 1, y + 1, z).equals(IDimBlockPortal.portalMaterial) && par3World.getBlock(x - 1, y + 2, z).equals(IDimBlockPortal.portalMaterial) && par3World.getBlock(x - 1, y + 3, z).equals(IDimBlockPortal.portalMaterial) && par3World.getBlock(x + 1, y + 4, z).equals(IDimBlockPortal.portalMaterial) && par3World.getBlock(x, y + 4, z).equals(IDimBlockPortal.portalMaterial))
                                                {
                                                    for(int i = 0; i < 3; i++)
                                                    {
                                                        par3World.setBlock(x, y + 1 + i, z, Dragons.ice_portal);
                                                        par3World.setBlock(x + 1, y + 1 + i, z, Dragons.ice_portal);
                                                    }
                                                    if(!player.capabilities.isCreativeMode)
                                                    {
                                                        stack.stackSize--;
                                                    }
                                                    return true;
                                                }
                                    
                                                if(par3World.getBlock(x, y, z).equals(IDimBlockPortal.portalMaterial) && par3World.getBlock(x, y, z - 1).equals(IDimBlockPortal.portalMaterial) && par3World.getBlock(x, y + 1, z - 2).equals(IDimBlockPortal.portalMaterial) && par3World.getBlock(x, y + 2, z - 2).equals(IDimBlockPortal.portalMaterial) && par3World.getBlock(x, y + 3, z - 2).equals(IDimBlockPortal.portalMaterial) && par3World.getBlock(x, y + 1, z + 1).equals(IDimBlockPortal.portalMaterial) && par3World.getBlock(x, y + 2, z + 1).equals(IDimBlockPortal.portalMaterial) && par3World.getBlock(x, y + 3, z + 1).equals(IDimBlockPortal.portalMaterial) && par3World.getBlock(x, y + 4, z - 1).equals(IDimBlockPortal.portalMaterial) && par3World.getBlock(x, y + 4, z).equals(IDimBlockPortal.portalMaterial))
                                                {
                                                    for(int i = 0; i < 3; i++)
                                                    {
                                                        par3World.setBlock(x, y + 1 + i, z, Dragons.ice_portal);
                                                        par3World.setBlock(x, y + 1 + i, z - 1, Dragons.ice_portal);
                                                    }
                                                    if(!player.capabilities.isCreativeMode)
                                                    {
                                                        stack.stackSize--;
                                                    }
                                                    return true;
                                                }
                                    
                                                if(par3World.getBlock(x, y, z).equals(IDimBlockPortal.portalMaterial) && par3World.getBlock(x, y, z + 1).equals(IDimBlockPortal.portalMaterial) && par3World.getBlock(x, y + 1, z + 2).equals(IDimBlockPortal.portalMaterial) && par3World.getBlock(x, y + 2, z + 2).equals(IDimBlockPortal.portalMaterial) && par3World.getBlock(x, y + 3, z + 2).equals(IDimBlockPortal.portalMaterial) && par3World.getBlock(x, y + 1, z - 1).equals(IDimBlockPortal.portalMaterial) && par3World.getBlock(x, y + 2, z - 1).equals(IDimBlockPortal.portalMaterial) && par3World.getBlock(x, y + 3, z - 1).equals(IDimBlockPortal.portalMaterial) && par3World.getBlock(x, y + 4, z + 1).equals(IDimBlockPortal.portalMaterial) && par3World.getBlock(x, y + 4, z).equals(IDimBlockPortal.portalMaterial))
                                                {
                                                    for(int i = 0; i < 3; i++)
                                                    {
                                                        par3World.setBlock(x, y + 1 + i, z, Dragons.ice_portal);
                                                        par3World.setBlock(x, y + 1 + i, z + 1, Dragons.ice_portal);
                                                    }
                                                    if(!player.capabilities.isCreativeMode)
                                                    {
                                                        stack.stackSize--;
                                                    }
                                                    return true;
                                                }
                                            }
                                            if(par3World.isRemote)
                                            {
                                                par3World.spawnParticle("largesmoke", x, y, z, hitX, hitY, hitZ);
                                            }
                                            return false;
                                        }
                                    }
                                    

                                    Mes mods:

                                    • New Ores
                                    • More Dragons
                                    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

                                      Dans le constructeur de la classe IDimBlockPortal, ajoutes :
                                      System.out.println(portalMaterial.getUnlocalizedName());

                                      ça t’affiche son nom dans la console ou le jeu crash avec un NPE ?

                                      1 réponse Dernière réponse Répondre Citer 0
                                      • bin4r1sB Hors-ligne
                                        bin4r1s
                                        dernière édition par robin4002

                                        Ah ! NPE !

                                        Comment le solutionner ?

                                        [12:26:01] [Client thread/ERROR] [FML]: Caught exception from Dragons
                                        java.lang.NullPointerException
                                        at fr.MrBlockTNT.Dragons.dimension.ice.IDimBlockPortal.<init>(IDimBlockPortal.java:30) ~[IDimBlockPortal.class:?]
                                        at fr.MrBlockTNT.Dragons.core.Dragons.PreInit(Dragons.java:137) ~[Dragons.class:?]
                                        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_11]
                                        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_11]
                                        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_11]
                                        at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_11]
                                        at cpw.mods.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:513) ~[FMLModContainer.class:?]
                                        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_11]
                                        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_11]
                                        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_11]
                                        at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_11]
                                        at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:74) ~[guava-15.0.jar:?]
                                        at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:47) ~[guava-15.0.jar:?]
                                        at com.google.common.eventbus.EventBus.dispatch(EventBus.java:314) ~[guava-15.0.jar:?]
                                        at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:296) ~[guava-15.0.jar:?]
                                        at com.google.common.eventbus.EventBus.post(EventBus.java:267) ~[guava-15.0.jar:?]
                                        at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:208) ~[LoadController.class:?]
                                        at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:187) ~[LoadController.class:?]
                                        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_11]
                                        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_11]
                                        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_11]
                                        at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_11]
                                        at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:74) ~[guava-15.0.jar:?]
                                        at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:47) ~[guava-15.0.jar:?]
                                        at com.google.common.eventbus.EventBus.dispatch(EventBus.java:314) ~[guava-15.0.jar:?]
                                        at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:296) ~[guava-15.0.jar:?]
                                        at com.google.common.eventbus.EventBus.post(EventBus.java:267) ~[guava-15.0.jar:?]
                                        at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:118) [LoadController.class:?]
                                        at cpw.mods.fml.common.Loader.preinitializeMods(Loader.java:512) [Loader.class:?]
                                        at cpw.mods.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:239) [FMLClientHandler.class:?]
                                        at net.minecraft.client.Minecraft.startGame(Minecraft.java:522) [Minecraft.class:?]
                                        at net.minecraft.client.Minecraft.run(Minecraft.java:892) [Minecraft.class:?]
                                        at net.minecraft.client.main.Main.main(Main.java:112) [Main.class:?]
                                        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_11]
                                        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_11]
                                        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_11]
                                        at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_11]
                                        at net.minecraft.launchwrapper.Launch.launch(Launch.java:134) [launchwrapper-1.9.jar:?]
                                        at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.9.jar:?]
                                        –-- Minecraft Crash Report ----
                                        // Who set us up the TNT?
                                        
                                        Time: 30/08/14 12:26
                                        Description: Initializing game
                                        
                                        java.lang.NullPointerException: Initializing game
                                        at fr.MrBlockTNT.Dragons.dimension.ice.IDimBlockPortal.<init>(IDimBlockPortal.java:30)
                                        at fr.MrBlockTNT.Dragons.core.Dragons.PreInit(Dragons.java:137)
                                        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                                        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
                                        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
                                        at java.lang.reflect.Method.invoke(Unknown Source)
                                        at cpw.mods.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:513)
                                        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                                        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
                                        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
                                        at java.lang.reflect.Method.invoke(Unknown Source)
                                        at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:74)
                                        at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:47)
                                        at com.google.common.eventbus.EventBus.dispatch(EventBus.java:314)
                                        at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:296)
                                        at com.google.common.eventbus.EventBus.post(EventBus.java:267)
                                        at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:208)
                                        at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:187)
                                        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                                        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
                                        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
                                        at java.lang.reflect.Method.invoke(Unknown Source)
                                        at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:74)
                                        at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:47)
                                        at com.google.common.eventbus.EventBus.dispatch(EventBus.java:314)
                                        at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:296)
                                        at com.google.common.eventbus.EventBus.post(EventBus.java:267)
                                        at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:118)
                                        at cpw.mods.fml.common.Loader.preinitializeMods(Loader.java:512)
                                        at cpw.mods.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:239)
                                        at net.minecraft.client.Minecraft.startGame(Minecraft.java:522)
                                        at net.minecraft.client.Minecraft.run(Minecraft.java:892)
                                        at net.minecraft.client.main.Main.main(Main.java:112)
                                        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                                        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
                                        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
                                        at java.lang.reflect.Method.invoke(Unknown Source)
                                        at net.minecraft.launchwrapper.Launch.launch(Launch.java:134)
                                        at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
                                        
                                        A detailed walkthrough of the error, its code path and all known details is as follows:
                                        ---------------------------------------------------------------------------------------
                                        
                                        -- Head --
                                        Stacktrace:
                                        at fr.MrBlockTNT.Dragons.dimension.ice.IDimBlockPortal.<init>(IDimBlockPortal.java:30)
                                        at fr.MrBlockTNT.Dragons.core.Dragons.PreInit(Dragons.java:137)
                                        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                                        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
                                        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
                                        at java.lang.reflect.Method.invoke(Unknown Source)
                                        at cpw.mods.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:513)
                                        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                                        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
                                        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
                                        at java.lang.reflect.Method.invoke(Unknown Source)
                                        at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:74)
                                        at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:47)
                                        at com.google.common.eventbus.EventBus.dispatch(EventBus.java:314)
                                        at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:296)
                                        at com.google.common.eventbus.EventBus.post(EventBus.java:267)
                                        at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:208)
                                        at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:187)
                                        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                                        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
                                        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
                                        at java.lang.reflect.Method.invoke(Unknown Source)
                                        at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:74)
                                        at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:47)
                                        at com.google.common.eventbus.EventBus.dispatch(EventBus.java:314)
                                        at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:296)
                                        at com.google.common.eventbus.EventBus.post(EventBus.java:267)
                                        at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:118)
                                        at cpw.mods.fml.common.Loader.preinitializeMods(Loader.java:512)
                                        at cpw.mods.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:239)
                                        at net.minecraft.client.Minecraft.startGame(Minecraft.java:522)
                                        
                                        -- Initialization --
                                        Details:
                                        Stacktrace:
                                        at net.minecraft.client.Minecraft.run(Minecraft.java:892)
                                        at net.minecraft.client.main.Main.main(Main.java:112)
                                        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                                        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
                                        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
                                        at java.lang.reflect.Method.invoke(Unknown Source)
                                        at net.minecraft.launchwrapper.Launch.launch(Launch.java:134)
                                        at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
                                        
                                        -- System Details --
                                        Details:
                                        Minecraft Version: 1.7.2
                                        Operating System: Windows Vista (x86) version 6.0
                                        Java Version: 1.8.0_11, Oracle Corporation
                                        Java VM Version: Java HotSpot(TM) Client VM (mixed mode), Oracle Corporation
                                        Memory: 789954048 bytes (753 MB) / 1046937600 bytes (998 MB) up to 1046937600 bytes (998 MB)
                                        JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M
                                        AABB Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
                                        IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
                                        FML: MCP v9.03 FML v7.2.211.1121 Minecraft Forge 10.12.2.1121 4 mods loaded, 4 mods active
                                        mcp{9.03} [Minecraft Coder Pack] (minecraft.jar) Unloaded->Constructed->Pre-initialized
                                        FML{7.2.211.1121} [Forge Mod Loader] (forgeSrc-1.7.2-10.12.2.1121.jar) Unloaded->Constructed->Pre-initialized
                                        Forge{10.12.2.1121} [Minecraft Forge] (forgeSrc-1.7.2-10.12.2.1121.jar) Unloaded->Constructed->Pre-initialized
                                        Dragons{1.0.0} [More Dungeons and Dragons - pre-alpha] (bin) Unloaded->Constructed->Errored
                                        Launched Version: 1.6
                                        LWJGL: 2.9.0
                                        OpenGL: GeForce 9300 GE/PCIe/SSE2/3DNOW! GL version 3.3.0, NVIDIA Corporation
                                        Is Modded: Definitely; Client brand changed to 'fml,forge'
                                        Type: Client (map_client.txt)
                                        Resource Packs: []
                                        Current Language: ~~ERROR~~ NullPointerException: null
                                        Profiler Position: N/A (disabled)
                                        Vec3 Pool Size: ~~ERROR~~ NullPointerException: null
                                        Anisotropic Filtering: Off (1)
                                        #@!@# Game crashed! Crash report saved to: #@!@# C:\Minecraft\More Dragons 1.7.2\mod\forge\eclipse\.\crash-reports\crash-2014-08-30_12.26.01-client.txt
                                        Java HotSpot(TM) Client VM warning: Using incremental CMS is deprecated and will likely be removed in a future release
                                        

                                        Mes mods:

                                        • New Ores
                                        • More Dragons
                                        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

                                          Bon voila, on a trouvé le problème, portalMaterial est null.
                                          Donc ça veut dire qu’au moment ou tu initialises ton bloc IDimBlockPortal, Dragons.fire_stone est null.
                                          La solution ? Il faut juste initialisé fire_stone avant IDimBlockPortal dans ta classe principale.
                                          Et voila.

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

                                            Ah merci :), je teste.

                                            EDIT: ça marche à la perfection, sujet résolu.

                                            Mes mods:

                                            • New Ores
                                            • More Dragons
                                            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