mirror of
https://github.com/Sheldan/abstracto.git
synced 2026-04-18 12:57:39 +00:00
[AB-xxx] only executing level actions if the user changes level
This commit is contained in:
@@ -336,7 +336,8 @@ public class AUserExperienceServiceBean implements AUserExperienceService {
|
|||||||
RoleCalculationResult result = RoleCalculationResult
|
RoleCalculationResult result = RoleCalculationResult
|
||||||
.builder()
|
.builder()
|
||||||
.build();
|
.build();
|
||||||
if(!Objects.equals(newLevel.getLevel(), aUserExperience.getCurrentLevel().getLevel())) {
|
boolean userChangesLevel = !Objects.equals(newLevel.getLevel(), aUserExperience.getCurrentLevel().getLevel());
|
||||||
|
if(userChangesLevel) {
|
||||||
Integer oldLevel = aUserExperience.getCurrentLevel() != null ? aUserExperience.getCurrentLevel().getLevel() : 0;
|
Integer oldLevel = aUserExperience.getCurrentLevel() != null ? aUserExperience.getCurrentLevel().getLevel() : 0;
|
||||||
log.info("User {} in server {} changed level. New {}, Old {}.", member.getIdLong(),
|
log.info("User {} in server {} changed level. New {}, Old {}.", member.getIdLong(),
|
||||||
member.getGuild().getIdLong(), newLevel.getLevel(),
|
member.getGuild().getIdLong(), newLevel.getLevel(),
|
||||||
@@ -371,7 +372,7 @@ public class AUserExperienceServiceBean implements AUserExperienceService {
|
|||||||
aUserExperience.setCurrentExperienceRole(calculatedNewRole);
|
aUserExperience.setCurrentExperienceRole(calculatedNewRole);
|
||||||
}
|
}
|
||||||
aUserExperience.setMessageCount(aUserExperience.getMessageCount() + 1L);
|
aUserExperience.setMessageCount(aUserExperience.getMessageCount() + 1L);
|
||||||
if(featureModeService.featureModeActive(ExperienceFeatureDefinition.EXPERIENCE, server, ExperienceFeatureMode.LEVEL_ACTION)) {
|
if(userChangesLevel && featureModeService.featureModeActive(ExperienceFeatureDefinition.EXPERIENCE, server, ExperienceFeatureMode.LEVEL_ACTION)) {
|
||||||
levelActionService.applyLevelActionsToUser(aUserExperience)
|
levelActionService.applyLevelActionsToUser(aUserExperience)
|
||||||
.thenAccept(unused -> {
|
.thenAccept(unused -> {
|
||||||
log.info("Executed level actions for user {}.", userInServerId);
|
log.info("Executed level actions for user {}.", userInServerId);
|
||||||
|
|||||||
Reference in New Issue
Block a user