当前位置: 首页>>代码示例>>Java>>正文


Java SpellTemplate类代码示例

本文整理汇总了Java中com.elmakers.mine.bukkit.api.spell.SpellTemplate的典型用法代码示例。如果您正苦于以下问题:Java SpellTemplate类的具体用法?Java SpellTemplate怎么用?Java SpellTemplate使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


SpellTemplate类属于com.elmakers.mine.bukkit.api.spell包,在下文中一共展示了SpellTemplate类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: getUpgrade

import com.elmakers.mine.bukkit.api.spell.SpellTemplate; //导入依赖的package包/类
@Override
public SpellTemplate getUpgrade() {
    if (requiredUpgradeCasts <= 0 && (requiredUpgradePath == null || requiredUpgradePath.isEmpty())) {
        return null;
    }
    SpellKey upgradeKey = new SpellKey(spellKey.getBaseKey(), spellKey.getLevel() + 1);
    return controller.getSpellTemplate(upgradeKey.getKey());
}
 
开发者ID:elBukkit,项目名称:MagicLib,代码行数:9,代码来源:BaseSpell.java

示例2: addSpellTemplate

import com.elmakers.mine.bukkit.api.spell.SpellTemplate; //导入依赖的package包/类
public void addSpellTemplate(SpellTemplate template)
{
    spells.add(template);
}
 
开发者ID:elBukkit,项目名称:MagicLib,代码行数:5,代码来源:SpellCategory.java

示例3: getSpells

import com.elmakers.mine.bukkit.api.spell.SpellTemplate; //导入依赖的package包/类
@Override
public Collection<SpellTemplate> getSpells()
{
    return spells;
}
 
开发者ID:elBukkit,项目名称:MagicLib,代码行数:6,代码来源:SpellCategory.java

示例4: compareTo

import com.elmakers.mine.bukkit.api.spell.SpellTemplate; //导入依赖的package包/类
@Override
public int compareTo(com.elmakers.mine.bukkit.api.spell.SpellTemplate other)
{
    return name.compareTo(other.getName());
}
 
开发者ID:elBukkit,项目名称:MagicLib,代码行数:6,代码来源:BaseSpell.java

示例5: finish

import com.elmakers.mine.bukkit.api.spell.SpellTemplate; //导入依赖的package包/类
@Override
public void finish(com.elmakers.mine.bukkit.api.action.CastContext context) {
    SpellResult result = context.getResult();

    // Notify other plugins of this spell cast
    CastEvent castEvent = new CastEvent(mage, this, result);
    Bukkit.getPluginManager().callEvent(castEvent);

    // Message targets
    if (result.isSuccess() && !mage.isQuiet()) {
        messageTargets("cast_player_message");
    }

    // Track cast counts
    if (result.isSuccess() && trackCasts) {
        castCount++;
        if (template != null) {
            template.castCount++;
        }

        // Reward SP
        Wand wand = context.getWand();
        WandUpgradePath path = wand == null ? null : wand.getPath();
        if (earns > 0 && wand != null && path != null && path.earnsSP() && controller.isSPEnabled() && !mage.isAtMaxSkillPoints()) {
            long now = System.currentTimeMillis();
            int scaledEarn = earns;
            if (lastEarn > 0 && earnCooldown > 0 && now < lastEarn + earnCooldown) {
                scaledEarn = (int)Math.floor((double)earns * (now - lastEarn) / earnCooldown);
                if (scaledEarn > 0) {
                    context.playEffects("earn_scaled_sp");
                }
            } else {
                context.playEffects("earn_sp");
            }
            if (scaledEarn > 0) {
                mage.addSkillPoints(scaledEarn);
                lastEarn = now;
            }
        }

        // Check for level up
        // This currently only works on wands.
        if (wand != null && !wand.isLocked() && controller.isSpellUpgradingEnabled() && wand.getSpellLevel(spellKey.getKey()) == spellKey.getLevel())
        {
            SpellTemplate upgrade = getUpgrade();
            long requiredCasts = getRequiredUpgradeCasts();
            if (upgrade != null && requiredCasts > 0 && getCastCount() >= requiredCasts)
            {
                String upgradePath = getRequiredUpgradePath();
                WandUpgradePath currentPath = wand.getPath();
                if (upgradePath == null || upgradePath.isEmpty() || (currentPath != null && currentPath.hasPath(upgradePath)))
                {
                    Spell newSpell = mage.getSpell(upgrade.getKey());
                    if (isActive()) {
                        deactivate(true, true);
                        if (newSpell != null && newSpell instanceof MageSpell) {
                            ((MageSpell)newSpell).activate();
                        }
                    }
                    wand.addSpell(upgrade.getKey());
                    Messages messages = controller.getMessages();
                    String levelDescription = upgrade.getLevelDescription();
                    if (levelDescription == null || levelDescription.isEmpty()) {
                        levelDescription = upgrade.getName();
                    }
                    playEffects("upgrade");
                    mage.sendMessage(messages.get("wand.spell_upgraded").replace("$name", upgrade.getName()).replace("$wand", getName()).replace("$level", levelDescription));
                    mage.sendMessage(upgrade.getUpgradeDescription().replace("$name", upgrade.getName()));

                    SpellUpgradeEvent upgradeEvent = new SpellUpgradeEvent(mage, wand, this, newSpell);
                    Bukkit.getPluginManager().callEvent(upgradeEvent);
                }
            }
        }
    }
}
 
开发者ID:elBukkit,项目名称:MagicLib,代码行数:77,代码来源:BaseSpell.java

示例6: SpellUpgradeEvent

import com.elmakers.mine.bukkit.api.spell.SpellTemplate; //导入依赖的package包/类
public SpellUpgradeEvent(Mage mage, Wand wand, SpellTemplate oldSpell, SpellTemplate newSpell) {
    this.mage = mage;
    this.wand = wand;
    this.oldSpell = oldSpell;
    this.newSpell = newSpell;
}
 
开发者ID:elBukkit,项目名称:MagicAPI,代码行数:7,代码来源:SpellUpgradeEvent.java

示例7: getOldSpell

import com.elmakers.mine.bukkit.api.spell.SpellTemplate; //导入依赖的package包/类
public SpellTemplate getOldSpell() {
    return oldSpell;
}
 
开发者ID:elBukkit,项目名称:MagicAPI,代码行数:4,代码来源:SpellUpgradeEvent.java

示例8: getNewSpell

import com.elmakers.mine.bukkit.api.spell.SpellTemplate; //导入依赖的package包/类
public SpellTemplate getNewSpell() {
    return newSpell;
}
 
开发者ID:elBukkit,项目名称:MagicAPI,代码行数:4,代码来源:SpellUpgradeEvent.java

示例9: AddSpellEvent

import com.elmakers.mine.bukkit.api.spell.SpellTemplate; //导入依赖的package包/类
public AddSpellEvent(Mage mage, Wand wand, SpellTemplate spell) {
    this.mage = mage;
    this.wand = wand;
    this.spell = spell;
}
 
开发者ID:elBukkit,项目名称:MagicAPI,代码行数:6,代码来源:AddSpellEvent.java

示例10: getSpell

import com.elmakers.mine.bukkit.api.spell.SpellTemplate; //导入依赖的package包/类
public SpellTemplate getSpell() {
    return spell;
}
 
开发者ID:elBukkit,项目名称:MagicAPI,代码行数:4,代码来源:AddSpellEvent.java

示例11: onTabComplete

import com.elmakers.mine.bukkit.api.spell.SpellTemplate; //导入依赖的package包/类
@Override
public List<String> onTabComplete(CommandSender sender, Command command, String alias, String[] args) {
    String completeCommand = args.length > 0 ? args[args.length - 1] : "";

    List<String> allOptions = new ArrayList<String>();
    if (args.length < 2) {
        allOptions.addAll(Arrays.asList(SUB_COMMANDS));
    } else if (args.length == 2) {
        Collection<Arena> arenas = controller.getArenas();
        for (Arena arena : arenas) {
            allOptions.add(arena.getKey());
        }
        if (args[0].equalsIgnoreCase("reset")) {
            allOptions.add("ALL");
        }
    } else if (args.length == 3 && args[0].equalsIgnoreCase("configure")) {
        allOptions.addAll(Arrays.asList(ARENA_PROPERTIES));
    } else if (args.length == 4 && args[0].equalsIgnoreCase("configure") && (args[2].equalsIgnoreCase("add") || args[2].equalsIgnoreCase("remove"))) {
        allOptions.addAll(Arrays.asList(ARENA_LISTS));
    } else if (args.length == 4 && args[0].equalsIgnoreCase("configure") && args[2].equalsIgnoreCase("randomize")) {
        allOptions.addAll(Arrays.asList(ARENA_RANDOMIZE));
    } else if (args.length == 4 && args[0].equalsIgnoreCase("configure") && args[2].equalsIgnoreCase("sudden_death_effect")) {
        for (PotionEffectType pt : PotionEffectType.values()) {
            if (pt == null) continue;
            String name = pt.getName();
            if (name == null) continue;
            allOptions.add(name.toLowerCase());
        }
    } else if (args.length == 4 && args[0].equalsIgnoreCase("configure") && (args[2].equalsIgnoreCase("spell_start") || args[2].equalsIgnoreCase("spell_start"))) {
        Collection<SpellTemplate> spells = controller.getMagic().getSpellTemplates();
        for (SpellTemplate spell : spells) {
            allOptions.add(spell.getKey());
        }
    } else if (args.length == 3 && (args[0].equalsIgnoreCase("join") || args[0].equalsIgnoreCase("leave") || args[0].equalsIgnoreCase("stats") || args[0].equalsIgnoreCase("reset"))) {
        allOptions.addAll(controller.getMagic().getPlayerNames());
    } else if (args.length == 5 && args[0].equalsIgnoreCase("configure") && args[2].equalsIgnoreCase("add") && args[3].equalsIgnoreCase("mob")) {
        allOptions.addAll(controller.getMagic().getMobKeys());
    }

    completeCommand = completeCommand.toLowerCase();
    List<String> options = new ArrayList<String>();
    for (String option : allOptions) {
        String lowercase = option.toLowerCase();
        if (lowercase.startsWith(completeCommand)) {
            options.add(option);
        }
    }

    return options;
}
 
开发者ID:elBukkit,项目名称:MagicArenas,代码行数:51,代码来源:ArenaCommandExecutor.java

示例12: getSpellTemplates

import com.elmakers.mine.bukkit.api.spell.SpellTemplate; //导入依赖的package包/类
/**
 * Get a list of all currently loaded SpellTemplate records, as defined in spells.defaults.yml
 * and spells.yml
 *
 * A Spell is created for a Mage from a SpellTemplate.
 *
 * @return A list of all known SpellTemplate definitions.
 */
public Collection<SpellTemplate> getSpellTemplates();
 
开发者ID:elBukkit,项目名称:MagicAPI,代码行数:10,代码来源:MagicAPI.java

示例13: getSpellTemplate

import com.elmakers.mine.bukkit.api.spell.SpellTemplate; //导入依赖的package包/类
/**
 * Retrieve a specific SpellTemplate.
 *
 * @param key The key of the SpellTemplate to look up.
 * @return The requested SpellTemplate, or null on failure.
 */
public SpellTemplate getSpellTemplate(String key);
 
开发者ID:elBukkit,项目名称:MagicAPI,代码行数:8,代码来源:MagicAPI.java

示例14: getSpellTemplate

import com.elmakers.mine.bukkit.api.spell.SpellTemplate; //导入依赖的package包/类
public SpellTemplate getSpellTemplate(String key); 
开发者ID:elBukkit,项目名称:MagicAPI,代码行数:2,代码来源:Wand.java

示例15: getBaseSpell

import com.elmakers.mine.bukkit.api.spell.SpellTemplate; //导入依赖的package包/类
public SpellTemplate getBaseSpell(String spellKey); 
开发者ID:elBukkit,项目名称:MagicAPI,代码行数:2,代码来源:Wand.java


注:本文中的com.elmakers.mine.bukkit.api.spell.SpellTemplate类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。