22
33import me .loving11ish .clans .api .models .Clan ;
44import me .loving11ish .clans .api .models .ClanPlayer ;
5+ import org .bukkit .Bukkit ;
56import org .bukkit .OfflinePlayer ;
67import org .bukkit .entity .Player ;
8+ import org .bukkit .plugin .RegisteredServiceProvider ;
79
810import java .io .IOException ;
911import java .util .HashMap ;
1719 */
1820public interface ClansLiteAPI {
1921
22+ /**
23+ *
24+ * @return Returns the instance of the ClansLiteAPI.
25+ */
26+ static ClansLiteAPI getInstance () {
27+ RegisteredServiceProvider <ClansLiteAPI > registration = Bukkit .getServicesManager ().getRegistration (ClansLiteAPI .class );
28+ if (registration == null ) {
29+ return null ;
30+ }
31+ return registration .getProvider ();
32+ }
2033
2134 /**
2235 *
2336 * @return Returns true if the plugin was enabled successfully, otherwise returns false.
2437 */
25- public boolean isPluginEnabled ();
38+ boolean isPluginEnabled ();
2639
2740 /**
2841 *
2942 * @return Returns a string of text that contains the full server package.
3043 */
31- public String getServerPackage ();
44+ String getServerPackage ();
3245
3346 /**
3447 *
3548 * @return Returns an integer that is the base major server version.
3649 */
37- public int getMajorServerVersion ();
50+ int getMajorServerVersion ();
3851
3952 /**
4053 *
4154 * @return Returns `true` if the server or network is able to connect to the Mojang auth servers. Otherwise, returns `false`.
4255 *
4356 */
44- public boolean isServerRunningOnline ();
57+ boolean isServerRunningOnline ();
4558
4659 /**
4760 *
4861 * @return Returns `true` if your current ClansLite plugin version does NOT mach the latest version listed on SpigotMC.
4962 */
50- public boolean isClansLitePluginUpdateAvailable ();
63+ boolean isClansLitePluginUpdateAvailable ();
5164
5265 /**
5366 *
5467 * @return Returns the URL of the development build repository for ClansLite.
5568 */
56- public String getClansLiteDevelopmentBuildRepository ();
69+ String getClansLiteDevelopmentBuildRepository ();
5770
5871 /**
5972 *
6073 * @return Returns a HashMap of all connected Bedrock players with a key of the Player and a value of their Java UUID.
6174 */
62- public HashMap <Player , String > getConnectedBedrockPlayers ();
75+ HashMap <Player , String > getConnectedBedrockPlayers ();
6376
6477 /**
6578 *
6679 * @return Returns a HashMap of all stored Clans.
6780 */
68- public HashMap <UUID , Clan > getAllClans ();
81+ HashMap <UUID , Clan > getAllClans ();
6982
7083 /**
7184 *
7285 * @return Returns a HashMap of all stored ClanPlayers.
7386 */
74- public HashMap <UUID , ClanPlayer > getAllClanPlayers ();
87+ HashMap <UUID , ClanPlayer > getAllClanPlayers ();
7588
7689 /**
7790 * THIS METHOD IS NOT RECOMMENDED FOR USE ON LARGE SERVERS.
@@ -80,14 +93,14 @@ public interface ClansLiteAPI {
8093 * @param maxListSize The maximum size of the list of Clans to return.
8194 * @return Returns a list of Clans sorted by clan points.
8295 */
83- public List <Clan > getTopClansByClanPointsOnDemand (int maxListSize );
96+ List <Clan > getTopClansByClanPointsOnDemand (int maxListSize );
8497
8598 /**
8699 * The returned list is cached and updated asynchronously every 10 minutes.
87100 *
88101 * @return Returns a list of Clans sorted by clan points.
89102 */
90- public List <Clan > getTopClansByClanPointsCache ();
103+ List <Clan > getTopClansByClanPointsCache ();
91104
92105 /**
93106 * THIS METHOD IS NOT RECOMMENDED FOR USE ON LARGE SERVERS.
@@ -96,28 +109,28 @@ public interface ClansLiteAPI {
96109 * @param maxListSize The maximum size of the list of ClanPlayers to return.
97110 * @return Returns a list of ClanPlayers sorted by clan points.
98111 */
99- public List <ClanPlayer > getTopClanPlayersByClanPointsOnDemand (int maxListSize );
112+ List <ClanPlayer > getTopClanPlayersByClanPointsOnDemand (int maxListSize );
100113
101114 /**
102115 * The returned list is cached and updated asynchronously every 10 minutes.
103116 *
104117 * @return Returns a list of ClanPlayers sorted by Player points.
105118 */
106- public List <ClanPlayer > getTopClanPlayersByPlayerPointsCache ();
119+ List <ClanPlayer > getTopClanPlayersByPlayerPointsCache ();
107120
108121 /**
109122 *
110123 * @param player The Bukkit Player object to get a ClanPlayer from.
111124 * @return Returns a ClanPlayer object or null if not found.
112125 */
113- public ClanPlayer getClanPlayerByBukkitPlayer (Player player );
126+ ClanPlayer getClanPlayerByBukkitPlayer (Player player );
114127
115128 /**
116129 *
117130 * @param offlinePlayer The Bukkit OfflinePlayer object to get a ClanPlayer from.
118131 * @return Returns a ClanPlayer object or null if not found.
119132 */
120- public ClanPlayer getClanPlayerByBukkitOfflinePlayer (OfflinePlayer offlinePlayer );
133+ ClanPlayer getClanPlayerByBukkitOfflinePlayer (OfflinePlayer offlinePlayer );
121134
122135 /**
123136 * THIS WILL RETURN NULL IF THE PLAYER HAS NEVER JOINED THE SERVER BEFORE.
@@ -128,54 +141,54 @@ public interface ClansLiteAPI {
128141 * @param lastKnownName The last known name of the player to get a Bukkit OfflinePlayer from.
129142 * @return Returns a Bukkit OfflinePlayer object or null if not found.
130143 */
131- public OfflinePlayer getBukkitOfflinePlayerByLastKnownName (String lastKnownName );
144+ OfflinePlayer getBukkitOfflinePlayerByLastKnownName (String lastKnownName );
132145
133146 /**
134147 *
135148 * @param uuid The UUID of the player to get a Bukkit OfflinePlayer from.
136149 * @return Returns a Bukkit OfflinePlayer object or null if not found.
137150 */
138- public OfflinePlayer getBukkitOfflinePlayerByUUID (UUID uuid );
151+ OfflinePlayer getBukkitOfflinePlayerByUUID (UUID uuid );
139152
140153 /**
141154 * This method will only return a clan if the player is a member of a clan and NOT the clan owner.
142155 *
143156 * @param player The Bukkit Player object to get a Clan from.
144157 * @return Returns a Clan object or null if not found.
145158 */
146- public Clan getClanByBukkitPlayer (Player player );
159+ Clan getClanByBukkitPlayer (Player player );
147160
148161 /**
149162 * This method will only return a clan if the offline player is a member of a clan and NOT the clan owner.
150163 *
151164 * @param offlinePlayer The Bukkit OfflinePlayer object to get a Clan from.
152165 * @return Returns a Clan object or null if not found.
153166 */
154- public Clan getClanByBukkitOfflinePlayer (OfflinePlayer offlinePlayer );
167+ Clan getClanByBukkitOfflinePlayer (OfflinePlayer offlinePlayer );
155168
156169 /**
157170 * This method will only return a clan if the player is the owner of a clan.
158171 *
159172 * @param player The Bukkit Player object to get a Clan from.
160173 * @return Returns a Clan object or null if not found.
161174 */
162- public Clan getClanByBukkitPlayerOwner (Player player );
175+ Clan getClanByBukkitPlayerOwner (Player player );
163176
164177 /**
165178 * This method will only return a clan if the offline player is the owner of a clan.
166179 *
167180 * @param offlinePlayer The Bukkit OfflinePlayer object to get a Clan from.
168181 * @return Returns a Clan object or null if not found.
169182 */
170- public Clan getClanByBukkitOfflinePlayerOwner (OfflinePlayer offlinePlayer );
183+ Clan getClanByBukkitOfflinePlayerOwner (OfflinePlayer offlinePlayer );
171184
172185 /**
173186 * This method will only return a clan if the clan name is found.
174187 *
175188 * @param clanName The name of the clan to get a Clan from.
176189 * @return Returns a Clan object or null if not found.
177190 */
178- public Clan getClanByClanName (String clanName );
191+ Clan getClanByClanName (String clanName );
179192
180193 /**
181194 * This method will perform multiple checks to see if the new clan is valid and can be created.
@@ -186,15 +199,15 @@ public interface ClansLiteAPI {
186199 * @param clanName The name of the clan to create. (This cannot be changed later & cannot contain color codes)
187200 * @return Returns a Clan object.
188201 */
189- public Clan createClan (Player player , String clanName );
202+ Clan createClan (Player player , String clanName );
190203
191204 /**
192205 *
193206 * @param player The Bukkit Player object to delete a Clan from.
194207 * @return Returns true if the Clan was deleted successfully, otherwise returns false.
195208 * @throws IOException Throws an IOException if the Clan could not be deleted.
196209 */
197- public boolean deleteClan (Player player ) throws IOException ;
210+ boolean deleteClan (Player player ) throws IOException ;
198211
199212 /**
200213 * This method will perform multiple checks to see if the new prefix is valid and can be set.
@@ -203,7 +216,7 @@ public interface ClansLiteAPI {
203216 * @param player The Bukkit Player object to get the clan from.
204217 * @param prefix The new prefix to set for the clan.
205218 */
206- public void setClanPrefix (Player player , String prefix );
219+ void setClanPrefix (Player player , String prefix );
207220
208221 /**
209222 * This method will perform multiple checks to see if the player is not already a member of a clan or a clan owner.
@@ -212,7 +225,7 @@ public interface ClansLiteAPI {
212225 * @param player The Bukkit Player object to add to the Clan.
213226 * @return Returns true if the player was added to the Clan successfully, otherwise returns false.
214227 */
215- public boolean addClanMember (Clan clan , Player player );
228+ boolean addClanMember (Clan clan , Player player );
216229
217230 /**
218231 * This method will perform multiple checks to see if the player is in a clan and not a clan owner.
@@ -221,7 +234,7 @@ public interface ClansLiteAPI {
221234 * @param player The Bukkit Player object to remove from the Clan.
222235 * @return Returns true if the player was removed from the Clan successfully, otherwise returns false.
223236 */
224- public boolean removeClanMember (Clan clan , Player player );
237+ boolean removeClanMember (Clan clan , Player player );
225238
226239 /**
227240 * This method will perform multiple checks to see if the player is in a clan and not a clan owner.
@@ -230,6 +243,6 @@ public interface ClansLiteAPI {
230243 * @param offlinePlayer The Bukkit OfflinePlayer object to remove from the Clan.
231244 * @return Returns true if the player was removed from the Clan successfully, otherwise returns false.
232245 */
233- public boolean removeOfflineClanMember (Clan clan , OfflinePlayer offlinePlayer );
246+ boolean removeOfflineClanMember (Clan clan , OfflinePlayer offlinePlayer );
234247
235248}
0 commit comments