MFF

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

    Scanner les blocks allentour

    Planifier Épinglé Verrouillé Déplacé Résolu 1.7.x
    1.7.10
    44 Messages 4 Publieurs 8.7k 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.
    • robin4002R Hors-ligne
      robin4002 Moddeurs confirmés Rédacteurs Administrateurs
      dernière édition par

      ​        if (block instanceof IGrowable)
             {
                 IGrowable igrowable = (IGrowable)block;
      
                 if (igrowable.func_149851_a(world, a, b, c, world.isRemote))
                 {
                     if (!world.isRemote)
                     {
                         if (igrowable.func_149852_a(world, world.rand, a, b, c))
                         {
                             igrowable.func_149853_b(world, world.rand, a, b, c);
                         }
                     }
                 }
             }
      

      Les func_xxxx c’est parce que les noms de fonctions n’ont pas été traduites.

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

        D’accord un grand merci je test sa dessuite

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

          c’est possible de faire une pause sans créer un tread ?

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

            j’ai un problème je viens de me rendre compte que sa tick pas –’
            voila le code :

            package com.Albanninou.Testmod.Blocks;
            
            import java.util.Random;
            
            import com.Albanninou.Testmod.CreativeTab;
            import com.Albanninou.Testmod.Blocks.TileEntity.TileEntityLampOfGrowth;
            import com.Albanninou.Testmod.Items.DropOfBlood;
            import com.Albanninou.Testmod.Items.Luminite;
            
            import cpw.mods.fml.common.eventhandler.SubscribeEvent;
            import cpw.mods.fml.common.registry.GameRegistry;
            import net.minecraft.block.Block;
            import net.minecraft.block.IGrowable;
            import net.minecraft.block.material.Material;
            import net.minecraft.init.Blocks;
            import net.minecraft.init.Items;
            import net.minecraft.item.ItemStack;
            import net.minecraft.tileentity.TileEntity;
            import net.minecraft.world.World;
            
            public class LampForGrowth extends Block {
            public static Block LampForGrowth;
            private int a = 8;
            
            protected LampForGrowth(Material material) {
            super(material);
            setTickRandomly(true);
            }
            
            public static void Registery() {
            
            LampForGrowth = new LampForGrowth(Material.glass).setBlockName("LampForGrowth")
            .setBlockTextureName("TestMod:LampForGrowth").setCreativeTab(CreativeTab.CreativeTabs).setHardness(3.0f)
            .setLightLevel(1.0f);
            GameRegistry.registerBlock(LampForGrowth, "LampForGrowth");
            GameRegistry.addRecipe(new ItemStack(LampForGrowth, 1), new Object[] { "AXZ", "XYX", "ZXA", 'X',
            Luminite.Luminite, 'Y', Items.iron_ingot, 'A', DropOfBlood.DropOfBlood, 'Z', Items.bone });
            GameRegistry.addRecipe(new ItemStack(LampForGrowth, 1), new Object[] { "AXZ", "XYX", "ZXA", 'X',
            Luminite.Luminite, 'Y', Items.iron_ingot, 'Z', DropOfBlood.DropOfBlood, 'A', Items.bone });
            }
            
            @Override
            public TileEntity createTileEntity(World world, int metadata) {
            return new TileEntityLampOfGrowth(world);
            }
            
            @Override
            public boolean hasTileEntity(int metadata) {
            return true;
            }
            
            public void updateTick(World world, int x, int y, int z, Random rand) {
                   System.out.println("tick");
            Block block;
            Material Materiaux;
            if (a == 8) {
            System.out.println("On rentre dans la boucle");
            for (a = x - 4; a != 8; a++) {
            for (int c = z - 4; c != 8; c++) {
            block = world.getBlock(a, y, c);
            Materiaux = block.getMaterial();
            if (Materiaux == Material.plants) {
            // fonction pour faire poussez la plante
            if (block instanceof IGrowable)
                   {
                       IGrowable igrowable = (IGrowable)block;
            
                       if (igrowable.func_149851_a(world, a, y, c, world.isRemote))
                       {
                           if (!world.isRemote)
                           {
                               if (igrowable.func_149852_a(world, world.rand, a, y, c))
                               {
                                   igrowable.func_149853_b(world, world.rand, a, y, c);
                               }
                           }
                       }
                   }
            
            }
            
            }
            
            }
            }
            }
            
            }
            
            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

              Pourtant ça devrait, tu as le setTickRandomly(true);
              Ajoute
              @Override au dessus de updateTick

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

                je viens d’essailler , vous été d’accord que je devrait avoir écrit tick dans la console a chaque vois que sa tick (désoler pour le jeu de mot). Mais la sa écrit jamais tick pour temps le bloc est poser juste devant moi

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

                  j’ai attendus plus longtemps , sa tick au bout de 5 min par contre sa fait crash minecraft (les mob bouge plus et impossible de rentrer dans un coffre)

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

                    Si tu as une tileEntity, utilise la fonction updateEntity de la tileEntity plutôt.

                    Pour le tick : tu dois avoir une boucle infinie quelque part.

                    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
                    • AlbanninouA Hors-ligne
                      Albanninou
                      dernière édition par

                      c’est a dire pour le tileEntity ?

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

                        Ré-écris une fonction qui s’appelle updateEntity (plus trop sûr du nom, fait alt + shift + s puis “override/implement methods” pour trouver la bonne). Par contre, ton algorithme n’est pas bon du tout, je te conseille de créer un int qui va s’ajouter à ceux des coordonnées au lieu d’initilaiser ce int à la valeur des coordonnées, exemple :
                        (tu utilises une valeur dans ton block, ce qui n’est pas à faire)

                        for (a = x - 4; a != 8; a++) {
                        for (int c = z - 4; c != 8; c++) {
                        block = world.getBlock(a, y, c);
                        // patati patata
                        }
                        

                        devient :

                        for (int i = -4; i <= 8; i++) {
                        block = world.getBlock(x + i, y + j, z + k);
                        // patati patata
                        }
                        

                        çà évite de s’embrouiller.

                        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
                        • AlbanninouA Hors-ligne
                          Albanninou
                          dernière édition par

                          d’accord mais le updateEntity je dois le metre dans quelle class ?

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

                            TileEntity, je l’ai dit dans les messages précédents.

                            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
                            • AlbanninouA Hors-ligne
                              Albanninou
                              dernière édition par

                              un problème se pose comment je récupère les coordonne de mon bloc du coup . (question con mais je suis pas doué en programmation minecraft)

                              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

                                Regardes dans la classe TileEntity, tu as directement les variables contenant les coordonnées (x/y/zCoord il me semble)

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

                                MINECRAFT FORGE FRANCE © 2024

                                Powered by NodeBB