123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- package com.gmail.nossr50.commands.experience;
- import com.gmail.nossr50.datatypes.experience.XPGainReason;
- 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 org.bukkit.command.CommandSender;
- import org.bukkit.entity.Player;
- public class MmoeditCommand extends ExperienceCommand {
- @Override
- protected boolean permissionsCheckSelf(CommandSender sender) {
- return Permissions.mmoedit(sender);
- }
- @Override
- protected boolean permissionsCheckOthers(CommandSender sender) {
- return Permissions.mmoeditOthers(sender);
- }
- @Override
- protected void handleCommand(Player player, PlayerProfile profile, PrimarySkillType skill, int value) {
- int skillLevel = profile.getSkillLevel(skill);
- float xpRemoved = profile.getSkillXpLevelRaw(skill);
- profile.modifySkill(skill, value);
- if (player == null) {
- profile.scheduleAsyncSave();
- return;
- }
- if (value == skillLevel) {
- return;
- }
- EventUtils.tryLevelEditEvent(player, skill, value, xpRemoved, value > skillLevel, XPGainReason.COMMAND, skillLevel);
- }
- @Override
- protected void handlePlayerMessageAll(Player player, int value) {
- player.sendMessage(LocaleLoader.getString("Commands.mmoedit.AllSkills.1", value));
- }
- @Override
- protected void handlePlayerMessageSkill(Player player, int value, PrimarySkillType skill) {
- player.sendMessage(LocaleLoader.getString("Commands.mmoedit.Modified.1", skill.getName(), value));
- }
- }
|