mirror of
https://github.com/BentoBoxWorld/Level.git
synced 2024-11-13 06:07:26 +01:00
Rationalize output of IslandLevelCalculatedEvent
Level is now the fully calculated level, i.e., what the user sees. The initial level is subtracted if the config settings are set to do that. https://github.com/BentoBoxWorld/Level/issues/188
This commit is contained in:
parent
aed06b74c0
commit
b5e161d59e
@ -205,11 +205,7 @@ public class LevelsManager {
|
||||
keyValues.put("eventName", "IslandLevelCalculatedEvent");
|
||||
keyValues.put("targetPlayer", targetPlayer);
|
||||
keyValues.put("islandUUID", island.getUniqueId());
|
||||
if (addon.getSettings().isZeroNewIslandLevels()) {
|
||||
keyValues.put("level", results.getLevel() - results.getInitialLevel());
|
||||
} else {
|
||||
keyValues.put("level", results.getLevel());
|
||||
}
|
||||
keyValues.put("level", results.getLevel());
|
||||
keyValues.put("pointsToNextLevel", results.getPointsToNextLevel());
|
||||
keyValues.put("deathHandicap", results.getDeathHandicap());
|
||||
keyValues.put("initialLevel", results.getInitialLevel());
|
||||
@ -542,12 +538,7 @@ public class LevelsManager {
|
||||
Island island = addon.getIslands().getIsland(world, owner);
|
||||
if (island == null) return;
|
||||
IslandLevels ld = levelsCache.computeIfAbsent(island.getUniqueId(), IslandLevels::new);
|
||||
// Remove the initial level
|
||||
if (addon.getSettings().isZeroNewIslandLevels()) {
|
||||
ld.setLevel(r.getLevel() - ld.getInitialLevel());
|
||||
} else {
|
||||
ld.setLevel(r.getLevel());
|
||||
}
|
||||
ld.setLevel(r.getLevel());
|
||||
ld.setUwCount(Maps.asMap(r.getUwCount().elementSet(), elem -> r.getUwCount().count(elem)));
|
||||
ld.setMdCount(Maps.asMap(r.getMdCount().elementSet(), elem -> r.getMdCount().count(elem)));
|
||||
ld.setPointsToNextLevel(r.getPointsToNextLevel());
|
||||
|
@ -531,6 +531,12 @@ public class IslandLevelCalculator {
|
||||
}
|
||||
this.results.level.set(calculateLevel(blockAndDeathPoints));
|
||||
|
||||
// Adjust for initial level
|
||||
if (addon.getSettings().isZeroNewIslandLevels()) {
|
||||
long oldLevel = this.results.level.get();
|
||||
this.results.level.set(oldLevel - this.results.initialLevel.get());
|
||||
}
|
||||
|
||||
// Calculate how many points are required to get to the next level
|
||||
long nextLevel = this.results.level.get();
|
||||
long blocks = blockAndDeathPoints;
|
||||
|
@ -45,8 +45,7 @@ public class IslandLevelCalculatedEvent extends IslandBaseEvent {
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the island's initial level. It may be zero if it was never calculated
|
||||
* or if a player was registered to the island after it was made.
|
||||
* Get the island's initial level. It may be zero if it was never calculated.
|
||||
* @return initial level of island as calculated when the island was created.
|
||||
*/
|
||||
public long getInitialLevel() {
|
||||
|
Loading…
Reference in New Issue
Block a user