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

                                            et pour les coordonnée (pos ne defini pas les coordonnée) ?

                                            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