Skip to content

Commit

Permalink
Add IslandLevelListener.
Browse files Browse the repository at this point in the history
This class listens for level calculation, and will update "unlocked" biomes for the player.
  • Loading branch information
BONNe committed Jan 23, 2022
1 parent 32b3550 commit f2a2874
Show file tree
Hide file tree
Showing 2 changed files with 61 additions and 0 deletions.
2 changes: 2 additions & 0 deletions src/main/java/world/bentobox/biomes/BiomesAddon.java
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
import world.bentobox.biomes.handlers.BiomeListRequestHandler;
import world.bentobox.biomes.handlers.ChangeBiomeRequestHandler;
import world.bentobox.biomes.listeners.ChangeOwnerListener;
import world.bentobox.biomes.listeners.IslandLevelListener;
import world.bentobox.biomes.listeners.JoinLeaveListener;
import world.bentobox.biomes.managers.BiomesAddonManager;
import world.bentobox.biomes.managers.BiomesImportManager;
Expand Down Expand Up @@ -91,6 +92,7 @@ private void setupAddon()
// Register the reset listener
this.registerListener(new ChangeOwnerListener(this));
this.registerListener(new JoinLeaveListener(this));
this.registerListener(new IslandLevelListener(this));

// Register Flags
this.registerFlag(BIOMES_WORLD_PROTECTION);
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
//
// Created by BONNe
// Copyright - 2022
//


package world.bentobox.biomes.listeners;


import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;

import world.bentobox.bentobox.api.user.User;
import world.bentobox.biomes.BiomesAddon;
import world.bentobox.level.events.IslandLevelCalculatedEvent;


/**
* The type Level listener.
*/
public class IslandLevelListener implements Listener
{
/**
* Instantiates a new Level listener.
*
* @param addon the addon
*/
public IslandLevelListener(BiomesAddon addon)
{
this.addon = addon;
}


/**
* On level up.
*
* @param event the event
*/
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
public void onLevelCalculated(IslandLevelCalculatedEvent event)
{
// Process event in Addon Manager.
this.addon.getAddonManager().checkBiomesUnlockStatus(
event.getIsland(),
User.getInstance(event.getTargetPlayer()),
event.getLevel());
}


// ---------------------------------------------------------------------
// Section: Variables
// ---------------------------------------------------------------------

/**
* Instance of addon for event.
*/
private final BiomesAddon addon;
}

0 comments on commit f2a2874

Please sign in to comment.