• 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!

[FehlerCode] Kann mir jeamnd helfen ?

Masiwo

Redstoneengineer
Registriert
28 April 2013
Beiträge
40
Diamanten
0
Minecraft
blotiu
Hallo zusammen.


grade war ich dabei mal ein wenig an meinem Falldown Plugin weiterzucoden(Für mehrere Server), allerdings habe ich ein paar Fragen:
1. Wie kann man beim loaden des Plugins eine world loaden lassen ? Ansonsten gibts nämlich immer Null error, da die world dann nicht gefunden werden konnte.
Kurzfristig habe ich das jetzt mal mit Multiverse gelöst, hoffe aber auf einen Änderungsvorschlag.
2.
Wenn jetzt der Countdown abgelaufen ist kommt der Error hier in der Konsole:
Code:
[11:47:38 WARN]: Exception in thread "Craft Scheduler Thread - 165"
[11:47:38 WARN]: org.apache.commons.lang.UnhandledException: Plugin FallDown v0.0 generated an exception while executing task 10
        at org.bukkit.craftbukkit.v1_7_R1.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:56)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:724)
Caused by: java.lang.IllegalStateException: Asynchronous player tracker clear!
        at net.minecraft.server.v1_7_R1.EntityTrackerEntry.clear(EntityTrackerEntry.java:519)
        at net.minecraft.server.v1_7_R1.EntityTracker.untrackPlayer(EntityTracker.java:199)
        at net.minecraft.server.v1_7_R1.PlayerList.moveToWorld(PlayerList.java:413)
        at org.bukkit.craftbukkit.v1_7_R1.entity.CraftPlayer.teleport(CraftPlayer.java:474)
        at org.bukkit.craftbukkit.v1_7_R1.entity.CraftEntity.teleport(CraftEntity.java:200)
        at game.Arena.spawnTeleport(Arena.java:18)
        at falldowndaniel.Main$1.run(Main.java:80)
        at org.bukkit.craftbukkit.v1_7_R1.scheduler.CraftTask.run(CraftTask.java:58)
        at org.bukkit.craftbukkit.v1_7_R1.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:53)
        ... 3 more
HIer meine Teleport Klasse:
Code:
package game;

import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.World;
import org.bukkit.entity.Player;

public class Arena
{
	public static void spawnTeleport () 
	{
		String Arena = "Arena";
		World w = Bukkit.getWorld(Arena);
		if (w != null ) { 
			Location locDest = new Location(w,-382,4000,-170);
		for(Player ap : Bukkit.getOnlinePlayers())
		{
			ap.teleport(locDest);
		}
		}
		else {
			Bukkit.broadcastMessage("§9Ein Fehler ist aufgetreten (Welt nicht gefunden)");
		}
	}
}
Hat irgendjemand eine Idee ?

Danke für Antworten

LG Daniel
 

Masiwo

Redstoneengineer
Registriert
28 April 2013
Beiträge
40
Diamanten
0
Minecraft
blotiu
Doch ist es ich hab ne neue Klasse nur fürs Teleportieren gemacht hier im Countdown wird das ganze aufgerufen :
Code:
	public void startCountdown() 
    {
		Bukkit.getScheduler().runTaskTimerAsynchronously(this,  new Runnable() 
		{
			int time = 90;

			@Override
			public void run() 
			{
				
				for(Player p : Bukkit.getOnlinePlayers())
				{
					if(time == 90 || time == 80 || time == 70 || time == 60 || time == 50 || time == 40 || time == 30 || time == 20 || time == 10)
					{
						p.sendMessage(prefix() + " Noch " + time + " Sekunden bis das Spiel startet!");
					}
						
					if(time <= 9 && !(time <= 0))
					{
							p.sendMessage(prefix() + " Noch " + time + " Sekunden bis das Spiel startet!");
					}
					
					if(time == 0)
					{
						Arena.spawnTeleport();

					}
				}
					time--;
			}
			
		}, 40L, 20L);
    }
 

Masiwo

Redstoneengineer
Registriert
28 April 2013
Beiträge
40
Diamanten
0
Minecraft
blotiu
So das mit der world läuft jetzt auch problemlos.
So noch 2 Sachen wie kann ich in das PlayerLoginEvent einen Boolean namens jonable mit einer if abfragen ? (Andere Klasse)
Also auslesen ob er auf true oder false steht und dann bei false das Event canceln.
Und 2. Wie kann ich den Minecraft Server Motd verändern (Methode)


Danke für Antworten.
 

Paulomart

Schafhirte
Registriert
3 November 2013
Beiträge
147
Diamanten
0
Minecraft
Paulomart
Join verhindern:
Code:
@EventHandler(ignoreCancelled = true)
	public void onPlayerPreJoin(AsyncPlayerPreLoginEvent event){
		if (keineSpeilerReinLassen){
			event.setKickMessage("§c§lDas Spiel läuft grade!");
			event.setLoginResult(Result.KICK_OTHER);
			event.disallow(Result.KICK_OTHER, "§c§lDas Spiel läuft grade!");
		}
	}
*Ich weiß auch nicht wieso es .setLoginResult und .disallow gibt, warscheinlich Bukkit logik..

Modt ändern:
Code:
	@EventHandler
	public void onServerPing(ServerListPingEvent event){
		event.setMotd("neue motd");
	}
 
Oben