Configuration Plugin tp player plugin

4 Décembre 2021
14
0
1
24
bonjour,
je veux tp un jouer au spanw au loc 0, 0, 0 dans 15 sec après sa victoire le temp de recuperer le stuff de adversaire
merci
cordialement,
jessy.l

Code:
   private void checkWin() {
       if (this.players.size() == 1) {
       
       Player winner = this.players.get(0);
       Bukkit.broadcastMessage(String.valueOf(winner.getName()) + " gagne le duel ! ");
       winner.sendMassage("Tu sera tp dans 15 seconde au spawn")
       winner.teleport("je veux tp un jouer au spanw au loc  0, 0, 0 dans 15 sec après sa victoire le temp de recuperer le stuff de adversaire")
      
       restart();
   } 
}
Code:
package fr.lemineurfou.duel.arenas;

import java.util.ArrayList;
import java.util.List;
import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.entity.Player;
 
 
public class Arena
{
    private Location loc1;
    private Location loc2;
    private List<Player> players;
    private boolean isStarted;
      
    public Arena(Location loc1, Location loc2) {
    this.loc1 = loc1;
    this.loc2 = loc2;
    this.players = new ArrayList<>();
    this.isStarted = false;
    restart();
    }
       
     
    public Location getFirstLoc() {
    return this.loc1;
    }
     
       
    public Location getSecondLoc() {
    return this.loc2;
    }
    
    public List<Player> getplayers() {
    return this.players;
    }
    
    public void setStarted() {
    this.isStarted = true;
    }
    
    
   
   public boolean isStarted() {
   return this.isStarted;
   }
   
   public void eliminate(Player victim) {
   this.players.remove(victim);
   checkWin();
   }
    
   
   
   private void checkWin() {
       if (this.players.size() == 1) {
       
       Player winner = this.players.get(0);
       Bukkit.broadcastMessage(String.valueOf(winner.getName()) + " gagne le duel ! ");
       winner.sendMassage("Tu sera tp dans 15 seconde au spawn")
       winner.teleport("je veux tp un jouer au spanw au loc  0, 0, 0 dans 15 sec après sa victoire le temp de recuperer le stuff de adversaire")
      
       restart();
   } 
}

  
   private void restart() {
    this.players = new ArrayList<>();
    this.isStarted = false;
  }
}
 
Bonjour !

Classe location de Spigot : https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/Location.html
Un topic qui parle du même souhait que le tiens : https://www.spigotmc.org/threads/how-to-teleport-a-player-to-specific-coordinates.420255/
Comment faire un minuteur en java : https://stackoverflow.com/questions/24104313/how-do-i-make-a-delay-in-java

Attention pour le minuteur, si tu ne fais pas de tâche asynchrone, tout le plugin sera bloqué pendant les 15 secondes et ne pourra pas faire d'autres tâches. Pour se faire, il te faudra utiliser les reapating task de spigot.

AlexFatta
 
Bonjour !

Classe location de Spigot : https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/Location.html
Un topic qui parle du même souhait que le tiens : https://www.spigotmc.org/threads/how-to-teleport-a-player-to-specific-coordinates.420255/
Comment faire un minuteur en java : https://stackoverflow.com/questions/24104313/how-do-i-make-a-delay-in-java

Attention pour le minuteur, si tu ne fais pas de tâche asynchrone, tout le plugin sera bloqué pendant les 15 secondes et ne pourra pas faire d'autres tâches. Pour se faire, il te faudra utiliser les reapating task de spigot.

AlexFatta
Bonjour.

Je tiens à ajouter quelques commentaires :
Déjà, tu peux tout simplement delay une task avec Bukkit (BukkitScheduler#runTaskLater).
Ensuite, si tu fais ta task en asynchrone, n'oublie pas de re-synchroniser tes actions avec spigot !!
Spigot ne supporte pas l'asynchrone.

Cordialement.
 
  • J'aime
Reactions: Alex Fatta