From 8d252d18c4ffbfcf874893fb0b9ec6cd9908192c Mon Sep 17 00:00:00 2001 From: Stephen H Date: Mon, 20 Apr 2020 23:27:44 +1000 Subject: [PATCH] Added a simple Reddit Client # Changes: + Added a simple Reddit Client in the chat (command: /reddit) + Moved some functions to seperate classes + Updated Spigot API to 1.15.2 + Seperate file for player storage --- README.md | 11 +- pom.xml | 21 +- src/main/java/me/steve8playz/CakeDay.java | 94 +++++++++ src/main/java/me/steve8playz/Commands.java | 111 +++++++++++ src/main/java/me/steve8playz/MCeddit.java | 219 ++++++++------------- src/main/resources/config.yml | 6 +- src/main/resources/players.yml | 2 + src/main/resources/plugin.yml | 12 +- 8 files changed, 328 insertions(+), 148 deletions(-) create mode 100644 src/main/java/me/steve8playz/CakeDay.java create mode 100644 src/main/java/me/steve8playz/Commands.java create mode 100644 src/main/resources/players.yml diff --git a/README.md b/README.md index cc23b97..68cacf7 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,18 @@ # MCeddit A Simple way to link Minecraft with Reddit ## Commands +- Reddit: + - Description: Look at Reddit in game + - Usage: /\ \[Subreddit\] \[API Query\] + - Permission: MCeddit.view + - Default: true - LinkReddit: - Description: Link your Minecraft account with your Reddit Account - - Usage: /\ \ [player] + - Usage: /\ \ \[player\] - Permission: MCeddit.link - Default: true - GetReddit: - Description: Look at the Reddit API using the plugin - - Usage: /\ \ [player] + - Usage: /\ \ \[player\] - Permission: MCeddit.get - - Default: false \ No newline at end of file + - Default: false diff --git a/pom.xml b/pom.xml index b3acf3f..360dd31 100644 --- a/pom.xml +++ b/pom.xml @@ -6,21 +6,36 @@ me.steve8playz MCeddit - 1.0-SNAPSHOT + 1.1-SNAPSHOT + + + + org.apache.maven.plugins + maven-compiler-plugin + + 7 + 7 + + + + + - spigotmc-repo + spigot-repo https://hub.spigotmc.org/nexus/content/repositories/snapshots/ + org.spigotmc spigot-api - 1.13-R0.1-SNAPSHOT + 1.15.2-R0.1-SNAPSHOT provided + \ No newline at end of file diff --git a/src/main/java/me/steve8playz/CakeDay.java b/src/main/java/me/steve8playz/CakeDay.java new file mode 100644 index 0000000..728b7af --- /dev/null +++ b/src/main/java/me/steve8playz/CakeDay.java @@ -0,0 +1,94 @@ +package me.steve8playz; + +import org.bukkit.*; +import org.bukkit.entity.Firework; +import org.bukkit.entity.Player; +import org.bukkit.event.EventHandler; +import org.bukkit.event.Listener; +import org.bukkit.event.player.PlayerJoinEvent; +import org.bukkit.inventory.ItemStack; +import org.bukkit.inventory.meta.FireworkMeta; +import org.bukkit.inventory.meta.ItemMeta; + +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.HashMap; + +public class CakeDay implements Listener { + + private final MCeddit plugin; + // Keeps track of the cooldowns for multiple players + private HashMap cooldowns = new HashMap(); + + public CakeDay(MCeddit plugin) { + this.plugin = plugin; + } + + private static ItemStack bakeCake(String itemName, String itemLore) { + ItemStack item = new ItemStack(Material.CAKE, 1); + ItemMeta meta = item.getItemMeta(); + meta.setDisplayName(itemName); + ArrayList lore = new ArrayList(); + lore.add(itemLore); + meta.setLore(lore); + item.setItemMeta(meta); + return item; + } + + private static void firework(Player player) { + Location loc = player.getLocation(); + Firework fw = loc.getWorld().spawn(loc, Firework.class); + FireworkMeta data = fw.getFireworkMeta(); + Color color1 = Color.RED; + Color color2 = Color.AQUA; + data.addEffects(FireworkEffect.builder().withColor(color1, color2).with(FireworkEffect.Type.STAR).build()); + fw.setFireworkMeta(data); + } + + @EventHandler + public void onPlayerJoin(PlayerJoinEvent event) { + Player player = event.getPlayer(); + + if (player.hasPermission("mceddit.cakeday") && + plugin.getPlayerConfig().contains(player.getUniqueId().toString())) { + long redditCreated = (long) Double.parseDouble(plugin.getReddit(plugin.getPlayerConfig().getString(player.getUniqueId().toString()), "created")); + if (compareUnix(System.currentTimeMillis() / 1000, redditCreated, "MM-dd")) { + + // Cooldown to stop this from executing twice + // TODO: Find a better way of doing this + // TODO: Put cooldownTime into config + int cooldownTime = 86400; + if (cooldowns.containsKey(player.getName())) { + long secondsLeft = ((cooldowns.get(player.getName()) / 1000) + cooldownTime) - (System.currentTimeMillis() / 1000); + if (secondsLeft > 0) { + // player.sendMessage("You cant use that commands for another "+ secondsLeft +" seconds!"); + return; + } + } + cooldowns.put(player.getName(), System.currentTimeMillis()); + // END Cooldown Code + + plugin.getServer().broadcastMessage(ChatColor.GOLD + "It's " + player.getName() + "'s Reddit Cake Day Today!"); + if (!player.hasPermission("mceddit.cakeday.givecake")) + player.sendMessage(ChatColor.GOLD + "Happy Cake Day " + player.getName() + "!"); + else { + player.sendMessage(ChatColor.GOLD + "Happy Cake Day " + player.getName() + "! Here's a Cake to Celebrate!"); + player.getInventory().addItem(bakeCake(player.getName() + "'s Cake", "A Cake for your Reddit Cake Day")); + } + if (player.hasPermission("mceddit.cakeday.firework")) firework(player); + } + } + } + + private boolean compareUnix(long unixSeconds, long compareUnixSeconds, String comparePattern) { + // Convert seconds to milliseconds + Date date = new java.util.Date(unixSeconds * 1000L); + Date dateCompare = new java.util.Date(compareUnixSeconds * 1000L); + // Format the date + SimpleDateFormat dateFormat = new java.text.SimpleDateFormat(comparePattern); + SimpleDateFormat dateFormatCompare = new java.text.SimpleDateFormat(comparePattern); + // Compare + return ((dateFormat.format(date)).equals(dateFormatCompare.format(dateCompare))); + } +} diff --git a/src/main/java/me/steve8playz/Commands.java b/src/main/java/me/steve8playz/Commands.java new file mode 100644 index 0000000..b00bd9b --- /dev/null +++ b/src/main/java/me/steve8playz/Commands.java @@ -0,0 +1,111 @@ +package me.steve8playz; + +import net.md_5.bungee.api.chat.ClickEvent; +import net.md_5.bungee.api.chat.TextComponent; +import org.bukkit.Bukkit; +import org.bukkit.ChatColor; +import org.bukkit.command.Command; +import org.bukkit.command.CommandExecutor; +import org.bukkit.command.CommandSender; +import org.bukkit.entity.Player; + +import java.util.Collections; + +public class Commands implements CommandExecutor { + private final MCeddit plugin; + + public Commands(MCeddit plugin) { + this.plugin = plugin; + } + + public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { + Player player = (Player) sender; + + String messagePrefix = ChatColor.translateAlternateColorCodes('&', plugin.getConfig().getString("PluginPrefix") + " "); + + // TODO: Make the linked account only to be changed once without admin permissions + if ((cmd.getName().equalsIgnoreCase("LinkReddit")) && (sender.hasPermission("mceddit.link"))) { + if (args.length == 1) { + if (sender instanceof Player) { + plugin.setPlayerConfig(player.getUniqueId().toString(), args[0].replace("u/", "")); + sender.sendMessage(messagePrefix + ChatColor.GREEN + "User Linked!"); + } else plugin.getLogger().warning("You need to be a player to run this command."); + } else if (args.length == 2 && sender.hasPermission("mceddit.link.players")) { + if (Bukkit.getPlayer(args[0]).isOnline()) { + plugin.setPlayerConfig(args[1], Bukkit.getPlayer(args[0]).getUniqueId()); + sender.sendMessage(messagePrefix + ChatColor.GREEN + "User Linked!"); + } else sender.sendMessage(messagePrefix + ChatColor.RED + "Error: Player not Online."); + } else { + sender.sendMessage(messagePrefix + ChatColor.RED + "Usage: /LinkReddit [player]"); + } + } + if ((cmd.getName().equalsIgnoreCase("GetReddit")) && (sender.hasPermission("mceddit.get"))) { + if (args.length == 1) { + if (sender instanceof Player) { + if (plugin.getPlayerConfig().contains(player.getUniqueId().toString())) { + String message = plugin.getReddit(plugin.getConfig().getString(player.getUniqueId().toString()), args[0]); + if (message != null) sender.sendMessage(message); + else + sender.sendMessage(messagePrefix + ChatColor.DARK_RED + "An Error Occurred. It is likely that you mistyped an Object in the API or there is no internet."); + } else sender.sendMessage(messagePrefix + "Link your Reddit account first"); + } else plugin.getLogger().warning("You need to be a player to run this command."); + } else if (args.length == 2 && sender.hasPermission("mceddit.get.players")) { + if (Bukkit.getPlayer(args[1]).isOnline()) { + String message = plugin.getReddit(plugin.getConfig().getString(Bukkit.getPlayer(args[1]).getUniqueId().toString()), args[0]); + if (message != null) sender.sendMessage(message); + else + sender.sendMessage(messagePrefix + ChatColor.DARK_RED + "An Error Occurred. " + ChatColor.RED + "It is likely that you mistyped an Object in the API or there is no internet."); + } else sender.sendMessage(messagePrefix + ChatColor.RED + "Error: Player not Online."); + } else { + sender.sendMessage(messagePrefix + ChatColor.RED + "Usage: /GetReddit [player]"); + } + } + + if ((cmd.getName().equalsIgnoreCase("reddit")) && (sender.hasPermission("mceddit.view"))) { + if (sender instanceof Player) { + String[][] posts; + String subreddit; + if (args.length == 1) { + subreddit = args[0]; + posts = plugin.getSubreddit(subreddit, null); + } else if (args.length == 2) { + subreddit = args[0]; + posts = plugin.getSubreddit(subreddit, args[1]); + } else { + subreddit = plugin.getConfig().getString("DefaultSubreddit"); + posts = plugin.getSubreddit(subreddit, null); + } + + TextComponent border = new TextComponent(new String(new char[50]).replace('\0', '-')); + border.setColor(net.md_5.bungee.api.ChatColor.DARK_GRAY); + + player.spigot().sendMessage(border); + + for (int i = 0; i < plugin.getConfig().getInt("PostLimit"); i++) { + String[] post = posts[i]; + + TextComponent title = new TextComponent(post[1]); + title.setClickEvent(new ClickEvent(ClickEvent.Action.OPEN_URL, "https://www.reddit.com" + post[5])); + title.setColor(net.md_5.bungee.api.ChatColor.WHITE); + title.setUnderlined(true); + + TextComponent text = new TextComponent("submitted by " + post[3] + " to r/" + post[0] + "\n" + + post[2] + " upvotes with " + post[4] + " comments"); + text.setColor(net.md_5.bungee.api.ChatColor.GRAY); + + player.spigot().sendMessage(title); + player.spigot().sendMessage(text); + } + + TextComponent nextButton = new TextComponent("[Next]"); + nextButton.setBold(true); + + nextButton.setClickEvent(new ClickEvent(ClickEvent.Action.RUN_COMMAND, "/reddit " + + subreddit + " after=" + posts[posts.length - 1][0])); + player.spigot().sendMessage(nextButton); + player.spigot().sendMessage(border); + } else plugin.getLogger().warning("You need to be a player to run this command."); + } + return true; + } +} diff --git a/src/main/java/me/steve8playz/MCeddit.java b/src/main/java/me/steve8playz/MCeddit.java index ad7df58..a678aa8 100644 --- a/src/main/java/me/steve8playz/MCeddit.java +++ b/src/main/java/me/steve8playz/MCeddit.java @@ -1,108 +1,96 @@ package me.steve8playz; import com.google.gson.Gson; +import com.google.gson.JsonArray; import com.google.gson.JsonObject; -import org.bukkit.*; -import org.bukkit.command.Command; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Firework; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.inventory.ItemStack; -import org.bukkit.inventory.PlayerInventory; -import org.bukkit.inventory.meta.FireworkMeta; -import org.bukkit.inventory.meta.ItemMeta; +import org.bukkit.configuration.InvalidConfigurationException; +import org.bukkit.configuration.file.FileConfiguration; +import org.bukkit.configuration.file.YamlConfiguration; import org.bukkit.plugin.java.JavaPlugin; import java.io.BufferedReader; +import java.io.File; +import java.io.IOException; import java.io.InputStreamReader; import java.net.URL; import java.net.URLConnection; -import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Date; -import java.util.HashMap; +import java.util.Arrays; -public class MCeddit extends JavaPlugin implements Listener { +public class MCeddit extends JavaPlugin { //Final Variables to put in Config file later - private final String messagePrefix = ChatColor.GOLD + "[MCeddit] "; + private File playerConfigFile; + private FileConfiguration playerConfig; @Override public void onEnable() { - getLogger().info("MCeddit v1.0 has been Enabled"); + getLogger().info("MCeddit " + this.getDescription().getVersion() + " has been Enabled"); getConfig().options().copyDefaults(true); saveConfig(); - this.getServer().getPluginManager().registerEvents(this, this); + loadPlayerConfig(); + getCommand("LinkReddit").setExecutor(new Commands(this)); + getCommand("GetReddit").setExecutor(new Commands(this)); + getCommand("Reddit").setExecutor(new Commands(this)); + this.getServer().getPluginManager().registerEvents(new CakeDay(this), this); } @Override public void onDisable() { saveConfig(); - getLogger().info("MCeddit v1.0 has been Disabled"); + savePlayerConfig(); + getLogger().info("MCeddit " + this.getDescription().getVersion() + " has been Disabled"); } + public FileConfiguration getPlayerConfig() { + return playerConfig; + } - // Keeps track of the cooldowns for multiple players - private HashMap cooldowns = new HashMap(); - - @EventHandler - public void onPlayerJoin(PlayerJoinEvent event) { - Player player = event.getPlayer(); - - - if (player.hasPermission("mceddit.cakeday") && getConfig().contains(player.getUniqueId().toString())) { - long redditCreated = (long) Double.parseDouble(getReddit(getConfig().getString(player.getUniqueId().toString()), "created")); - if (compareUnix(System.currentTimeMillis() / 1000, redditCreated, "MM-dd")) { - - // Cooldown to stop this from executing twice - // TODO: Find a better way of doing this - // TODO: Put cooldownTime into config - int cooldownTime = 86400; - if(cooldowns.containsKey(player.getName())) { - long secondsLeft = ((cooldowns.get(player.getName())/1000)+cooldownTime) - (System.currentTimeMillis()/1000); - if(secondsLeft>0) { - // player.sendMessage("You cant use that commands for another "+ secondsLeft +" seconds!"); - return; - } - } - cooldowns.put(player.getName(), System.currentTimeMillis()); - // END Cooldown Code - - getServer().broadcastMessage(ChatColor.GOLD + "It's " + player.getName() + "'s Reddit Cake Day Today!"); - if (!player.hasPermission("mceddit.cakeday.givecake")) - player.sendMessage(ChatColor.GOLD + "Happy Cake Day " + player.getName() + "!"); - else { - player.sendMessage(ChatColor.GOLD + "Happy Cake Day " + player.getName() + "! Here's a Cake to Celebrate!"); - player.getInventory().addItem(bakeCake(player.getName() + "'s Cake", "A Cake for your Reddit Cake Day")); - } - if (player.hasPermission("mceddit.cakeday.firework")) firework(player); - } + public void setPlayerConfig(String arg1, Object arg2) { + playerConfig.set(arg1, arg2); + } + + private void loadPlayerConfig() { + playerConfigFile = new File(getDataFolder(), "players.yml"); + if (!playerConfigFile.exists()) { + playerConfigFile.getParentFile().mkdirs(); + saveResource("players.yml", false); + } + + playerConfig = new YamlConfiguration(); + try { + playerConfig.load(playerConfigFile); + } catch (IOException | InvalidConfigurationException e) { + e.printStackTrace(); } } - public String getReddit(String username, String object) { + private void savePlayerConfig() { + playerConfigFile = new File(getDataFolder(), "players.yml"); try { - String jsonS = ""; - URL url = new URL("https://www.reddit.com/user/" + username + "/about.json"); + playerConfig.save(playerConfigFile); + } catch (IOException e) { + e.printStackTrace(); + } + } + + public JsonObject getRedditURL(String link) { + StringBuilder jsonSB = new StringBuilder(); + try { + URL url = new URL(link); URLConnection conn = url.openConnection(); conn.setRequestProperty("User-Agent", "MCeddit - A Simple Spigot Plugin to link Minecraft with Reddit"); conn.connect(); BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream())); String inputLine; - while((inputLine = in.readLine()) != null) { - jsonS+=inputLine; + while ((inputLine = in.readLine()) != null) { + jsonSB.append(inputLine); } - Gson gson = new Gson(); - JsonObject jsonObject = gson.fromJson(jsonS, JsonObject.class); - JsonObject data = jsonObject.get("data").getAsJsonObject(); - String result = data.get(object).getAsString(); - in.close(); - return result; + Gson gson = new Gson(); + JsonObject jsonObject = gson.fromJson(jsonSB.toString(), JsonObject.class); + return jsonObject.get("data").getAsJsonObject(); + } catch (Exception e) { if (e.getMessage() == null) { getLogger().severe("An Unknown Error Occurred while getting to Reddit or Reading the Reddit API, it is possibly because of a bad JSON Object."); @@ -116,81 +104,36 @@ public String getReddit(String username, String object) { } return null; } - - } - - private boolean compareUnix(long unixSeconds, long compareUnixSeconds, String comparePattern) { - // Convert seconds to milliseconds - Date date = new java.util.Date(unixSeconds * 1000L); - Date dateCompare = new java.util.Date(compareUnixSeconds * 1000L); - // Format the date - SimpleDateFormat dateFormat = new java.text.SimpleDateFormat(comparePattern); - SimpleDateFormat dateFormatCompare = new java.text.SimpleDateFormat(comparePattern); - // Compare - return ((dateFormat.format(date)).equals(dateFormatCompare.format(dateCompare))); } - private static ItemStack bakeCake(String itemName, String itemLore) { - ItemStack item = new ItemStack(Material.CAKE, 1); - ItemMeta meta = item.getItemMeta(); - meta.setDisplayName(itemName); - ArrayList lore = new ArrayList(); - lore.add(itemLore); - meta.setLore(lore); - item.setItemMeta(meta); - return item; - } - - private static void firework(Player player) { - Location loc = player.getLocation(); - Firework fw = loc.getWorld().spawn(loc, Firework.class); - FireworkMeta data = fw.getFireworkMeta(); - Color color1 = Color.RED; - Color color2 = Color.AQUA; - data.addEffects(new FireworkEffect[] { FireworkEffect.builder().withColor(color1, color2).with(FireworkEffect.Type.STAR).build() }); - fw.setFireworkMeta(data); + public String getReddit(String username, String object) { + return getRedditURL("https://www.reddit.com/user/" + username + "/about.json").get(object).getAsString(); } - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - - Player player = (Player) sender; - PlayerInventory inventory = player.getInventory(); - // TODO: Make the linked account only to be changed once without admin permissions - if ((cmd.getName().equalsIgnoreCase("LinkReddit")) && (sender.hasPermission("mceddit.link"))) { - if (args.length == 1) { - if (sender instanceof Player) { - getConfig().set(player.getUniqueId().toString(), args[0].replace("u/", "")); - sender.sendMessage(messagePrefix + ChatColor.GREEN + "User Linked!"); - } else getLogger().warning("You need to be a player to run this command."); - } else if (args.length == 2 && sender.hasPermission("mceddit.link.players")) { - if (Bukkit.getPlayer(args[0]).isOnline()) { - getConfig().set(args[1], Bukkit.getPlayer(args[0]).getUniqueId()); - sender.sendMessage(messagePrefix + ChatColor.GREEN + "User Linked!"); - } else sender.sendMessage(messagePrefix + ChatColor.RED + "Error: Player not Online."); - } else { - sender.sendMessage(messagePrefix + ChatColor.RED + "Usage: /LinkReddit [player]"); - } + public String[][] getSubreddit(String name, String query) { + JsonObject data; + if (query != null) { + data = getRedditURL("https://www.reddit.com/r/" + name + ".json?limit=" + getConfig().getInt("PostLimit") + + "&" + query); + } else { + data = getRedditURL("https://www.reddit.com/r/" + name + ".json?limit=" + getConfig().getInt("PostLimit")); } - if ((cmd.getName().equalsIgnoreCase("GetReddit")) && (sender.hasPermission("mceddit.get"))) { - if (args.length == 1) { - if (sender instanceof Player) { - if (getConfig().contains(player.getUniqueId().toString())) { - String message = getReddit(getConfig().getString(player.getUniqueId().toString()), args[0]); - if (message != null) sender.sendMessage(message); - else sender.sendMessage(messagePrefix + ChatColor.DARK_RED + "An Error Occurred. It is likely that you mistyped an Object in the API or there is no internet."); - } else sender.sendMessage(messagePrefix + "Link your Reddit account first"); - } else getLogger().warning("You need to be a player to run this command."); - } else if (args.length == 2 && sender.hasPermission("mceddit.get.players")) { - if (Bukkit.getPlayer(args[1]).isOnline()) { - String message = getReddit(getConfig().getString(Bukkit.getPlayer(args[1]).getUniqueId().toString()), args[0]); - if (message != null) sender.sendMessage(message); - else sender.sendMessage(messagePrefix + ChatColor.DARK_RED + "An Error Occurred. " + ChatColor.RED + "It is likely that you mistyped an Object in the API or there is no internet."); - } else sender.sendMessage(messagePrefix + ChatColor.RED + "Error: Player not Online."); - } else { - sender.sendMessage(messagePrefix + ChatColor.RED + "Usage: /GetReddit [player]"); - } + JsonArray jsonPosts = data.get("children").getAsJsonArray(); + String[] post; + String[][] posts = {}; + for (int i = 0; i < getConfig().getInt("PostLimit"); i++) { + JsonObject jsonPost = jsonPosts.get(i).getAsJsonObject().get("data").getAsJsonObject(); + post = new String[]{jsonPost.get("subreddit").getAsString(), jsonPost.get("title").getAsString(), + jsonPost.get("score").getAsString(), jsonPost.get("author").getAsString(), + jsonPost.get("num_comments").getAsString(), jsonPost.get("permalink").getAsString()}; + + posts = Arrays.copyOf(posts, posts.length + 1); + posts[posts.length - 1] = post; } - return true; + + posts = Arrays.copyOf(posts, posts.length + 1); + posts[posts.length - 1] = new String[]{data.get("after").getAsString()}; + + return posts; } -} \ No newline at end of file +} diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml index 7f4be2c..93c6079 100644 --- a/src/main/resources/config.yml +++ b/src/main/resources/config.yml @@ -1,2 +1,6 @@ # The Configuration File for Steve's MCeddit Plugin -# This Plugin will use the config file for player to Reddit username storage so do not touch anything here. \ No newline at end of file + +PluginPrefix: "&6[MCeddit]" +DefaultSubreddit: "popular" +PostLimit: 4 +BorderLength: 50 \ No newline at end of file diff --git a/src/main/resources/players.yml b/src/main/resources/players.yml new file mode 100644 index 0000000..5899495 --- /dev/null +++ b/src/main/resources/players.yml @@ -0,0 +1,2 @@ +# The Player Storage File for Steve's MCeddit Plugin +# This Plugin will use this config file for player to Reddit username storage so do not touch anything here. diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index 52010fa..f4e7252 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -1,10 +1,16 @@ name: MCeddit main: me.steve8playz.MCeddit -version: 1.0 +version: 1.1 description: A Simple way to link Minecraft with Reddit author: Steve8Playz -api-version: 1.13 +api-version: 1.15 commands: + Reddit: + description: Look at Reddit in game + usage: / + permission: MCeddit.view + permission-message: You don't have permission to use this command! + default: true LinkReddit: description: Link your Minecraft account with your Reddit Account usage: / [player] @@ -16,4 +22,4 @@ commands: usage: / [player] permission: MCeddit.get permission-message: You don't have permission to use this command! - default: false \ No newline at end of file + default: false