1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- package com.gmail.nossr50.commands.experience;
- import com.gmail.nossr50.datatypes.player.McMMOPlayer;
- import com.gmail.nossr50.datatypes.player.PlayerProfile;
- import com.gmail.nossr50.datatypes.skills.PrimarySkillType;
- import com.gmail.nossr50.locale.LocaleLoader;
- import com.gmail.nossr50.util.EventUtils;
- import com.gmail.nossr50.util.Permissions;
- import com.gmail.nossr50.util.player.UserManager;
- import org.bukkit.command.CommandSender;
- import org.bukkit.entity.Player;
- public class AddlevelsCommand extends ExperienceCommand {
- @Override
- protected boolean permissionsCheckSelf(CommandSender sender) {
- return Permissions.addlevels(sender);
- }
- @Override
- protected boolean permissionsCheckOthers(CommandSender sender) {
- return Permissions.addlevelsOthers(sender);
- }
- @Override
- protected void handleCommand(Player player, PlayerProfile profile, PrimarySkillType skill, int value) {
- float xpRemoved = profile.getSkillXpLevelRaw(skill);
- profile.addLevels(skill, value);
- if (player == null) {
- UserManager.getPlayerSaveHandler().scheduleAsyncSave(profile.getPlayerData());
- return;
- }
- McMMOPlayer mmoPlayer = UserManager.getPlayer(player);
- if(mmoPlayer == null) {
- EventUtils.tryLevelChangeEvent(player, skill, value, xpRemoved, true, XPGainReason.COMMAND);
- } else {
- EventUtils.tryLevelChangeEvent(mmoPlayer, skill, value, xpRemoved, true, XPGainReason.COMMAND);
- }
- }
- @Override
- protected void handlePlayerMessageAll(Player player, int value, boolean isSilent) {
- if(isSilent)
- return;
- player.sendMessage(LocaleLoader.getString("Commands.addlevels.AwardAll.1", value));
- }
- @Override
- protected void handlePlayerMessageSkill(Player player, int value, PrimarySkillType skill, boolean isSilent) {
- if(isSilent)
- return;
- player.sendMessage(LocaleLoader.getString("Commands.addlevels.AwardSkill.1", value, skill.getName()));
- }
- }
|