Jump to content

Event nur in einer bestimmten Welt


CraftPvP
 Share

Recommended Posts

Hallo erstmal ^^,

Ich mache mich derzeit an einem eigenen kleinen Minigame zu schaffen. Leider ist mein "können" auch nur begrenz, ich bin halt ein blutiger Anfänger :D.

Mein Problem ist das ich ein jmd. Exp geben möchte wenn er einen anderen tötet, dies will ich aber nur für eine bestimmte Welt. Und da liegt auch schon mein Problem. Ich schaffe es nicht das das Event nur in einer Welt funktioniert.

Hier ist der Code wäre nett wenn ihr mir da helfen könntet ;)

@EventHandler

public void onPlayerDeath(PlayerDeathEvent event) {

Player p = event.getEntity();

Player killer = p.getKiller();

World welt = killer.getWorld();

if (killer instanceof Player && p instanceof Player) {

if (welt == world) {

}

killer.setLevel(killer.getLevel() + 20);

}

}

Ich habe es hierbei mit einer Variable versucht, dies geht leider nicht....

Link to comment
Share on other sites

Du könntest in einer HashMap<Player, Integer> oder besser HashMap<String, Integer> für jede Welt speichern, wie viel EP die Leute haben und dann bei einem PlayerChangeWorldEvent den entsprechenden Wert einsetzen ;)

Wenn du dabei mehr Hilfe brauchst kann ich dir am besten auf Skype (Minecraftforum.de) auch mit Codebeispielen helfen.

Liebe Grüße,

Baustein

Link to comment
Share on other sites

  • 3 weeks later...

Da es ein Monogame ist würde ich eine ArrayList String erstellen. Und beim Joinen hinzufügen und beim Leaven entfernen. Beim Event musst du dann nur noch if(arraylist1.Contains(e.getPlayer().getName() { Shorty bin gerade am Handy und das korrigiert einfach alles

Link to comment
Share on other sites

Warum nicht einfacher? Man das doch einfach so lösen:


@EventHandler

public void onPlayerDeath(PlayerDeathEvent event) {

  if (event.getKiller instanceof Player && event.getKiller().getLocation().getWorld() == Bukkit.getServer().getWorld("Weltname") {

    //XP hinzufügen

}
Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...
B
B