33import ch .njol .skript .Skript ;
44import ch .njol .skript .SkriptAddon ;
55import ch .njol .skript .bstats .bukkit .Metrics ;
6+ import ch .njol .skript .util .Version ;
7+ import org .bukkit .plugin .Plugin ;
8+ import org .bukkit .plugin .PluginManager ;
69import org .bukkit .plugin .java .JavaPlugin ;
10+ import org .jetbrains .annotations .Nullable ;
711
812import java .io .IOException ;
913import java .util .logging .Logger ;
@@ -25,46 +29,73 @@ public class SkriptParticle extends JavaPlugin {
2529 // text rendering
2630 // animation?
2731
32+ @ Nullable
2833 public static SkriptParticle getInstance () {
2934 return instance ;
3035 }
3136
37+ @ Nullable
3238 public static SkriptAddon getAddonInstance () {
3339 return addon ;
3440 }
3541
3642 public static void info (String message ) {
43+ if (logger == null )
44+ return ;
3745 logger .info (message );
3846 }
3947
4048 public static void warning (String message ) {
49+ if (logger == null )
50+ return ;
4151 logger .warning (message );
4252 }
4353
4454 public static void severe (String message ) {
55+ if (logger == null )
56+ return ;
4557 logger .severe (message );
4658 }
4759
4860 public static void debug (String message ) {
61+ if (logger == null )
62+ return ;
4963 if (Skript .debug ()) {
5064 logger .info (message );
5165 }
5266 }
5367
5468 @ Override
5569 public void onEnable () {
70+ final PluginManager manager = this .getServer ().getPluginManager ();
71+ final Plugin skript = manager .getPlugin ("Skript" );
72+ logger = this .getLogger ();
73+ if (skript == null || !skript .isEnabled ()) {
74+ SkriptParticle .severe ("Could not find Skript! Make sure you have it installed and that it properly loaded. Disabling..." );
75+ manager .disablePlugin (this );
76+ return ;
77+ } else if (!Skript .getVersion ().isLargerThan (new Version (2 , 7 , 0 ))) {
78+ SkriptParticle .severe ("You are running an unsupported version of Skript. Please update to at least Skript 2.7.0. Disabling..." );
79+ manager .disablePlugin (this );
80+ return ;
81+ }
5682 instance = this ;
5783 addon = Skript .registerAddon (this );
5884 addon .setLanguageFileDirectory ("lang" );
59- logger = this .getLogger ();
6085 try {
6186 addon .loadClasses ("com.sovdee.skriptparticles" );
62- } catch (IOException e ) {
63- e .printStackTrace ();
87+ } catch (IOException error ) {
88+ error .printStackTrace ();
89+ manager .disablePlugin (this );
90+ return ;
6491 }
65- int pluginId = 18457 ;
66- Metrics metrics = new Metrics ( this , pluginId );
67- SkriptParticle . info ( "Skript-Particle has been enabled." );
92+ new Metrics ( this , 18457 ) ;
93+ SkriptParticle . info ( "Successfully enabled skript-particle." );
94+ }
6895
96+ @ Override
97+ public void onDisable () {
98+ instance = null ;
99+ addon = null ;
69100 }
70101}
0 commit comments