mirror of
https://github.com/StarWishsama/Slimefun4.git
synced 2024-09-20 03:35:51 +00:00
Improved Guide Settings Menu
This commit is contained in:
parent
692ea87b4a
commit
d66dc68311
@ -4,6 +4,7 @@ public class Contributor {
|
||||
|
||||
public String name;
|
||||
public String job;
|
||||
public String profile;
|
||||
public int commits;
|
||||
|
||||
public Contributor(String name, String job, int commits) {
|
||||
|
@ -6,6 +6,7 @@ import java.io.FileOutputStream;
|
||||
import java.io.FileReader;
|
||||
import java.io.IOException;
|
||||
import java.net.URL;
|
||||
import java.net.URLConnection;
|
||||
import java.nio.channels.Channels;
|
||||
import java.nio.channels.ReadableByteChannel;
|
||||
import java.util.HashSet;
|
||||
@ -38,7 +39,13 @@ public abstract class GitHubConnector {
|
||||
|
||||
try {
|
||||
URL website = new URL("https://api.github.com/repos/" + this.getRepository() + this.getURLSuffix());
|
||||
ReadableByteChannel rbc = Channels.newChannel(website.openStream());
|
||||
|
||||
URLConnection connection = website.openConnection();
|
||||
connection.setConnectTimeout(3000);
|
||||
connection.addRequestProperty("User-Agent", "Slimefun 4 GitHub Agent (by TheBusyBiscuit)");
|
||||
connection.setDoOutput(true);
|
||||
|
||||
ReadableByteChannel rbc = Channels.newChannel(connection.getInputStream());
|
||||
FileOutputStream fos = new FileOutputStream(file);
|
||||
fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE);
|
||||
fos.close();
|
||||
|
@ -72,6 +72,8 @@ public class SlimefunGuide {
|
||||
return new CustomItem(new MaterialData(Material.ENCHANTED_BOOK), "&eSlimefun Guide &7(Right Click)", (book ? "": "&2"), "&rThis is your basic Guide for Slimefun", "&rYou can see all Items added by this Plugin", "&ror its Addons including their Recipes", "&ra bit of information and more");
|
||||
}
|
||||
|
||||
private static final int[] slots = new int[] {0, 1, 9, 10, 19, 27, 28, 36, 37, 7, 8, 16, 25, 34, 43, 44};
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
public static void openSettings(Player p, final ItemStack guide) {
|
||||
final ChestMenu menu = new ChestMenu("Settings / Info");
|
||||
@ -85,8 +87,8 @@ public class SlimefunGuide {
|
||||
});
|
||||
|
||||
|
||||
menu.addItem(0, new CustomItem(new MaterialData(Material.EMERALD), "&7\u21E6 Back to normal view"));
|
||||
menu.addMenuClickHandler(0, new MenuClickHandler() {
|
||||
menu.addItem(18, new CustomItem(new MaterialData(Material.EMERALD), "&7\u21E6 Back to normal view"));
|
||||
menu.addMenuClickHandler(18, new MenuClickHandler() {
|
||||
|
||||
@Override
|
||||
public boolean onClick(Player p, int arg1, ItemStack arg2, ClickAction arg3) {
|
||||
@ -100,8 +102,7 @@ public class SlimefunGuide {
|
||||
}
|
||||
});
|
||||
|
||||
for (int i = 1; i < 18; i++) {
|
||||
if (i != 3 && i != 4 && i != 5) {
|
||||
for (int i: slots) {
|
||||
menu.addItem(i, new CustomItem(new MaterialData(Material.STAINED_GLASS_PANE, (byte) 7), " "));
|
||||
menu.addMenuClickHandler(i, new MenuClickHandler() {
|
||||
|
||||
@ -111,10 +112,9 @@ public class SlimefunGuide {
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
menu.addItem(18, new CustomItem(new MaterialData(SlimefunManager.isItemSimiliar(guide, SlimefunGuide.getItem(true), true) ? Material.BOOK_AND_QUILL: Material.CHEST), "&7Guide Layout: &e" + (SlimefunManager.isItemSimiliar(guide, SlimefunGuide.getItem(true), true) ? "Book": "Chest"), "", "&7\u21E8 Click to change to: &b" + (SlimefunManager.isItemSimiliar(guide, SlimefunGuide.getItem(true), true) ? "Chest": "Book")));
|
||||
menu.addMenuClickHandler(18, new MenuClickHandler() {
|
||||
menu.addItem(2, new CustomItem(new MaterialData(SlimefunManager.isItemSimiliar(guide, SlimefunGuide.getItem(true), true) ? Material.BOOK_AND_QUILL: Material.CHEST), "&7Guide Layout: &e" + (SlimefunManager.isItemSimiliar(guide, SlimefunGuide.getItem(true), true) ? "Book": "Chest"), "", "&7\u21E8 Click to change to: &b" + (SlimefunManager.isItemSimiliar(guide, SlimefunGuide.getItem(true), true) ? "Chest": "Book")));
|
||||
menu.addMenuClickHandler(2, new MenuClickHandler() {
|
||||
|
||||
@Override
|
||||
public boolean onClick(Player p, int arg1, ItemStack arg2, ClickAction arg3) {
|
||||
@ -130,8 +130,8 @@ public class SlimefunGuide {
|
||||
}
|
||||
});
|
||||
|
||||
menu.addItem(3, new CustomItem(new MaterialData(Material.BOOK_AND_QUILL), "&aCredits", "", "&7\u21E8 Click to see the people behind this Plugin"));
|
||||
menu.addMenuClickHandler(3, new MenuClickHandler() {
|
||||
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.addMenuClickHandler(17, new MenuClickHandler() {
|
||||
|
||||
@Override
|
||||
public boolean onClick(Player p, int arg1, ItemStack arg2, ClickAction arg3) {
|
||||
@ -141,8 +141,8 @@ public class SlimefunGuide {
|
||||
});
|
||||
|
||||
try {
|
||||
menu.addItem(4, new CustomItem(CustomSkull.getItem("eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYzljODg4MWU0MjkxNWE5ZDI5YmI2MWExNmZiMjZkMDU5OTEzMjA0ZDI2NWRmNWI0MzliM2Q3OTJhY2Q1NiJ9fX0="), "&eSource Code", "", "&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(4, new MenuClickHandler() {
|
||||
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.addMenuClickHandler(26, new MenuClickHandler() {
|
||||
|
||||
@Override
|
||||
public boolean onClick(Player p, int arg1, ItemStack arg2, ClickAction arg3) {
|
||||
@ -157,8 +157,8 @@ public class SlimefunGuide {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
menu.addItem(5, new CustomItem(new MaterialData(Material.REDSTONE), "&4Bug Tracker", "", "&7Unsolved Issues: &a" + issues, "", "&7\u21E8 Click to go to the Slimefun Bug Tracker"));
|
||||
menu.addMenuClickHandler(5, new MenuClickHandler() {
|
||||
menu.addItem(35, new CustomItem(new MaterialData(Material.REDSTONE), "&4Bug Tracker", "", "&7Unsolved Issues: &a" + issues, "", "&7\u21E8 Click to go to the Slimefun Bug Tracker"));
|
||||
menu.addMenuClickHandler(35, new MenuClickHandler() {
|
||||
|
||||
@Override
|
||||
public boolean onClick(Player p, int arg1, ItemStack arg2, ClickAction arg3) {
|
||||
@ -170,17 +170,6 @@ public class SlimefunGuide {
|
||||
}
|
||||
});
|
||||
|
||||
for (int i = 0; i < 9; i++) {
|
||||
menu.addItem(27 + i, new CustomItem(new MaterialData(Material.STAINED_GLASS_PANE, (byte) 7), " "));
|
||||
menu.addMenuClickHandler(27 + i, new MenuClickHandler() {
|
||||
|
||||
@Override
|
||||
public boolean onClick(Player arg0, int arg1, ItemStack arg2, ClickAction arg3) {
|
||||
return false;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
menu.open(p);
|
||||
}
|
||||
|
||||
@ -228,7 +217,7 @@ public class SlimefunGuide {
|
||||
total += contributor.commits;
|
||||
}
|
||||
|
||||
for (Contributor contributor: contributors) {
|
||||
for (final Contributor contributor: contributors) {
|
||||
ItemStack skull = new ItemStack(Material.SKULL_ITEM, 1, (short) 3);
|
||||
|
||||
ItemMeta meta = skull.getItemMeta();
|
||||
@ -237,7 +226,7 @@ public class SlimefunGuide {
|
||||
if (contributor.commits > 0) {
|
||||
double percentage = DoubleHandler.fixDouble((contributor.commits * 100.0) / total, 2);
|
||||
|
||||
meta.setLore(Arrays.asList("", ChatColor.translateAlternateColorCodes('&', "&7Role: &r" + contributor.job), ChatColor.translateAlternateColorCodes('&', "&7Contribution: &r" + percentage + "%")));
|
||||
meta.setLore(Arrays.asList("", ChatColor.translateAlternateColorCodes('&', "&7Role: &r" + contributor.job), ChatColor.translateAlternateColorCodes('&', "&7Contribution: &r" + percentage + "%"), "", ChatColor.translateAlternateColorCodes('&', "&7\u21E8 Click to view my GitHub profile")));
|
||||
}
|
||||
else {
|
||||
meta.setLore(Arrays.asList("", ChatColor.translateAlternateColorCodes('&', "&7Role: &r" + contributor.job)));
|
||||
@ -250,6 +239,12 @@ public class SlimefunGuide {
|
||||
|
||||
@Override
|
||||
public boolean onClick(Player p, int arg1, ItemStack arg2, ClickAction arg3) {
|
||||
if (contributor.commits > 0) {
|
||||
p.closeInventory();
|
||||
p.sendMessage("");
|
||||
p.sendMessage(ChatColor.translateAlternateColorCodes('&', "&7&o" + contributor.profile));
|
||||
p.sendMessage("");
|
||||
}
|
||||
return false;
|
||||
}
|
||||
});
|
||||
|
@ -213,9 +213,12 @@ public class SlimefunStartup extends JavaPlugin {
|
||||
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")) {
|
||||
SlimefunGuide.contributors.add(new Contributor(name, job, commits));
|
||||
Contributor contributor = new Contributor(name, job, commits);
|
||||
contributor.profile = profile;
|
||||
SlimefunGuide.contributors.add(contributor);
|
||||
}
|
||||
}
|
||||
SlimefunGuide.contributors.add(new Contributor("AquaLazuryt", "&6Lead Head Artist", 0));
|
||||
|
Loading…
Reference in New Issue
Block a user