diff options
Diffstat (limited to 'src/main/java/net/uomc/mineshaft')
6 files changed, 74 insertions, 43 deletions
diff --git a/src/main/java/net/uomc/mineshaft/EatCommand.java b/src/main/java/net/uomc/mineshaft/EatCommand.java index 626207e..7d5ec6d 100644 --- a/src/main/java/net/uomc/mineshaft/EatCommand.java +++ b/src/main/java/net/uomc/mineshaft/EatCommand.java @@ -37,7 +37,7 @@ public class EatCommand extends CooldownCommand { super(bot); setCommandDetails(CommandDetails.from("eat", "eat", "eat")); this.bot = bot; - setCooldown(60l * 1000l); + setCooldown(3l * 60l * 1000l); edible = Map.ofEntries( entry(MineshaftItem.POTATO, 1l), diff --git a/src/main/java/net/uomc/mineshaft/FurnaceCommand.java b/src/main/java/net/uomc/mineshaft/FurnaceCommand.java index d3e1927..ca627c3 100644 --- a/src/main/java/net/uomc/mineshaft/FurnaceCommand.java +++ b/src/main/java/net/uomc/mineshaft/FurnaceCommand.java @@ -26,6 +26,7 @@ public class FurnaceCommand extends CooldownCommand { private static final String COMMAND_IMAGE = "https://minecraft.wiki/images/Lit_Furnace_%28S%29.gif?40e71"; private static final String COMMAND_TITLE = "Furnace"; private static final double COPPER_SPAWN_AMOUNT = 16; + private static final double COAL_SPAWN_AMOUNT = 4; private static final double IRON_SPAWN_AMOUNT = 8; private static final double GOLD_SPAWN_AMOUNT = 4; private static final double EMERALD_SPAWN_AMOUNT = 1; @@ -84,6 +85,8 @@ public class FurnaceCommand extends CooldownCommand { Random random = new Random(); switch (random.nextInt(14)) { case 0: + award.put(MineshaftItem.COAL, (long) Math.ceil(Math.random() * COAL_SPAWN_AMOUNT)); + break; case 1: case 2: case 3: diff --git a/src/main/java/net/uomc/mineshaft/Mineshaft.java b/src/main/java/net/uomc/mineshaft/Mineshaft.java index f2cbe4a..cef05df 100644 --- a/src/main/java/net/uomc/mineshaft/Mineshaft.java +++ b/src/main/java/net/uomc/mineshaft/Mineshaft.java @@ -36,6 +36,7 @@ import com.mouldycheerio.dbot.logging.FullLogger; import com.mouldycheerio.dbot.starboard.StarboardController; import com.mouldycheerio.dbot.util.PeelingUtils; +import net.dv8tion.jda.api.EmbedBuilder; import net.dv8tion.jda.api.entities.Member; import net.uomc.mineshaft.resources.ResourceManager; import net.uomc.mineshaft.resources.market.MarketCommand; @@ -86,21 +87,6 @@ public class Mineshaft extends CustomBot { getCommandController().addCommand(new RobCommand(this)); getCommandController().addCommand(new TradeCommand(this)); - // TODO remove this comand - getCommandController().addCommand(CommandDetails.from("setsword"), (e, b, args) -> { - List<String> argList = Arrays.asList(args); - Optional<Integer> level = argList.stream().filter(s -> PeelingUtils.isInteger(s)) - .map(s -> Integer.parseInt(s)).findFirst(); - getSword(e.getMember()).setLevel(level.get()); - sendSuccessMessage(e, "Set sword level of " + e.getMember().getAsMention() + " to " + level.get()); - }); - - // TODO remove this comand - getCommandController().addCommand(CommandDetails.from("getsword"), (e, b, args) -> { - sendSuccessMessage(e, - "" + e.getMember().getAsMention() + " has sword level: " + getSword(e.getMember()).getLevel()); - }); - getCommandController().removeCommand("help"); getCommandController().addCommand(CommandDetails.from("help"), (e, b, args) -> { String title = "Mineshaft"; @@ -121,6 +107,39 @@ public class Mineshaft extends CustomBot { // TODO update when changes String title = "Patch Notes"; StringBuilder notes = new StringBuilder(); + notes.append("### v0.6\n"); + notes.append("- Overhauled PVP mechanic\n"); + notes.append(" - Players now have HP and attacking another player will damage them \n"); + notes.append(" - Players will only drop items when they die \n"); + notes.append(" - Added option to fight back or flee from pvp encounter\n"); + notes.append(" - Fighting another player is only possible if you have a sword\n"); + notes.append("- Added sleeping `m!sleep`\n"); + notes.append(" - Reduces all cooldowns by 75%\n"); + notes.append(" - Explodes your bed in the nether, dropping ores\n"); + notes.append("- Made food edible, `m!eat`\n"); + notes.append(" - Eating food will regenerate health\n"); + notes.append(" - Food cannot be eaten during pvp encounters\n"); + notes.append("- Added campfire, `m!campfire`\n"); + notes.append(" - Fish and potatos can now be cooked\n"); + notes.append(" - Eating cooked food regenerates more health than when raw\n"); + notes.append(" - Crafting more campfires can total amount that can be cooked\n"); + notes.append("- Added blacksmith `m!blacksmith`"); + notes.append(" - Blacksmith can be used to upgrade sword and armour\n"); + notes.append(" - Stacking blacksmiths can decrease the time it takes to upgrade\n"); + notes.append(" - Each blacksmith must have a forge so that they can work\n"); + notes.append(" - Better swords increase amount of damage dealt when pvping\n"); + notes.append(" - Better armour decreases amount of damage taken from all sources\n"); + notes.append("- Fixed incorrectly displayed enchantments \n"); + notes.append("- You can no longer fish in the nether\n"); + notes.append("- Added `m!plant`, `m!harvest`, `m!expand` as aliases for their respective `m!farm` commands \n"); + notes.append("- Added `m!upgrade` command as alias to `m!blacksmith upgrade [sword|armour]` and `m!pickaxe upgrade`\n"); + notes.append("- Expired cooldowns are now listed in `m!cooldowns`\n"); + notes.append("- Added chance for furnace to produce coal\n"); + notes.append("\n"); + + String v06 = notes.toString(); + notes = new StringBuilder(); + notes.append("### v0.5.2\n"); notes.append("- Fix trader giving impossible item prices\n"); notes.append("- Items can only be given to players who are in the same dimension\n"); @@ -141,6 +160,10 @@ public class Mineshaft extends CustomBot { notes.append("- Added `m!top [item]` to list who has the most of an item\n"); notes.append("- Fixed `m!daily`\n"); notes.append("- Fixed typos\n"); + + String v05 = notes.toString(); + notes = new StringBuilder(); + notes.append("### v0.4\n"); notes.append("- Added nether\n"); notes.append(" - 10 obsidian can now be used to craft a portal\n"); @@ -154,28 +177,33 @@ public class Mineshaft extends CustomBot { notes.append("- Furnace can now be accessed every 30 minutes\n"); notes.append("- Added `m!market` for trading items\n"); notes.append("- Fix `m!give` to work properly\n"); - //notes.append("### v0.3.1\n"); - //notes.append("- Added furnace crafting recipe\n"); - //notes.append("- Added `m!daily` to get daily commands\n"); - //notes.append("- Balanced amount of ores needed to upgrade pickaxe\n"); - //notes.append("- Fix obsidian not spawning\n"); - //notes.append("- Added `m!cooldowns`\n"); - //notes.append("### v0.3\n"); - //notes.append("- Added items for all ores `m!inventory`\n"); - //notes.append("- Added pickaxe levels `m!pickaxe`\n"); - //notes.append(" - Pickaxe can be upgraded, giving access to better ores (`m!pickaxe upgrade`)\n"); - //notes.append("- Added enchanting `m!enchant`\n"); - //notes.append(" - Your pickaxe can be enchanted by spending lapis and xp\n"); - //notes.append(" - Owning bookshelves gives you a discount on the amount of levels it costs to enchant\n"); - //notes.append("- Added crafting `m!craft`\n"); - //notes.append(" - Enchanting table and books can now be crafted!\n"); - //notes.append("- Fishing now drops books\n"); - //notes.append("- Rob has been relaced with `m!kill`\n"); - //notes.append(" - Killing a player will drop some of their items\n"); - //notes.append("- Added obsidian\n"); - //notes.append("- Removed `m!flip`, this will be added in a future update (with a new mechanic)\n"); - - sendMessage(e, title, notes.toString()); + String v04 = notes.toString(); + notes = new StringBuilder(); + notes.append("### v0.3.1\n"); + notes.append("- Added furnace crafting recipe\n"); + notes.append("- Added `m!daily` to get daily commands\n"); + notes.append("- Balanced amount of ores needed to upgrade pickaxe\n"); + notes.append("- Fix obsidian not spawning\n"); + notes.append("- Added `m!cooldowns`\n"); + notes.append("### v0.3\n"); + notes.append("- Added items for all ores `m!inventory`\n"); + notes.append("- Added pickaxe levels `m!pickaxe`\n"); + notes.append(" - Pickaxe can be upgraded, giving access to better ores (`m!pickaxe upgrade`)\n"); + notes.append("- Added enchanting `m!enchant`\n"); + notes.append(" - Your pickaxe can be enchanted by spending lapis and xp\n"); + notes.append(" - Owning bookshelves gives you a discount on the amount of levels it costs to enchant\n"); + notes.append("- Added crafting `m!craft`\n"); + notes.append(" - Enchanting table and books can now be crafted!\n"); + notes.append("- Fishing now drops books\n"); + notes.append("- Rob has been relaced with `m!kill`\n"); + notes.append(" - Killing a player will drop some of their items\n"); + notes.append("- Added obsidian\n"); + notes.append("- Removed `m!flip`, this will be added in a future update (with a new mechanic)\n"); + String v03 = notes.toString(); + + List<String> pages = List.of(v06, v05, v04, v03); + + PeelingUtils.pagesRaw(e.getChannel(), e.getAuthor(), pages); }); getCommandController().addCommand(CommandDetails.from("cooldowns,cd"), (e, b, args) -> { diff --git a/src/main/java/net/uomc/mineshaft/RobCommand.java b/src/main/java/net/uomc/mineshaft/RobCommand.java index d87f097..0d71c0e 100644 --- a/src/main/java/net/uomc/mineshaft/RobCommand.java +++ b/src/main/java/net/uomc/mineshaft/RobCommand.java @@ -33,8 +33,8 @@ public class RobCommand extends CooldownCommand { protected RobCommand(Mineshaft bot) { super(bot); // TODO reset this - // setCooldown(60l * 30l * 1000l); - setCooldown(0l); + setCooldown(60l * 15l * 1000l); + //setCooldown(0l); this.bot = bot; setDetails(CommandDetails.from("kill,pvp,rob,fight,challenge", "kill another player")); pvpEmoji = EmojiParser.parseToUnicode(":crossed_swords:"); diff --git a/src/main/java/net/uomc/mineshaft/farm/CampfireCommand.java b/src/main/java/net/uomc/mineshaft/farm/CampfireCommand.java index e3138dc..05b836c 100644 --- a/src/main/java/net/uomc/mineshaft/farm/CampfireCommand.java +++ b/src/main/java/net/uomc/mineshaft/farm/CampfireCommand.java @@ -31,8 +31,8 @@ public class CampfireCommand extends DetailedCommand { private static final String COMMAND_TITLE = "Campfire"; private static final String COMMAND_IMAGE = "https://minecraft.wiki/images/Campfire_%28S%29_JE2_BE2.gif"; public static final int ITEMS_PER_CAMPFIRE = 4; - public static final long POTATO_COOKING_TIME = 1000l * 40l; - public static final long FISH_COOKING_TIME = 1000l * 90l; + public static final long POTATO_COOKING_TIME = 1000l * 60l * 6l; + public static final long FISH_COOKING_TIME = 1000l * 60l * 10l; Mineshaft bot; List<Campfire> farms; diff --git a/src/main/java/net/uomc/mineshaft/farm/TradeCommand.java b/src/main/java/net/uomc/mineshaft/farm/TradeCommand.java index ad3a1be..e9c7a91 100644 --- a/src/main/java/net/uomc/mineshaft/farm/TradeCommand.java +++ b/src/main/java/net/uomc/mineshaft/farm/TradeCommand.java @@ -36,7 +36,7 @@ public class TradeCommand extends CooldownCommand { private static final double NEW_ITEM_ITEM_VALUE = 0.3; private static final long TRADE_DURATION_SECONDS = 90; - private static final double MAX_AMOUNT_PERCENT = 0.2; + private static final double MAX_AMOUNT_PERCENT = 0.6; public static MineshaftItem[] traderItems = { MineshaftItem.CARROT, |
