diff --git a/assets/images/cave.png b/assets/images/cave/default.png similarity index 100% rename from assets/images/cave.png rename to assets/images/cave/default.png diff --git a/assets/images/cave/steve.png b/assets/images/cave/steve.png new file mode 100644 index 00000000..1802729f Binary files /dev/null and b/assets/images/cave/steve.png differ diff --git a/commands/single/cave.js b/commands/single/cave.js index 58a713f6..00e1f9f3 100644 --- a/commands/single/cave.js +++ b/commands/single/cave.js @@ -1,5 +1,7 @@ const Command = require('../../structures/Command'); const path = require('path'); +const { list } = require('../../util/Util'); +const types = ['default', 'steve']; module.exports = class CaveCommand extends Command { constructor(client) { @@ -9,11 +11,22 @@ module.exports = class CaveCommand extends Command { group: 'single', memberName: 'cave', description: 'Sends a Minecraft cave that blends in with the chat.', - clientPermissions: ['ATTACH_FILES'] + details: `**Types:** ${types.join(', ')}`, + clientPermissions: ['ATTACH_FILES'], + args: [ + { + key: 'type', + prompt: `What type of cave do you want to use? Either ${list(types, 'or')}.`, + type: 'string', + default: 'default', + oneOf: types, + parse: type => type.toLowerCase() + } + ] }); } - run(msg) { - return msg.say({ files: [path.join(__dirname, '..', '..', 'assets', 'images', 'cave.png')] }); + run(msg, { type }) { + return msg.say({ files: [path.join(__dirname, '..', '..', 'assets', 'images', 'cave', `${type}.png`)] }); } };