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

                            MINECRAFT FORGE FRANCE © 2024

                            Powered by NodeBB