Jump to content

Plugin onPlayerMoveEvent geht nach 3 Sekunden nicht mehr!


J3nsis

Empfohlene Beiträge

Hallo, 

Ich programmiere gerade ein Plugin das dafür sorgen soll, das wenn ein Spieler über einen Trampelpfad läuft er Speed Boost bekommen soll!

Eigentlich funktioniert aus alles nur das, ich nur SpeedBoost bekomme wenn ich wieder von einem anderen Block auf den Trampelpfad gehe und nicht solange ich auf ihm bin. Das liegt denke ich an dem if (vor e.getPlayer().getLoc....) aber wenn ich es mit while mache hängt der Server sich wegen überlastung auf. Habt ihr eine andere Idee??

 

Danke das du dir die Zeit genommen hast dies bis hier zu lesen, hier der Code:

 

@EventHandler 
	   public void onPlayerMoveEvent (PlayerMoveEvent e) { 
	   
	   Player p = e.getPlayer();

	  
	   if(e.getPlayer().getLocation().getBlock().getRelative(BlockFace.DOWN).getType() == Material.GRASS_PATH){
		   
		   p.addPotionEffect(new PotionEffect(PotionEffectType.SPEED, 25, (1)));
		   p.sendMessage("SpeedBoost durch Trampelpfad bekommen!");
	   }

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich habe eben versucht den Fehler zu reproduzieren und das ist mir auch gelungen. Ändert man allerdings den Block, also kein Graspfad, sondern Gras und läuft 3s auf diesem tritt der Fehler nicht auf.

 

Ich kann mir das leider nicht erklären.

 

Freundliche Grüße

BloodSKreaper

Link zu diesem Kommentar
Auf anderen Seiten teilen

Habe etwas entdeckt, das wahrscheinlich sehr entscheidend ist XD

 

Der Grasblock ist kein ganzer Block, sondern man sinkt darin ein - folglich ist der Block den der Spieler darstellt an der Position des Pfades und der Block darunter ist Erde oder Stein or whatever.

 

Freundliche Grüße

BloodSKreaper

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 12 Stunden schrieb BloodSKreaper:

Habe etwas entdeckt, das wahrscheinlich sehr entscheidend ist XD

 

Der Grasblock ist kein ganzer Block, sondern man sinkt darin ein - folglich ist der Block den der Spieler darstellt an der Position des Pfades und der Block darunter ist Erde oder Stein or whatever.

 

Freundliche Grüße

BloodSKreaper

Stimmt, darauf bin ich noch garnicht gekommen! Danke! 

 

Aber wie frage ich denn jetzt den Block ab? Mit relativen Koordinaten und dann 0 0 0 oder was?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...
B
B