J3nsis Posted January 24, 2017 Share Posted January 24, 2017 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 to comment Share on other sites More sharing options...
BloodSKreaper Posted January 24, 2017 Share Posted January 24, 2017 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 to comment Share on other sites More sharing options...
BloodSKreaper Posted January 24, 2017 Share Posted January 24, 2017 Habe etwas entdeckt, das wahrscheinlich sehr entscheidend ist 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 to comment Share on other sites More sharing options...
Jens Becker Posted January 25, 2017 Share Posted January 25, 2017 vor 12 Stunden schrieb BloodSKreaper: Habe etwas entdeckt, das wahrscheinlich sehr entscheidend ist 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 to comment Share on other sites More sharing options...
BloodSKreaper Posted January 25, 2017 Share Posted January 25, 2017 Ne, Du kannst einfach testen ob der Spielerblock ein Graspfad ist. Das relative brauchst du ja nur um einen block über/unter/neben dem aktuellen Block zu bekommen. Freundliche Grüße BloodSKreaper Link to comment Share on other sites More sharing options...
J3nsis Posted January 25, 2017 Author Share Posted January 25, 2017 Danke für die Tipps, das Plugin geht jetzt! Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now