MFF

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

    Les events en 1.8

    Planifier Épinglé Verrouillé Déplacé Résolu 1.8.x
    1.8
    16 Messages 5 Publieurs 4.0k 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.
    • SCAREXS Hors-ligne
      SCAREX
      dernière édition par

      @‘geekuko’:

      Bonjour j’ai un souci avec mon event (event pour créer un portail) , j’ai récupéré qui date de la 1.7 et quand je le met en 1.8 il y a un max d’erreur.
      pouvez-vous m’aider à la corriger please

      package EpicBoss;
      
      import net.minecraft.block.Block;
      import net.minecraft.entity.player.EntityPlayer;
      import net.minecraft.init.Blocks;
      import net.minecraft.item.Item;
      import net.minecraft.item.ItemBlock;
      import net.minecraft.item.ItemStack;
      import net.minecraft.world.World;
      import net.minecraftforge.event.entity.player.PlayerInteractEvent;
      import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
      
      public class eventmanager {
      
      @SubscribeEvent
      public void onPlayerInteract(PlayerInteractEvent event){
      System.out.print("true event");
      final World world = event.entityLiving.worldObj;
      if (world.isRemote || !event.action.equals(PlayerInteractEvent.Action.RIGHT_CLICK_BLOCK))
      return;
      
      ItemStack stack = event.entityPlayer.inventory.getCurrentItem();
      EntityPlayer player = event.entityPlayer;
      
      int x = event.x, y = event.y, z = event.z;
      if (event.face == 0)
      –y;
      else if (event.face == 1)
      ++y;
         else if (event.face == 2)
      --y;
      else if (event.face == 3)
      ++y;
      else if (event.face == 4)
      --x;
      else if (event.face == 5)
      ++x;
      if (stack != null && stack.getItem() instanceof ItemBlock){
      if (Item.getIdFromItem(stack.getItem()) == Block.getIdFromBlock(Blocks.diamond_block)){
      if (world.getBlock(x, y, z + 1) == Blocks.air &&
      world.getBlock(x, y, z - 1) == Blocks.air &&
         world.getBlock(x + 1, y, z) == Blocks.air &&
      world.getBlock(x - 1, y, z) == Blocks.air &&
      world.getBlock(x, y, z + 2) == Blocks.stone &&
      world.getBlock(x, y, z - 2) == Blocks.stone &&
      world.getBlock(x + 2, y, z) == Blocks.stone &&
      world.getBlock(x - 2, y, z) == Blocks.stone &&
      world.getBlock(x + 1, y, z + 1) == Blocks.air &&
      world.getBlock(x + 1, y, z - 1) == Blocks.air &&
         world.getBlock(x - 1, y, z + 1) == Blocks.air &&
      world.getBlock(x - 1, y, z - 1) == Blocks.air ) {
      
      world.setBlock(x, y, z, epicboss.blockteleporter, 0, 2);
      world.setBlock(x - 1, y, z, epicboss.blockteleporter, 0, 2);
      world.setBlock(x + 1, y, z, epicboss.blockteleporter, 0, 2);
      world.setBlock(x, y, z - 1, epicboss.blockteleporter, 0, 2);
      world.setBlock(x, y, z + 1, epicboss.blockteleporter, 0, 2);
      }
      
      }
      }
      }
      }
      
      

      d’avance merci

      Premièrement, serait-il possible de dire où sont les erreurs.
      Deuxièmement, tu utilises un PlayerInteractEvent donc il ne devrait apparaître nulle part dans ton code event.entityLiving.
      Troisièmement, pour le position utilise la position du joueur au lieu de celle de l’event.
      Quatrièmement, je suppose que le event.face correspond à là où regarde le joueur, pour ça il faut utiliser EnumFacing directionHorizontal = event.entityPlayer.getHorizontalFacing;
      Cinquièmement, pour trouver si l’item correspond à un certain Item, il faut faire stack.getItem == TonItem (si c’est un block, il faut faire Item.getItemFromBlock(TonBlock).
      Sixièmement, pour savoir si les blocs autour sont un certain bloc, il faut utiliser world.getBlockState(BlockPos).getBlock() == Blocks.air .

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

        je comprend pas tt , puis ce code il fonctionnai tres bien en 1.7 !!
        il y a tellement d’erreur que pour les voir il te serai plus facile pour toi de copier le code et de le tester ('enfin si tu à l’envi et le temps)

        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

          Pour les coordonnés, si il faut utiliser ceux de l’event puisqu’il faut les coordonnés où le joueur à fait le clic droit et non les coordonnées du joueur.
          Ce qui change c’est qu’il faut utiliser les BlockPos à la place de x y z

          Pour event.entityLiving ça ne cause aucun problème puisque de toute façon EntityPlayer est extends EntityLivingBase

          1 réponse Dernière réponse Répondre Citer 0
          • RedRelayR Hors-ligne
            RedRelay Moddeurs confirmés
            dernière édition par

            Un package avec des majuscules et une classe qui commence par une minuscule, c’est une erreur de convention.
            Utiliser event.entityLiving quand on est dans un PlayerInteractEvent, c’est une erreur de sémantique.
            Les events.face vont être remplacé par des Enum si ce n’est pas déjà fait.

            Si tu codes dans eclipse, tu as un onglet “problems”, la dedans toutes les erreurs sont décrites.

            –------------------------------------------------------------------------------------
            Si tu trouves mon intervention pertinente, n'hésite pas a m…

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

              je comprend pas comment on utilise le BlockPos …

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

                @‘geekuko’:

                je comprend pas comment on utilise le BlockPos …

                BlockPos est simplement une classe contenant les coordonnées d’un bloc exemple : new BlockPos(x,y,z).
                il remplace la plupart des paramètres x,y,z.

                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 1
                • geekukoG Hors-ligne
                  geekuko
                  dernière édition par

                  quelqu’un pourrai me le corriger directement ? car la je tourne en rond please cela serai trop simpa

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

                    @‘geekuko’:

                    quelqu’un pourrai me le corriger directement ? car la je tourne en rond please cela serai trop simpa

                    Je suis en train mais j’ai un problème avec le event.face == 0, il faudrait que tu me redonnes les directions sans les numéros car pour moi 0 = south or tes nombres vont jusqu’à 5 mais il n’y a que 4 directions !

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

                      merde ben la … au pire ta skype? ca serai plus simple non? demande moi c’est geekuko

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

                        
                        @SubscribeEvent
                        public void onPlayerInteract(PlayerInteractEvent event) {
                        ItemStack stack = event.entityPlayer.getCurrentEquippedItem();
                        
                        if (!event.world.isRemote && event.action == PlayerInteractEvent.Action.RIGHT_CLICK_BLOCK && stack != null && stack.getItem() == Items.apple && event.world.getBlockState(event.pos).getBlock() == Blocks.diamond_block) {
                        BlockPos pos = event.pos;
                        Block block = Blocks.air;
                        Block block1 = Blocks.stone;
                        boolean flag = event.world.getBlockState(pos.south()).getBlock() == block && event.world.getBlockState(pos.north()).getBlock() == block && event.world.getBlockState(pos.east()).getBlock() == block && event.world.getBlockState(pos.west()).getBlock() == block;
                        boolean flag1 = event.world.getBlockState(pos.south().south()).getBlock() == block1 && event.world.getBlockState(pos.north().north()).getBlock() == block1 && event.world.getBlockState(pos.east().east()).getBlock() == block1 && event.world.getBlockState(pos.west().west()).getBlock() == block1;
                        boolean flag2 = event.world.getBlockState(pos.south().east()).getBlock() == block1 && event.world.getBlockState(pos.south().west()).getBlock() == block1 && event.world.getBlockState(pos.north().east()).getBlock() == block1 && event.world.getBlockState(pos.north().west()).getBlock() == block1;
                        
                        if (flag && flag1 && flag2) {
                        event.world.setBlockState(pos, Blocks.gold_block.getDefaultState());
                        event.world.setBlockState(pos.south(), Blocks.gold_block.getDefaultState());
                        event.world.setBlockState(pos.north(), Blocks.gold_block.getDefaultState());
                        event.world.setBlockState(pos.east(), Blocks.gold_block.getDefaultState());
                        event.world.setBlockState(pos.west(), Blocks.gold_block.getDefaultState());
                        event.entityPlayer.inventory.consumeInventoryItem(Items.apple);
                        }
                        }
                        }
                        
                        

                        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 1
                        • geekukoG Hors-ligne
                          geekuko
                          dernière édition par

                          merciiiiiiiii SCAREX!!!

                          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

                            Si c’est résolu, mets la balise résolu.

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

                              c’est ou la balise?

                              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

                                Il faut tu édites ton premier message puis que tu change la balise.

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

                                MINECRAFT FORGE FRANCE © 2024

                                Powered by NodeBB