mirror of
https://github.com/mcMMO-Dev/mcMMO.git
synced 2025-07-02 13:44:43 +02:00
80 lines
3.2 KiB
Java
80 lines
3.2 KiB
Java
package com.gmail.nossr50.commands.skills;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.List;
|
|
|
|
import org.bukkit.entity.Player;
|
|
|
|
import com.gmail.nossr50.datatypes.skills.SecondaryAbility;
|
|
import com.gmail.nossr50.datatypes.skills.SkillType;
|
|
import com.gmail.nossr50.locale.LocaleLoader;
|
|
import com.gmail.nossr50.skills.salvage.Salvage;
|
|
import com.gmail.nossr50.skills.salvage.SalvageManager;
|
|
import com.gmail.nossr50.util.Permissions;
|
|
import com.gmail.nossr50.util.player.UserManager;
|
|
|
|
public class SalvageCommand extends SkillCommand {
|
|
private boolean canAdvancedSalvage;
|
|
private boolean canArcaneSalvage;
|
|
|
|
public SalvageCommand() {
|
|
super(SkillType.SALVAGE);
|
|
}
|
|
|
|
@Override
|
|
protected void dataCalculations(Player player, float skillValue, boolean isLucky) {
|
|
// TODO Auto-generated method stub
|
|
|
|
}
|
|
|
|
@Override
|
|
protected void permissionsCheck(Player player) {
|
|
canAdvancedSalvage = Permissions.secondaryAbilityEnabled(player, SecondaryAbility.ADVANCED_SALVAGE);
|
|
canArcaneSalvage = Permissions.secondaryAbilityEnabled(player, SecondaryAbility.ARCANE_SALVAGE);
|
|
}
|
|
|
|
@Override
|
|
protected List<String> effectsDisplay() {
|
|
List<String> messages = new ArrayList<String>();
|
|
|
|
if (canAdvancedSalvage) {
|
|
messages.add(LocaleLoader.getString("Effects.Template", LocaleLoader.getString("Salvage.Effect.0"), LocaleLoader.getString("Salvage.Effect.1")));
|
|
}
|
|
|
|
if (canArcaneSalvage) {
|
|
messages.add(LocaleLoader.getString("Effects.Template", LocaleLoader.getString("Salvage.Effect.2"), LocaleLoader.getString("Salvage.Effect.3")));
|
|
}
|
|
|
|
return messages;
|
|
}
|
|
|
|
@Override
|
|
protected List<String> statsDisplay(Player player, float skillValue, boolean hasEndurance, boolean isLucky) {
|
|
List<String> messages = new ArrayList<String>();
|
|
SalvageManager salvageManager = UserManager.getPlayer(player).getSalvageManager();
|
|
|
|
if (canAdvancedSalvage) {
|
|
if (skillValue < Salvage.advancedSalvageUnlockLevel) {
|
|
messages.add(LocaleLoader.getString("Ability.Generic.Template.Lock", LocaleLoader.getString("Salvage.Ability.Locked.0", Salvage.advancedSalvageUnlockLevel)));
|
|
}
|
|
else {
|
|
messages.add(LocaleLoader.getString("Ability.Generic.Template", LocaleLoader.getString("Salvage.Ability.Bonus.0"), LocaleLoader.getString("Salvage.Ability.Bonus.1", percent.format(salvageManager.getMaxSalvagePercentage()))));
|
|
}
|
|
}
|
|
|
|
if (canArcaneSalvage) {
|
|
messages.add(LocaleLoader.getString("Salvage.Arcane.Rank", salvageManager.getArcaneSalvageRank(), Salvage.Tier.values().length));
|
|
|
|
if (Salvage.arcaneSalvageEnchantLoss) {
|
|
messages.add(LocaleLoader.getString("Ability.Generic.Template", LocaleLoader.getString("Salvage.Arcane.ExtractFull"), percent.format(salvageManager.getExtractFullEnchantChance() / 100)));
|
|
}
|
|
|
|
if (Salvage.arcaneSalvageDowngrades) {
|
|
messages.add(LocaleLoader.getString("Ability.Generic.Template", LocaleLoader.getString("Salvage.Arcane.ExtractPartial"), percent.format(salvageManager.getExtractPartialEnchantChance() / 100)));
|
|
}
|
|
}
|
|
|
|
return messages;
|
|
}
|
|
}
|