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

    [Abandonné] Régler plusieurs problèmes (génération de minerais + outils + id fixe)

    Sans suite
    1.7.10
    4
    19
    3146
    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.
    • _
      _BrowNeez_ dernière édition par

      Bonjour/Bonsoir tout le monde 😄

      Suite aux dèrniers post (qui ne m’ont pas forcément aider), je retente ma chance.

      Pour commencer, je voudrais générer des minerais dans des mondes multivers, voici mon code :

      package fr.browneez.gen;
      
      import cpw.mods.fml.common.IWorldGenerator;
      import fr.browneez.locky.Main;
      import java.util.Random;
      import net.minecraft.block.Block;
      import net.minecraft.init.Blocks;
      import net.minecraft.world.World;
      import net.minecraft.world.chunk.IChunkProvider;
      import net.minecraft.world.gen.feature.WorldGenMinable;
      
      public class GenStats
      implements IWorldGenerator
      {
      public void generate(Random random, int chunkX, int chunkZ, World world, IChunkProvider chunkGenerator, IChunkProvider chunkProvider)
      {
         addOre(Main.Lockyumore, Blocks.stone, random, world, chunkX, chunkZ, 4, 13, 3, 5, 2);
         addOre(Main.Titaniumore, Blocks.stone, random, world, chunkX, chunkZ, 4, 20, 4, 5, 3);
         addOre(Main.Thoriumore, Blocks.stone, random, world, chunkX, chunkZ, 4, 45, 4, 10, 15);
      }
      
      private void addOre(Block block, Block blockSpawn, Random random, World world, int posX, int posZ, int minY, int maxY, int minVeinSize, int maxVeinSize, int spawnChance)
      {
        for (int i = 0; i < spawnChance; i++)
        {
          int defaultChunkSize = 16;
      
          int xPos = posX + random.nextInt(defaultChunkSize);
          int yPos = minY + random.nextInt(maxY - minY);
          int zPos = posZ + random.nextInt(defaultChunkSize);
      
          new WorldGenMinable(block, minVeinSize + random.nextInt(maxVeinSize - minVeinSize), blockSpawn).generate(world, random, xPos, yPos, zPos);
        }
      }
      }
      

      Deuxièmement, L’enchantement efficacité n’affecte pas ma pioche par exemple ( quand je fais /enchant efficiency 5 sur ma pioche, la vitesse de minage n’augmente pas ou n’est pas flagrante)

      Mon code:

      public static ToolMaterial lockyump = EnumHelper.addToolMaterial("lockyump", 3, 2500, 16F, 5F, 10);
      

      Enfin, quand j’ajoute/supprime un mod sur le serveur, mes items changent d’id ( par exemple si mon item à l’id 500 et que j’enlève un mod, il va changer en 450)

      Mon Code :

      Obsidianstick = new Obsidianstick(6300).setTextureName(Reg.MODID + ":ObsidianStick");
      

      Merci pour votre aide, BrowNeez.

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

        1. ça devrait fonctionner
        2. Tu as une valeur déjà très élevé, c’est pour ça que n’observe pas de différence.
        3. L’id n’est pas sensé changer sauf si tu changes de monde.
        1 réponse Dernière réponse Répondre Citer 0
        • _
          _BrowNeez_ dernière édition par

          Pour la génération, je ne retrouve aucuns minerais 😕 (ni avec xray ni avec worldedit)

          Pour les outils, il n’y a pas un moyen d’augmenter leurs vitesse de minage avec les enchantement ( je voudrais des pioches asse abusé)

          Et pour les id, mon item est passé de 450 à 448 par exemple (j’ai enlever 1 mod sur le serveur)

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

            1. pas normal.
            2. Le seul moyen que je vois pour ça c’est passer par l’event PlayerEvent.BreakSpeed. Si l’item que le joueur a en main est ta pioche et qu’elle est enchanté tu mets la variable newSpeed sur une grosse valeur.
            3. pas normal non plus
            1 réponse Dernière réponse Répondre Citer 0
            • _
              _BrowNeez_ dernière édition par

              Pour les outils j’ai pas trop compris 😕

              en gros faut faire ça :

              public void OnBreakEvent(PlayerBreakEvent e)
              {
              if p.getItemHolding == main.montool
              {
              la on fait un truc avec le speed break
              }
              }
              
              ps: j'ai rien tester sur eclipse je fais ça à l'improvisation
              

              et pour les id c’est pas très grave, merci quand même

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

                @SubscribeEvent
                public void onBreakSpeed(PlayerEvent.BreakSpeed event)
                {
                if(event.player.inventory.getCurrentItem() != null && event.player.inventory.getCurrentItem().getItem() == tonItem && EnchantmentHelper.getEnchantmentLevel(Enchantment.efficiency, event.player.inventory.getCurrentItem() == 5) // pour un enchantement de 5
                {
                event.newSpeed = 100000F;
                }
                }
                
                1 réponse Dernière réponse Répondre Citer 0
                • _
                  _BrowNeez_ dernière édition par

                  Le PlayerEvent, j’importe lequel :

                  Parce que si j’importe le premier, j’ai une erreur qui dit “change to entityplayer”

                  le deuxième me dit “fix project setup”

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

                    Le premier.
                    L’erreur change to entityPlayer se trouve où ?

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

                      if(event.player.inventory.getCurrentItem() != null && event.player.inventory.getCurrentItem().getItem() == this && EnchantmentHelper.getEnchantmentLevel(Enchantment.efficiency, event.player.inventory.getCurrentItem() == 5) // pour un enchantement de 5

                      Les erreurs sont en rouge

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

                        Heu oui remplace par entityplayer

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

                          J’ai encore des erreurs :

                          if(event.entityPlayer.inventory.getCurrentItem() != null && event.entityPlayer.inventory.getCurrentItem().getItem() == this && EnchantmentHelper.getEnchantmentLevel(Enchantment.efficiency, %(#ff3333)[event.entityPlayer.inventory.getCurrentItem() == 5))

                          J’ai une erreur : Incompatible operand types itemstack and int]

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

                            
                            if(event.entityPlayer.inventory.getCurrentItem() != null && event.entityPlayer.inventory.getCurrentItem().getItem() == this && EnchantmentHelper.getEnchantmentLevel(Enchantment.efficiency, event.entityPlayer.inventory.getCurrentItem()) == 5)
                            
                            
                            1 réponse Dernière réponse Répondre Citer 0
                            • _
                              _BrowNeez_ dernière édition par

                              @‘bodri’:

                              
                              if(event.entityPlayer.inventory.getCurrentItem() != null && event.entityPlayer.inventory.getCurrentItem().getItem() == this && EnchantmentHelper.getEnchantmentLevel(Enchantment.efficiency, event.entityPlayer.inventory.getCurrentItem()) == 5)
                              
                              

                              Erreur à : .getEnchantmentLevel

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

                                Oui j’ai oublié une parenthèse.
                                Et j’ai aussi oublié de mettre .effectId après Enchantment.efficiency

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

                                  Je vais peut être passer pour un casse cou mais quand j’utilise le code, j’ai pas le rendu voulus, j’aurais voulut une vitesse proche de la cadence d’une mitraillette ( une comparaison très bizarre mais ça résume bien ce que je veut) et quand j’augmente la event.newspeed ça ne bouge pas.

                                  Pour en revenir avec un problème lié aux mods ( je sais c’est cauldron mais je vais pas refaire un post juste pour ça), quand j’utilise cauldron + bungeecord, ça me met une erreur qui me dit que l’échange d’informations entre le lobby et le cauldron sont pas compatible (je résume car je n’ai pas accès à bungeecord pour le moment)

                                  Au passage, un grand merci à ceux qui m’ont aider 😄

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

                                    Si tu parles bien de la vitesse d’utilisation de ton outil, c’est réglable sur le ToolMaterial.

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

                                      @‘Toutoune1008’:

                                      Si tu parles bien de la vitesse d’utilisation de ton outil, c’est réglable sur le ToolMaterial.

                                      Oui mais je veux changer la vitesse de minage quand mes outils sont enchanté 😕

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

                                        En gros tu veux limite qu’on puisse casser plusieurs blocs en un coup ?
                                        Ça doit être possible mais je ne sais pas du tout où gérer ça.

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

                                          En gros (très gros) oui je voudrais une cadence de minage très élevé avec efficacité 5

                                          Mais je vais abandonner puisque je trouve rien 😕

                                          Un énorme merci à vous 😄

                                          1 réponse Dernière réponse Répondre Citer 0
                                          • 1 / 1
                                          • Premier message
                                            Dernier message
                                          Design by Woryk
                                          Contact / Mentions Légales

                                          MINECRAFT FORGE FRANCE © 2018

                                          Powered by NodeBB