MFF

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

    Problème sur le rendu d'une Entity Boat.

    Planifier Épinglé Verrouillé Déplacé Résolu 1.9.x et 1.10.x
    1.10.x
    14 Messages 3 Publieurs 2.1k 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.
    • N Hors-ligne
      Neutron_Stars
      dernière édition par

      @‘Reden’:

      Bonsoir, le rendu des entités doit être enregistré depuis la méthode pré-init et non init comme tu l’as fait. 🙂

      Bonsoir, sur le coup ta proposition ma paru farfelu mais j’ai tout de même essayé et franchement, un gros GG et merci à toi, tu m’as donné la solution qui à ruiné toute ma journée d’hier. xD

      J’aurais du penser à le faire avant mais je ne l’avais pas fait en pensant que ça ne changerais rien mais tu m’as prouvé le contraire. Merci à toi encore. ^^

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

        De rien, pour t’expliquer je pense que cela est dû aux RenderFactory qui sont chargés depuis le pre-init (pour la compatibilité et l’override par d’autres mods ?).

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

          La je ne pourrais pas te dire 🙂

          J’ai un autre problème sur le spawn du bateau.

          J’ai réutilisé la methode du bateau classique mais je suppose qu’il y a une erreur sur world.spawnEntityInWorld(entity) ;

          :::

          package fr.sunmod.neutronstars.items;
          import java.util.List;
          import fr.sunmod.neutronstars.CreativeTab.SunTabCreative;
          import fr.sunmod.neutronstars.entity.SunBoat;
          import fr.sunmod.neutronstars.infos.Infos;
          import fr.sunmod.neutronstars.renders.RenderSunBoat;
          import net.minecraft.block.Block;
          import net.minecraft.client.Minecraft;
          import net.minecraft.client.renderer.block.model.ModelResourceLocation;
          import net.minecraft.creativetab.CreativeTabs;
          import net.minecraft.entity.Entity;
          import net.minecraft.entity.EntityLiving;
          import net.minecraft.entity.IEntityLivingData;
          import net.minecraft.entity.effect.EntityLightningBolt;
          import net.minecraft.entity.item.EntityBoat;
          import net.minecraft.entity.player.EntityPlayer;
          import net.minecraft.init.Blocks;
          import net.minecraft.item.Item;
          import net.minecraft.item.ItemStack;
          import net.minecraft.nbt.NBTTagCompound;
          import net.minecraft.stats.StatList;
          import net.minecraft.util.ActionResult;
          import net.minecraft.util.EnumActionResult;
          import net.minecraft.util.EnumHand;
          import net.minecraft.util.math.AxisAlignedBB;
          import net.minecraft.util.math.BlockPos;
          import net.minecraft.util.math.MathHelper;
          import net.minecraft.util.math.RayTraceResult;
          import net.minecraft.util.math.Vec3d;
          import net.minecraft.world.World;
          import net.minecraft.world.chunk.storage.AnvilChunkLoader;
          import net.minecraftforge.fml.common.registry.GameRegistry;
          public class SunBoatItem extends Item{
           public SunBoatItem(){
            super.maxStackSize = 1;
               super.setCreativeTab(SunTabCreative.creativeTabsItems);
               super.setUnlocalizedName("sun_boat");
               GameRegistry.registerItem(this, this.getUnlocalizedName().substring(5));
           }
          
           @Override
           public ActionResult <itemstack>onItemRightClick(ItemStack itemStackIn, World worldIn, EntityPlayer playerIn, EnumHand hand)
              {
                  float f = 1.0F;
                  float f1 = playerIn.prevRotationPitch + (playerIn.rotationPitch - playerIn.prevRotationPitch) * 1.0F;
                  float f2 = playerIn.prevRotationYaw + (playerIn.rotationYaw - playerIn.prevRotationYaw) * 1.0F;
                  double d0 = playerIn.prevPosX + (playerIn.posX - playerIn.prevPosX) * 1.0D;
                  double d1 = playerIn.prevPosY + (playerIn.posY - playerIn.prevPosY) * 1.0D + (double)playerIn.getEyeHeight();
                  double d2 = playerIn.prevPosZ + (playerIn.posZ - playerIn.prevPosZ) * 1.0D;
                  Vec3d vec3d = new Vec3d(d0, d1, d2);
                  float f3 = MathHelper.cos(-f2 * 0.017453292F - (float)Math.PI);
                  float f4 = MathHelper.sin(-f2 * 0.017453292F - (float)Math.PI);
                  float f5 = -MathHelper.cos(-f1 * 0.017453292F);
                  float f6 = MathHelper.sin(-f1 * 0.017453292F);
                  float f7 = f4 * f5;
                  float f8 = f3 * f5;
                  double d3 = 5.0D;
                  Vec3d vec3d1 = vec3d.addVector((double)f7 * 5.0D, (double)f6 * 5.0D, (double)f8 * 5.0D);
                  RayTraceResult raytraceresult = worldIn.rayTraceBlocks(vec3d, vec3d1, true);
                  if (raytraceresult == null)
                  {
                      return new ActionResult(EnumActionResult.PASS, itemStackIn);
                  }
                  else
                  {
                      Vec3d vec3d2 = playerIn.getLook(1.0F);
                      boolean flag = false;
                      List <entity>list = worldIn.getEntitiesWithinAABBExcludingEntity(playerIn, playerIn.getEntityBoundingBox().addCoord(vec3d2.xCoord * 5.0D, vec3d2.yCoord * 5.0D, vec3d2.zCoord * 5.0D).expandXyz(1.0D));
                      for (int i = 0; i < list.size(); ++i)
                      {
                          Entity entity = (Entity)list.get(i);
                          if (entity.canBeCollidedWith())
                          {
                              AxisAlignedBB axisalignedbb = entity.getEntityBoundingBox().expandXyz((double)entity.getCollisionBorderSize());
                              if (axisalignedbb.isVecInside(vec3d))
                              {
                                  flag = true;
                              }
                          }
                      }
                      if (flag)
                      {
                          return new ActionResult(EnumActionResult.PASS, itemStackIn);
                      }
                      else if (raytraceresult.typeOfHit != RayTraceResult.Type.BLOCK)
                      {
                          return new ActionResult(EnumActionResult.PASS, itemStackIn);
                      }
                      else
                      {
                          Block block = worldIn.getBlockState(raytraceresult.getBlockPos()).getBlock();
                          boolean flag1 = block == Blocks.WATER || block == Blocks.FLOWING_WATER;
                          SunBoat entityboat = new SunBoat(worldIn,raytraceresult.hitVec.xCoord, flag1 ? raytraceresult.hitVec.yCoord - 0.12D : raytraceresult.hitVec.yCoord, raytraceresult.hitVec.zCoord);
                          entityboat.rotationYaw = playerIn.rotationYaw;
          
                          if (!worldIn.getCollisionBoxes(entityboat, entityboat.getEntityBoundingBox().expandXyz(-0.1D)).isEmpty())
                          {
                              return new ActionResult(EnumActionResult.FAIL, itemStackIn);
                          }
                          else
                          {
                              if (!worldIn.isRemote)
                              {
                               worldIn.spawnEntityInWorld(entityboat);
                              }
                              if (!playerIn.capabilities.isCreativeMode)
                              {
                                  –itemStackIn.stackSize;
                              }
          
                              return new ActionResult(EnumActionResult.SUCCESS, itemStackIn);
                          }
                      }
                  }
              }
          
           public void registerRender(){
            Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(this, 0, new ModelResourceLocation(Infos.MOD+":"+this.getUnlocalizedName().substring(5), "inventory"));
           }
          }
          

          :::

          Je te remercierai une fois de plus si tu as la solution :)</entity></itemstack>

          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

            Quelle est l’erreur ?

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

              @‘robin4002’:

              Quelle est l’erreur ?

              Bah quand je fais click droit avec l’item, mon bateau ne spawn/apparait pas 😕

              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

                Ajoutes des print à différent endroit de la fonction puis regardes la console pour comprendre où ça bloque.

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

                  worldIn.spawnEntityInWorld(entityboat);

                  ça “bloque ici”, je l’avais fait hier ^^

                  Il ne me fait pas crash mais ça considere comme spawn mais je n’ai rien, à croire que pour forge ceci n’est pas bon ;/

                  Par contre quand je fais /summon monmod:boat_sun ça fonctionne

                  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

                    Rien dans les logs ?
                    Étrange comme problème ça.

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

                      Non rien 😕

                      Ces boat vont me sortir par les yeux ^^

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

                        C’est bon j’ai résolu mon problème, vu que le /summon fonctionné sur mon bateau j’ai recuperer le code et remplacer la methode ^^

                        :::

                        
                        [size=small**NBTTagCompound**] **[size=smallnbttagcompound]** [size=small=] **[size=smallnew]** [size=smallNBTTagCompound][size=small()][size=small;]
                        
                        [size=smallnbttagcompound][size=small.][size=smallsetString][size=small(][size=small"id"][size=small,] **[size=smallInfos]**[size=small.]***[size=smallMOD]***[size=small+][size=small".boat_sun"][size=small)][size=small;]
                        
                        **[size=smallEntity]** **[size=smallentity]** [size=small=] **[size=smallAnvilChunkLoader]**[size=small.]*[size=smallreadWorldEntityPos]*[size=small(][size=smallnbttagcompound][size=small,] [size=smallworldIn][size=small,] [size=smallraytraceresult][size=small.][size=smallhitVec][size=small.][size=smallxCoord][size=small,] [size=smallflag1] [size=small?] [size=smallraytraceresult][size=small.][size=smallhitVec][size=small.][size=smallyCoord] [size=small-] [size=small0.12D] [size=small:] [size=smallraytraceresult][size=small.][size=smallhitVec][size=small.][size=smallyCoord][size=small,] [size=smallraytraceresult][size=small.][size=smallhitVec][size=small.][size=smallzCoord][size=small,] **[size=smalltrue]**[size=small)][size=small;]
                        

                        :::

                        Le sujet peut-être déplacer en résolu, merci pour votre aide. 😛

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

                        MINECRAFT FORGE FRANCE © 2024

                        Powered by NodeBB