• Es freut uns dass du in unser Minecraft Forum gefunden hast. Hier kannst du mit über 130.000 Minecraft Fans über Minecraft diskutieren, Fragen stellen und anderen helfen. In diesem Minecraft Forum kannst du auch nach Teammitgliedern, Administratoren, Moderatoren , Supporter oder Sponsoren suchen. Gerne kannst du im Offtopic Bereich unseres Minecraft Forums auch über nicht Minecraft spezifische Themen reden. Wir hoffen dir gefällt es in unserem Minecraft Forum!

Teleport Cooldown

Funzocker1

Schafhirte
Registriert
21 Oktober 2012
Beiträge
127
Diamanten
0
Hallo und schonmal danke :D. Ich wollte fragen wie ich am besten ein teleport Delay coden könnte.
z.B /spawn du wirst in 3 sek. teleportier wenn du dich nicht bewegst.
Ich dachte am Anfang ich mache einfach eine HashMap mit den Sekunden bis zum Teleport und diese werden per schedueler runter gezählt. Sollte er sich aber bewegen wird er aus der HashMap geworfen.
So hatte ich überlegt.
Aber wenn es einen besseren Weg gibt bitte unten rein :D
 

rBxGame

Ehemaliges Teammitglied
Ehem. Teammitglied
Registriert
16 Februar 2012
Beiträge
1.074
Diamanten
0
Mal gegoogelt...

Code:
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.scheduler.BukkitRunnable;
import org.bukkit.scheduler.BukkitTask;
 
public final class ExamplePlugin extends JavaPlugin {
 
    @Override
    public void onEnable() {
        new ExampleListener(this);
    }
}
 
class ExampleListener implements Listener {
 
    private final ExamplePlugin plugin;
 
    public ExampleListener(ExamplePlugin plugin) {
        this.plugin = plugin;
        plugin.getServer().getPluginManager().registerEvents(this, plugin);
    }
 
    @EventHandler
    public void onJoin(PlayerJoinEvent event) {
        BukkitTask task = new ExampleTask(this).runTaskLater(plugin, 20);
    }
 
}

MFG
rBx
 

Plugin00

Kuhfänger
Registriert
3 Februar 2013
Beiträge
71
Diamanten
0
Code:
[CENTER]	public ArrayList<Player> TeleportListe = new ArrayList<Player>();	

public boolean onCommand(CommandSender sender, Command cmd, String commandLable, String[] args) {
		final Player pl = (Player)sender;
	    if (!(sender instanceof Player)) {
	    	og.info("Du kannst diesen Befehl nicht in der Console benutze!");
	        return true;
	      }
	    
	    
	    
  	  if (cmd.getName().equalsIgnoreCase("home")) {
  		   TeleportListe.add(pl);
  		   pl.sendMessage("§a§lDu wirst in 3 Sekunden Teleportiert!");
  		   
	       Bukkit.getScheduler().runTaskLaterAsynchronously(plugin, new Runnable() {

				@Override
				public void run() {
				if (TeleportListe.contains(pl)) {
					
			     int x = plugin.getConfig().getInt("Home." + pl.getName() + ".X");
			     int y = plugin.getConfig().getInt("Home." + pl.getName() + ".Y");
			     int z = plugin.getConfig().getInt("Home." + pl.getName() + ".Z");
			     
			     int pitch = plugin.getConfig().getInt("Home." + pl.getName() + ".PITCH");
			     int yaw = plugin.getConfig().getInt("Home." + pl.getName() + ".YAW");

			     String w = plugin.getConfig().getString("Home." + pl.getName() + ".W");
			     World world = Bukkit.getServer().getWorld(w);
			    	   
			     
			     Location loc = new Location(world, x, y, z, pitch, yaw);
			     pl.teleport(loc);
			     TeleportListe.remove(pl);
			     pl.sendMessage("§a§lDu hast dich erfolg Reicht Teleportiert!");
			     
				}   
			   }
	    	 }, 60);
	       
	       } else {
	    	  pl.sendMessage("§c§lDu hast noch kein Home Punkt gesetzt!");
	      }
		  
  	  
  	  
  	  
  	  if (cmd.getName().equalsIgnoreCase("sethome")) {
	       if (args.length == 0) {
	        	  
	    	   int x = pl.getLocation().getBlockX();
	    	   int y = pl.getLocation().getBlockY();
	    	   int z = pl.getLocation().getBlockZ();
	    	   
	    	   float pitch = pl.getLocation().getPitch();
	    	   float yaw = pl.getLocation().getYaw();
	    	   
	    	   String w = pl.getLocation().getWorld().getName().toString();
	    	   
	    	   plugin.getConfig().set("Home." + pl.getName() + ".X", x);
	    	   plugin.getConfig().set("Home." + pl.getName() + ".Y", y);
	    	   plugin.getConfig().set("Home." + pl.getName() + ".Z", z);
	    	   plugin.getConfig().set("Home." + pl.getName() + ".W", w);
	    	   plugin.getConfig().set("Home." + pl.getName() + ".PITCH", pitch);
	    	   plugin.getConfig().set("Home." + pl.getName() + ".YAW", yaw);
	    	   plugin.saveConfig();
	    	   
	    	   pl.sendMessage("§a§lDu hast dein Home Punkt gesetzt!");
	      }
	       
	       if (args.length == 1) {
	    	   pl.sendMessage("§a§lDu kannst nur ein Home Punkt setzten!");
	      }
	   }[/CENTER]

Habe ich mal gecodet, aber ob der Code noch geht ist grade dir frage..
 
Oben