MFF

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

    Plusieurs questions/problèmes

    Planifier Épinglé Verrouillé Déplacé Résolu 1.8.x
    1.8
    95 Messages 9 Publieurs 15.5k 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.
    • AymericRedA Hors-ligne
      AymericRed
      dernière édition par

      @BrokenSwing oui quand j’ai enlevé ton deuxième for j’avais pas pensé à ça, mais de toute façon dans le code que t’avais fait ou tu get le code à chaque ligne, il n’y avait pas d’itération (mais maintenant je pense que ça aurait tout fais bug en changeant la taille de la liste sans le second for).

      Envoyé de mon RAINBOW LITE 4G en utilisant Tapatalk

      Si je vous ai aidé, n'oubliez pas d’être heureux, j'aiderai encore +

      AymericRed, moddeur expérimenté qui aide sur ce forum et qui peut accepter de faire un mod Forge rémunéré de temps en temps.

      Mes tutos : Table de craft, plugin NEI, plugin JEI, modifier l'overlay
      Je suis un membre apprécié et joueur, j'ai déjà obtenu 6 points de réputation.

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

        Salut
        J’ai fais comme ça : ```java
        @SubscribeEvent
         public void apocalypseMobReplace(EntityJoinWorldEvent event)
         {
          if(ThisisHalloween.apocalypse)
          {
           final List <entity>spawnEntity = new ArrayList<entity>();
           for(Object o : event.world.loadedEntityList)
           {
            if(event.entity instanceof EntityWolf) 
            {
             EntityWerewolf werewolf = new EntityWerewolf(event.world);
             double x = event.entity.posX;
             double y = event.entity.posY;
             double z = event.entity.posZ;
             float rotateX = event.entity.rotationPitch;
             float rotateY = event.entity.rotationYaw;

        event.entity.setDead();

        werewolf.setPositionAndRotation(x, y, z, rotateX, rotateY);
             spawnEntity.add(werewolf);
            }
           }
           for(int e = 0; spawnEntity.size() > e; e++)
           {
            event.world.spawnEntityInWorld(spawnEntity.get(e));
           }
          }
         }

        Résultats : quand ce n'est pas l'apocalypse, je fais spawner un loup, j'active l'apocalypse toujours rien ne se passe. En revanche, quand c'est l'apocalypse et que je fais spawner un loup, il se transforme bien (plus de message d'erreur dans les logs) mais … . En fait juste avant que je fasse spawner, je regarde les débugs, 0 entité. Mais quand je fais spawner, ça met u nombre complétement aléatoire de loup-garou (308, 497, et mon préféré 3806). Mais je ne comprend pas du tout pourquoi ça fait ça
        
        Voilà ce que ça fait : :::
        ![](http://image.noelshack.com/fichiers/2016/25/1466670271-2016-06-23-10-14-27.png)
        Ici, tout les loup-garou sont exactement au même endroit.
        
        Mais dès que je fonce dans le toupeau, ...
        ![](http://image.noelshack.com/fichiers/2016/25/1466670273-2016-06-23-10-22-00.png)
        
        ::: C'est quand même assez bizarre, bien que marrant sur le coup où ça arrive
        
        Merci d'avance</entity></entity>
        1 réponse Dernière réponse Répondre Citer 0
        • BrokenSwingB Hors-ligne
          BrokenSwing Moddeurs confirmés Rédacteurs
          dernière édition par

          Parce que c’est pas comme ça qu’il fallait faire, tu as d’un côté un morceau de code qui doit s’exécuter lorsque l’apocalypse démarre avec le code que tu viens de faire, qui ne va s’exécuter qu’une seule fois, pour changer tout les loups en loup-garous, puis via l’event tu gère les nouveaux loups qui spawns, j’avais dit de ne pas mettre ce code dans l’event. Dans l’event il faut que tu regardes si l’entitée qui spawn est un loup est dans ce cas tu le remplace par un loup-garou, tu n’as pas besoin de boucle

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

            J’ai réussi à remplacer les loups déjà existant en loup-garou. Il suffisait d’utiliser l’évent LivingEvent. Ca marche bien maintenant
            J’ai essayer ce que tu m’as dit mais je n’arrivais pas à initialiser entity. J’ai fait ```java
            Entity entity =

            
            Pour les autres problèmes, j'aimerais ne mettre que de l'orage sans la pluie. Or, quand il y a de l'orage, il pleut aussi.
            
            Pour l'herbe, je pense abandonné et ne faire qu'un ressource pack (texture pack pour les nostalgique  :heart: )
            1 réponse Dernière réponse Répondre Citer 0
            • AymericRedA Hors-ligne
              AymericRed
              dernière édition par

              Pour l’event, je suppose que tu a fais que la boucle est parcourue à chaque LivingEvent, ce qui n’est pas une bonne idée, pour résoudre ça, mets une boolean dans la classe d’event, puis avant ta boucle, tu mets un

              if(taBoolean != LaClasseOuTaLaVariableApocalypse.apocalypse)
              ``` puis à la fin de la fonction tu fais ```java
              taBoolean = LaClasseOuTaLaVariableApocalypse.apocalypse;
              ```, ceci va permettre d’exécuter le code uniquement quand l'apocalypse a été déclenchée (ou arrêtée).
              Et pour l'event EntityJoinWorldEvent, tu as juste à mettre ce qu'il y a à l'intérieur du for, en changeant "spawnEntity.add(werewolf);" par "event.world.spawnEntityInWorld(wereWolf);" cette fois-ci.

              Si je vous ai aidé, n'oubliez pas d’être heureux, j'aiderai encore +

              AymericRed, moddeur expérimenté qui aide sur ce forum et qui peut accepter de faire un mod Forge rémunéré de temps en temps.

              Mes tutos : Table de craft, plugin NEI, plugin JEI, modifier l'overlay
              Je suis un membre apprécié et joueur, j'ai déjà obtenu 6 points de réputation.

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

                J’ai déjà fait la variable. Voilà ce que j’ai mis :

                @SubscribeEvent
                 public void apocalypseMobReplace(LivingEvent event)
                 {
                  if(ThisisHalloween.apocalypse)
                  {
                   if(event.entity instanceof EntityWolf) 
                   {
                    World world = Minecraft.getMinecraft().theWorld;
                    EntityWerewolf werewolf = new EntityWerewolf(world);
                    double x = event.entity.posX;
                    double y = event.entity.posY;
                    double z = event.entity.posZ;
                    float rotateX = event.entity.rotationPitch;
                    float rotateY = event.entity.rotationYaw;
                
                    event.entity.setDead();
                
                    werewolf.setPositionAndRotation(x, y, z, rotateX, rotateY);
                    world.spawnEntityInWorld(werewolf);
                   }
                  }
                  else
                  {
                   // Apocalypse == disable == false
                   Random rand = new Random();
                   int n = rand.nextInt(3);
                
                   switch(n)
                   {
                   case 1 : if(event.entity instanceof EntityWerewolf) 
                   {
                    event.entity.setDead();
                   }
                   break;
                   case 2 : 
                    if(event.entity instanceof EntityWerewolf) 
                    {
                     World world = Minecraft.getMinecraft().theWorld;
                     EntityWolf wolf = new EntityWolf(world);
                     double x = event.entity.posX;
                     double y = event.entity.posY;
                     double z = event.entity.posZ;
                     float rotateX = event.entity.rotationPitch;
                     float rotateY = event.entity.rotationYaw;
                
                     event.entity.setDead();
                
                     wolf.setPositionAndRotation(x, y, z, rotateX, rotateY);
                     world.spawnEntityInWorld(wolf);
                    }
                   }
                
                  }
                 }
                

                Par contre, je viens de voir un bug étrange : je fais spawner des loups quand l’apocalypse est désactiver ils marchent bien. Quand j’active l’apocalypse, ils se changent en loup-garou, mais ils ne bougent pas, quand on les tape ca fait rien et on ne peux pas les pousser. Comme si c’est juste une image et non une entité. Au départ, je m’étais dis que c’étais un énorme lag, mais je peux taper d’autre mob. Même en les faisant spawner par leur oeufs ils marchent bien. C’est pareil pour l’effet inverse (quand je fais spawner des loup-garou, marche bien mais quand je désactive l’apocalypse, ils se transforment en loups qui ne bougent pas, …). Etrange

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

                  C’est un problème de synchronisation client-serveur : fais attention à toujours faire spawner les mobs côté serveur.

                  PS : tu n’as toujours pas changé l’emplacement de la variable pour l’apocalypse, le problème peut venir de là donc fait attention à modifier cette valeur (en attendant de passer par un autre système) côté serveur, voir même la mettre en SideOnly

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

                    Je ne comprend pas pourquoi ça ne marche pas si je le laisse dans la classe principale. Il y a que deux méthodes qui peuvent changer la variable : faire la commande /halloween apocalypse enable ou entrer dans la dimension Frightful. Et les deux sont cotés serveur

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

                      Dans ton event, vérifie que le code est exécuté côté serveur

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

                        J’utilise l’event LivingEvent, logiquement ça serait uniquement côté serveur (à moins que je me trompe ? ) mais je peux quand même mettre un sideOnly au cas où

                        Sinon, je viens de penser, pour le code : ```java
                           World world = Minecraft.getMinecraft().theWorld;

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

                          Tu n’as peut être pas de World dans l’event mais tu as une entité et grâce à elle tu peux accéder au World et ensuite faire if(!world.isRemote)

                          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
                          • robin4002R Hors-ligne
                            robin4002 Moddeurs confirmés Rédacteurs Administrateurs
                            dernière édition par

                            En effet, la classe Minecraft.getMinecraft() n’est que client.

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

                              Salut
                              Désolé pour le temps de la réponse
                              Il spawn bien côté serveur maintenant, tout marche bien côté mob. Le seul problème, c’est qu’il ne bouge pas les jambes quand il marche. Mais je sais à peu près où c’est.
                              Merci 😉

                              Par contre, vous savez comment faire pour mettre de l’orage (donc la foudre + le ciel foncé) mais sans qu’il ne pleuvent ? Parce que à chaque fois que y’a de l’orage il pleut aussi. J’avais pensé à regarder du côté de cheval squelette (et surtout de son spawn) mais le problème c’est qu’il ne spawn pas en 1.8.
                              Avez vous une idée ?

                              Merci d’avance

                              PS : Voilà le code pour le mob si d’éventuelles personnes en ont besoin :

                              @SubscribeEvent
                              public void apocalypseMobReplace(LivingEvent event)
                              {
                              World world = event.entity.worldObj;
                              if(!world.isRemote)
                              {
                              if(ThisisHalloween.apocalypse)
                              {
                              
                              if(event.entity instanceof EntityWolf)
                              {
                              EntityWerewolf werewolf = new EntityWerewolf(world);
                              double x = event.entity.posX;
                              double y = event.entity.posY;
                              double z = event.entity.posZ;
                              float rotateX = event.entity.rotationPitch;
                              float rotateY = event.entity.rotationYaw;
                              
                              event.entity.setDead();
                              
                              werewolf.setPositionAndRotation(x, y, z, rotateX, rotateY);
                              world.spawnEntityInWorld(werewolf);
                              
                              }
                              
                              }
                              else
                              {
                              // Apocalypse == disable == false
                              
                              Random rand = new Random();
                              int n = rand.nextInt(3);
                              
                              switch(n)
                              {
                              case 1 :
                              if(event.entity instanceof EntityWerewolf)
                              {
                              event.entity.setDead();
                              break;
                              }
                              case 2 :
                              if(event.entity instanceof EntityWerewolf)
                              {
                              EntityWolf wolf = new EntityWolf(world);
                              double x = event.entity.posX;
                              double y = event.entity.posY;
                              double z = event.entity.posZ;
                              float rotateX = event.entity.rotationPitch;
                              float rotateY = event.entity.rotationYaw;
                              
                              event.entity.setDead();
                              
                              wolf.setPositionAndRotation(x, y, z, rotateX, rotateY);
                              world.spawnEntityInWorld(wolf);
                              break;
                              }
                              }
                              }
                              }
                              }
                              

                              EDIT : J’ai modifié le code, le loup buguait : parfois il spawnait côté serveur parfois côté client. Mais j’ai corrigé

                              EDIT n°2 : J’ai aussi un problème quand je veux désactiver les dégâts de feu pour les zombies et skeletons. Je voudrais qu’ils soient immunisées contre le feu, mais je n’y arrive pas. ```java
                              @SubscribeEvent
                              public void vanillaMobs(LivingHurtEvent event)
                              {
                              World world = event.entity.worldObj;
                              EntityZombie zombie = new EntityZombie(world);
                              EntitySkeleton skeleton = new EntitySkeleton(world);

                              if(!world.isRemote)
                              {
                              if(thisishalloween.ThisisHalloween.apocalypse)
                              {
                              world.spawnEntityInWorld(zombie);
                              world.spawnEntityInWorld(skeleton);
                              if(event.entity instanceof EntityZombie || event.entity instanceof EntitySkeleton)
                              {
                              if(event.source != null && event.source == DamageSource.onFire )
                              {
                              System.out.println(“onFire”);
                              }
                              }
                              }
                              }

                              
                              J'ai testé de mettre : ```java
                              event.ammount = 0;
                              event.entity.fireResistance = -1;
                              event.entity.setFire(0);
                              event.entity.isImmuneToFire();
                              event.entity.isEntityInvulnerable(DamageSource.onFire);
                              event.entity.extinguish();
                              event.entity.attackEntityFrom(DamageSource.onFire, 0);
                              ``` un par un, de tout mettre en même temps, mais rien ne marche. Pourtant, les conditions marchent toutes bien puisque les logs affichent onFire. 
                              Du coup, je sais pas comment les immuniser contre le feu.
                              
                              Merci d'avance
                              
                              PS : d'ailleurs j'ai une question concernant le forum : pourquoi l'indentation n'est sauvegardée seulement que quelques fois ? Quand je colle un code java et que c'est bien indenté, parfois ça aligne tout. Je crois ne pas être le seul, ça arrive à d'autre personne aussi.
                              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

                                @SubscribeEvent
                                public void vanillaMobs(LivingHurtEvent event)
                                {
                                   World world = event.entity.worldObj;
                                   if(!world.isRemote)
                                   {
                                       if(thisishalloween.ThisisHalloween.apocalypse)
                                       {
                                           if(event.entity instanceof EntityZombie || event.entity instanceof EntitySkeleton)
                                           {
                                               if(event.source != null && event.source == DamageSource.onFire )
                                               {
                                                   event.setCancel(true);
                                               }
                                           }
                                       }
                                   }
                                }
                                

                                @‘Axaurus’:

                                PS : d’ailleurs j’ai une question concernant le forum : pourquoi l’indentation n’est sauvegardée seulement que quelques fois ? Quand je colle un code java et que c’est bien indenté, parfois ça aligne tout. Je crois ne pas être le seul, ça arrive à d’autre personne aussi.

                                J’ai jamais eu ce souci. Tu fais comment pour ajouter ton code ?

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

                                  C’est pas à cause de l’éditeur ? Il y avait un problème, l’éditeur de message mettez sans dessus-dessous le message quand on éditais le message avec l’aide des balises de formatage (il me semble)

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

                                    J’ai le même souci et c’est long de remettre en ordre la code, quand on copie le code qui est dans une balise java, l’indentation est foute en l’air, les numéros de ligne restent et lorsqu’on les efface, cela efface le retour à la ligne que l’on est obligé de remettre.

                                    Si je vous ai aidé, n'oubliez pas d’être heureux, j'aiderai encore +

                                    AymericRed, moddeur expérimenté qui aide sur ce forum et qui peut accepter de faire un mod Forge rémunéré de temps en temps.

                                    Mes tutos : Table de craft, plugin NEI, plugin JEI, modifier l'overlay
                                    Je suis un membre apprécié et joueur, j'ai déjà obtenu 6 points de réputation.

                                    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

                                      Oui copier depuis une balise java vers une nouvelle réponse ça fait n’importe quoi. Il faut passer en mode édition de code. (ctrl + shift + s ou cliquer sur l’icône en haut à tout à gauche).

                                      Mais copier du code d’eclipse vers le forum normalement il n’y a pas de soucis.

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

                                        Salut
                                        Ca ne marche toujours pas. Mais j’ai l’impression qu’il peine à brûler. Ca prend plus de temps qu’avant

                                        EDIT : Correction d’une grosse faute d’orthographe

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

                                          Salut
                                          J’ai testé, mais ça ne marche toujours pas, malgré mes recherches, disons rapides. J’ai réfléchi et j’ajouterai ça l’année prochaine car si j’ajoute trop de chose cette année, j’aurai plus d’idée pour les autres versions.

                                          Sinon, j’ai aussi (encore 😢 ) chercher pour mon problème de dimension qui ne marche pas. Du moins le tp, je ne sais pas si le monde en lui-même marche.

                                          Je suis de source sûr (j’ai testé) que c’est dans le teleporter que ça bug. Je ne suis pas sûr mais je crois même savoir précisément quelle condition bug.
                                          Je rappelle mes classes et les logs :
                                          teleporter

                                          package thisishalloween.world.frightful;
                                          
                                          import com.google.common.collect.Lists;
                                          
                                          import java.util.Iterator;
                                          import java.util.List;
                                          import java.util.Random;
                                          import net.minecraft.block.BlockPortal;
                                          import net.minecraft.block.state.IBlockState;
                                          import net.minecraft.entity.Entity;
                                          import net.minecraft.init.Blocks;
                                          import net.minecraft.util.BlockPos;
                                          import net.minecraft.util.EnumFacing;
                                          import net.minecraft.util.LongHashMap;
                                          import net.minecraft.util.MathHelper;
                                          import net.minecraft.world.ChunkCoordIntPair;
                                          import net.minecraft.world.Teleporter;
                                          import net.minecraft.world.WorldServer;
                                          import thisishalloween.CreateBlocks;
                                          import thisishalloween.block.BlockPortalFrightful;
                                          
                                          public class TeleporterFrightful extends Teleporter
                                          {
                                              private final WorldServer worldServerInstance;
                                              /** A private Random() function in Teleporter */
                                              private final Random random;
                                              /** Stores successful portal placement locations for rapid lookup. */
                                              private final LongHashMap destinationCoordinateCache = new LongHashMap();
                                              /**
                                               * A list of valid keys for the destinationCoordainteCache. These are based on the X & Z of the players initial
                                               * location.
                                               */
                                              private final List destinationCoordinateKeys = Lists.newArrayList();
                                          
                                              public TeleporterFrightful(WorldServer worldServer)
                                              {
                                               super(worldServer);
                                                  this.worldServerInstance = worldServer;
                                                  this.random = new Random(worldServer.getSeed());
                                              }
                                          
                                              public void placeInPortal(Entity entityIn, float rotationYaw)
                                              {
                                               System.out.println("test placeInPortal1");
                                          
                                                  if (this.worldServerInstance.provider.getDimensionId() != 1)
                                                  {
                                                   System.out.println("test placeInPortal2");
                                          
                                                      if (!this.placeInExistingPortal(entityIn, rotationYaw))
                                                      {
                                                       System.out.println("test placeInPortal3");
                                          
                                                          this.makePortal(entityIn);
                                                          this.placeInExistingPortal(entityIn, rotationYaw);
                                                      }
                                                  }
                                                  else
                                                  {
                                                      int i = MathHelper.floor_double(entityIn.posX);
                                                      int j = MathHelper.floor_double(entityIn.posY) - 1;
                                                      int k = MathHelper.floor_double(entityIn.posZ);
                                                      byte b0 = 1;
                                                      byte b1 = 0;
                                          
                                                      for (int l = -2; l <= 2; ++l)
                                                      {
                                                          for (int i1 = -2; i1 <= 2; ++i1)
                                                          {
                                                              for (int j1 = -1; j1 < 3; ++j1)
                                                              {
                                                                  int k1 = i + i1 * b0 + l * b1;
                                                                  int l1 = j + j1;
                                                                  int i2 = k + i1 * b1 - l * b0;
                                                                  boolean flag = j1 < 0;
                                                                  this.worldServerInstance.setBlockState(new BlockPos(k1, l1, i2), flag ? Blocks.pumpkin.getDefaultState() : Blocks.air.getDefaultState());
                                                              }
                                                          }
                                                      }
                                          
                                                      entityIn.setLocationAndAngles((double)i, (double)j, (double)k, entityIn.rotationYaw, 0.0F);
                                                      entityIn.motionX = entityIn.motionY = entityIn.motionZ = 0.0D;
                                                  }
                                              }
                                          
                                              public boolean placeInExistingPortal(Entity entityIn, float p_180620_2_)
                                              {
                                               System.out.println("test placeInExistingPortal");
                                          
                                                  boolean flag = true;
                                                  double d0 = -1.0D;
                                                  int i = MathHelper.floor_double(entityIn.posX);
                                                  int j = MathHelper.floor_double(entityIn.posZ);
                                                  boolean flag1 = true;
                                                  Object object = BlockPos.ORIGIN;
                                                  long k = ChunkCoordIntPair.chunkXZ2Int(i, j);
                                          
                                                  if (this.destinationCoordinateCache.containsItem(k))
                                                  {
                                                      TeleporterFrightful.PortalPosition portalposition = (TeleporterFrightful.PortalPosition)this.destinationCoordinateCache.getValueByKey(k);
                                                      d0 = 0.0D;
                                                      object = portalposition;
                                                      portalposition.lastUpdateTime = this.worldServerInstance.getTotalWorldTime();
                                                      flag1 = false;
                                                  }
                                                  else
                                                  {
                                                      BlockPos blockpos4 = new BlockPos(entityIn);
                                          
                                                      for (int l = -128; l <= 128; ++l)
                                                      {
                                                          BlockPos blockpos1;
                                          
                                                          for (int i1 = -128; i1 <= 128; ++i1)
                                                          {
                                                              for (BlockPos blockpos = blockpos4.add(l, this.worldServerInstance.getActualHeight() - 1 - blockpos4.getY(), i1); blockpos.getY() >= 0; blockpos = blockpos1)
                                                              {
                                                                  blockpos1 = blockpos.down();
                                          
                                                                  if (this.worldServerInstance.getBlockState(blockpos).getBlock() == CreateBlocks.portalFrightful)
                                                                  {
                                                                      while (this.worldServerInstance.getBlockState(blockpos1 = blockpos.down()).getBlock() == CreateBlocks.portalFrightful)
                                                                      {
                                                                          blockpos = blockpos1;
                                                                      }
                                          
                                                                      double d1 = blockpos.distanceSq(blockpos4);
                                          
                                                                      if (d0 < 0.0D || d1 < d0)
                                                                      {
                                                                          d0 = d1;
                                                                          object = blockpos;
                                                                      }
                                                                  }
                                                              }
                                                          }
                                                      }
                                                  }
                                          
                                                  if (d0 >= 0.0D)
                                                  {
                                                      if (flag1)
                                                      {
                                                          this.destinationCoordinateCache.add(k, new TeleporterFrightful.PortalPosition((BlockPos)object, this.worldServerInstance.getTotalWorldTime()));
                                                          this.destinationCoordinateKeys.add(Long.valueOf(k));
                                                      }
                                          
                                                      double d4 = (double)((BlockPos)object).getX() + 0.5D;
                                                      double d5 = (double)((BlockPos)object).getY() + 0.5D;
                                                      double d6 = (double)((BlockPos)object).getZ() + 0.5D;
                                                      EnumFacing enumfacing = null;
                                          
                                                      if (this.worldServerInstance.getBlockState(((BlockPos)object).west()).getBlock() == CreateBlocks.portalFrightful)
                                                      {
                                                          enumfacing = EnumFacing.NORTH;
                                                      }
                                          
                                                      if (this.worldServerInstance.getBlockState(((BlockPos)object).east()).getBlock() == CreateBlocks.portalFrightful)
                                                      {
                                                          enumfacing = EnumFacing.SOUTH;
                                                      }
                                          
                                                      if (this.worldServerInstance.getBlockState(((BlockPos)object).north()).getBlock() == CreateBlocks.portalFrightful)
                                                      {
                                                          enumfacing = EnumFacing.EAST;
                                                      }
                                          
                                                      if (this.worldServerInstance.getBlockState(((BlockPos)object).south()).getBlock() == CreateBlocks.portalFrightful)
                                                      {
                                                          enumfacing = EnumFacing.WEST;
                                                      }
                                          
                                                      EnumFacing enumfacing1 = EnumFacing.getHorizontal(entityIn.getTeleportDirection());
                                          
                                                      if (enumfacing != null)
                                                      {
                                                          EnumFacing enumfacing2 = enumfacing.rotateYCCW();
                                                          BlockPos blockpos2 = ((BlockPos)object).offset(enumfacing);
                                                          boolean flag2 = this.func_180265_a(blockpos2);
                                                          boolean flag3 = this.func_180265_a(blockpos2.offset(enumfacing2));
                                          
                                                          if (flag3 && flag2)
                                                          {
                                                              object = ((BlockPos)object).offset(enumfacing2);
                                                              enumfacing = enumfacing.getOpposite();
                                                              enumfacing2 = enumfacing2.getOpposite();
                                                              BlockPos blockpos3 = ((BlockPos)object).offset(enumfacing);
                                                              flag2 = this.func_180265_a(blockpos3);
                                                              flag3 = this.func_180265_a(blockpos3.offset(enumfacing2));
                                                          }
                                          
                                                          float f6 = 0.5F;
                                                          float f1 = 0.5F;
                                          
                                                          if (!flag3 && flag2)
                                                          {
                                                              f6 = 1.0F;
                                                          }
                                                          else if (flag3 && !flag2)
                                                          {
                                                              f6 = 0.0F;
                                                          }
                                                          else if (flag3)
                                                          {
                                                              f1 = 0.0F;
                                                          }
                                          
                                                          d4 = (double)((BlockPos)object).getX() + 0.5D;
                                                          d5 = (double)((BlockPos)object).getY() + 0.5D;
                                                          d6 = (double)((BlockPos)object).getZ() + 0.5D;
                                                          d4 += (double)((float)enumfacing2.getFrontOffsetX() * f6 + (float)enumfacing.getFrontOffsetX() * f1);
                                                          d6 += (double)((float)enumfacing2.getFrontOffsetZ() * f6 + (float)enumfacing.getFrontOffsetZ() * f1);
                                                          float f2 = 0.0F;
                                                          float f3 = 0.0F;
                                                          float f4 = 0.0F;
                                                          float f5 = 0.0F;
                                          
                                                          if (enumfacing == enumfacing1)
                                                          {
                                                              f2 = 1.0F;
                                                              f3 = 1.0F;
                                                          }
                                                          else if (enumfacing == enumfacing1.getOpposite())
                                                          {
                                                              f2 = -1.0F;
                                                              f3 = -1.0F;
                                                          }
                                                          else if (enumfacing == enumfacing1.rotateY())
                                                          {
                                                              f4 = 1.0F;
                                                              f5 = -1.0F;
                                                          }
                                                          else
                                                          {
                                                              f4 = -1.0F;
                                                              f5 = 1.0F;
                                                          }
                                          
                                                          double d2 = entityIn.motionX;
                                                          double d3 = entityIn.motionZ;
                                                          entityIn.motionX = d2 * (double)f2 + d3 * (double)f5;
                                                          entityIn.motionZ = d2 * (double)f4 + d3 * (double)f3;
                                                          entityIn.rotationYaw = p_180620_2_ - (float)(enumfacing1.getHorizontalIndex() * 90) + (float)(enumfacing.getHorizontalIndex() * 90);
                                                      }
                                                      else
                                                      {
                                                          entityIn.motionX = entityIn.motionY = entityIn.motionZ = 0.0D;
                                                      }
                                          
                                                      entityIn.setLocationAndAngles(d4, d5, d6, entityIn.rotationYaw, entityIn.rotationPitch);
                                                      return true;
                                                  }
                                                  else
                                                  {
                                                      return false;
                                                  }
                                              }
                                          
                                              private boolean func_180265_a(BlockPos p_180265_1_)
                                              {
                                                  return !this.worldServerInstance.isAirBlock(p_180265_1_) || !this.worldServerInstance.isAirBlock(p_180265_1_.up());
                                              }
                                          
                                              public boolean makePortal(Entity p_85188_1_)
                                              {
                                               System.out.println("test makePortal");
                                          
                                                  byte b0 = 16;
                                                  double d0 = -1.0D;
                                                  int i = MathHelper.floor_double(p_85188_1_.posX);
                                                  int j = MathHelper.floor_double(p_85188_1_.posY);
                                                  int k = MathHelper.floor_double(p_85188_1_.posZ);
                                                  int l = i;
                                                  int i1 = j;
                                                  int j1 = k;
                                                  int k1 = 0;
                                                  int l1 = this.random.nextInt(4);
                                                  int i2;
                                                  double d1;
                                                  int k2;
                                                  double d2;
                                                  int i3;
                                                  int j3;
                                                  int k3;
                                                  int l3;
                                                  int i4;
                                                  int j4;
                                                  int k4;
                                                  int l4;
                                                  int i5;
                                                  double d3;
                                                  double d4;
                                          
                                                  for (i2 = i - b0; i2 <= i + b0; ++i2)
                                                  {
                                                      d1 = (double)i2 + 0.5D - p_85188_1_.posX;
                                          
                                                      for (k2 = k - b0; k2 <= k + b0; ++k2)
                                                      {
                                                          d2 = (double)k2 + 0.5D - p_85188_1_.posZ;
                                                          label271:
                                          
                                                          for (i3 = this.worldServerInstance.getActualHeight() - 1; i3 >= 0; –i3)
                                                          {
                                                              if (this.worldServerInstance.isAirBlock(new BlockPos(i2, i3, k2)))
                                                              {
                                                                  while (i3 > 0 && this.worldServerInstance.isAirBlock(new BlockPos(i2, i3 - 1, k2)))
                                                                  {
                                                                      --i3;
                                                                  }
                                          
                                                                  for (j3 = l1; j3 < l1 + 4; ++j3)
                                                                  {
                                                                      k3 = j3 % 2;
                                                                      l3 = 1 - k3;
                                          
                                                                      if (j3 % 4 >= 2)
                                                                      {
                                                                          k3 = -k3;
                                                                          l3 = -l3;
                                                                      }
                                          
                                                                      for (i4 = 0; i4 < 3; ++i4)
                                                                      {
                                                                          for (j4 = 0; j4 < 4; ++j4)
                                                                          {
                                                                              for (k4 = -1; k4 < 4; ++k4)
                                                                              {
                                                                                  l4 = i2 + (j4 - 1) * k3 + i4 * l3;
                                                                                  i5 = i3 + k4;
                                                                                  int j5 = k2 + (j4 - 1) * l3 - i4 * k3;
                                          
                                                                                  if (k4 < 0 && !this.worldServerInstance.getBlockState(new BlockPos(l4, i5, j5)).getBlock().getMaterial().isSolid() || k4 >= 0 && !this.worldServerInstance.isAirBlock(new BlockPos(l4, i5, j5)))
                                                                                  {
                                                                                      continue label271;
                                                                                  }
                                                                              }
                                                                          }
                                                                      }
                                          
                                                                      d3 = (double)i3 + 0.5D - p_85188_1_.posY;
                                                                      d4 = d1 * d1 + d3 * d3 + d2 * d2;
                                          
                                                                      if (d0 < 0.0D || d4 < d0)
                                                                      {
                                                                          d0 = d4;
                                                                          l = i2;
                                                                          i1 = i3;
                                                                          j1 = k2;
                                                                          k1 = j3 % 4;
                                                                      }
                                                                  }
                                                              }
                                                          }
                                                      }
                                                  }
                                          
                                                  if (d0 < 0.0D)
                                                  {
                                                      for (i2 = i - b0; i2 <= i + b0; ++i2)
                                                      {
                                                          d1 = (double)i2 + 0.5D - p_85188_1_.posX;
                                          
                                                          for (k2 = k - b0; k2 <= k + b0; ++k2)
                                                          {
                                                              d2 = (double)k2 + 0.5D - p_85188_1_.posZ;
                                                              label219:
                                          
                                                              for (i3 = this.worldServerInstance.getActualHeight() - 1; i3 >= 0; --i3)
                                                              {
                                                                  if (this.worldServerInstance.isAirBlock(new BlockPos(i2, i3, k2)))
                                                                  {
                                                                      while (i3 > 0 && this.worldServerInstance.isAirBlock(new BlockPos(i2, i3 - 1, k2)))
                                                                      {
                                                                          --i3;
                                                                      }
                                          
                                                                      for (j3 = l1; j3 < l1 + 2; ++j3)
                                                                      {
                                                                          k3 = j3 % 2;
                                                                          l3 = 1 - k3;
                                          
                                                                          for (i4 = 0; i4 < 4; ++i4)
                                                                          {
                                                                              for (j4 = -1; j4 < 4; ++j4)
                                                                              {
                                                                                  k4 = i2 + (i4 - 1) * k3;
                                                                                  l4 = i3 + j4;
                                                                                  i5 = k2 + (i4 - 1) * l3;
                                          
                                                                                  if (j4 < 0 && !this.worldServerInstance.getBlockState(new BlockPos(k4, l4, i5)).getBlock().getMaterial().isSolid() || j4 >= 0 && !this.worldServerInstance.isAirBlock(new BlockPos(k4, l4, i5)))
                                                                                  {
                                                                                      continue label219;
                                                                                  }
                                                                              }
                                                                          }
                                          
                                                                          d3 = (double)i3 + 0.5D - p_85188_1_.posY;
                                                                          d4 = d1 * d1 + d3 * d3 + d2 * d2;
                                          
                                                                          if (d0 < 0.0D || d4 < d0)
                                                                          {
                                                                              d0 = d4;
                                                                              l = i2;
                                                                              i1 = i3;
                                                                              j1 = k2;
                                                                              k1 = j3 % 2;
                                                                          }
                                                                      }
                                                                  }
                                                              }
                                                          }
                                                      }
                                                  }
                                          
                                                  int k5 = l;
                                                  int j2 = i1;
                                                  k2 = j1;
                                                  int l5 = k1 % 2;
                                                  int l2 = 1 - l5;
                                          
                                                  if (k1 % 4 >= 2)
                                                  {
                                                      l5 = -l5;
                                                      l2 = -l2;
                                                  }
                                          
                                                  if (d0 < 0.0D)
                                                  {
                                                      i1 = MathHelper.clamp_int(i1, 70, this.worldServerInstance.getActualHeight() - 10);
                                                      j2 = i1;
                                          
                                                      for (i3 = -1; i3 <= 1; ++i3)
                                                      {
                                                          for (j3 = 1; j3 < 3; ++j3)
                                                          {
                                                              for (k3 = -1; k3 < 3; ++k3)
                                                              {
                                                                  l3 = k5 + (j3 - 1) * l5 + i3 * l2;
                                                                  i4 = j2 + k3;
                                                                  j4 = k2 + (j3 - 1) * l2 - i3 * l5;
                                                                  boolean flag = k3 < 0;
                                                                  this.worldServerInstance.setBlockState(new BlockPos(l3, i4, j4), flag ? Blocks.pumpkin.getDefaultState() : Blocks.air.getDefaultState());
                                                              }
                                                          }
                                                      }
                                                  }
                                          
                                                  IBlockState iblockstate = CreateBlocks.portalFrightful.getDefaultState().withProperty(BlockPortalFrightful.AXIS, l5 != 0 ? EnumFacing.Axis.X : EnumFacing.Axis.Z);
                                          
                                                  for (j3 = 0; j3 < 4; ++j3)
                                                  {
                                                      for (k3 = 0; k3 < 4; ++k3)
                                                      {
                                                          for (l3 = -1; l3 < 4; ++l3)
                                                          {
                                                              i4 = k5 + (k3 - 1) * l5;
                                                              j4 = j2 + l3;
                                                              k4 = k2 + (k3 - 1) * l2;
                                                              boolean flag1 = k3 == 0 || k3 == 3 || l3 == -1 || l3 == 3;
                                                              this.worldServerInstance.setBlockState(new BlockPos(i4, j4, k4), flag1 ? Blocks.pumpkin.getDefaultState() : iblockstate, 2);
                                                          }
                                                      }
                                          
                                                      for (k3 = 0; k3 < 4; ++k3)
                                                      {
                                                          for (l3 = -1; l3 < 4; ++l3)
                                                          {
                                                              i4 = k5 + (k3 - 1) * l5;
                                                              j4 = j2 + l3;
                                                              k4 = k2 + (k3 - 1) * l2;
                                                              this.worldServerInstance.notifyNeighborsOfStateChange(new BlockPos(i4, j4, k4), this.worldServerInstance.getBlockState(new BlockPos(i4, j4, k4)).getBlock());
                                                          }
                                                      }
                                                  }
                                          
                                                  return true;
                                              }
                                          
                                              /**
                                               * called periodically to remove out-of-date portal locations from the cache list. Argument par1 is a
                                               * WorldServer.getTotalWorldTime() value.
                                               */
                                              public void removeStalePortalLocations(long p_85189_1_)
                                              {
                                                  if (p_85189_1_ % 100L == 0L)
                                                  {
                                                      Iterator iterator = this.destinationCoordinateKeys.iterator();
                                                      long j = p_85189_1_ - 600L;
                                          
                                                      while (iterator.hasNext())
                                                      {
                                                          Long olong = (Long)iterator.next();
                                                          TeleporterFrightful.PortalPosition portalposition = (TeleporterFrightful.PortalPosition)this.destinationCoordinateCache.getValueByKey(olong.longValue());
                                          
                                                          if (portalposition == null || portalposition.lastUpdateTime < j)
                                                          {
                                                              iterator.remove();
                                                              this.destinationCoordinateCache.remove(olong.longValue());
                                                          }
                                                      }
                                                  }
                                              }
                                          
                                              public class PortalPosition extends BlockPos
                                              {
                                                  /** The worldtime at which this PortalPosition was last verified */
                                                  public long lastUpdateTime;
                                          
                                                  public PortalPosition(BlockPos pos, long p_i45747_3_)
                                                  {
                                                      super(pos.getX(), pos.getY(), pos.getZ());
                                                      this.lastUpdateTime = p_i45747_3_;
                                                  }
                                              }
                                          }
                                          

                                          blockPortal

                                          package thisishalloween.block;
                                          
                                          import java.util.Random;
                                          
                                          import net.minecraft.block.Block;
                                          import net.minecraft.block.BlockBreakable;
                                          import net.minecraft.block.material.Material;
                                          import net.minecraft.block.properties.IProperty;
                                          import net.minecraft.block.properties.PropertyEnum;
                                          import net.minecraft.block.state.BlockState;
                                          import net.minecraft.block.state.IBlockState;
                                          import net.minecraft.entity.Entity;
                                          import net.minecraft.entity.EntityList;
                                          import net.minecraft.entity.player.EntityPlayerMP;
                                          import net.minecraft.init.Blocks;
                                          import net.minecraft.item.Item;
                                          import net.minecraft.item.ItemMonsterPlacer;
                                          import net.minecraft.server.MinecraftServer;
                                          import net.minecraft.util.AxisAlignedBB;
                                          import net.minecraft.util.BlockPos;
                                          import net.minecraft.util.EnumFacing;
                                          import net.minecraft.util.EnumParticleTypes;
                                          import net.minecraft.util.EnumWorldBlockLayer;
                                          import net.minecraft.world.IBlockAccess;
                                          import net.minecraft.world.World;
                                          import net.minecraft.world.WorldServer;
                                          import net.minecraftforge.common.DimensionManager;
                                          import net.minecraftforge.fml.relauncher.Side;
                                          import net.minecraftforge.fml.relauncher.SideOnly;
                                          import thisishalloween.CreateBlocks;
                                          import thisishalloween.world.frightful.TeleporterFrightful;
                                          
                                          public class BlockPortalFrightful extends BlockBreakable
                                          {
                                           public static final PropertyEnum AXIS = PropertyEnum.create("axis", EnumFacing.Axis.class, new EnumFacing.Axis[] {EnumFacing.Axis.X, EnumFacing.Axis.Z});
                                          
                                           public BlockPortalFrightful()
                                           {
                                            super(Material.portal, false);
                                            this.setDefaultState(this.blockState.getBaseState().withProperty(AXIS, EnumFacing.Axis.X));
                                            this.setTickRandomly(true);
                                           }
                                          
                                           public void updateTick(World worldIn, BlockPos pos, IBlockState state, Random rand)
                                           {
                                            super.updateTick(worldIn, pos, state, rand);
                                          
                                            if (worldIn.provider.isSurfaceWorld() && worldIn.getGameRules().getGameRuleBooleanValue("doMobSpawning") && rand.nextInt(2000) < worldIn.getDifficulty().getDifficultyId())
                                            {
                                             int i = pos.getY();
                                             BlockPos blockpos1;
                                          
                                             for (blockpos1 = pos; !World.doesBlockHaveSolidTopSurface(worldIn, blockpos1) && blockpos1.getY() > 0; blockpos1 = blockpos1.down())
                                             {
                                              ;
                                             }
                                          
                                             if (i > 0 && !worldIn.getBlockState(blockpos1.up()).getBlock().isNormalCube())
                                             {
                                              Entity entity = ItemMonsterPlacer.spawnCreature(worldIn, 57, (double)blockpos1.getX() + 0.5D, (double)blockpos1.getY() + 1.1D, (double)blockpos1.getZ() + 0.5D);
                                          
                                              if (entity != null)
                                              {
                                               entity.timeUntilPortal = entity.getPortalCooldown();
                                              }
                                             }
                                            }
                                           }
                                          
                                           public AxisAlignedBB getCollisionBoundingBox(World worldIn, BlockPos pos, IBlockState state)
                                           {
                                            return null;
                                           }
                                          
                                           public void setBlockBoundsBasedOnState(IBlockAccess worldIn, BlockPos pos)
                                           {
                                            EnumFacing.Axis axis = (EnumFacing.Axis)worldIn.getBlockState(pos).getValue(AXIS);
                                            float f = 0.125F;
                                            float f1 = 0.125F;
                                          
                                            if (axis == EnumFacing.Axis.X)
                                            {
                                             f = 0.5F;
                                            }
                                          
                                            if (axis == EnumFacing.Axis.Z)
                                            {
                                             f1 = 0.5F;
                                            }
                                          
                                            this.setBlockBounds(0.5F - f, 0.0F, 0.5F - f1, 0.5F + f, 1.0F, 0.5F + f1);
                                           }
                                          
                                           public static int getMetaForAxis(EnumFacing.Axis axis)
                                           {
                                            return axis == EnumFacing.Axis.X ? 1 : (axis == EnumFacing.Axis.Z ? 2 : 0);
                                           }
                                          
                                           public boolean isFullCube()
                                           {
                                            return false;
                                           }
                                          
                                           public boolean func_176548_d(World worldIn, BlockPos p_176548_2_)
                                           {
                                            BlockPortalFrightful.Size size = new BlockPortalFrightful.Size(worldIn, p_176548_2_, EnumFacing.Axis.X);
                                          
                                            if (size.func_150860_b() && size.field_150864_e == 0)
                                            {
                                             size.func_150859_c();
                                             return true;
                                            }
                                            else
                                            {
                                             BlockPortalFrightful.Size size1 = new BlockPortalFrightful.Size(worldIn, p_176548_2_, EnumFacing.Axis.Z);
                                          
                                             if (size1.func_150860_b() && size1.field_150864_e == 0)
                                             {
                                              size1.func_150859_c();
                                              return true;
                                             }
                                             else
                                             {
                                              return false;
                                             }
                                            }
                                           }
                                          
                                           /**
                                            * Called when a neighboring block changes.
                                            */
                                           public void onNeighborBlockChange(World worldIn, BlockPos pos, IBlockState state, Block neighborBlock)
                                           {
                                            EnumFacing.Axis axis = (EnumFacing.Axis)state.getValue(AXIS);
                                            BlockPortalFrightful.Size size;
                                          
                                            if (axis == EnumFacing.Axis.X)
                                            {
                                             size = new BlockPortalFrightful.Size(worldIn, pos, EnumFacing.Axis.X);
                                          
                                             if (!size.func_150860_b() || size.field_150864_e < size.field_150868_h * size.field_150862_g)
                                             {
                                              worldIn.setBlockState(pos, Blocks.air.getDefaultState());
                                             }
                                            }
                                            else if (axis == EnumFacing.Axis.Z)
                                            {
                                             size = new BlockPortalFrightful.Size(worldIn, pos, EnumFacing.Axis.Z);
                                          
                                             if (!size.func_150860_b() || size.field_150864_e < size.field_150868_h * size.field_150862_g)
                                             {
                                              worldIn.setBlockState(pos, Blocks.air.getDefaultState());
                                             }
                                            }
                                           }
                                          
                                           @SideOnly(Side.CLIENT)
                                           public boolean shouldSideBeRendered(IBlockAccess worldIn, BlockPos pos, EnumFacing side)
                                           {
                                            EnumFacing.Axis axis = null;
                                            IBlockState iblockstate = worldIn.getBlockState(pos);
                                          
                                            if (worldIn.getBlockState(pos).getBlock() == this)
                                            {
                                             axis = (EnumFacing.Axis)iblockstate.getValue(AXIS);
                                          
                                             if (axis == null)
                                             {
                                              return false;
                                             }
                                          
                                             if (axis == EnumFacing.Axis.Z && side != EnumFacing.EAST && side != EnumFacing.WEST)
                                             {
                                              return false;
                                             }
                                          
                                             if (axis == EnumFacing.Axis.X && side != EnumFacing.SOUTH && side != EnumFacing.NORTH)
                                             {
                                              return false;
                                             }
                                            }
                                          
                                            boolean flag = worldIn.getBlockState(pos.west()).getBlock() == this && worldIn.getBlockState(pos.west(2)).getBlock() != this;
                                            boolean flag1 = worldIn.getBlockState(pos.east()).getBlock() == this && worldIn.getBlockState(pos.east(2)).getBlock() != this;
                                            boolean flag2 = worldIn.getBlockState(pos.north()).getBlock() == this && worldIn.getBlockState(pos.north(2)).getBlock() != this;
                                            boolean flag3 = worldIn.getBlockState(pos.south()).getBlock() == this && worldIn.getBlockState(pos.south(2)).getBlock() != this;
                                            boolean flag4 = flag || flag1 || axis == EnumFacing.Axis.X;
                                            boolean flag5 = flag2 || flag3 || axis == EnumFacing.Axis.Z;
                                            return flag4 && side == EnumFacing.WEST ? true : (flag4 && side == EnumFacing.EAST ? true : (flag5 && side == EnumFacing.NORTH ? true : flag5 && side == EnumFacing.SOUTH));
                                           }
                                          
                                           /**
                                            * Returns the quantity of items to drop on block destruction.
                                            */
                                           public int quantityDropped(Random random)
                                           {
                                            return 0;
                                           }
                                          
                                           /**
                                            * Called When an Entity Collided with the Block
                                            */
                                           @Override
                                           public void onEntityCollidedWithBlock(World worldIn, BlockPos pos, IBlockState state, Entity entityIn)
                                           {
                                            System.out.println("test onEntityCollidedWithBlock");
                                            if (entityIn.ridingEntity == null && entityIn.riddenByEntity == null && entityIn.timeUntilPortal <= 0)
                                            {
                                             int id = thisishalloween.ThisisHalloween.DIMENSIONID;
                                          
                                             if (entityIn.dimension == id)
                                             {
                                              id = 0;
                                             }
                                          
                                             if (entityIn instanceof EntityPlayerMP) {
                                              EntityPlayerMP player = (EntityPlayerMP) entityIn;
                                              MinecraftServer mcServer = MinecraftServer.getServer();
                                          
                                              if (player.timeUntilPortal > 0)
                                              {
                                               player.timeUntilPortal = 10;
                                              }
                                              else if (player.dimension != thisishalloween.ThisisHalloween.DIMENSIONID)
                                              {
                                               System.out.println("test joueur n'est pas dans Frightful");
                                               player.timeUntilPortal = 10;
                                               mcServer.getConfigurationManager().transferPlayerToDimension(player, thisishalloween.ThisisHalloween.DIMENSIONID, new TeleporterFrightful(mcServer.worldServerForDimension(thisishalloween.ThisisHalloween.DIMENSIONID)));
                                              }
                                              else
                                              {
                                               System.out.println("test joueur est dans Frightful");
                                               player.timeUntilPortal = 10;
                                               mcServer.getConfigurationManager().transferPlayerToDimension(player, 0, new TeleporterFrightful(mcServer.worldServerForDimension(0)));
                                              }
                                             }
                                             else {
                                              travelToDimension(entityIn, id);
                                             }
                                            }
                                           }
                                          
                                           private void travelToDimension(Entity entity, int id)
                                           {
                                            if (!entity.worldObj.isRemote && !entity.isDead)
                                            {
                                             entity.worldObj.theProfiler.startSection("changeDimension");
                                             MinecraftServer minecraftserver = MinecraftServer.getServer();
                                             int j = entity.dimension;
                                             WorldServer worldserver = minecraftserver.worldServerForDimension(j);
                                             WorldServer worldserver1 = minecraftserver.worldServerForDimension(id);
                                             entity.dimension = id;
                                          
                                             if (j == 1 && id == 1) {
                                              worldserver1 = minecraftserver.worldServerForDimension(0);
                                              entity.dimension = 0;
                                             }
                                          
                                             entity.worldObj.removeEntity(entity);
                                             entity.isDead = false;
                                             entity.worldObj.theProfiler.startSection("reposition");
                                             minecraftserver.getConfigurationManager().transferEntityToWorld(entity, j, worldserver, worldserver1, new TeleporterFrightful(worldserver1));
                                             entity.worldObj.theProfiler.endStartSection("reloading");
                                             Entity entity1 = EntityList.createEntityByName(EntityList.getEntityString(entity), worldserver1);
                                          
                                             if (entity1 != null) {
                                              entity1.copyDataFromOld(entity);
                                          
                                              if (j == 1 && id == 1) {
                                               BlockPos spawnPoint = worldserver1.getSpawnPoint();
                                               spawnPoint = entity.worldObj.getTopSolidOrLiquidBlock(spawnPoint);
                                               entity1.setLocationAndAngles(spawnPoint.getX(), spawnPoint.getY(), spawnPoint.getZ(), entity1.rotationYaw, entity1.rotationPitch);
                                              }
                                          
                                              worldserver1.spawnEntityInWorld(entity1);
                                             }
                                          
                                             entity.isDead = true;
                                             entity.worldObj.theProfiler.endSection();
                                             worldserver.resetUpdateEntityTick();
                                             worldserver1.resetUpdateEntityTick();
                                             entity.worldObj.theProfiler.endSection();
                                            }
                                           }
                                          
                                           public void transferEntityToWorld(Entity entityIn, int p_82448_2_, WorldServer p_82448_3_, WorldServer p_82448_4_)
                                           {
                                            transferEntityToWorld(entityIn, thisishalloween.ThisisHalloween.DIMENSIONID, DimensionManager.getWorld(0), DimensionManager.getWorld(thisishalloween.ThisisHalloween.DIMENSIONID));
                                           }
                                           /**
                                            * Convert the given metadata into a BlockState for this Block
                                            */
                                           public IBlockState getStateFromMeta(int meta)
                                           {
                                            return this.getDefaultState().withProperty(AXIS, (meta & 3) == 2 ? EnumFacing.Axis.Z : EnumFacing.Axis.X);
                                           }
                                          
                                           @SideOnly(Side.CLIENT)
                                           public EnumWorldBlockLayer getBlockLayer()
                                           {
                                            return EnumWorldBlockLayer.TRANSLUCENT;
                                           }
                                          
                                           @SideOnly(Side.CLIENT)
                                           public void randomDisplayTick(World worldIn, BlockPos pos, IBlockState state, Random rand)
                                           {
                                            if (rand.nextInt(100) == 0)
                                            {
                                             worldIn.playSound((double)pos.getX() + 0.5D, (double)pos.getY() + 0.5D, (double)pos.getZ() + 0.5D, "portal.portal", 0.5F, rand.nextFloat() * 0.4F + 0.8F, false);
                                            }
                                          
                                            for (int i = 0; i < 4; ++i)
                                            {
                                             double d0 = (double)((float)pos.getX() + rand.nextFloat());
                                             double d1 = (double)((float)pos.getY() + rand.nextFloat());
                                             double d2 = (double)((float)pos.getZ() + rand.nextFloat());
                                             double d3 = ((double)rand.nextFloat() - 0.5D) * 0.5D;
                                             double d4 = ((double)rand.nextFloat() - 0.5D) * 0.5D;
                                             double d5 = ((double)rand.nextFloat() - 0.5D) * 0.5D;
                                             int j = rand.nextInt(2) * 2 - 1;
                                          
                                             if (worldIn.getBlockState(pos.west()).getBlock() != this && worldIn.getBlockState(pos.east()).getBlock() != this)
                                             {
                                              d0 = (double)pos.getX() + 0.5D + 0.25D * (double)j;
                                              d3 = (double)(rand.nextFloat() * 2.0F * (float)j);
                                             }
                                             else
                                             {
                                              d2 = (double)pos.getZ() + 0.5D + 0.25D * (double)j;
                                              d5 = (double)(rand.nextFloat() * 2.0F * (float)j);
                                             }
                                          
                                             worldIn.spawnParticle(EnumParticleTypes.PORTAL, d0, d1, d2, d3, d4, d5, new int[0]);
                                            }
                                           }
                                          
                                           /**
                                            * Convert the BlockState into the correct metadata value
                                            */
                                           public int getMetaFromState(IBlockState state)
                                           {
                                            return getMetaForAxis((EnumFacing.Axis)state.getValue(AXIS));
                                           }
                                          
                                           @SideOnly(Side.CLIENT)
                                           public Item getItem(World worldIn, BlockPos pos)
                                           {
                                            return null;
                                           }
                                          
                                           protected BlockState createBlockState()
                                           {
                                            return new BlockState(this, new IProperty[] {AXIS});
                                           }
                                          
                                           public static class Size
                                           {
                                            private final World world;
                                            private final EnumFacing.Axis axis;
                                            private final EnumFacing field_150866_c;
                                            private final EnumFacing field_150863_d;
                                            private int field_150864_e = 0;
                                            private BlockPos field_150861_f;
                                            private int field_150862_g;
                                            private int field_150868_h;
                                          
                                            public Size(World worldIn, BlockPos p_i45694_2_, EnumFacing.Axis p_i45694_3_)
                                            {
                                             this.world = worldIn;
                                             this.axis = p_i45694_3_;
                                          
                                             if (p_i45694_3_ == EnumFacing.Axis.X)
                                             {
                                              this.field_150863_d = EnumFacing.EAST;
                                              this.field_150866_c = EnumFacing.WEST;
                                             }
                                             else
                                             {
                                              this.field_150863_d = EnumFacing.NORTH;
                                              this.field_150866_c = EnumFacing.SOUTH;
                                             }
                                          
                                             for (BlockPos blockpos1 = p_i45694_2_; p_i45694_2_.getY() > blockpos1.getY() - 21 && p_i45694_2_.getY() > 0 && this.func_150857_a(worldIn.getBlockState(p_i45694_2_.down()).getBlock()); p_i45694_2_ = p_i45694_2_.down())
                                             {
                                              ;
                                             }
                                          
                                             int i = this.func_180120_a(p_i45694_2_, this.field_150863_d) - 1;
                                          
                                             if (i >= 0)
                                             {
                                              this.field_150861_f = p_i45694_2_.offset(this.field_150863_d, i);
                                              this.field_150868_h = this.func_180120_a(this.field_150861_f, this.field_150866_c);
                                          
                                              if (this.field_150868_h < 2 || this.field_150868_h > 21)
                                              {
                                               this.field_150861_f = null;
                                               this.field_150868_h = 0;
                                              }
                                             }
                                          
                                             if (this.field_150861_f != null)
                                             {
                                              this.field_150862_g = this.func_150858_a();
                                             }
                                            }
                                          
                                            protected int func_180120_a(BlockPos p_180120_1_, EnumFacing p_180120_2_)
                                            {
                                             int i;
                                          
                                             for (i = 0; i < 22; ++i)
                                             {
                                              BlockPos blockpos1 = p_180120_1_.offset(p_180120_2_, i);
                                          
                                              if (!this.func_150857_a(this.world.getBlockState(blockpos1).getBlock()) || this.world.getBlockState(blockpos1.down()).getBlock() != Blocks.obsidian)
                                              {
                                               break;
                                              }
                                             }
                                          
                                             Block block = this.world.getBlockState(p_180120_1_.offset(p_180120_2_, i)).getBlock();
                                             return block == Blocks.pumpkin ? i : 0;
                                            }
                                          
                                            protected int func_150858_a()
                                            {
                                             int i;
                                             label56:
                                          
                                              for (this.field_150862_g = 0; this.field_150862_g < 21; ++this.field_150862_g)
                                              {
                                               for (i = 0; i < this.field_150868_h; ++i)
                                               {
                                                BlockPos blockpos = this.field_150861_f.offset(this.field_150866_c, i).up(this.field_150862_g);
                                                Block block = this.world.getBlockState(blockpos).getBlock();
                                          
                                                if (!this.func_150857_a(block))
                                                {
                                                 break label56;
                                                }
                                          
                                                if (block == CreateBlocks.portalFrightful)
                                                {
                                                 ++this.field_150864_e;
                                                }
                                          
                                                if (i == 0)
                                                {
                                                 block = this.world.getBlockState(blockpos.offset(this.field_150863_d)).getBlock();
                                          
                                                 if (block != Blocks.pumpkin)
                                                 {
                                                  break label56;
                                                 }
                                                }
                                                else if (i == this.field_150868_h - 1)
                                                {
                                                 block = this.world.getBlockState(blockpos.offset(this.field_150866_c)).getBlock();
                                          
                                                 if (block != Blocks.pumpkin)
                                                 {
                                                  break label56;
                                                 }
                                                }
                                               }
                                              }
                                          
                                             for (i = 0; i < this.field_150868_h; ++i)
                                             {
                                              if (this.world.getBlockState(this.field_150861_f.offset(this.field_150866_c, i).up(this.field_150862_g)).getBlock() != Blocks.pumpkin)
                                              {
                                               this.field_150862_g = 0;
                                               break;
                                              }
                                             }
                                          
                                             if (this.field_150862_g <= 21 && this.field_150862_g >= 3)
                                             {
                                              return this.field_150862_g;
                                             }
                                             else
                                             {
                                              this.field_150861_f = null;
                                              this.field_150868_h = 0;
                                              this.field_150862_g = 0;
                                              return 0;
                                             }
                                            }
                                          
                                            protected boolean func_150857_a(Block p_150857_1_)
                                            {
                                             return p_150857_1_.getMaterial() == Material.air || p_150857_1_ == CreateBlocks.portalFrightful;
                                            }
                                          
                                            public boolean func_150860_b()
                                            {
                                             return this.field_150861_f != null && this.field_150868_h >= 2 && this.field_150868_h <= 21 && this.field_150862_g >= 3 && this.field_150862_g <= 21;
                                            }
                                          
                                            public void func_150859_c()
                                            {
                                             for (int i = 0; i < this.field_150868_h; ++i)
                                             {
                                              BlockPos blockpos = this.field_150861_f.offset(this.field_150866_c, i);
                                          
                                              for (int j = 0; j < this.field_150862_g; ++j)
                                              {
                                               this.world.setBlockState(blockpos.up(j), CreateBlocks.portalFrightful.getDefaultState().withProperty(BlockPortalFrightful.AXIS, this.axis), 2);
                                              }
                                             }
                                            }
                                           }
                                          }
                                          

                                          logs

                                          [17:43:50] [main/INFO] [GradleStart]: Extra: []
                                          [17:43:50] [main/INFO] [GradleStart]: Running with arguments: [–userProperties, {}, --assetsDir, C:/Users/Antonin/.gradle/caches/minecraft/assets, --assetIndex, 1.8, --accessToken{REDACTED}, --version, 1.8, --tweakClass, net.minecraftforge.fml.common.launcher.FMLTweaker, --tweakClass, net.minecraftforge.gradle.tweakers.CoremodTweaker]
                                          [17:43:50] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.fml.common.launcher.FMLTweaker
                                          [17:43:50] [main/INFO] [LaunchWrapper]: Using primary tweak class name net.minecraftforge.fml.common.launcher.FMLTweaker
                                          [17:43:50] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.gradle.tweakers.CoremodTweaker
                                          [17:43:50] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLTweaker
                                          [17:43:50] [main/INFO] [FML]: Forge Mod Loader version 11.14.4.1563 for Minecraft 1.8 loading
                                          [17:43:50] [main/INFO] [FML]: Java is Java HotSpot(TM) 64-Bit Server VM, version 1.8.0_92, running on Windows 10:amd64:10.0, installed at G:\Programmes\Java\jre
                                          [17:43:50] [main/INFO] [FML]: Managed to load a deobfuscated Minecraft name- we are in a deobfuscated environment. Skipping runtime deobfuscation
                                          [17:43:50] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.gradle.tweakers.CoremodTweaker
                                          [17:43:50] [main/INFO] [GradleStart]: Injecting location in coremod net.minecraftforge.fml.relauncher.FMLCorePlugin
                                          [17:43:50] [main/INFO] [GradleStart]: Injecting location in coremod net.minecraftforge.classloading.FMLForgePlugin
                                          [17:43:50] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.fml.common.launcher.FMLInjectionAndSortingTweaker
                                          [17:43:50] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.fml.common.launcher.FMLDeobfTweaker
                                          [17:43:50] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.gradle.tweakers.AccessTransformerTweaker
                                          [17:43:50] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLInjectionAndSortingTweaker
                                          [17:43:50] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLInjectionAndSortingTweaker
                                          [17:43:50] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.relauncher.CoreModManager$FMLPluginWrapper
                                          [17:43:51] [main/ERROR] [FML]: The binary patch set is missing. Either you are in a development environment, or things are not going to work!
                                          [17:43:52] [main/ERROR] [FML]: FML appears to be missing any signature data. This is not a good thing
                                          [17:43:52] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.relauncher.CoreModManager$FMLPluginWrapper
                                          [17:43:52] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLDeobfTweaker
                                          [17:43:53] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.gradle.tweakers.AccessTransformerTweaker
                                          [17:43:53] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.fml.common.launcher.TerminalTweaker
                                          [17:43:53] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.TerminalTweaker
                                          [17:43:53] [main/INFO] [LaunchWrapper]: Launching wrapped minecraft {net.minecraft.client.main.Main}
                                          [17:43:53] [Client thread/INFO]: Setting user: Player226
                                          [17:43:56] [Client thread/INFO]: LWJGL Version: 2.9.1
                                          [17:43:57] [Client thread/INFO] [STDOUT]: [net.minecraftforge.fml.client.SplashProgress:start:246]: –-- Minecraft Crash Report ----
                                          // This is a token for 1 free hug. Redeem at your nearest Mojangsta: [~~HUG~~]
                                          
                                          Time: 03/07/16 17:43
                                          Description: Loading screen debug info
                                          
                                          This is just a prompt for computer specs to be printed. THIS IS NOT A ERROR
                                          
                                          A detailed walkthrough of the error, its code path and all known details is as follows:
                                          –-------------------------------------------------------------------------------------
                                          
                                          -- System Details --
                                          Details:
                                           Minecraft Version: 1.8
                                           Operating System: Windows 10 (amd64) version 10.0
                                           Java Version: 1.8.0_92, Oracle Corporation
                                           Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
                                           Memory: 866848488 bytes (826 MB) / 1038876672 bytes (990 MB) up to 1038876672 bytes (990 MB)
                                           JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M
                                           IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
                                           FML:
                                           Loaded coremods (and transformers):
                                           GL info: ' Vendor: 'ATI Technologies Inc.' Version: '4.5.13416 Compatibility Profile Context 15.300.1025.1001' Renderer: 'AMD Radeon R9 200 Series'
                                          [17:43:57] [Client thread/INFO] [MinecraftForge]: Attempting early MinecraftForge initialization
                                          [17:43:57] [Client thread/INFO] [FML]: MinecraftForge v11.14.4.1563 Initialized
                                          [17:43:57] [Client thread/INFO] [FML]: Replaced 204 ore recipies
                                          [17:43:57] [Client thread/INFO] [MinecraftForge]: Completed early MinecraftForge initialization
                                          [17:43:57] [Client thread/INFO] [FML]: Found 0 mods from the command line. Injecting into mod discoverer
                                          [17:43:57] [Client thread/INFO] [FML]: Searching G:\Codage\Minecraft\This_is_Halloween\v1.3\MC 1.8\run\mods for mods
                                          [17:43:58] [Client thread/INFO] [FML]: Forge Mod Loader has identified 4 mods to load
                                          [17:43:59] [Client thread/INFO] [FML]: Attempting connection with missing mods [mcp, FML, Forge, This_is_Halloween] at CLIENT
                                          [17:43:59] [Client thread/INFO] [FML]: Attempting connection with missing mods [mcp, FML, Forge, This_is_Halloween] at SERVER
                                          [17:43:59] [Client thread/INFO]: Reloading ResourceManager: Default, FMLFileResourcePack:Forge Mod Loader, FMLFileResourcePack:Minecraft Forge, FMLFileResourcePack:This_is_Halloween
                                          [17:43:59] [Client thread/INFO] [FML]: Processing ObjectHolder annotations
                                          [17:43:59] [Client thread/INFO] [FML]: Found 384 ObjectHolder annotations
                                          [17:43:59] [Client thread/INFO] [FML]: Identifying ItemStackHolder annotations
                                          [17:43:59] [Client thread/INFO] [FML]: Found 0 ItemStackHolder annotations
                                          [17:43:59] [Client thread/INFO] [FML]: Configured a dormant chunk cache size of 0
                                          [17:43:59] [Forge Version Check/INFO] [ForgeVersionCheck]: [Forge] Starting version check at http://files.minecraftforge.net/maven/net/minecraftforge/forge/promotions_slim.json
                                          [17:43:59] [Client thread/INFO] [FML]: Applying holder lookups
                                          [17:43:59] [Client thread/INFO] [FML]: Holder lookups applied
                                          [17:43:59] [Client thread/INFO] [FML]: Injecting itemstacks
                                          [17:43:59] [Client thread/INFO] [FML]: Itemstack injection complete
                                          [17:43:59] [Sound Library Loader/INFO]: Starting up SoundSystem…
                                          [17:44:00] [Thread-9/INFO]: Initializing LWJGL OpenAL
                                          [17:44:00] [Thread-9/INFO]: (The LWJGL binding of OpenAL.  For more information, see http://www.lwjgl.org)
                                          [17:44:00] [Thread-9/INFO]: OpenAL initialized.
                                          [17:44:00] [Forge Version Check/INFO] [ForgeVersionCheck]: [Forge] Found status: UP_TO_DATE Target: null
                                          [17:44:00] [Sound Library Loader/INFO]: Sound engine started
                                          [17:44:03] [Client thread/INFO] [FML]: Max texture size: 16384
                                          [17:44:03] [Client thread/INFO]: Created: 16x16 textures-atlas
                                          [17:44:04] [Client thread/INFO] [FML]: Injecting itemstacks
                                          [17:44:04] [Client thread/INFO] [FML]: Itemstack injection complete
                                          [17:44:04] [Client thread/INFO] [FML]: Forge Mod Loader has successfully loaded 4 mods
                                          [17:44:04] [Client thread/INFO]: Reloading ResourceManager: Default, FMLFileResourcePack:Forge Mod Loader, FMLFileResourcePack:Minecraft Forge, FMLFileResourcePack:This_is_Halloween
                                          [17:44:04] [Client thread/INFO]: SoundSystem shutting down…
                                          [17:44:04] [Client thread/WARN]: Author: Paul Lamb, www.paulscode.com
                                          [17:44:04] [Sound Library Loader/INFO]: Starting up SoundSystem…
                                          [17:44:04] [Thread-11/INFO]: Initializing LWJGL OpenAL
                                          [17:44:04] [Thread-11/INFO]: (The LWJGL binding of OpenAL.  For more information, see http://www.lwjgl.org)
                                          [17:44:04] [Thread-11/INFO]: OpenAL initialized.
                                          [17:44:05] [Sound Library Loader/INFO]: Sound engine started
                                          [17:44:07] [Client thread/INFO] [FML]: Max texture size: 16384
                                          [17:44:07] [Client thread/INFO]: Created: 512x512 textures-atlas
                                          [17:47:01] [Server thread/INFO]: Starting integrated minecraft server version 1.8
                                          [17:47:01] [Server thread/INFO]: Generating keypair
                                          [17:47:01] [Server thread/INFO]: Converting map!
                                          [17:47:01] [Server thread/INFO]: Scanning folders…
                                          [17:47:01] [Server thread/INFO]: Total conversion count is 0
                                          [17:47:01] [Server thread/INFO] [FML]: Injecting existing block and item data into this server instance
                                          [17:47:01] [Server thread/INFO] [FML]: Applying holder lookups
                                          [17:47:01] [Server thread/INFO] [FML]: Holder lookups applied
                                          [17:47:01] [Server thread/INFO] [FML]: Loading dimension 0 (New World) (net.minecraft.server.integrated.IntegratedServer@19c2ebac)
                                          [17:47:02] [Server thread/INFO] [FML]: Loading dimension -5 (New World) (net.minecraft.server.integrated.IntegratedServer@19c2ebac)
                                          [17:47:02] [Server thread/INFO] [FML]: Loading dimension 1 (New World) (net.minecraft.server.integrated.IntegratedServer@19c2ebac)
                                          [17:47:02] [Server thread/INFO] [FML]: Loading dimension -1 (New World) (net.minecraft.server.integrated.IntegratedServer@19c2ebac)
                                          [17:47:02] [Server thread/INFO]: Preparing start region for level 0
                                          [17:47:03] [Server thread/INFO]: Preparing spawn area: 83%
                                          [17:47:03] [Server thread/INFO]: Changing view distance to 12, from 10
                                          [17:47:05] [Netty Local Client IO #0/INFO] [FML]: Server protocol version 2
                                          [17:47:05] [Netty Server IO #1/INFO] [FML]: Client protocol version 2
                                          [17:47:05] [Netty Server IO #1/INFO] [FML]: Client attempting to join with 4 mods : This_is_Halloween@1.3,FML@8.0.99.99,Forge@11.14.4.1563,mcp@9.05
                                          [17:47:05] [Netty Local Client IO #0/INFO] [FML]: [Netty Local Client IO #0] Client side modded connection established
                                          [17:47:05] [Server thread/INFO] [FML]: [Server thread] Server side modded connection established
                                          [17:47:05] [Server thread/INFO]: Player226[local:E:04ed21f6] logged in with entity id 39 at (1063.5, 4.0, -12.5)
                                          [17:47:05] [Server thread/INFO]: Player226 joined the game
                                          [17:47:06] [Server thread/INFO]: Saving and pausing game…
                                          [17:47:06] [Server thread/INFO]: Saving chunks for level 'New World'/Overworld
                                          [17:47:06] [Server thread/INFO]: Saving chunks for level 'New World'/Nether
                                          [17:47:06] [Server thread/INFO]: Saving chunks for level 'New World'/The End
                                          [17:47:06] [Server thread/INFO]: Saving chunks for level 'New World'/Frightful
                                          [17:47:26] [Server thread/INFO]: Saving and pausing game…
                                          [17:47:26] [Server thread/INFO]: Saving chunks for level 'New World'/Overworld
                                          [17:47:26] [Server thread/INFO]: Saving chunks for level 'New World'/Nether
                                          [17:47:26] [Server thread/INFO]: Saving chunks for level 'New World'/The End
                                          [17:47:26] [Server thread/INFO]: Saving chunks for level 'New World'/Frightful
                                          [17:47:30] [Server thread/INFO]: Player226 has just earned the achievement [Taking Inventory]
                                          [17:47:30] [Client thread/INFO]: [CHAT] Player226 has just earned the achievement [Taking Inventory]
                                          [17:47:55] [Client thread/INFO] [STDOUT]: [thisishalloween.block.BlockPortalFrightful:onEntityCollidedWithBlock:209]: test onEntityCollidedWithBlock
                                          [17:47:55] [Client thread/INFO] [STDOUT]: [thisishalloween.block.BlockPortalFrightful:onEntityCollidedWithBlock:209]: test onEntityCollidedWithBlock
                                          [17:47:55] [Server thread/INFO] [STDOUT]: [thisishalloween.block.BlockPortalFrightful:onEntityCollidedWithBlock:209]: test onEntityCollidedWithBlock
                                          [17:47:55] [Server thread/INFO] [STDOUT]: [thisishalloween.block.BlockPortalFrightful:onEntityCollidedWithBlock:230]: test joueur n'est pas dans Frightful
                                          [17:47:55] [Server thread/INFO] [STDOUT]: [thisishalloween.world.frightful.TeleporterFrightful:placeInPortal:44]: test placeInPortal1
                                          [17:47:55] [Server thread/INFO] [STDOUT]: [thisishalloween.world.frightful.TeleporterFrightful:placeInPortal:48]: test placeInPortal2
                                          [17:47:55] [Server thread/INFO] [STDOUT]: [thisishalloween.world.frightful.TeleporterFrightful:placeInExistingPortal:88]: test placeInExistingPortal
                                          [17:47:55] [Server thread/FATAL] [FML]: Exception caught executing FutureTask: java.util.concurrent.ExecutionException: net.minecraft.util.ReportedException: Colliding entity with block
                                          java.util.concurrent.ExecutionException: net.minecraft.util.ReportedException: Colliding entity with block
                                           at java.util.concurrent.FutureTask.report(Unknown Source) ~[?:1.8.0_92]
                                           at java.util.concurrent.FutureTask.get(Unknown Source) ~[?:1.8.0_92]
                                           at net.minecraftforge.fml.common.FMLCommonHandler.callFuture(FMLCommonHandler.java:715) [FMLCommonHandler.class:?]
                                           at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:727) [MinecraftServer.class:?]
                                           at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:669) [MinecraftServer.class:?]
                                           at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:171) [IntegratedServer.class:?]
                                           at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:540) [MinecraftServer.class:?]
                                           at java.lang.Thread.run(Unknown Source) [?:1.8.0_92]
                                          Caused by: net.minecraft.util.ReportedException: Colliding entity with block
                                           at net.minecraft.entity.Entity.moveEntity(Entity.java:857) ~[Entity.class:?]
                                           at net.minecraft.network.NetHandlerPlayServer.processPlayer(NetHandlerPlayServer.java:381) ~[NetHandlerPlayServer.class:?]
                                           at net.minecraft.network.play.client.C03PacketPlayer.processPacket(C03PacketPlayer.java:36) ~[C03PacketPlayer.class:?]
                                           at net.minecraft.network.play.client.C03PacketPlayer$C06PacketPlayerPosLook.processPacket(C03PacketPlayer.java:259) ~[C03PacketPlayer$C06PacketPlayerPosLook.class:?]
                                           at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:24) ~[PacketThreadUtil$1.class:?]
                                           at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) ~[?:1.8.0_92]
                                           at java.util.concurrent.FutureTask.run(Unknown Source) ~[?:1.8.0_92]
                                           at net.minecraftforge.fml.common.FMLCommonHandler.callFuture(FMLCommonHandler.java:714) ~[FMLCommonHandler.class:?]
                                           … 5 more
                                          Caused by: java.lang.NullPointerException
                                           at net.minecraft.world.gen.ChunkProviderServer.originalLoadChunk(ChunkProviderServer.java:195) ~[ChunkProviderServer.class:?]
                                           at net.minecraft.world.gen.ChunkProviderServer.loadChunk(ChunkProviderServer.java:138) ~[ChunkProviderServer.class:?]
                                           at net.minecraft.world.gen.ChunkProviderServer.loadChunk(ChunkProviderServer.java:108) ~[ChunkProviderServer.class:?]
                                           at net.minecraft.world.gen.ChunkProviderServer.provideChunk(ChunkProviderServer.java:209) ~[ChunkProviderServer.class:?]
                                           at net.minecraft.world.World.getChunkFromChunkCoords(World.java:360) ~[World.class:?]
                                           at net.minecraft.world.World.getChunkFromBlockCoords(World.java:349) ~[World.class:?]
                                           at net.minecraft.world.World.getBlockState(World.java:902) ~[World.class:?]
                                           at thisishalloween.world.frightful.TeleporterFrightful.placeInExistingPortal(TeleporterFrightful.java:120) ~[TeleporterFrightful.class:?]
                                           at thisishalloween.world.frightful.TeleporterFrightful.placeInPortal(TeleporterFrightful.java:50) ~[TeleporterFrightful.class:?]
                                           at net.minecraft.server.management.ServerConfigurationManager.transferEntityToWorld(ServerConfigurationManager.java:670) ~[ServerConfigurationManager.class:?]
                                           at net.minecraft.server.management.ServerConfigurationManager.transferPlayerToDimension(ServerConfigurationManager.java:576) ~[ServerConfigurationManager.class:?]
                                           at thisishalloween.block.BlockPortalFrightful.onEntityCollidedWithBlock(BlockPortalFrightful.java:232) ~[BlockPortalFrightful.class:?]
                                           at net.minecraft.entity.Entity.doBlockCollisions(Entity.java:924) ~[Entity.class:?]
                                           at net.minecraft.entity.Entity.moveEntity(Entity.java:850) ~[Entity.class:?]
                                           at net.minecraft.network.NetHandlerPlayServer.processPlayer(NetHandlerPlayServer.java:381) ~[NetHandlerPlayServer.class:?]
                                           at net.minecraft.network.play.client.C03PacketPlayer.processPacket(C03PacketPlayer.java:36) ~[C03PacketPlayer.class:?]
                                           at net.minecraft.network.play.client.C03PacketPlayer$C06PacketPlayerPosLook.processPacket(C03PacketPlayer.java:259) ~[C03PacketPlayer$C06PacketPlayerPosLook.class:?]
                                           at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:24) ~[PacketThreadUtil$1.class:?]
                                           at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) ~[?:1.8.0_92]
                                           at java.util.concurrent.FutureTask.run(Unknown Source) ~[?:1.8.0_92]
                                           at net.minecraftforge.fml.common.FMLCommonHandler.callFuture(FMLCommonHandler.java:714) ~[FMLCommonHandler.class:?]
                                           … 5 more
                                          [17:47:55] [Server thread/ERROR]: Encountered an unexpected exception
                                          net.minecraft.util.ReportedException: Exception ticking world
                                           at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:770) ~[MinecraftServer.class:?]
                                           at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:669) ~[MinecraftServer.class:?]
                                           at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:171) ~[IntegratedServer.class:?]
                                           at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:540) [MinecraftServer.class:?]
                                           at java.lang.Thread.run(Unknown Source) [?:1.8.0_92]
                                          Caused by: java.lang.NullPointerException
                                           at net.minecraft.world.gen.ChunkProviderServer.unloadAllChunks(ChunkProviderServer.java:99) ~[ChunkProviderServer.class:?]
                                           at net.minecraft.server.management.PlayerManager.updatePlayerInstances(PlayerManager.java:94) ~[PlayerManager.class:?]
                                           at net.minecraft.world.WorldServer.tick(WorldServer.java:230) ~[WorldServer.class:?]
                                           at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:764) ~[MinecraftServer.class:?]
                                           … 4 more
                                          [17:47:55] [Server thread/ERROR]: This crash report has been saved to: G:\Codage\Minecraft\This_is_Halloween\v1.3\MC 1.8\run\.\crash-reports\crash-2016-07-03_17.47.55-server.txt
                                          [17:47:55] [Server thread/INFO]: Stopping server
                                          [17:47:55] [Server thread/INFO]: Saving players
                                          [17:47:56] [Server thread/INFO]: Saving worlds
                                          [17:47:56] [Server thread/INFO]: Saving chunks for level 'New World'/Overworld
                                          [17:47:56] [Server thread/INFO]: Saving chunks for level 'New World'/Nether
                                          [17:47:56] [Server thread/INFO]: Saving chunks for level 'New World'/The End
                                          [17:47:56] [Server thread/INFO]: Saving chunks for level 'New World'/Frightful
                                          [17:47:56] [Server thread/ERROR]: Exception stopping the server
                                          java.lang.NullPointerException
                                           at net.minecraft.world.gen.ChunkProviderServer.saveChunks(ChunkProviderServer.java:330) ~[ChunkProviderServer.class:?]
                                           at net.minecraft.world.WorldServer.saveAllChunks(WorldServer.java:976) ~[WorldServer.class:?]
                                           at net.minecraft.server.MinecraftServer.saveAllWorlds(MinecraftServer.java:419) ~[MinecraftServer.class:?]
                                           at net.minecraft.server.MinecraftServer.stopServer(MinecraftServer.java:454) ~[MinecraftServer.class:?]
                                           at net.minecraft.server.integrated.IntegratedServer.stopServer(IntegratedServer.java:356) ~[IntegratedServer.class:?]
                                           at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:593) [MinecraftServer.class:?]
                                           at java.lang.Thread.run(Unknown Source) [?:1.8.0_92]
                                          [17:47:56] [Server thread/INFO] [FML]: Applying holder lookups
                                          [17:47:56] [Server thread/INFO] [FML]: Holder lookups applied
                                          [17:47:56] [Server thread/INFO] [FML]: The state engine was in incorrect state SERVER_STOPPING and forced into state SERVER_STOPPED. Errors may have been discarded.
                                          

                                          C’est un NPE, je ne sais pas si ce que j’ai trouvé  est la réponse à ça ou pas.

                                          Dans la fonction placeInPortal, c’est cette condition qui bug : ```java
                                          if (!this.placeInExistingPortal(entityIn, rotationYaw))
                                                      {
                                                       System.out.println(“test placeInPortal3”);

                                          this.makePortal(entityIn);
                                                          this.placeInExistingPortal(entityIn, rotationYaw);
                                                      }

                                          car dans les logs, le test placeInPortal 1 et 2 s'affichent mais pas le 3\. Donc la fonction makePortal n'est pas appelé, ce qui peut être la cause du crash.
                                          
                                          Sinon, j'aurai encore une question (et après j'arrête de vous embêter avec ce mod) : quand y'a de l'orage, il pleut et le ciel devient plus foncé. Je voudrais faire qu'il y ai de l'orage, mais qu'il ne pleuve pas. J'ai essayé plein de chose, mais sans succès (soit il pleut, soit il fait beau). Comme si l'orage est dépendant de la pluie.
                                          
                                          Merci d'avance___Salut
                                          Pour la dimension, le problème n'est pas dans le teleporter mais la dimension en elle-même. J'ai essayé d'utiliser le teleporter de Minecraft et c'est le même crash. J'ai essayer de remplacer ma classe par la classe original (BlockPortal) et en essayant sans rien modifié, ça m'emmène dans le Nether (donc le tp marche bien). Je modifie juste le tp pour m'emmener dans ma dimension en mettant : [java]if (entityIn instanceof EntityPlayerMP)
                                             {
                                              EntityPlayerMP player = (EntityPlayerMP) entityIn;
                                              MinecraftServer mcServer = MinecraftServer.getServer();
                                          
                                              if (player.timeUntilPortal > 0)
                                              {
                                               player.timeUntilPortal = 10;
                                              }
                                              else if (player.dimension != thisishalloween.ThisisHalloween.DIMENSIONID)
                                          1 réponse Dernière réponse Répondre Citer 0
                                          • AymericRedA Hors-ligne
                                            AymericRed
                                            dernière édition par

                                            Ta dimension est-elle bien enregistrée avec le bon id ?
                                            Pour l’orage sans pluie, il doit y avoir un moyen, je regarderais 😉

                                            Si je vous ai aidé, n'oubliez pas d’être heureux, j'aiderai encore +

                                            AymericRed, moddeur expérimenté qui aide sur ce forum et qui peut accepter de faire un mod Forge rémunéré de temps en temps.

                                            Mes tutos : Table de craft, plugin NEI, plugin JEI, modifier l'overlay
                                            Je suis un membre apprécié et joueur, j'ai déjà obtenu 6 points de réputation.

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

                                            MINECRAFT FORGE FRANCE © 2024

                                            Powered by NodeBB