MFF

    Minecraft Forge France
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Forge Events
      • Auto
      • Dark
      • Light
    • Register
    • Login

    Probleme résolu + explication a bush à XP

    Scheduled Pinned Locked Moved Solved 1.7.x
    1.7.10
    118 Posts 5 Posters 16.6k Views 1 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • SCAREXS Offline
      SCAREX
      last edited by

      Dans onBlockActivated rajoute ça : System.out.println(world.getBlockMetadata(x, y, z)); qui va afficher le metadata correspondant lorsque tu cliques pour vérifier que ton block a le bon metadata

      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 Reply Last reply Reply Quote 0
      • YukiShuY Offline
        YukiShu
        last edited by

        EDIT : C’est bon ça drop maintenant donc sa change de texture.
        Mais le probleme c’est que ça continue de drop apres le changement de metadata. 
        Alors que se n’est pas désiré 🙂

        package fr.xperiaonline.xperiamod.common;
        
        import java.util.List;
        import java.util.Random;
        
        import javax.swing.Icon;
        
        import cpw.mods.fml.relauncher.Side;
        import cpw.mods.fml.relauncher.SideOnly;
        import net.minecraft.block.Block;
        import net.minecraft.block.material.Material;
        import net.minecraft.client.renderer.texture.IIconRegister;
        import net.minecraft.creativetab.CreativeTabs;
        import net.minecraft.entity.player.EntityPlayer;
        import net.minecraft.init.Items;
        import net.minecraft.item.Item;
        import net.minecraft.item.ItemStack;
        import net.minecraft.util.IIcon;
        import net.minecraft.world.World;
        
        public class BlockModBush extends Block
        {
           public static String[] subBlock = new String[] {"block0","block1","block2"};
           public IIcon[] iconArray = new IIcon[subBlock.length];
        
           protected BlockModBush()
        
           {
               super(Material.rock);
               this.setTickRandomly(true);
           }
        
           public void updateTick(World world, int x, int y, int z, Random rand)
           {
               if(world.getBlockMetadata(x, y, z) < 2)
               {
                   world.setBlock(x, y, z, this, world.getBlockMetadata(x, y, z) + 1, 3);
               }
           }
        
           public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ)
           {
        
               if(world.getBlockMetadata(x, y, z) == 3)
               System.out.println(world.getBlockMetadata(x, y, z));
        
               {
                   world.setBlock(x, y, z, this, 0, 3);
                   this.dropBlockAsItem(world, x, y, z, new ItemStack(Items.experience_bottle));
               }
               return false;
           }
        
           public int tickRate(World world)
           {
               return 1;
           }
        
           public int damageDropped(int metadata)
           {
               return metadata;
           }
        
           public void getSubBlocks(Item item, CreativeTabs tabs, List list)
           {
               for(int i = 0; i < subBlock.length; i++)
               {
                   list.add(new ItemStack(item, 1, i));
               }
           }
        
           public void registerBlockIcons(IIconRegister iconRegister)
           {
               for(int i = 0; i < subBlock.length; i++)
               {
                   this.iconArray* = iconRegister.registerIcon("xperiamod:" + subBlock*);
               }
           }
        
           public IIcon getIcon(int side, int metadata)
           {
               if(metadata >= 0 && metadata < subBlock.length)
               {
                   return this.iconArray[metadata];
               }
               return this.iconArray[0];
           }
        }
        

        Mon code est t’il bon ?

        1 Reply Last reply Reply Quote 0
        • robin4002R Offline
          robin4002 Moddeurs confirmés Rédacteurs Administrateurs
          last edited by

          
          public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ)
          {
          if(world.getBlockMetadata(x, y, z) == 2)
          {
          world.setBlock(x, y, z, this, 0, 3);
          this.dropBlockAsItem(world, x, y, z, new ItemStack(Items.experience_bottle));
          }
          return false;
          }
          

          Il faut faire comme ça.
          Actuellement ton dropBlockAsItem et le setBlock ne sont pas dans la condition, tu as mit System.out.println(world.getBlockMetadata(x, y, z)); à l’intérieur de la condition.

          1 Reply Last reply Reply Quote 0
          • YukiShuY Offline
            YukiShu
            last edited by

            Merci beaucoup !

            ça marche impeccable !
            EDIT : par contre désormais j’ai 3 blocs dans l’inventaire ça veux dire que quand on va miner on va recupere 2 block different dépendra de la metadata.
            Moyen de ne faire en sorte que le block une fois casser soit dropper a l’etat metadata 0 ?

            1 Reply Last reply Reply Quote 0
            • robin4002R Offline
              robin4002 Moddeurs confirmés Rédacteurs Administrateurs
              last edited by

              Enlève ces deux fonctions :

              public int damageDropped(int metadata)
              {
              return metadata;
              }
              
              public void getSubBlocks(Item item, CreativeTabs tabs, List list)
              {
              for(int i = 0; i < subBlock.length; i++)
              {
              list.add(new ItemStack(item, 1, i));
              }
              }
              

              Tu peux aussi retirer l’item bloc.

              1 Reply Last reply Reply Quote 0
              • YukiShuY Offline
                YukiShu
                last edited by

                Merci beaucoup !

                Et sinon pour créer un item qui peux giver de l’experience.

                J’ai trouver ça se matin :

                
                public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player)
                
                  {
                
                event.player.addPotionEffect(new PotionEffect(id, temps, level));
                
                       if (!player.capabilities.isCreativeMode)
                
                       {
                
                           –stack.stackSize;
                
                       }
                
                return stack;
                
                }
                
                

                Je doit utiliser ça et faire quoi exactement ? 
                J’ai regarder ton tuto sur faire tes item basique 😉

                1 Reply Last reply Reply Quote 0
                • SCAREXS Offline
                  SCAREX
                  last edited by

                  player.experience ou player.experienceLevel, ensuite tout dépend de ce que tu veux 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 Reply Last reply Reply Quote 0
                  • YukiShuY Offline
                    YukiShu
                    last edited by

                    J’aimerais que apres un clic droit sur l’item qu’il soit consommer et donne un certain taux d’xp au joueur.

                    1 Reply Last reply Reply Quote 0
                    • SCAREXS Offline
                      SCAREX
                      last edited by

                      Tu as juste à faire player.experience += XPSSupplementaire dans ta fonction.

                      Le code que robin t’as demandé de supprimer va permettre juste de ne pas récupérer le block avec le metadata et d’afficher seulement le block avec le metadata 0 en créatif

                      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 Reply Last reply Reply Quote 0
                      • YukiShuY Offline
                        YukiShu
                        last edited by

                        oui je n’ai pas été assez patient 😄
                        J’ai reediter

                        1 Reply Last reply Reply Quote 0
                        • YukiShuY Offline
                          YukiShu
                          last edited by

                          Voila ! Mais petit problème au niveau de :

                          player.addExperience += 1;

                          player est en rouge.

                          1 Reply Last reply Reply Quote 0
                          • SCAREXS Offline
                            SCAREX
                            last edited by

                            Où est le problème ?

                            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 Reply Last reply Reply Quote 0
                            • YukiShuY Offline
                              YukiShu
                              last edited by

                              J’ai ecris ça dans la class de mon item

                              package fr.xperiaonline.xperiamod.common;
                              
                              import net.minecraft.entity.player.EntityPlayer;
                              import net.minecraft.world.World;
                              
                              public class ItemXpDust
                              
                              {
                              
                                 public void onItemRightClick(World world, EntityPlayer player)
                              
                                 {
                              player.addExperience(5);
                                 }
                              }
                              
                              

                              Mais ça ne fait rien en jeux enfin j’ai l’item. Mais sa ne me donne pas d’xp

                              Je suis tellement mauvais xd

                              1 Reply Last reply Reply Quote 0
                              • SCAREXS Offline
                                SCAREX
                                last edited by

                                Rajoute un System.out.println(“quelque chose”) dans ta fonction pour voir si le code est appelé

                                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 Reply Last reply Reply Quote 0
                                • AymericRedA Offline
                                  AymericRed
                                  last edited by

                                  public void onItemRightClick(World world, EntityPlayer player)
                                  ``` devient ça :
                                  ```java
                                  @Override
                                  public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player)
                                  

                                  Et rajoutes un “return stack;” à la fin de la fonction.
                                  Tu n’avais pas la bonne fonction, elle n’était donc pas appelée.

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

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

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

                                  1 Reply Last reply Reply Quote 0
                                  • YukiShuY Offline
                                    YukiShu
                                    last edited by

                                    ça ne marche toujours pas  😞
                                    pas d’erreur dans le code mais aucune action en jeu.

                                    1 Reply Last reply Reply Quote 0
                                    • SCAREXS Offline
                                      SCAREX
                                      last edited by

                                      Rajoute un System.out.println(“quelque chose”) dedans pour voir si ta fonction est appelée

                                      PS : as-tu laissé le @Override au-dessus de ta fonction ?

                                      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 Reply Last reply Reply Quote 0
                                      • YukiShuY Offline
                                        YukiShu
                                        last edited by

                                        Voici le code et ça ne marche toujours pas.

                                        public class ItemXpDust
                                        {
                                        
                                           @Override
                                           public ItemStack onItemRightClick(World world, ItemStack stack, EntityPlayer player)
                                        
                                           {
                                        
                                        player.addExperience(5);
                                        System.out.println("quelque chose");
                                        
                                        return stack;
                                        
                                           }
                                        
                                        }
                                        
                                        1 Reply Last reply Reply Quote 0
                                        • SCAREXS Offline
                                          SCAREX
                                          last edited by

                                          Est-ce que le “quelque chose” est affiché dans la console ? Si oui -> ta fonction est appelée. Si non -> as-tu bien cliqué sur le bon item ?

                                          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 Reply Last reply Reply Quote 0
                                          • YukiShuY Offline
                                            YukiShu
                                            last edited by

                                            Rien écris dans la console, et je n’ai qu’un sel item contenant mes caracteres. Donc oui j’ai cliqué sur le bon item.

                                            1 Reply Last reply Reply Quote 0
                                            • 1
                                            • 2
                                            • 3
                                            • 4
                                            • 5
                                            • 6
                                            • 5 / 6
                                            • First post
                                              Last post
                                            Design by Woryk
                                            ContactMentions Légales

                                            MINECRAFT FORGE FRANCE © 2024

                                            Powered by NodeBB