MFF

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

    Elevator

    Planifier Épinglé Verrouillé Déplacé Résolu 1.7.x
    1.7.10
    36 Messages 5 Publieurs 7.9k 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

      Toujours un NPE à la ligne 27 de ta classe ElevatorEvent ?

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

        Désolé, pourtant en théorie ce code marche très bien, on a remplacé les variables qui causaient l’erreur.

        Mes mods :

        • Cookie Ore (1.7.10)

        Mod en cours : **E…

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

          non je croit

          
          package com.XDoctorX.main;
          
          import java.io.DataInput;
          import java.io.IOException;
          import net.minecraft.entity.player.EntityPlayer;
          import net.minecraft.world.World;
          import net.minecraftforge.common.util.ForgeDirection;
          import net.minecraftforge.event.entity.living.LivingEvent.LivingJumpEvent;
          import com.XDoctorX.block.BlockElevator;
          import cpw.mods.fml.common.eventhandler.SubscribeEvent;
          
          public class ElevatorEvent {
          
          public World world;
          
          @SubscribeEvent
          public void onLivingJumpEvent(LivingJumpEvent event) {
          if (event.entity instanceof EntityPlayer && event.entity.worldObj.getBlock((int)event.entity.posX,(int) event.entity.posY - 1,(int) event.entity.posZ) == XDoctorX.Elevator) {
          EntityPlayer p = (EntityPlayer)(event.entity);
          int[] posBlocCible = BlockElevator.getTargetBlock(world, (int)p.posX, (int)p.posY, (int)p.posZ, true);
          p.setPosition(posBlocCible[0], posBlocCible[1]+1, posBlocCible[2]);
          }
          }
          }
          
          
          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

            public World world; n’a rien à faire là.
            int[] posBlocCible = BlockElevator.getTargetBlock(world, (int)p.posX, (int)p.posY, (int)p.posZ, true);
            -> event.entity.worldObj à la place de world ici.

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

              sa marche pas et il y a a pas de crash report

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

                @‘robin4002’:

                public World world; n’a rien à faire là.
                                int[] posBlocCible = BlockElevator.getTargetBlock(world, (int)p.posX, (int)p.posY, (int)p.posZ, true);
                -> event.entity.worldObj à la place de world ici.

                Oups, merci Robin ^^’ Erreur d’inattention

                Mes mods :

                • Cookie Ore (1.7.10)

                Mod en cours : **E…

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

                  je lais fait mais sa marche pas et il y a plus de crash report

                  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

                    marche pas = il se passe rien ? Tu as bien placé les blocs ? Renvoies également le code actuel.

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

                      Rien se passe.

                      code du Event :

                      
                      package com.XDoctorX.main;
                      
                      import java.io.DataInput;
                      import java.io.IOException;
                      import net.minecraft.entity.player.EntityPlayer;
                      import net.minecraft.world.World;
                      import net.minecraftforge.common.util.ForgeDirection;
                      import net.minecraftforge.event.entity.living.LivingEvent.LivingJumpEvent;
                      import com.XDoctorX.block.BlockElevator;
                      import cpw.mods.fml.common.eventhandler.SubscribeEvent;
                      
                      public class ElevatorEvent {
                      
                      @SubscribeEvent
                      public void onLivingJumpEvent(LivingJumpEvent event) {
                      if (event.entity instanceof EntityPlayer && event.entity.worldObj.getBlock((int)event.entity.posX,(int) event.entity.posY - 1,(int) event.entity.posZ) == XDoctorX.Elevator) {
                      EntityPlayer p = (EntityPlayer)(event.entity);
                      int[] posBlocCible = BlockElevator.getTargetBlock(event.entity.worldObj, (int)p.posX, (int)p.posY, (int)p.posZ, true);
                      p.setPosition(posBlocCible[0], posBlocCible[1]+1, posBlocCible[2]);
                      }
                      }
                      }
                      
                      
                      1 réponse Dernière réponse Répondre Citer 0
                      • AlgorythmisA Hors-ligne
                        Algorythmis
                        dernière édition par

                        Tu essaies bien en te plaçant sur un bloc ascenseur?

                        Mes mods :

                        • Cookie Ore (1.7.10)

                        Mod en cours : **E…

                        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

                          Essayes avec p.setPositionAndUpdate(posBlocCible[0], posBlocCible[1]+1, posBlocCible[2]);

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

                            je suis sur le bloc, rien se passe j"ai mit

                            p.addChatComponentMessage(new ChatComponentTranslation(“test”));

                            sa marche une seul fois apres sa marche plus et le code est maintenant

                            
                               package com.XDoctorX.main;
                            
                               import java.io.DataInput;
                            import java.io.IOException;
                            
                            import net.minecraft.entity.player.EntityPlayer;
                            import net.minecraft.util.ChatComponentTranslation;
                            import net.minecraft.world.World;
                            import net.minecraftforge.common.util.ForgeDirection;
                            import net.minecraftforge.event.entity.living.LivingEvent.LivingJumpEvent;
                            
                            import com.XDoctorX.block.BlockElevator;
                            
                            import cpw.mods.fml.common.eventhandler.SubscribeEvent;
                            
                               public class ElevatorEvent {
                            
                                   @SubscribeEvent
                                   public void onLivingJumpEvent(LivingJumpEvent event) {
                                       if (event.entity instanceof EntityPlayer && event.entity.worldObj.getBlock((int)event.entity.posX,(int) event.entity.posY - 1,(int) event.entity.posZ) == XDoctorX.Elevator) {
                                           EntityPlayer p = (EntityPlayer)(event.entity);
                                           p.addChatComponentMessage(new ChatComponentTranslation("test"));
                                           int[] posBlocCible = BlockElevator.getTargetBlock(event.entity.worldObj, (int)p.posX, (int)p.posY, (int)p.posZ, true);
                                           p.setPositionAndUpdate(posBlocCible[0], posBlocCible[1]+1, posBlocCible[2]);                
                                       }
                                   }
                               }
                            
                            
                            1 réponse Dernière réponse Répondre Citer 0
                            • X Hors-ligne
                              XDoctorX
                              dernière édition par

                              up up up up up up up up

                              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

                                24h avant de up, merci de lire le règlement du forum …
                                Envoies-moi un zip de ton dossier src je vais tester de mon côté.

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

                                  http://www.mediafire.com/download/0xeu8bbw2hvn1v2/Src+Elevator+by+XDoctorX.zip

                                  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

                                    XDoctorX.java, fonction init, ajoute ça :
                                    FMLCommonHandler.instance().bus().register(new ElevatorEvent());
                                    En dessous de la ligne avec Forge.
                                    BlockElevator :

                                    package com.XDoctorX.block;
                                    
                                    import org.lwjgl.input.Keyboard;
                                    
                                    import com.XDoctorX.main.XDoctorX;
                                    
                                    import cpw.mods.fml.common.eventhandler.SubscribeEvent;
                                    import net.minecraft.block.Block;
                                    import net.minecraft.block.material.Material;
                                    import net.minecraft.entity.Entity;
                                    import net.minecraft.entity.player.EntityPlayer;
                                    import net.minecraft.world.World;
                                    import net.minecraftforge.event.entity.living.LivingEvent.LivingJumpEvent;
                                    
                                    public class BlockElevator extends Block
                                    {
                                    public EntityPlayer player;
                                    public World world;
                                    
                                    public BlockElevator()
                                    {
                                    super(Material.circuits);
                                    }
                                    
                                    public static int getTargetBlock(World w, int x, int y, int z, boolean up)
                                    {
                                    if(up)
                                    {
                                    for(int i = y; i <= 255; i++)
                                    {
                                    if(w.getBlock(x, i, z) == XDoctorX.Elevator)
                                    {
                                    return i;
                                    }
                                    }
                                    }
                                    else
                                    {
                                    for(int i = y; i >= 0; i–)
                                    {
                                    if(w.getBlock(x, i, z) == XDoctorX.Elevator)
                                    {
                                    return i;
                                    }
                                    }
                                    }
                                    return -1;
                                    }
                                    }
                                    

                                    ElevatorEvent :

                                    package com.XDoctorX.main;
                                    
                                    import com.XDoctorX.block.BlockElevator;
                                    
                                    import cpw.mods.fml.common.eventhandler.SubscribeEvent;
                                    import cpw.mods.fml.common.gameevent.TickEvent;
                                    import net.minecraft.entity.player.EntityPlayer;
                                    import net.minecraft.util.MathHelper;
                                    import net.minecraftforge.event.entity.living.LivingEvent.LivingJumpEvent;
                                    
                                    public class ElevatorEvent
                                    {
                                    @SubscribeEvent
                                    public void onLivingJumpEvent(LivingJumpEvent event)
                                    {
                                    if(event.entity instanceof EntityPlayer)
                                    {
                                    if(event.entity.worldObj.getBlock(MathHelper.floor_double(event.entity.posX), MathHelper.floor_double(event.entity.posY - 1), MathHelper.floor_double(event.entity.posZ)) == XDoctorX.Elevator)
                                    {
                                    EntityPlayer p = (EntityPlayer)event.entity;
                                    
                                    int posBlocCible = BlockElevator.getTargetBlock(event.entity.worldObj, MathHelper.floor_double(event.entity.posX), MathHelper.floor_double(event.entity.posY), MathHelper.floor_double(event.entity.posZ), true);
                                    if(posBlocCible != -1)
                                    {
                                    p.setPositionAndUpdate(event.entity.posX, posBlocCible + 1, event.entity.posZ);
                                    }
                                    }
                                    }
                                    }
                                    
                                    @SubscribeEvent
                                    public void onPlayerTick(TickEvent.PlayerTickEvent event)
                                    {
                                    if(event.phase == TickEvent.Phase.START)
                                    {
                                    if(event.player.isSneaking())
                                    {
                                    if(event.player.worldObj.getBlock(MathHelper.floor_double(event.player.posX), MathHelper.floor_double(event.player.posY - 1), MathHelper.floor_double(event.player.posZ)) == XDoctorX.Elevator)
                                    {
                                    int posBlocCible = BlockElevator.getTargetBlock(event.player.worldObj, MathHelper.floor_double(event.player.posX), MathHelper.floor_double(event.player.posY) - 2, MathHelper.floor_double(event.player.posZ), false);
                                    if(posBlocCible != -1)
                                    {
                                    event.player.setPositionAndUpdate(event.player.posX, posBlocCible + 1, event.player.posZ);
                                    event.player.setSneaking(false);
                                    }
                                    }
                                    }
                                    }
                                    }
                                    }
                                    
                                    
                                    1 réponse Dernière réponse Répondre Citer 0
                                    • X Hors-ligne
                                      XDoctorX
                                      dernière édition par

                                      merci

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

                                        Balise résolu ?

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

                                          Bonjour,
                                          Avec les changement de la 1.8 sa a changer (getBlock = getBlockState) c’est difficile si vous vouvez m’aider c’est super 🙂

                                          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

                                            world.getBlock(x, y, z) = world.getBlockState(pos).getBlock()
                                            C’est en effet difficile …

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

                                            MINECRAFT FORGE FRANCE © 2024

                                            Powered by NodeBB