MFF

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

    Problème avec le Teleporter de ma dimension

    Planifier Épinglé Verrouillé Déplacé Sans suite
    1.9
    21 Messages 3 Publieurs 3.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.
    • elias54E Hors-ligne
      elias54 Administrateurs
      dernière édition par

      Voilà la classe du block portal : http://pastebin.com/P3ZrHLMP

      Mon site | GitHub

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

        public void onEntityCollidedWithBlock(World worldIn, BlockPos pos, IBlockState state, Entity entityIn) {
        if (!entityIn.isRiding() && !entityIn.isBeingRidden() && entityIn.isNonBoss() && ((entityIn instanceof EntityPlayerMP))) {
        entityIn.setPortal(pos); // rajoute cette ligne et normalement ce sera bon
        EntityPlayerMP thePlayer = (EntityPlayerMP) entityIn;
        if (thePlayer.timeUntilPortal > 0) {
        thePlayer.timeUntilPortal = 20;
        } else if (thePlayer.dimension != Configs.dimensionID) {
        thePlayer.timeUntilPortal = 20;
        thePlayer.mcServer.getPlayerList().transferPlayerToDimension(thePlayer, Configs.dimensionID, new RDTeleporter(thePlayer.mcServer.worldServerForDimension(Configs.dimensionID)));
        } else {
        thePlayer.timeUntilPortal = 20;
        thePlayer.mcServer.getPlayerList().transferPlayerToDimension(thePlayer, 0, new RDTeleporter(thePlayer.mcServer.worldServerForDimension(0)));
        }
        }
        }
        

        Au fait, tu n’es pas obligé de recopier la classe Size car celle de BlockPortal est statique et publique donc tu peux y accéder.

        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
        • elias54E Hors-ligne
          elias54 Administrateurs
          dernière édition par

          Oui je sais. Mais je pensais qu’utiliser celui de la classe BlockPortal causerait des soucis de cast. Donc dans le doute, je l’ai aussi recopié.

          Mon site | GitHub

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

            Du coup la fonction rajoutée dans le code change quelque chose ?

            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
            • elias54E Hors-ligne
              elias54 Administrateurs
              dernière édition par

              Non justement 😕

              Mon site | GitHub

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

                Renvoi le rapport de crash et la classe du Teleporter et du Block

                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
                • elias54E Hors-ligne
                  elias54 Administrateurs
                  dernière édition par

                  Je viens de me rendre compte surtout que la classe Size semble aussi gérer le block qui va avec le portail, genre dans le Size de BlockPortal y’a la mention du Blocks.obsidian. du coup j’ai keep le custom Size.
                  Je t’envoie tout ça :
                  http://pastebin.com/WnZK4SmW - BlockRumblePortal
                  http://pastebin.com/z4k1vqh0 - RDTeleporter

                  Mon site | GitHub

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

                    Tu n’as pas rajouté cette ligne “entityIn.setPortal(pos);” et il manque le rapport de crash

                    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
                    • elias54E Hors-ligne
                      elias54 Administrateurs
                      dernière édition par

                      Je n’utilise pas le setPortal(pos) car il utilise le portail vers le nether.

                      
                         public void setPortal(BlockPos pos)
                         {
                             if (this.timeUntilPortal > 0)
                             {
                                 this.timeUntilPortal = this.getPortalCooldown();
                             }
                             else
                             {
                                 if (!this.worldObj.isRemote && !pos.equals(this.lastPortalPos))
                                 {
                                     this.lastPortalPos = new BlockPos(pos);
                                     BlockPattern.PatternHelper blockpattern$patternhelper = Blocks.portal.func_181089_f(this.worldObj, this.lastPortalPos);
                                     double d0 = blockpattern$patternhelper.getFinger().getAxis() == EnumFacing.Axis.X ? (double)blockpattern$patternhelper.getPos().getZ() : (double)blockpattern$patternhelper.getPos().getX();
                                     double d1 = blockpattern$patternhelper.getFinger().getAxis() == EnumFacing.Axis.X ? this.posZ : this.posX;
                                     d1 = Math.abs(MathHelper.func_181160_c(d1 - (double)(blockpattern$patternhelper.getFinger().rotateY().getAxisDirection() == EnumFacing.AxisDirection.NEGATIVE ? 1 : 0), d0, d0 - (double)blockpattern$patternhelper.func_181118_d()));
                                     double d2 = MathHelper.func_181160_c(this.posY - 1.0D, (double)blockpattern$patternhelper.getPos().getY(), (double)(blockpattern$patternhelper.getPos().getY() - blockpattern$patternhelper.func_181119_e()));
                                     this.lastPortalVec = new Vec3d(d1, d2, 0.0D);
                                     this.teleportDirection = blockpattern$patternhelper.getFinger();
                                 }
                      
                                 this.inPortal = true;
                             }
                         }
                      
                      

                      Et le rapport de crash ne diffère en rien de ceux que j’ai envoyé.

                      Mon site | GitHub

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

                        Oui mais le problème c’est que dans ton Teleporter tu demandes justement cette variable donc soit tu lui donnes une valeur (ce que je conseille) soit t’utilises une valeur que tu enregistres autrement

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

                        MINECRAFT FORGE FRANCE © 2024

                        Powered by NodeBB