summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authordavidovski <david@davidovski.xyz>2025-11-05 00:43:04 +0000
committerdavidovski <david@davidovski.xyz>2025-11-05 00:43:04 +0000
commit93ca641e63e9e1e1894ad2aa7e36935736a16bc0 (patch)
tree65c1b2ca2c3629456fd8c232180af03fc278a8f0 /src
parent2e47a68b69fac942e4efd7b90f248e15f02f6a82 (diff)
Add changelog for v0.6HEADmaster
Diffstat (limited to 'src')
-rw-r--r--src/main/java/net/uomc/mineshaft/EatCommand.java2
-rw-r--r--src/main/java/net/uomc/mineshaft/FurnaceCommand.java3
-rw-r--r--src/main/java/net/uomc/mineshaft/Mineshaft.java102
-rw-r--r--src/main/java/net/uomc/mineshaft/RobCommand.java4
-rw-r--r--src/main/java/net/uomc/mineshaft/farm/CampfireCommand.java4
-rw-r--r--src/main/java/net/uomc/mineshaft/farm/TradeCommand.java2
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,