本文整理汇总了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());
}
示例2: addSpellTemplate
import com.elmakers.mine.bukkit.api.spell.SpellTemplate; //导入依赖的package包/类
public void addSpellTemplate(SpellTemplate template)
{
spells.add(template);
}
示例3: getSpells
import com.elmakers.mine.bukkit.api.spell.SpellTemplate; //导入依赖的package包/类
@Override
public Collection<SpellTemplate> getSpells()
{
return spells;
}
示例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());
}
示例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);
}
}
}
}
}
示例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;
}
示例7: getOldSpell
import com.elmakers.mine.bukkit.api.spell.SpellTemplate; //导入依赖的package包/类
public SpellTemplate getOldSpell() {
return oldSpell;
}
示例8: getNewSpell
import com.elmakers.mine.bukkit.api.spell.SpellTemplate; //导入依赖的package包/类
public SpellTemplate getNewSpell() {
return newSpell;
}
示例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;
}
示例10: getSpell
import com.elmakers.mine.bukkit.api.spell.SpellTemplate; //导入依赖的package包/类
public SpellTemplate getSpell() {
return spell;
}
示例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;
}
示例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();
示例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);
示例14: getSpellTemplate
import com.elmakers.mine.bukkit.api.spell.SpellTemplate; //导入依赖的package包/类
public SpellTemplate getSpellTemplate(String key);
示例15: getBaseSpell
import com.elmakers.mine.bukkit.api.spell.SpellTemplate; //导入依赖的package包/类
public SpellTemplate getBaseSpell(String spellKey);