1.12.2 Créer un taxi avec une entitée.



  • Bonjour,
    je souhaite créer une sorte de Taxi avec une entité, je m'explique, lorsque je monte sur une entité qu'elle aille d'un point A (où elle se situe) à un point B. Il n'y a aucun problème avec les obstacles puisque l’entité vole. On m'a déjà aidé et on m'a conseillé ça:

    @SubscribeEvent
    	public static void onMount(EntityMountEvent event) {
    		Entity entMount = event.getEntityMounting();
    		Entity entMounted = event.getEntityBeingMounted();
    		if(entMount instanceof EntityPlayer) {
    			EntityPlayer player = (EntityPlayer) entMount;
    			if(entMounted instanceof EntityHippogryph) {
    				EntityHippogryph hipo = (EntityHippogryph) entMounted;
    				BlockPos target = new BlockPos(10, 4, 10);
    				double vitesse = 0.5D;
    				
    				double diffX = target.getX() - hipo.getPosition().getX();
    				double diffY = target.getY() - hipo.getPosition().getY();
    				double diffZ = target.getZ() - hipo.getPosition().getZ();
    				
    				double veloX = diffX / Math.sqrt(diffX*diffX + diffY*diffY + diffZ*diffZ) * vitesse;
    				double veloY = diffY / Math.sqrt(diffX*diffX + diffY*diffY + diffZ*diffZ) * vitesse;
    				double veloZ = diffZ / Math.sqrt(diffX*diffX + diffY*diffY + diffZ*diffZ) * vitesse;
    				
    				hipo.setVelocity(veloX, veloY, veloZ);
    			}
    		}
    	}
    

    L'event se déclenche bien mais l’entité ne bouge pas :/ est-ce du fait que je suis dessus et que je puisse a contrôler? J'attends votre aide avec impatience =)
    Cordialement, Vriliox.



  • Bonjour, si c'est une entité qui est à toi, tu n'as pas besoin de passer par un évent. Tu peux override la fonction onUpdate de ton entité est faire la logique dedans. Là le problème c'est sûrement que l'évent est appelé que au moment où le joueur monte sur l'entité et n'est pas appelé après.



  • Bonjour, ce n'est pas une entité qui m'appartient mais qui est implémenté par le mod Ice and Fire, et est-ce possible de créer un cooldown par exemple de quelques secondes pour que l'action se déclenche un lapse de temps après être monté?



  • Je up, si quelqu'un à une idée.



  • Bonjour,

    Tu peux utiliser les nbt de l'entité ou une capability pour stocker un timer sur l'entité. Ensuite l'évent d'update d'entité pour incrémenter le timer et faire ton action si le timer dépasse un certain nombre


Log in to reply