summaryrefslogtreecommitdiff
path: root/src/main/java/net/uomc/mineshaft/EnchantCommand.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/net/uomc/mineshaft/EnchantCommand.java')
-rw-r--r--src/main/java/net/uomc/mineshaft/EnchantCommand.java54
1 files changed, 24 insertions, 30 deletions
diff --git a/src/main/java/net/uomc/mineshaft/EnchantCommand.java b/src/main/java/net/uomc/mineshaft/EnchantCommand.java
index f147636..293351c 100644
--- a/src/main/java/net/uomc/mineshaft/EnchantCommand.java
+++ b/src/main/java/net/uomc/mineshaft/EnchantCommand.java
@@ -9,7 +9,9 @@ import com.mouldycheerio.dbot.util.PeelingUtils;
import com.vdurmont.emoji.EmojiParser;
import net.dv8tion.jda.api.EmbedBuilder;
+import net.dv8tion.jda.api.entities.Member;
import net.dv8tion.jda.api.events.message.MessageReceivedEvent;
+import net.uomc.mineshaft.blacksmith.Pickaxe;
public class EnchantCommand extends DetailedCommand {
@@ -41,9 +43,12 @@ public class EnchantCommand extends DetailedCommand {
return;
}
- int fortune = bot.getPickaxes().getPickaxeFortune(e.getMember());
- int efficiency = bot.getPickaxes().getPickaxeEfficiency(e.getMember());
- long bookshelves = bot.getItem(e.getMember(), MineshaftItem.BOOKSHELF);
+ Member m = e.getMember();
+ Pickaxe pick = bot.getPickaxe(m);
+
+ int fortune = pick.getFortune();
+ int efficiency = pick.getEfficiency();
+ long bookshelves = bot.getItem(m, MineshaftItem.BOOKSHELF);
String bookshelfDiscountPercent = "-" + (int) Math.ceil((1 -bookshelfDiscount(bookshelves))*100) + "%";
long xpLevel = getXpLevel(fortune+efficiency, bookshelves);
@@ -52,7 +57,7 @@ public class EnchantCommand extends DetailedCommand {
long xpLevelNormal = getXpLevel(fortune+efficiency, 0);
long lapisLevelNormal = getLapisLevel(fortune+efficiency, 0);
- String curr = "Your pickaxe " + getPickaxeEnchantmentsString(fortune, efficiency);
+ String curr = "Your pickaxe " + pick.getEnchantmentString();
curr += "\n\n";
String description = curr + "Enchant your pickaxe with `" + b.getPrefixManager().getPrefix(e.getGuild()) + "enchant pickaxe`\n\n";
@@ -89,20 +94,6 @@ public class EnchantCommand extends DetailedCommand {
e.getMessage().replyEmbeds(em.build()).queue();
}
- public String getPickaxeEnchantmentsString(int fortune, int efficiency) {
- String curr = "";
- if (fortune > 0 || efficiency > 0) {
- curr = "is enchanted with ";
- if (fortune > 0)
- curr += "**Fortune " + Pickaxes.getRomanNumber(fortune) + "** ";
- if (efficiency > 0)
- curr += "**Efficiency " + Pickaxes.getRomanNumber(efficiency) + "** ";
- } else {
- curr = "has no enchantments";
- }
- return curr;
- }
-
private long getLapisLevel(int fortune, long bookshelves) {
return (long) (Math.pow(2, fortune + 4) * bookshelfDiscount(bookshelves));
}
@@ -121,15 +112,18 @@ public class EnchantCommand extends DetailedCommand {
private void enchant(MessageReceivedEvent e, String[] args) {
- int fortune = bot.getPickaxes().getPickaxeFortune(e.getMember());
- int efficiency = bot.getPickaxes().getPickaxeEfficiency(e.getMember());
+ Member m = e.getMember();
+ Pickaxe pick = bot.getPickaxe(m);
+
+ int fortune = pick.getFortune();
+ int efficiency = pick.getEfficiency();
- long bookshelves = bot.getItem(e.getMember(), MineshaftItem.BOOKSHELF);
+ long bookshelves = bot.getItem(m, MineshaftItem.BOOKSHELF);
long xpLevel = getXpLevel(fortune + efficiency, bookshelves);
long lapisLevel = getLapisLevel(fortune + efficiency, bookshelves);
- long memberLapis = bot.getItem(e.getMember(), MineshaftItem.LAPIS);
- long memberXp = bot.getItem(e.getMember(), MineshaftItem.XP);
+ long memberLapis = bot.getItem(m, MineshaftItem.LAPIS);
+ long memberXp = bot.getItem(m, MineshaftItem.XP);
if (memberLapis < lapisLevel) {
bot.sendErrorMessage(e, ":x: You need " + bot.getItem(MineshaftItem.LAPIS).prettyValue(lapisLevel - memberLapis) + " more lapis!" );
@@ -141,18 +135,18 @@ public class EnchantCommand extends DetailedCommand {
return;
}
- bot.removeItem(e.getMember(), MineshaftItem.LAPIS, lapisLevel);
- bot.removeItem(e.getMember(), MineshaftItem.XP, xpLevel);
+ bot.removeItem(m, MineshaftItem.LAPIS, lapisLevel);
+ bot.removeItem(m, MineshaftItem.XP, xpLevel);
String newEnch = "";
if (Math.random() > 0.5) {
- int level = bot.getPickaxes().incrementFortune(e.getMember());
- newEnch = "**Fortune " + Pickaxes.getRomanNumber(level) + "**";
+ int level = pick.incrementFortune();
+ newEnch = "**Fortune " + Pickaxe.getRomanNumber(level) + "**";
} else {
- int level = bot.getPickaxes().incrementEfficiency(e.getMember());
- newEnch = "**Efficiency " + Pickaxes.getRomanNumber(level) + "**";
-
+ int level = pick.incrementEfficiency();
+ newEnch = "**Efficiency " + Pickaxe.getRomanNumber(level) + "**";
}
+
bot.sendSuccessMessage(e, ":white_check_mark: You enchanted your pickaxe. You now have " + newEnch);
}
}