LevelUpCommandManager.java 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. package com.gmail.nossr50.commands.levelup;
  2. import com.gmail.nossr50.datatypes.player.McMMOPlayer;
  3. import com.gmail.nossr50.datatypes.skills.PrimarySkillType;
  4. import com.gmail.nossr50.mcMMO;
  5. import org.jetbrains.annotations.NotNull;
  6. import java.util.HashSet;
  7. import java.util.Set;
  8. public class LevelUpCommandManager {
  9. private final @NotNull Set<LevelUpCommand> commands;
  10. private final @NotNull mcMMO plugin;
  11. public LevelUpCommandManager(@NotNull mcMMO plugin) {
  12. this.plugin = plugin;
  13. this.commands = new HashSet<>();
  14. }
  15. public void registerCommand(@NotNull LevelUpCommand command) {
  16. commands.add(command);
  17. mcMMO.p.getLogger().info("Registered command on level up: " + command);
  18. }
  19. public void apply(@NotNull McMMOPlayer mmoPlayer, @NotNull PrimarySkillType primarySkillType, Set<Integer> levelsGained) {
  20. if (!mmoPlayer.getPlayer().isOnline()) {
  21. return;
  22. }
  23. for (LevelUpCommand command : commands) {
  24. command.apply(mmoPlayer, primarySkillType, levelsGained);
  25. }
  26. }
  27. public void clear() {
  28. mcMMO.p.getLogger().info("Clearing registered commands on level up");
  29. commands.clear();
  30. }
  31. public boolean isEmpty() {
  32. return commands.isEmpty();
  33. }
  34. }