Skip to content

Commit

Permalink
Implement TeamJoinDeathReset.
Browse files Browse the repository at this point in the history
Add TeamJoinEvent listener that checks if TeamJoinDeathReset is enabled and resets player death count.
  • Loading branch information
BONNe committed Jan 2, 2019
1 parent 1121bbc commit 4a73534
Showing 1 changed file with 19 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@

import world.bentobox.bentobox.api.events.island.IslandEvent.IslandCreatedEvent;
import world.bentobox.bentobox.api.events.island.IslandEvent.IslandResettedEvent;
import world.bentobox.bentobox.api.events.team.TeamEvent.TeamJoinEvent;
import world.bentobox.bentobox.database.objects.Island;
import world.bentobox.level.Level;
import world.bentobox.level.calculators.CalcIslandLevel;
Expand Down Expand Up @@ -47,6 +48,24 @@ public void onNewIsland(IslandResettedEvent e) {
}
}


@EventHandler(priority = EventPriority.NORMAL, ignoreCancelled = true)
public void onTeamJoin(TeamJoinEvent event)
{
if (this.addon.getSettings().isTeamJoinDeathReset())
{
this.cil.putIfAbsent(event.getIsland(),
new CalcIslandLevel(this.addon,
event.getIsland(),
() -> zeroLevel(event.getIsland())));

this.addon.getPlayers().setDeaths(event.getIsland().getWorld(),
event.getOwner(),
0);
}
}


private void zeroLevel(Island island) {
if (cil.containsKey(island)) {
addon.setInitialIslandLevel(island, cil.get(island).getResult().getLevel());
Expand Down

0 comments on commit 4a73534

Please sign in to comment.