diff --git a/.classpath b/.classpath index 3fd8cf9..a20094d 100644 --- a/.classpath +++ b/.classpath @@ -7,6 +7,6 @@ - + diff --git a/ascii.txt b/ascii.txt new file mode 100644 index 0000000..7be2d13 --- /dev/null +++ b/ascii.txt @@ -0,0 +1,14 @@ + XXXXXXXXX + XXX XXX + XX XX + X XXX + X XXX X X +X X X XXX X +X X X X +X X X XXXX X + X XXX XXXXXX XX X + X XXXX X X + XX XXXX XX XX + XXX XXXX XXX + XXXXXXXXX + ghosts 'n stuff \ No newline at end of file diff --git a/bin/gd/rf/adrianvictor/stuff/GhostsAndStuff.class b/bin/gd/rf/adrianvictor/stuff/GhostsAndStuff.class index 700fdea..0c0e08e 100644 Binary files a/bin/gd/rf/adrianvictor/stuff/GhostsAndStuff.class and b/bin/gd/rf/adrianvictor/stuff/GhostsAndStuff.class differ diff --git a/plugin.yml b/plugin.yml old mode 100644 new mode 100755 index 070a198..c7af3e1 --- a/plugin.yml +++ b/plugin.yml @@ -1,6 +1,13 @@ -author: tenkuma -database: false -main: gd.rf.adrianvictor.stuff.GhostsAndStuff -name: GhostsAndStuff -url: https://adrianvictor.rf.gd -version: '1.1' \ No newline at end of file +author: tenkuma +main: gd.rf.adrianvictor.stuff.GhostsAndStuff +name: GhostsAndStuff +url: https://adrianvictor.rf.gd +version: '0.5' +commands: + gettime: + description: Prints the time for the current world. + usage: /gettime + permissions: + ghosts.gettime: + description: Allows the player to use the gettime command" + default: true \ No newline at end of file diff --git a/src/gd/rf/adrianvictor/stuff/GhostsAndStuff.java b/src/gd/rf/adrianvictor/stuff/GhostsAndStuff.java old mode 100644 new mode 100755 index c003638..aff05b3 --- a/src/gd/rf/adrianvictor/stuff/GhostsAndStuff.java +++ b/src/gd/rf/adrianvictor/stuff/GhostsAndStuff.java @@ -1,58 +1,60 @@ -package gd.rf.adrianvictor.stuff; - -import gd.rf.adrianvictor.lib.ConfigurationEx; -import gd.rf.adrianvictor.lib.Log; -import org.bukkit.event.Event.Priority; -import org.bukkit.event.Event.Type; -import org.bukkit.event.player.PlayerListener; -import org.bukkit.plugin.PluginManager; -import org.bukkit.plugin.java.JavaPlugin; -import java.util.List; - -public class GhostsAndStuff extends JavaPlugin { - ConfigurationEx config; - PluginManager pm; - Log logger; - - @Override - public void onDisable() { - logger.info("is being disabled."); - } - - @Override - public void onEnable() { - logger = new Log(this); - pm = this.getServer().getPluginManager(); - config = new ConfigurationEx(this, "config.yml", logger); - config.loadConfig(); - loadModules(); - logger.info("is starting."); - } - public void loadModules() { - - // AntiSpam - if (this.getConfiguration().getBoolean("antiSpam", true)) { - PlayerListener antiSpam = new AntiSpam(this); - pm.registerEvent(Type.PLAYER_CHAT, antiSpam, Priority.High, this); - } - - // RainbowChat - if (this.getConfiguration().getBoolean("rainbowChat", true)) { - PlayerListener rainbowChat = new RainbowChat(this); - logger.info("Loading module RainbowChat"); - pm.registerEvent(Type.PLAYER_CHAT, rainbowChat, Priority.High, this); - } - - // SkibidiBlocker - if (this.getConfiguration().getBoolean("skibidiBlocker", true)) { - logger.info("Loading module SkibidiBlocker"); - List words = this.getConfiguration().getStringList("skibidiBlockerWords", null); - if (words == null || words.isEmpty()) { - logger.warning("SkibidiBlocker is enabled, but no words were provided. Disabling."); - } else { - PlayerListener verboseWorldChange = new SkibidiBlocker(this, logger); - pm.registerEvent(Type.PLAYER_CHAT, verboseWorldChange, Priority.High, this); - } - } - } -} +package gd.rf.adrianvictor.stuff; + +import gd.rf.adrianvictor.lib.ConfigurationEx; +import gd.rf.adrianvictor.stuff.command.*; +import gd.rf.adrianvictor.lib.Log; +import org.bukkit.event.Event.Priority; +import org.bukkit.event.Event.Type; +import org.bukkit.event.player.PlayerListener; +import org.bukkit.plugin.PluginManager; +import org.bukkit.plugin.java.JavaPlugin; +import java.util.List; + +public class GhostsAndStuff extends JavaPlugin { + ConfigurationEx config; + PluginManager pm; + Log logger; + + @Override + public void onDisable() { + logger.info("is being disabled."); + } + + @Override + public void onEnable() { + logger = new Log(this); + pm = this.getServer().getPluginManager(); + config = new ConfigurationEx(this, "config.yml", logger); + config.loadConfig(); + this.getCommand("gettime").setExecutor(new GetTime()); + loadModules(); + logger.info("is starting."); + } + public void loadModules() { + + // AntiSpam + if (this.getConfiguration().getBoolean("antiSpam", true)) { + PlayerListener antiSpam = new AntiSpam(this); + pm.registerEvent(Type.PLAYER_CHAT, antiSpam, Priority.High, this); + } + + // RainbowChat + if (this.getConfiguration().getBoolean("rainbowChat", true)) { + PlayerListener rainbowChat = new RainbowChat(this); + logger.info("Loading module RainbowChat"); + pm.registerEvent(Type.PLAYER_CHAT, rainbowChat, Priority.High, this); + } + + // SkibidiBlocker + if (this.getConfiguration().getBoolean("skibidiBlocker", true)) { + logger.info("Loading module SkibidiBlocker"); + List words = this.getConfiguration().getStringList("skibidiBlockerWords", null); + if (words == null || words.isEmpty()) { + logger.warning("SkibidiBlocker is enabled, but no words were provided. Disabling."); + } else { + PlayerListener verboseWorldChange = new SkibidiBlocker(this, logger); + pm.registerEvent(Type.PLAYER_CHAT, verboseWorldChange, Priority.High, this); + } + } + } +} diff --git a/src/gd/rf/adrianvictor/stuff/command/GetTime.java b/src/gd/rf/adrianvictor/stuff/command/GetTime.java new file mode 100755 index 0000000..3ed0ee9 --- /dev/null +++ b/src/gd/rf/adrianvictor/stuff/command/GetTime.java @@ -0,0 +1,27 @@ +package gd.rf.adrianvictor.stuff.command; +import org.bukkit.command.Command; +import org.bukkit.command.CommandExecutor; +import org.bukkit.command.CommandSender; +import org.bukkit.entity.Player; + +import gd.rf.adrianvictor.lib.Color; +public class GetTime implements CommandExecutor { + @Override + public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { + if (command.getName().equalsIgnoreCase("gettime")) { + if (sender instanceof Player) { + Player player = (Player) sender; + long totalTicks = player.getWorld().getTime(); + int totalMinutes = (int) (totalTicks * 1440 / 24000); + int hours = (totalMinutes / 60) + 6; + int minutes = totalMinutes % 60; + + sender.sendMessage(Color.formatColors("The time for " + player.getWorld().getName() + " is &a" + hours + " hours &rand &a" + minutes + " minutes &r(&a" + player.getWorld().getTime() + " ticks&r)")); + } else { + sender.sendMessage("This command can only be run by a player."); + } + return true; + } + return false; + } +}