1
mirror of https://github.com/StarWishsama/Slimefun4.git synced 2024-09-19 19:25:48 +00:00

Categories with 0 Items enabled will no longer appear in the Guide.

This commit is contained in:
mrCookieSlime 2016-04-17 20:39:40 +02:00
parent c787a9a538
commit 22e005e33d

View File

@ -127,6 +127,20 @@ public class SlimefunGuide {
int tier = 0; int tier = 0;
for (final Category category: Category.list()) { for (final Category category: Category.list()) {
boolean locked = true;
for (SlimefunItem item: category.getItems()) {
if (Slimefun.isEnabled(p, item, false)) {
locked = false;
break;
}
}
if (locked) {
// Dont display that Category...
}
else {
if (tier < category.getTier()) { if (tier < category.getTier()) {
if (survival) { if (survival) {
for (final GuideHandler handler: Slimefun.getGuideHandlers(tier)) { for (final GuideHandler handler: Slimefun.getGuideHandlers(tier)) {
@ -201,6 +215,7 @@ public class SlimefunGuide {
}); });
} }
} }
}
if (survival) { if (survival) {
for (final GuideHandler handler: Slimefun.getGuideHandlers(tier)) { for (final GuideHandler handler: Slimefun.getGuideHandlers(tier)) {
@ -314,7 +329,19 @@ public class SlimefunGuide {
else { else {
final Category category = categories.get(target); final Category category = categories.get(target);
if (!(category instanceof LockedCategory)) { boolean locked = true;
for (SlimefunItem item: category.getItems()) {
if (Slimefun.isEnabled(p, item, false)) {
locked = false;
break;
}
}
if (locked) {
// Dont display that Category...
}
else if (!(category instanceof LockedCategory)) {
if (!(category instanceof SeasonCategory)) { if (!(category instanceof SeasonCategory)) {
menu.addItem(index, category.getItem()); menu.addItem(index, category.getItem());
menu.addMenuClickHandler(index, new MenuClickHandler() { menu.addMenuClickHandler(index, new MenuClickHandler() {
@ -397,6 +424,7 @@ public class SlimefunGuide {
for (final SlimefunItem item: category.getItems()) { for (final SlimefunItem item: category.getItems()) {
if (Slimefun.hasPermission(p, item, false)) { if (Slimefun.hasPermission(p, item, false)) {
if (Slimefun.isEnabled(p, item, false)) {
if (survival && !Slimefun.hasUnlocked(p, item, false) && item.getResearch() != null) { if (survival && !Slimefun.hasUnlocked(p, item, false) && item.getResearch() != null) {
texts.add(shorten("§7", StringUtils.formatItemName(item.getItem(), false))); texts.add(shorten("§7", StringUtils.formatItemName(item.getItem(), false)));
final int cost = SlimefunStartup.getResearchCfg().getInt(item.getResearch().getID() + ".cost"); final int cost = SlimefunStartup.getResearchCfg().getInt(item.getResearch().getID() + ".cost");
@ -468,6 +496,7 @@ public class SlimefunGuide {
}); });
} }
} }
}
else { else {
texts.add(shorten("§4", StringUtils.formatItemName(item.getItem(), false))); texts.add(shorten("§4", StringUtils.formatItemName(item.getItem(), false)));
tooltips.add("§cNo Permission!"); tooltips.add("§cNo Permission!");
@ -591,6 +620,7 @@ public class SlimefunGuide {
final SlimefunItem sfitem = category.getItems().get(target); final SlimefunItem sfitem = category.getItems().get(target);
if (survival && !Slimefun.hasUnlocked(p, sfitem.getItem(), false) && sfitem.getResearch() != null) { if (survival && !Slimefun.hasUnlocked(p, sfitem.getItem(), false) && sfitem.getResearch() != null) {
if (Slimefun.hasPermission(p, sfitem, false)) { if (Slimefun.hasPermission(p, sfitem, false)) {
if (Slimefun.isEnabled(p, sfitem, false)) {
final int cost = SlimefunStartup.getResearchCfg().getInt(sfitem.getResearch().getID() + ".cost"); final int cost = SlimefunStartup.getResearchCfg().getInt(sfitem.getResearch().getID() + ".cost");
menu.addItem(index, new CustomItem(Material.STAINED_GLASS_PANE, StringUtils.formatItemName(sfitem.getItem(), false), 14, new String[] {"&4&lLOCKED", "", "&a> Click to unlock", "", "&7Cost: &b" + cost + " Level"})); menu.addItem(index, new CustomItem(Material.STAINED_GLASS_PANE, StringUtils.formatItemName(sfitem.getItem(), false), 14, new String[] {"&4&lLOCKED", "", "&a> Click to unlock", "", "&7Cost: &b" + cost + " Level"}));
menu.addMenuClickHandler(index, new MenuClickHandler() { menu.addMenuClickHandler(index, new MenuClickHandler() {
@ -630,6 +660,7 @@ public class SlimefunGuide {
} }
}); });
} }
}
else { else {
menu.addItem(index, new CustomItem(Material.STAINED_GLASS_PANE, StringUtils.formatItemName(sfitem.getItem(), false), 14, new String[] {"", "&rYou do not have Permission", "&rto access this Item"})); menu.addItem(index, new CustomItem(Material.STAINED_GLASS_PANE, StringUtils.formatItemName(sfitem.getItem(), false), 14, new String[] {"", "&rYou do not have Permission", "&rto access this Item"}));
menu.addMenuClickHandler(index, new MenuClickHandler() { menu.addMenuClickHandler(index, new MenuClickHandler() {