mirror of
https://github.com/StarWishsama/Slimefun4.git
synced 2024-09-20 03:35:51 +00:00
More GitHub Integration
This commit is contained in:
parent
a1c9195312
commit
855e6c19b8
@ -15,7 +15,7 @@ import java.util.Set;
|
||||
import com.google.gson.JsonElement;
|
||||
import com.google.gson.JsonParser;
|
||||
|
||||
public abstract class GitHubConnector {
|
||||
public abstract class GitHubConnector implements Runnable {
|
||||
|
||||
public static Set<GitHubConnector> connectors = new HashSet<GitHubConnector>();
|
||||
|
||||
@ -23,8 +23,6 @@ public abstract class GitHubConnector {
|
||||
|
||||
public GitHubConnector() {
|
||||
this.file = new File("plugins/Slimefun/cache/github/" + this.getFileName() + ".json");
|
||||
|
||||
this.pullFile();
|
||||
connectors.add(this);
|
||||
}
|
||||
|
||||
@ -93,4 +91,9 @@ public abstract class GitHubConnector {
|
||||
this.onFailure();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
this.pullFile();
|
||||
}
|
||||
}
|
||||
|
12
src/me/mrCookieSlime/Slimefun/GitHub/IntegerFormat.java
Normal file
12
src/me/mrCookieSlime/Slimefun/GitHub/IntegerFormat.java
Normal file
@ -0,0 +1,12 @@
|
||||
package me.mrCookieSlime.Slimefun.GitHub;
|
||||
|
||||
import java.text.NumberFormat;
|
||||
import java.util.Locale;
|
||||
|
||||
public class IntegerFormat {
|
||||
|
||||
public static String formatBigNumber(int i) {
|
||||
return NumberFormat.getNumberInstance(Locale.US).format(i);
|
||||
}
|
||||
|
||||
}
|
@ -35,6 +35,7 @@ import me.mrCookieSlime.CSCoreLibPlugin.general.Math.DoubleHandler;
|
||||
import me.mrCookieSlime.CSCoreLibPlugin.general.String.StringUtils;
|
||||
import me.mrCookieSlime.CSCoreLibPlugin.general.World.CustomSkull;
|
||||
import me.mrCookieSlime.Slimefun.GitHub.Contributor;
|
||||
import me.mrCookieSlime.Slimefun.GitHub.IntegerFormat;
|
||||
import me.mrCookieSlime.Slimefun.Lists.RecipeType;
|
||||
import me.mrCookieSlime.Slimefun.Objects.Category;
|
||||
import me.mrCookieSlime.Slimefun.Objects.LockedCategory;
|
||||
@ -60,6 +61,7 @@ public class SlimefunGuide {
|
||||
public static List<Contributor> contributors = new ArrayList<Contributor>();
|
||||
public static int issues = 0;
|
||||
public static int forks = 0;
|
||||
public static int code_lines = 0;
|
||||
|
||||
static boolean all_recipes = true;
|
||||
private static final int category_size = 36;
|
||||
@ -130,7 +132,7 @@ public class SlimefunGuide {
|
||||
}
|
||||
});
|
||||
|
||||
menu.addItem(17, new CustomItem(new MaterialData(Material.BOOK_AND_QUILL), "&aCredits", "", "&7Contributors: &e" + contributors.size(), "", "&7\u21E8 Click to see the people behind this Plugin"));
|
||||
menu.addItem(17, new CustomItem(new MaterialData(Material.BOOK_AND_QUILL), "&aCredits", "", "&7Lines of Code: &c" + IntegerFormat.formatBigNumber(code_lines), "&7Contributors: &e" + contributors.size(), "", "&7\u21E8 Click to see the people behind this Plugin"));
|
||||
menu.addMenuClickHandler(17, new MenuClickHandler() {
|
||||
|
||||
@Override
|
||||
@ -141,7 +143,7 @@ public class SlimefunGuide {
|
||||
});
|
||||
|
||||
try {
|
||||
menu.addItem(26, new CustomItem(new MaterialData(Material.REDSTONE_COMPARATOR), "&eSource Code", "", "&7Contributors: &e" + contributors.size(), "&7Forks: &e" + forks, "", "&7&oSlimefun 4 is a community project,", "&7&othe source code is available on GitHub", "&7&oand if you want to keep this Plugin alive,", "&7&othen please consider contributing to it", "", "&7\u21E8 Click to go to GitHub"));
|
||||
menu.addItem(26, new CustomItem(new MaterialData(Material.REDSTONE_COMPARATOR), "&eSource Code", "", "&7Lines of Code: &c" + IntegerFormat.formatBigNumber(code_lines), "&7Contributors: &e" + contributors.size(), "&7Forks: &e" + forks, "", "&7&oSlimefun 4 is a community project,", "&7&othe source code is available on GitHub", "&7&oand if you want to keep this Plugin alive,", "&7&othen please consider contributing to it", "", "&7\u21E8 Click to go to GitHub"));
|
||||
menu.addMenuClickHandler(26, new MenuClickHandler() {
|
||||
|
||||
@Override
|
||||
|
@ -199,84 +199,6 @@ public class SlimefunStartup extends JavaPlugin {
|
||||
OreGenSystem.registerResource(new OilResource());
|
||||
OreGenSystem.registerResource(new NetherIceResource());
|
||||
|
||||
// Connecting to GitHub...
|
||||
|
||||
new GitHubConnector() {
|
||||
|
||||
@Override
|
||||
public void onSuccess(JsonElement element) {
|
||||
JsonArray array = element.getAsJsonArray();
|
||||
|
||||
for (int i = 0; i < array.size(); i++) {
|
||||
JsonObject object = array.get(i).getAsJsonObject();
|
||||
|
||||
String name = object.get("login").getAsString();
|
||||
String job = "&cAuthor";
|
||||
int commits = object.get("contributions").getAsInt();
|
||||
String profile = object.get("html_url").getAsString();
|
||||
|
||||
if (!name.equals("invalid-email-address")) {
|
||||
Contributor contributor = new Contributor(name, job, commits);
|
||||
contributor.profile = profile;
|
||||
SlimefunGuide.contributors.add(contributor);
|
||||
}
|
||||
}
|
||||
SlimefunGuide.contributors.add(new Contributor("AquaLazuryt", "&6Lead Head Artist", 0));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFailure() {
|
||||
SlimefunGuide.contributors.add(new Contributor("TheBusyBiscuit", "&cAuthor", 3));
|
||||
SlimefunGuide.contributors.add(new Contributor("John000708", "&cAuthor", 2));
|
||||
SlimefunGuide.contributors.add(new Contributor("AquaLazuryt", "&6Lead Head Artist", 0));
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getRepository() {
|
||||
return "TheBusyBiscuit/Slimefun4";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getFileName() {
|
||||
return "contributors";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getURLSuffix() {
|
||||
return "/contributors";
|
||||
}
|
||||
};
|
||||
|
||||
new GitHubConnector() {
|
||||
|
||||
@Override
|
||||
public void onSuccess(JsonElement element) {
|
||||
JsonObject object = element.getAsJsonObject();
|
||||
SlimefunGuide.issues = object.get("open_issues_count").getAsInt();
|
||||
SlimefunGuide.forks = object.get("forks").getAsInt();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFailure() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getRepository() {
|
||||
return "TheBusyBiscuit/Slimefun4";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getFileName() {
|
||||
return "repo";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getURLSuffix() {
|
||||
return "";
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
// All Slimefun Listeners
|
||||
new ArmorListener(this);
|
||||
new ItemListener(this);
|
||||
@ -436,6 +358,109 @@ public class SlimefunStartup extends JavaPlugin {
|
||||
getServer().getScheduler().scheduleAsyncRepeatingTask(this, new AutoSavingTask(), 1200L, config.getInt("options.auto-save-delay-in-minutes") * 60L * 20L);
|
||||
getServer().getScheduler().scheduleAsyncRepeatingTask(this, ticker, 100L, config.getInt("URID.custom-ticker-delay"));
|
||||
|
||||
getServer().getScheduler().scheduleAsyncDelayedTask(this, new GitHubConnector() {
|
||||
|
||||
@Override
|
||||
public void onSuccess(JsonElement element) {
|
||||
JsonArray array = element.getAsJsonArray();
|
||||
|
||||
for (int i = 0; i < array.size(); i++) {
|
||||
JsonObject object = array.get(i).getAsJsonObject();
|
||||
|
||||
String name = object.get("login").getAsString();
|
||||
String job = "&cAuthor";
|
||||
int commits = object.get("contributions").getAsInt();
|
||||
String profile = object.get("html_url").getAsString();
|
||||
|
||||
if (!name.equals("invalid-email-address")) {
|
||||
Contributor contributor = new Contributor(name, job, commits);
|
||||
contributor.profile = profile;
|
||||
SlimefunGuide.contributors.add(contributor);
|
||||
}
|
||||
}
|
||||
SlimefunGuide.contributors.add(new Contributor("AquaLazuryt", "&6Lead Head Artist", 0));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFailure() {
|
||||
SlimefunGuide.contributors.add(new Contributor("TheBusyBiscuit", "&cAuthor", 3));
|
||||
SlimefunGuide.contributors.add(new Contributor("John000708", "&cAuthor", 2));
|
||||
SlimefunGuide.contributors.add(new Contributor("AquaLazuryt", "&6Lead Head Artist", 0));
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getRepository() {
|
||||
return "TheBusyBiscuit/Slimefun4";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getFileName() {
|
||||
return "contributors";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getURLSuffix() {
|
||||
return "/contributors";
|
||||
}
|
||||
});
|
||||
|
||||
getServer().getScheduler().scheduleAsyncDelayedTask(this, new GitHubConnector() {
|
||||
|
||||
@Override
|
||||
public void onSuccess(JsonElement element) {
|
||||
JsonObject object = element.getAsJsonObject();
|
||||
SlimefunGuide.issues = object.get("open_issues_count").getAsInt();
|
||||
SlimefunGuide.forks = object.get("forks").getAsInt();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFailure() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getRepository() {
|
||||
return "TheBusyBiscuit/Slimefun4";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getFileName() {
|
||||
return "repo";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getURLSuffix() {
|
||||
return "";
|
||||
}
|
||||
});
|
||||
|
||||
getServer().getScheduler().scheduleAsyncDelayedTask(this, new GitHubConnector() {
|
||||
|
||||
@Override
|
||||
public void onSuccess(JsonElement element) {
|
||||
JsonObject object = element.getAsJsonObject();
|
||||
SlimefunGuide.code_lines = object.get("Java").getAsInt();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFailure() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getRepository() {
|
||||
return "TheBusyBiscuit/Slimefun4";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getFileName() {
|
||||
return "lines_of_code";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getURLSuffix() {
|
||||
return "/languages";
|
||||
}
|
||||
});
|
||||
|
||||
// Hooray!
|
||||
System.out.println("[Slimefun] Finished!");
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user