commit 225fa778ce831b906f2b65537042e3ece945e662
Author: disclearing <46827438+disclearing@users.noreply.github.com>
Date: Sat Aug 17 21:01:25 2019 +0100
yes
diff --git a/kentono-i-edate-girls-core-master/Core.iml b/kentono-i-edate-girls-core-master/Core.iml
new file mode 100644
index 0000000..78b2cc5
--- /dev/null
+++ b/kentono-i-edate-girls-core-master/Core.iml
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/kentono-i-edate-girls-core-master/pom.xml b/kentono-i-edate-girls-core-master/pom.xml
new file mode 100644
index 0000000..47bcf55
--- /dev/null
+++ b/kentono-i-edate-girls-core-master/pom.xml
@@ -0,0 +1,25 @@
+
+
+ 4.0.0
+
+ cc.kentono.core
+ Core
+ 1.0-SNAPSHOT
+
+
+
+ org.projectlombok
+ lombok
+ 1.18.8
+
+
+
+ org.mongodb
+ mongo-java-driver
+ 3.10.2
+
+
+
+
\ No newline at end of file
diff --git a/kentono-i-edate-girls-core-master/src/main/java/cc/kentono/core/CorePlugin.java b/kentono-i-edate-girls-core-master/src/main/java/cc/kentono/core/CorePlugin.java
new file mode 100644
index 0000000..4cb2dbd
--- /dev/null
+++ b/kentono-i-edate-girls-core-master/src/main/java/cc/kentono/core/CorePlugin.java
@@ -0,0 +1,75 @@
+package cc.kentono.core;
+
+import cc.kentono.core.command.CommandHandler;
+import cc.kentono.core.command.impl.ExampleCommand;
+import cc.kentono.core.command.impl.ListCommand;
+import cc.kentono.core.command.impl.rank.RankCommand;
+import cc.kentono.core.command.impl.rank.args.*;
+import cc.kentono.core.command.impl.rank.grants.GrantCommand;
+import cc.kentono.core.listener.ChatListeners;
+import cc.kentono.core.listener.PlayerListeners;
+import cc.kentono.core.profile.Profile;
+import cc.kentono.core.rank.Rank;
+import cc.kentono.core.util.MongoHandler;
+import cc.kentono.core.util.menu.MenuManager;
+import lombok.Getter;
+import org.bukkit.Bukkit;
+import org.bukkit.plugin.java.JavaPlugin;
+
+import java.util.Arrays;
+
+@Getter
+public class CorePlugin extends JavaPlugin {
+
+ @Getter
+ private static CorePlugin instance;
+
+ private MongoHandler mongoHandler;
+ private MenuManager menuManager;
+
+ public void onEnable() {
+ instance = this;
+
+ this.mongoHandler = new MongoHandler();
+ this.menuManager = new MenuManager(this);
+ Rank.load();
+ Profile.load();
+
+ this.registerListeners();
+ this.registerCommands();
+ }
+
+ private void registerListeners() {
+ Arrays.asList(
+ new PlayerListeners(),
+ new ChatListeners()
+ ).forEach(listener -> Bukkit.getPluginManager().registerEvents(listener, this));
+ }
+
+ private void registerCommands() {
+ CommandHandler handler = new CommandHandler(this, "moon" /* prefix infront of :, example: /moon:gay */);
+ handler.registerCommands(
+ /* ranks */
+ new RankCommand(),
+ new RankCreateCommand(),
+ new RankDeleteCommand(),
+ new RankSetColorCommand(),
+ new RankSetPrefixCommand(),
+ new RankSetSuffixCommand(),
+ new RankAddPermissionCommand(),
+ new RankRemovePermissionCommand(),
+ new RankInfoCommand(),
+ /* ranks */
+
+ new GrantCommand(),
+
+ new ListCommand()
+ );
+ }
+
+ public void onDisable() {
+ Rank.getRanks().parallelStream().forEach(Rank::save);
+ mongoHandler.getClient().close();
+ }
+
+}
diff --git a/kentono-i-edate-girls-core-master/src/main/java/cc/kentono/core/command/Command.java b/kentono-i-edate-girls-core-master/src/main/java/cc/kentono/core/command/Command.java
new file mode 100644
index 0000000..cf645b2
--- /dev/null
+++ b/kentono-i-edate-girls-core-master/src/main/java/cc/kentono/core/command/Command.java
@@ -0,0 +1,21 @@
+package cc.kentono.core.command;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+@Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.METHOD)
+public @interface Command {
+
+ String name();
+ String permission() default "";
+ String usage() default "";
+
+ String[] aliases() default {""};
+
+ int requiredArgs() default 0;
+ boolean playerOnly() default false;
+
+}
diff --git a/kentono-i-edate-girls-core-master/src/main/java/cc/kentono/core/command/CommandHandler.java b/kentono-i-edate-girls-core-master/src/main/java/cc/kentono/core/command/CommandHandler.java
new file mode 100644
index 0000000..883d5d7
--- /dev/null
+++ b/kentono-i-edate-girls-core-master/src/main/java/cc/kentono/core/command/CommandHandler.java
@@ -0,0 +1,133 @@
+package cc.kentono.core.command;
+
+import cc.kentono.core.util.CC;
+import lombok.Getter;
+import org.bukkit.Bukkit;
+import org.bukkit.command.CommandMap;
+import org.bukkit.command.CommandSender;
+import org.bukkit.entity.Player;
+import org.bukkit.plugin.java.JavaPlugin;
+
+import java.lang.reflect.Field;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.util.*;
+
+/**
+ * Command API
+ *
+ * I really need a better Command API, this one is fucking ass....
+ * It is functional though, and I don't wnat to use an opensource command api.
+ *
+ */
+
+@Getter
+public class CommandHandler {
+
+
+ private JavaPlugin plugin;
+ private String fallbackPrefix;
+
+ private Map