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

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

      1 réponse Dernière réponse Répondre Citer 0
      • 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