• S'inscrire
    • Se connecter
    • Recherche
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes

    Modifier la rotation de la tête

    Sans suite
    1.7.10
    2
    4
    1156
    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.
    • Lycoon
      Lycoon dernière édition par

      Bonjour, j’aimerais suite à une commande, orienter la tête d’un NPC joueur (donc de type biped). J’ai pensé à utiliser GLRotate mais setRotationYawHead semble beaucoup plus convenu. Bref, je l’utilise server-side dans l’exécution de ma commande et voilà :

      :::

      [17:14:29] [Server thread/ERROR] [net.minecraft.command.CommandHandler]: Couldn’t process command: ‘npc create Magasin 100’
      java.lang.NoSuchMethodError: net.minecraft.entity.EntityCreature.setRotationYawHead(F)V
      at com.lycoon.lemnoslife.commands.CommandeNPC.spawnNPC(CommandeNPC.java:93) ~[CommandeNPC.class:?]
      at com.lycoon.lemnoslife.commands.CommandeNPC.processCommand(CommandeNPC.java:80) ~[CommandeNPC.class:?]
      at net.minecraft.command.CommandHandler.executeCommand(CommandHandler.java:96) [CommandHandler.class:?]
      at net.minecraft.network.NetHandlerPlayServer.handleSlashCommand(NetHandlerPlayServer.java:788) [NetHandlerPlayServer.class:?]
      at net.minecraft.network.NetHandlerPlayServer.processChatMessage(NetHandlerPlayServer.java:764) [NetHandlerPlayServer.class:?]
      at net.minecraft.network.play.client.C01PacketChatMessage.processPacket(C01PacketChatMessage.java:47) [C01PacketChatMessage.class:?]
      at net.minecraft.network.play.client.C01PacketChatMessage.processPacket(C01PacketChatMessage.java:68) [C01PacketChatMessage.class:?]
      at net.minecraft.network.NetworkManager.processReceivedPackets(NetworkManager.java:241) [NetworkManager.class:?]
      at net.minecraft.network.NetworkSystem.networkTick(NetworkSystem.java:182) [NetworkSystem.class:?]
      at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:726) [MinecraftServer.class:?]
      at net.minecraft.server.dedicated.DedicatedServer.updateTimeLightAndEntities(DedicatedServer.java:349) [DedicatedServer.class:?]
      at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:614) [MinecraftServer.class:?]
      at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:485) [MinecraftServer.class:?]
      at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:752) [MinecraftServer$2.class:?]
      :::

      Puis voici comment je fais spawn mon EntityCreature :

      
      if(type.matches("Magasin")){
         EntityNPCMagasin npc = new EntityNPCMagasin(world);
         spawnNPC(npc);
      }
      
      
      
      public void spawnNPC(EntityCreature npc){
         npc.setPositionAndRotation(player.posX, player.posY, player.posZ, 0, 0);
         npc.setRotationYawHead(rotation);
         npc.setCustomNameTag(type);
      
         world.spawnEntityInWorld(npc);
         player.addChatMessage(new ChatComponentText("NPC " +type+ " créé avec succès !").setChatStyle(vert));
      }
      
      
      1 réponse Dernière réponse Répondre Citer 0
      • AymericRed
        AymericRed dernière édition par

        Salut, c’est une méthode cliente only donc tu dois obligatoirement l’utiliser côté client, ou alors la recréer toi-même dans ton entité et synchroniser la valeur de cette variable pour la rotation.

        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
        • Lycoon
          Lycoon dernière édition par

          @‘AymericRed’:

          Salut, c’est une méthode cliente only donc tu dois obligatoirement l’utiliser côté client, ou alors la recréer toi-même dans ton entité et synchroniser la valeur de cette variable pour la rotation.

          Donc je la c/c dans ma classe d´entité custom je vois, mais pour la sync ? Comment configures-tu le packet, je dois faire un sendToAll ? Seuls les joueurs connectés auront le NPC dans le bon sens…

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

            Non il faudrait plutôt utiliser les DataWatcher (fais une recherche ou regarde les classes vanilla), tu set une valeur (côté serveur) et le jeu s’occupera de sync avec tout le monde.

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

            MINECRAFT FORGE FRANCE © 2018

            Powered by NodeBB