File tree Expand file tree Collapse file tree
src/main/java/com/iridium/iridiumcolorapi Expand file tree Collapse file tree Original file line number Diff line number Diff line change 66import com .iridium .iridiumcolorapi .patterns .RainbowPattern ;
77import com .iridium .iridiumcolorapi .patterns .SolidPattern ;
88import net .md_5 .bungee .api .ChatColor ;
9+ import org .apache .commons .lang .Validate ;
910import org .bukkit .Bukkit ;
1011
1112import javax .annotation .Nonnull ;
@@ -285,8 +286,24 @@ private static int getVersion() {
285286 if (!classExists ("org.bukkit.Bukkit" ) && classExists ("net.md_5.bungee.api.ChatColor" )) {
286287 return -1 ;
287288 }
288- String version = Bukkit .getServer ().getClass ().getPackage ().getName ().substring (24 );
289- return Integer .parseInt (version .split ("_" )[1 ]);
289+
290+ String version = Bukkit .getVersion ();
291+ Validate .notEmpty (version , "Cannot get major Minecraft version from null or empty string" );
292+
293+ // getVersion()
294+ int index = version .lastIndexOf ("MC:" );
295+ if (index != -1 ) {
296+ version = version .substring (index + 4 , version .length () - 1 );
297+ } else if (version .endsWith ("SNAPSHOT" )) {
298+ // getBukkitVersion()
299+ index = version .indexOf ('-' );
300+ version = version .substring (0 , index );
301+ }
302+ // 1.13.2, 1.14.4, etc...
303+ int lastDot = version .lastIndexOf ('.' );
304+ if (version .indexOf ('.' ) != lastDot ) version = version .substring (0 , lastDot );
305+
306+ return Integer .parseInt (version .substring (2 ));
290307 }
291308
292309 /**
You can’t perform that action at this time.
0 commit comments