本文整理汇总了Java中com.gmail.nossr50.datatypes.skills.SkillType.isChildSkill方法的典型用法代码示例。如果您正苦于以下问题:Java SkillType.isChildSkill方法的具体用法?Java SkillType.isChildSkill怎么用?Java SkillType.isChildSkill使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类com.gmail.nossr50.datatypes.skills.SkillType
的用法示例。
在下文中一共展示了SkillType.isChildSkill方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: 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();
}
示例2: 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);
}
示例3: 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);
}
}
示例4: getNonChildSkillType
import com.gmail.nossr50.datatypes.skills.SkillType; //导入方法依赖的package包/类
private static SkillType getNonChildSkillType(String skillType) throws InvalidSkillException, UnsupportedOperationException {
SkillType skill = getSkillType(skillType);
if (skill.isChildSkill()) {
throw new UnsupportedOperationException("Child skills do not have XP");
}
return skill;
}
示例5: beginXpGain
import com.gmail.nossr50.datatypes.skills.SkillType; //导入方法依赖的package包/类
/**
* Begins an experience gain. The amount will be affected by skill modifiers, global rate, perks, and may be shared with the party
*
* @param skill Skill being used
* @param xp Experience amount to process
*/
public void beginXpGain(SkillType skill, float xp, XPGainReason xpGainReason) {
Validate.isTrue(xp >= 0.0, "XP gained should be greater than or equal to zero.");
if (xp <= 0.0) {
return;
}
if (skill.isChildSkill()) {
Set<SkillType> parentSkills = FamilyTree.getParents(skill);
float splitXp = xp / parentSkills.size();
for (SkillType parentSkill : parentSkills) {
if (parentSkill.getPermissions(player)) {
beginXpGain(parentSkill, splitXp, xpGainReason);
}
}
return;
}
// Return if the experience has been shared
if (party != null && ShareHandler.handleXpShare(xp, this, skill, ShareHandler.getSharedXpGainReason(xpGainReason))) {
return;
}
beginUnsharedXpGain(skill, xp, xpGainReason);
}
示例6: setSkillXpLevel
import com.gmail.nossr50.datatypes.skills.SkillType; //导入方法依赖的package包/类
public void setSkillXpLevel(SkillType skill, float xpLevel) {
if (skill.isChildSkill()) {
return;
}
changed = true;
skillsXp.put(skill, xpLevel);
}
示例7: removeXp
import com.gmail.nossr50.datatypes.skills.SkillType; //导入方法依赖的package包/类
/**
* Remove Xp from a skill.
*
* @param skill Type of skill to modify
* @param xp Amount of xp to remove
*/
public void removeXp(SkillType skill, int xp) {
if (skill.isChildSkill()) {
return;
}
changed = true;
skillsXp.put(skill, skillsXp.get(skill) - xp);
}
示例8: modifySkill
import com.gmail.nossr50.datatypes.skills.SkillType; //导入方法依赖的package包/类
/**
* Modify a skill level.
*
* @param skill Type of skill to modify
* @param level New level value for the skill
*/
public void modifySkill(SkillType skill, int level) {
if (skill.isChildSkill()) {
return;
}
changed = true;
skills.put(skill, level);
skillsXp.put(skill, 0F);
}
示例9: isChildSkill
import com.gmail.nossr50.datatypes.skills.SkillType; //导入方法依赖的package包/类
public static boolean isChildSkill(CommandSender sender, SkillType skill) {
if (skill == null || !skill.isChildSkill()) {
return false;
}
sender.sendMessage("Child skills are not supported by this command."); // TODO: Localize this
return true;
}
示例10: displaySkill
import com.gmail.nossr50.datatypes.skills.SkillType; //导入方法依赖的package包/类
public static String displaySkill(PlayerProfile profile, SkillType skill) {
if (skill.isChildSkill()) {
return LocaleLoader.getString("Skills.ChildStats", LocaleLoader.getString(StringUtils.getCapitalized(skill.toString()) + ".Listener") + " ", profile.getSkillLevel(skill));
}
return LocaleLoader.getString("Skills.Stats", LocaleLoader.getString(StringUtils.getCapitalized(skill.toString()) + ".Listener") + " ", profile.getSkillLevel(skill), profile.getSkillXpLevel(skill), profile.getXpToLevel(skill));
}
示例11: loadMessages
import com.gmail.nossr50.datatypes.skills.SkillType; //导入方法依赖的package包/类
private void loadMessages(ConfigurationSection config) {
messages.addAll(loadingByIdentifier());
for (SkillType skillType : SkillType.values()) {
if (!skillType.isChildSkill()) {
String messageKey = StringUtils.getCapitalized(skillType.toString()) + ".Skillup";
String localizedMessage = getLocalizedMessage(messageKey);
addOrRemove(messages, localizedMessage, config.getBoolean("ignore.levelup"));
}
AbilityType ability = skillType.getAbility();
if (ability != null) {
String abilityOn = ChatColor.stripColor(ability.getAbilityOn());
String abilityOff = ChatColor.stripColor(ability.getAbilityOff());
addOrRemove(messages, abilityOn, config.getBoolean("ignore.ability"));
addOrRemove(messages, abilityOff, config.getBoolean("ignore.ability"));
}
ToolType tool = skillType.getTool();
if (tool != null) {
addOrRemove(messages, ChatColor.stripColor(tool.getRaiseTool()), config.getBoolean("ignore.tool"));
addOrRemove(messages, ChatColor.stripColor(tool.getLowerTool()), config.getBoolean("ignore.tool"));
}
}
//messages that cannot be retrieved dynamically because the message key isn't in (or equal as)
//the enum getSkillAbilities() - SecondaryAbilities
messages.add(getLocalizedMessage("Axes.Combat.SS.Struck"));
messages.add(getLocalizedMessage("Axes.Combat.CriticalHit"));
messages.add(getLocalizedMessage("Axes.Combat.CritStruck"));
messages.add(getLocalizedMessage("Swords.Combat.Counter.Hit"));
messages.add(getLocalizedMessage("Swords.Combat.Bleeding"));
messages.add(getLocalizedMessage("Swords.Combat.Bleeding.Started"));
messages.add(getLocalizedMessage("Swords.Combat.Bleeding.Stopped"));
messages.add(getLocalizedMessage("Party.LevelUp"));
//hardcore messages
boolean hardcoreIgnore = config.getBoolean("ignore.hardcore");
addOrRemove(messages, getLocalizedMessage("Hardcore.DeathStatLoss.PlayerDeath"), hardcoreIgnore);
addOrRemove(messages, getLocalizedMessage("Hardcore.Vampirism.Killer.Failure"), hardcoreIgnore);
addOrRemove(messages, getLocalizedMessage("Hardcore.Vampirism.Killer.Success"), hardcoreIgnore);
addOrRemove(messages, getLocalizedMessage("Hardcore.Vampirism.Victim.Failure"), hardcoreIgnore);
addOrRemove(messages, getLocalizedMessage("Hardcore.Vampirism.Victim.Success"), hardcoreIgnore);
//general message
addOrRemove(messages, getLocalizedMessage("Skills.TooTired"), config.getBoolean("ignore.tooTired"));
//explicit added messages
messages.addAll(config.getStringList("others").stream()
.map(this::getLocalizedMessage).collect(Collectors.toList()));
//explicit ignored messages
config.getStringList("ignore.others").stream().map(this::getLocalizedMessage).forEach(messages::remove);
}
示例12: getSkillLevel
import com.gmail.nossr50.datatypes.skills.SkillType; //导入方法依赖的package包/类
public int getSkillLevel(SkillType skill) {
return skill.isChildSkill() ? getChildSkillLevel(skill) : skills.get(skill);
}
示例13: enforceChildSkill
import com.gmail.nossr50.datatypes.skills.SkillType; //导入方法依赖的package包/类
protected static void enforceChildSkill(SkillType skill) {
if (!skill.isChildSkill()) {
throw new IllegalArgumentException(skill.name() + " is not a child skill!");
}
}
示例14: enforceNotChildSkill
import com.gmail.nossr50.datatypes.skills.SkillType; //导入方法依赖的package包/类
protected static void enforceNotChildSkill(SkillType skill) {
if (skill.isChildSkill()) {
throw new IllegalArgumentException(skill.name() + " is a child skill!");
}
}
示例15: isNonChildSkill
import com.gmail.nossr50.datatypes.skills.SkillType; //导入方法依赖的package包/类
/**
* Returns whether the given skill type string is both valid and not a
* child skill. (Child skills have no XP of their own, and their level is
* derived from the parent(s).)
* </br>
* This function is designed for API usage.
*
* @param skillType the skill to check
* @return true if this is a valid, non-child mcMMO skill
*/
public static boolean isNonChildSkill(String skillType) {
SkillType skill = SkillType.getSkill(skillType);
return skill != null && !skill.isChildSkill();
}