Ich würde gerne ein Minecraft PlugIn programmieren, das einem Spieler, wenn er sneakt, einen unsichtbarkeits Effekt gibt?

2 Antworten

@EventHandler

public void onShift(PlayerToggleSneakEvent e){
if(e.isSneaking()){
e.getPlayer().addPotionEffect(new PotionEffect(PotionEffectType.INVISIBILITY, 10000, 1));
}else{
e.getPlayer().removePotionEffect(PotionEffectType.INVISIBILITY);
}
}

Hi, also das müsste theoretisch gehen. Falls du noch weitere Fragen hast, kannst du mich auch gerne in Skype anschreiben
Skype: SpidiaHD


SpidiaHD  03.01.2017, 14:56

Und deine Frage mit der If-Schleife, das würde gehen, wenn du sofort beim Serverstart einen Scheduler laufen lassen würdest, und in diesem dann die Abfrage machst, aber das würde ich nicht machen, da das ziemlich Serverlastig wäre.

0

Wenn du es schon geschafft hast das es bei einem Laufenden geht warum nicht bei einem Sneakenden? Ist der Selbe Code nur das es ein anderes Event ist :)

Hier einmal der Code (Sollte so funktionieren, ist aber ungetestet):

@EventHandler 

public void onSneak(PlayerToggleSneakEvent event)
{
Player player = event.getPlayer();
// PotionEffectType type, int duration, int amplifier
player.addPotionEffect(new PotionEffect(PotionEffectType.SPEED, 100, 2));
}

MisterNeugier  23.12.2016, 17:04

Ups frage falsch gelesen! Öhh verstehe ich es richtig der Spieler Sneakt und dann ist der efect nur kurz da? Wenn ja setzte die duration hoch! 20 = 1 sekunde

0
20Justus02 
Fragesteller
 23.12.2016, 18:14

Hatte das auch schon probiert, aber das Hauptproblem war, dass der Effekt nur gegeben wurde, wenn er sofort wieder entsneakt.

Hast du vllt noch eine andere Idee?

Geht es irgendwie, dass man ohne Event die ganze Zeit nur die If-Schleife laufen lässt?

0