11package simplexity .simplepms ;
22
3+ import io .papermc .paper .plugin .lifecycle .event .types .LifecycleEvents ;
34import net .kyori .adventure .text .minimessage .MiniMessage ;
45import org .bukkit .command .ConsoleCommandSender ;
5- import org .bukkit .entity .Player ;
66import org .bukkit .plugin .Plugin ;
77import org .bukkit .plugin .java .JavaPlugin ;
88import simplexity .simplepms .commands .Block ;
1414import simplexity .simplepms .commands .SocialSpy ;
1515import simplexity .simplepms .commands .Unblock ;
1616import simplexity .simplepms .config .ConfigHandler ;
17- import simplexity .simplepms .listeners .LoginListener ;
17+ import simplexity .simplepms .listeners .JoinListener ;
1818import simplexity .simplepms .listeners .PreCommandListener ;
1919import simplexity .simplepms .listeners .QuitListener ;
20+ import simplexity .simplepms .logic .Constants ;
21+ import simplexity .simplepms .saving .SqlHandler ;
2022
21- import java .util .HashSet ;
22- import java .util .Objects ;
23- import java .util .Set ;
24-
23+ @ SuppressWarnings ("UnstableApiUsage" )
2524public final class SimplePMs extends JavaPlugin {
2625
2726 private static Plugin instance ;
2827 private static final MiniMessage miniMessage = MiniMessage .miniMessage ();
2928 private static boolean papiEnabled = false ;
30- private static final HashSet <Player > players = new HashSet <>();
31- private static final HashSet <Player > spyingPlayers = new HashSet <>();
3229 private static ConsoleCommandSender consoleSender ;
3330
34- public static HashSet <Player > getPlayers () {
35- return players ;
36- }
37-
38- public static Set <Player > getSpyingPlayers () {
39- return spyingPlayers ;
40- }
4131
4232 @ Override
4333 public void onEnable () {
4434 instance = this ;
45- registerCommands ();
46- this .getServer ().getPluginManager ().registerEvents (new LoginListener (), this );
47- this .getServer ().getPluginManager ().registerEvents (new QuitListener (), this );
48- this .getServer ().getPluginManager ().registerEvents (new PreCommandListener (), this );
49- if (this .getServer ().getPluginManager ().getPlugin ("PlaceholderAPI" ) != null ) {
35+ consoleSender = getServer ().getConsoleSender ();
36+ if (getServer ().getPluginManager ().getPlugin ("PlaceholderAPI" ) != null ) {
5037 papiEnabled = true ;
51- } else {
52- this .getLogger ().info ("You do not have PlaceholderAPI loaded on your server. Any PlaceholderAPI placeholders used in this plugin's messages, will not work." );
5338 }
54- consoleSender = this .getServer ().getConsoleSender ();
55- this .saveDefaultConfig ();
39+ SqlHandler .getInstance ().init ();
40+ loadConfigStuff ();
41+ registerListeners ();
42+ registerCommands ();
43+ registerPermissions ();
44+ }
45+
46+ private void registerListeners () {
47+ getServer ().getPluginManager ().registerEvents (new QuitListener (), this );
48+ getServer ().getPluginManager ().registerEvents (new PreCommandListener (), this );
49+ getServer ().getPluginManager ().registerEvents (new JoinListener (), this );
50+ }
51+
52+ private void loadConfigStuff () {
53+ saveDefaultConfig ();
5654 getConfig ().options ().copyDefaults (true );
5755 saveConfig ();
5856 ConfigHandler .getInstance ().loadConfigValues ();
5957 }
6058
59+ private void registerCommands () {
60+ getLifecycleManager ().registerEventHandler (LifecycleEvents .COMMANDS , commands -> {
61+ commands .registrar ().register (PrivateMessage .createCommand ());
62+ commands .registrar ().register (PrivateMessage .createTellAlias ());
63+ commands .registrar ().register (PrivateMessage .createWhisperAlias ());
64+ commands .registrar ().register (Reply .createCommand ());
65+ commands .registrar ().register (Reply .createAlias ());
66+ commands .registrar ().register (Block .createCommand ());
67+ commands .registrar ().register (Unblock .createCommand ());
68+ commands .registrar ().register (MessageToggle .createCommand ());
69+ commands .registrar ().register (SocialSpy .createCommand ());
70+ commands .registrar ().register (SocialSpy .createAlias ());
71+ commands .registrar ().register (Reload .createCommand ());
72+ commands .registrar ().register (Blocklist .createCommand ());
73+ });
74+ }
75+
76+ private void registerPermissions () {
77+ getServer ().getPluginManager ().addPermission (Constants .MESSAGE_BASIC );
78+ getServer ().getPluginManager ().addPermission (Constants .MESSAGE_ADMIN );
79+ getServer ().getPluginManager ().addPermission (Constants .MESSAGE_SEND );
80+ getServer ().getPluginManager ().addPermission (Constants .MESSAGE_RECEIVE );
81+ getServer ().getPluginManager ().addPermission (Constants .MESSAGE_TOGGLE );
82+ getServer ().getPluginManager ().addPermission (Constants .MESSAGE_BLOCK );
83+ getServer ().getPluginManager ().addPermission (Constants .PLUGIN_RELOAD );
84+ getServer ().getPluginManager ().addPermission (Constants .ADMIN_OVERRIDE );
85+ getServer ().getPluginManager ().addPermission (Constants .ADMIN_SOCIAL_SPY );
86+ getServer ().getPluginManager ().addPermission (Constants .ADMIN_CONSOLE_SPY );
87+ getServer ().getPluginManager ().addPermission (Constants .BYPASS_SOCIAL_SPY );
88+ getServer ().getPluginManager ().addPermission (Constants .BYPASS_COMMAND_SPY );
89+ }
90+
91+ @ Override
92+ public void onDisable () {
93+ SqlHandler .getInstance ().shutdownConnection ();
94+ }
95+
6196 public static MiniMessage getMiniMessage () {
6297 return miniMessage ;
6398 }
@@ -74,15 +109,4 @@ public static ConsoleCommandSender getPMConsoleSender() {
74109 return consoleSender ;
75110 }
76111
77- private void registerCommands () {
78- Objects .requireNonNull (this .getCommand ("msg" )).setExecutor (new PrivateMessage ());
79- Objects .requireNonNull (this .getCommand ("reply" )).setExecutor (new Reply ());
80- Objects .requireNonNull (this .getCommand ("socialspy" )).setExecutor (new SocialSpy ());
81- Objects .requireNonNull (this .getCommand ("spmreload" )).setExecutor (new Reload ());
82- Objects .requireNonNull (this .getCommand ("block" )).setExecutor (new Block ());
83- Objects .requireNonNull (this .getCommand ("unblock" )).setExecutor (new Unblock ());
84- Objects .requireNonNull (this .getCommand ("blocklist" )).setExecutor (new Blocklist ());
85- Objects .requireNonNull (this .getCommand ("msgtoggle" )).setExecutor (new MessageToggle ());
86- }
87-
88112}
0 commit comments