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 name;
|
||||||
public String job;
|
public String job;
|
||||||
|
public String profile;
|
||||||
public int commits;
|
public int commits;
|
||||||
|
|
||||||
public Contributor(String name, String job, 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.FileReader;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.net.URL;
|
import java.net.URL;
|
||||||
|
import java.net.URLConnection;
|
||||||
import java.nio.channels.Channels;
|
import java.nio.channels.Channels;
|
||||||
import java.nio.channels.ReadableByteChannel;
|
import java.nio.channels.ReadableByteChannel;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
@ -38,7 +39,13 @@ public abstract class GitHubConnector {
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
URL website = new URL("https://api.github.com/repos/" + this.getRepository() + this.getURLSuffix());
|
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);
|
FileOutputStream fos = new FileOutputStream(file);
|
||||||
fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE);
|
fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE);
|
||||||
fos.close();
|
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");
|
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")
|
@SuppressWarnings("deprecation")
|
||||||
public static void openSettings(Player p, final ItemStack guide) {
|
public static void openSettings(Player p, final ItemStack guide) {
|
||||||
final ChestMenu menu = new ChestMenu("Settings / Info");
|
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.addItem(18, new CustomItem(new MaterialData(Material.EMERALD), "&7\u21E6 Back to normal view"));
|
||||||
menu.addMenuClickHandler(0, new MenuClickHandler() {
|
menu.addMenuClickHandler(18, new MenuClickHandler() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onClick(Player p, int arg1, ItemStack arg2, ClickAction arg3) {
|
public boolean onClick(Player p, int arg1, ItemStack arg2, ClickAction arg3) {
|
||||||
@ -100,21 +102,19 @@ public class SlimefunGuide {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
for (int i = 1; i < 18; i++) {
|
for (int i: slots) {
|
||||||
if (i != 3 && i != 4 && i != 5) {
|
menu.addItem(i, new CustomItem(new MaterialData(Material.STAINED_GLASS_PANE, (byte) 7), " "));
|
||||||
menu.addItem(i, new CustomItem(new MaterialData(Material.STAINED_GLASS_PANE, (byte) 7), " "));
|
menu.addMenuClickHandler(i, new MenuClickHandler() {
|
||||||
menu.addMenuClickHandler(i, new MenuClickHandler() {
|
|
||||||
|
@Override
|
||||||
@Override
|
public boolean onClick(Player arg0, int arg1, ItemStack arg2, ClickAction arg3) {
|
||||||
public boolean onClick(Player arg0, int arg1, ItemStack arg2, ClickAction arg3) {
|
return false;
|
||||||
return false;
|
}
|
||||||
}
|
});
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
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.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(18, new MenuClickHandler() {
|
menu.addMenuClickHandler(2, new MenuClickHandler() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onClick(Player p, int arg1, ItemStack arg2, ClickAction arg3) {
|
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.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(3, new MenuClickHandler() {
|
menu.addMenuClickHandler(17, new MenuClickHandler() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onClick(Player p, int arg1, ItemStack arg2, ClickAction arg3) {
|
public boolean onClick(Player p, int arg1, ItemStack arg2, ClickAction arg3) {
|
||||||
@ -141,8 +141,8 @@ public class SlimefunGuide {
|
|||||||
});
|
});
|
||||||
|
|
||||||
try {
|
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.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(4, new MenuClickHandler() {
|
menu.addMenuClickHandler(26, new MenuClickHandler() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onClick(Player p, int arg1, ItemStack arg2, ClickAction arg3) {
|
public boolean onClick(Player p, int arg1, ItemStack arg2, ClickAction arg3) {
|
||||||
@ -157,8 +157,8 @@ public class SlimefunGuide {
|
|||||||
e.printStackTrace();
|
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.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(5, new MenuClickHandler() {
|
menu.addMenuClickHandler(35, new MenuClickHandler() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onClick(Player p, int arg1, ItemStack arg2, ClickAction arg3) {
|
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);
|
menu.open(p);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -228,7 +217,7 @@ public class SlimefunGuide {
|
|||||||
total += contributor.commits;
|
total += contributor.commits;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (Contributor contributor: contributors) {
|
for (final Contributor contributor: contributors) {
|
||||||
ItemStack skull = new ItemStack(Material.SKULL_ITEM, 1, (short) 3);
|
ItemStack skull = new ItemStack(Material.SKULL_ITEM, 1, (short) 3);
|
||||||
|
|
||||||
ItemMeta meta = skull.getItemMeta();
|
ItemMeta meta = skull.getItemMeta();
|
||||||
@ -237,7 +226,7 @@ public class SlimefunGuide {
|
|||||||
if (contributor.commits > 0) {
|
if (contributor.commits > 0) {
|
||||||
double percentage = DoubleHandler.fixDouble((contributor.commits * 100.0) / total, 2);
|
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 {
|
else {
|
||||||
meta.setLore(Arrays.asList("", ChatColor.translateAlternateColorCodes('&', "&7Role: &r" + contributor.job)));
|
meta.setLore(Arrays.asList("", ChatColor.translateAlternateColorCodes('&', "&7Role: &r" + contributor.job)));
|
||||||
@ -250,6 +239,12 @@ public class SlimefunGuide {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onClick(Player p, int arg1, ItemStack arg2, ClickAction arg3) {
|
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;
|
return false;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -213,9 +213,12 @@ public class SlimefunStartup extends JavaPlugin {
|
|||||||
String name = object.get("login").getAsString();
|
String name = object.get("login").getAsString();
|
||||||
String job = "&cAuthor";
|
String job = "&cAuthor";
|
||||||
int commits = object.get("contributions").getAsInt();
|
int commits = object.get("contributions").getAsInt();
|
||||||
|
String profile = object.get("html_url").getAsString();
|
||||||
|
|
||||||
if (!name.equals("invalid-email-address")) {
|
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));
|
SlimefunGuide.contributors.add(new Contributor("AquaLazuryt", "&6Lead Head Artist", 0));
|
||||||
|
Loading…
Reference in New Issue
Block a user