本文整理汇总了Java中com.gmail.nossr50.datatypes.skills.SkillType类的典型用法代码示例。如果您正苦于以下问题:Java SkillType类的具体用法?Java SkillType怎么用?Java SkillType使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
SkillType类属于com.gmail.nossr50.datatypes.skills包,在下文中一共展示了SkillType类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: load
import com.gmail.nossr50.datatypes.skills.SkillType; //导入依赖的package包/类
public void load() {
FileConfiguration config = plugin.getConfig();
loadMessages(config);
loadNotificationSound(config.getConfigurationSection("notification-sound"));
progressEnabled = config.getBoolean("progress");
for (String disableSkill : config.getStringList("progress-disabled")) {
Optional<SkillType> skillType = Enums.getIfPresent(SkillType.class, disableSkill.toUpperCase());
if (skillType.isPresent()) {
disabledSkillProgress.add(skillType.get());
} else {
plugin.getLogger()
.log(Level.WARNING, "The skill type {0} for disabled progress is unknown", disableSkill);
}
}
}
示例2: onPlayerActivateSecAbillity
import com.gmail.nossr50.datatypes.skills.SkillType; //导入依赖的package包/类
@EventHandler
public void onPlayerActivateSecAbillity(SecondaryAbilityWeightedActivationCheckEvent e){
RedProtect.get().logger.debug("Mcmmo SecondaryAbilityWeightedActivationCheckEvent event.");
Player p = e.getPlayer();
Region r = RedProtect.get().rm.getTopRegion(p.getLocation());
if (r == null){
return;
}
if (!r.canSkill(p)){
e.setCancelled(true);
}
if (!r.canPVP(p, null) && (e.getSkill().equals(SkillType.SWORDS) || e.getSkill().equals(SkillType.UNARMED) || e.getSkill().equals(SkillType.AXES))){
e.setCancelled(true);
}
}
示例3: onPlayerUnarmed
import com.gmail.nossr50.datatypes.skills.SkillType; //导入依赖的package包/类
@EventHandler
public void onPlayerUnarmed(McMMOPlayerDisarmEvent e){
RedProtect.get().logger.debug("Mcmmo McMMOPlayerDisarmEvent event.");
Player p = e.getPlayer();
Region r = RedProtect.get().rm.getTopRegion(e.getDefender().getLocation());
if (r == null){
return;
}
if (!r.canSkill(p)){
e.setCancelled(true);
}
if (!r.canPVP(p, e.getDefender()) && (e.getSkill().equals(SkillType.SWORDS) || e.getSkill().equals(SkillType.UNARMED) || e.getSkill().equals(SkillType.AXES))){
e.setCancelled(true);
}
}
示例4: onSecondaryAbilityEvent
import com.gmail.nossr50.datatypes.skills.SkillType; //导入依赖的package包/类
@EventHandler
public void onSecondaryAbilityEvent(SecondaryAbilityEvent e){
RedProtect.get().logger.debug("Mcmmo SecondaryAbilityEvent event.");
Player p = e.getPlayer();
Region r = RedProtect.get().rm.getTopRegion(e.getPlayer().getLocation());
if (r == null){
return;
}
if (!r.canSkill(p)){
e.setCancelled(true);
}
if (!r.canPVP(p, null) && (e.getSkill().equals(SkillType.SWORDS) || e.getSkill().equals(SkillType.UNARMED) || e.getSkill().equals(SkillType.AXES))){
e.setCancelled(true);
}
}
示例5: isForbiddenSkillInRegion
import com.gmail.nossr50.datatypes.skills.SkillType; //导入依赖的package包/类
public boolean isForbiddenSkillInRegion(Player player, SkillType skill) {
if (worldGuard != null) {
Location location = player.getLocation();
RegionManager regionManager = worldGuard.getRegionContainer().get(player.getWorld());
if (regionManager == null) {
return false;
}
ApplicableRegionSet regions = regionManager.getApplicableRegions(location);
LocalPlayer localPlayer = worldGuard.wrapPlayer(player);
return regions.queryAllValues(localPlayer, skillListFlag).contains(skill);
}
return false;
}
示例6: updateExpBar
import com.gmail.nossr50.datatypes.skills.SkillType; //导入依赖的package包/类
public void updateExpBar(SkillType usedSkill, float gainedExp) {
if (!enabled) {
return;
}
Player player = Bukkit.getPlayer(playerUUID);
String skillName = usedSkill.getName();
int level = ExperienceAPI.getLevel(player, skillName);
int exp = ExperienceAPI.getXP(player, skillName);
int requiredExp = ExperienceAPI.getXPToNextLevel(player, skillName);
int percent = calculatePercent(exp, requiredExp);
String newMessage = formatMessage(skillName, level, exp, requiredExp, gainedExp, percent);
updateBar(player, usedSkill, newMessage, percent);
}
示例7: updateBar
import com.gmail.nossr50.datatypes.skills.SkillType; //导入依赖的package包/类
private void updateBar(Player player, final SkillType skill, String message, float percent) {
plugin.getBossAPI().setMessage(player, skill, message, percent);
Bukkit.getScheduler().cancelTask(disappearTimers.getOrDefault(skill, -1));
//disappear timer
if (!plugin.getConfig().getBoolean("alwaysShow")) {
int taskId = Bukkit.getScheduler().scheduleSyncDelayedTask(plugin, () -> {
Player onlinePlayer = Bukkit.getPlayer(playerUUID);
if (onlinePlayer != null) {
plugin.getBossAPI().removeBar(onlinePlayer, skill);
}
}, plugin.getConfig().getInt("bar.disappear") * 20);
disappearTimers.put(skill, taskId);
}
}
示例8: onNewExp
import com.gmail.nossr50.datatypes.skills.SkillType; //导入依赖的package包/类
private void onNewExp(UUID playerUUID, SkillType skillType, float xpGain) {
Player player = Bukkit.getPlayer(playerUUID);
if (player == null) {
//player went offline in that one tick
return;
}
String skillName = skillType.getName();
int level = ExperienceAPI.getLevel(player, skillName);
//permission based max levels
if (level <= plugin.getMaxLevel(player, skillType) && !plugin.isForbiddenRegion(player, skillType)) {
PlayerData playerData = plugin.getData(player);
playerData.updateExpBar(skillType, xpGain);
}
}
示例9: addXp
import com.gmail.nossr50.datatypes.skills.SkillType; //导入依赖的package包/类
/**
* Add Experience to a skill.
*
* @param skill Type of skill to add experience to
* @param xp Number of experience to add
*/
public void addXp(SkillType skill, float xp) {
changed = true;
if (skill.isChildSkill()) {
Set<SkillType> parentSkills = FamilyTree.getParents(skill);
float dividedXP = (xp / parentSkills.size());
for (SkillType parentSkill : parentSkills) {
skillsXp.put(parentSkill, skillsXp.get(parentSkill) + dividedXP);
}
}
else {
skillsXp.put(skill, skillsXp.get(skill) + xp);
}
}
示例10: applyXpGain
import com.gmail.nossr50.datatypes.skills.SkillType; //导入依赖的package包/类
/**
* Applies an experience gain
*
* @param skillType Skill being used
* @param xp Experience amount to add
*/
public void applyXpGain(SkillType skillType, float xp, XPGainReason xpGainReason) {
if (!skillType.getPermissions(player)) {
return;
}
if (skillType.isChildSkill()) {
Set<SkillType> parentSkills = FamilyTree.getParents(skillType);
for (SkillType parentSkill : parentSkills) {
applyXpGain(parentSkill, xp / parentSkills.size(), xpGainReason);
}
return;
}
if (!EventUtils.handleXpGainEvent(player, skillType, xp, xpGainReason)) {
return;
}
isUsingUnarmed = (skillType == SkillType.UNARMED);
checkXp(skillType, xpGainReason);
}
示例11: editValues
import com.gmail.nossr50.datatypes.skills.SkillType; //导入依赖的package包/类
protected void editValues(Player player, PlayerProfile profile, SkillType skill) {
if (skill == null) {
for (SkillType skillType : SkillType.NON_CHILD_SKILLS) {
handleCommand(player, profile, skillType);
}
if (player != null) {
handlePlayerMessageAll(player);
}
}
else {
handleCommand(player, profile, skill);
if (player != null) {
handlePlayerMessageSkill(player, skill);
}
}
}
示例12: handleXpPerks
import com.gmail.nossr50.datatypes.skills.SkillType; //导入依赖的package包/类
public static float handleXpPerks(Player player, float xp, SkillType skill) {
if (Permissions.quadrupleXp(player, skill)) {
xp *= 4;
}
else if (Permissions.tripleXp(player, skill)) {
xp *= 3;
}
else if (Permissions.doubleAndOneHalfXp(player, skill)) {
xp *= 2.5;
}
else if (Permissions.doubleXp(player, skill)) {
xp *= 2;
}
else if (Permissions.oneAndOneHalfXp(player, skill)) {
xp *= 1.5;
}
else if (Permissions.oneAndOneTenthXp(player, skill)) {
xp *= 1.1;
}
else if (Permissions.customXpBoost(player, skill)) {
xp *= ExperienceConfig.getInstance().getCustomXpPerkBoost();
}
return xp;
}
示例13: acceptRankData
import com.gmail.nossr50.datatypes.skills.SkillType; //导入依赖的package包/类
public void acceptRankData(Map<SkillType, Integer> rankData) {
Integer rank;
Player player = mcMMO.p.getServer().getPlayerExact(playerName);
for (SkillType skill : SkillType.NON_CHILD_SKILLS) {
if (!skill.getPermissions(player)) {
continue;
}
rank = rankData.get(skill);
if (rank != null) {
sidebarObjective.getScore(ScoreboardManager.skillLabels.get(skill)).setScore(rank);
}
}
rank = rankData.get(null);
if (rank != null) {
sidebarObjective.getScore(ScoreboardManager.LABEL_POWER_LEVEL).setScore(rank);
}
}
示例14: editValues
import com.gmail.nossr50.datatypes.skills.SkillType; //导入依赖的package包/类
protected void editValues(Player player, PlayerProfile profile, SkillType skill, int value) {
if (skill == null) {
for (SkillType skillType : SkillType.NON_CHILD_SKILLS) {
handleCommand(player, profile, skillType, value);
}
if (player != null) {
handlePlayerMessageAll(player, value);
}
}
else {
handleCommand(player, profile, skill, value);
if (player != null) {
handlePlayerMessageSkill(player, value, skill);
}
}
}
示例15: addLevelOffline
import com.gmail.nossr50.datatypes.skills.SkillType; //导入依赖的package包/类
/**
* Add levels to a skill for an offline player.
* </br>
* This function is designed for API usage.
*
* @param playerName The player to add levels to
* @param skillType Type of skill to add levels to
* @param levels Number of levels to add
*
* @throws InvalidSkillException if the given skill is not valid
* @throws InvalidPlayerException if the given player does not exist in the database
*/
@Deprecated
public static void addLevelOffline(String playerName, String skillType, int levels) {
PlayerProfile profile = getOfflineProfile(playerName);
SkillType skill = getSkillType(skillType);
if (skill.isChildSkill()) {
Set<SkillType> parentSkills = FamilyTree.getParents(skill);
for (SkillType parentSkill : parentSkills) {
profile.addLevels(parentSkill, (levels / parentSkills.size()));
}
profile.scheduleAsyncSave();
return;
}
profile.addLevels(skill, levels);
profile.scheduleAsyncSave();
}