Reworked menu pages logic, now every menu has its own page

This commit is contained in:
Fabrizio La Rosa 2020-06-17 15:49:35 +02:00
parent 2eb0864c0f
commit 3467b0d5bb
13 changed files with 92 additions and 37 deletions

View File

@ -128,13 +128,13 @@ public class Bans {
} else if ((is.getType() == SkullUtil.createItemStack().getType()) && (is.hasItemMeta())) { } else if ((is.getType() == SkullUtil.createItemStack().getType()) && (is.hasItemMeta())) {
if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
configLoad.getString("Menu.Bans.Item.Previous.Displayname")))) { configLoad.getString("Menu.Bans.Item.Previous.Displayname")))) {
playerData1.setPage(playerData1.getPage() - 1); playerData1.setPage(MenuType.BANS, playerData1.getPage(MenuType.BANS) - 1);
soundManager.playSound(player, CompatibleSound.ENTITY_ARROW_HIT.getSound(), 1.0F, 1.0F); soundManager.playSound(player, CompatibleSound.ENTITY_ARROW_HIT.getSound(), 1.0F, 1.0F);
Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L);
} else if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes( } else if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes(
'&', configLoad.getString("Menu.Bans.Item.Next.Displayname")))) { '&', configLoad.getString("Menu.Bans.Item.Next.Displayname")))) {
playerData1.setPage(playerData1.getPage() + 1); playerData1.setPage(MenuType.BANS, playerData1.getPage(MenuType.BANS) + 1);
soundManager.playSound(player, CompatibleSound.ENTITY_ARROW_HIT.getSound(), 1.0F, 1.0F); soundManager.playSound(player, CompatibleSound.ENTITY_ARROW_HIT.getSound(), 1.0F, 1.0F);
Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L);
@ -173,7 +173,7 @@ public class Bans {
configLoad.getString("Menu.Bans.Item.Barrier.Displayname"), null, null, null, null), configLoad.getString("Menu.Bans.Item.Barrier.Displayname"), null, null, null, null),
9, 10, 11, 12, 13, 14, 15, 16, 17); 9, 10, 11, 12, 13, 14, 15, 16, 17);
int playerMenuPage = playerData.getPage(), nextEndIndex = islandBans.size() - playerMenuPage * 36; int playerMenuPage = playerData.getPage(MenuType.BANS), nextEndIndex = islandBans.size() - playerMenuPage * 36;
if (playerMenuPage != 1) { if (playerMenuPage != 1) {
nInv.addItem(nInv.createItem(SkullUtil.create( nInv.addItem(nInv.createItem(SkullUtil.create(

View File

@ -151,13 +151,13 @@ public class Coop {
} else if ((is.getType() == SkullUtil.createItemStack().getType()) && (is.hasItemMeta())) { } else if ((is.getType() == SkullUtil.createItemStack().getType()) && (is.hasItemMeta())) {
if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
configLoad.getString("Menu.Coop.Item.Previous.Displayname")))) { configLoad.getString("Menu.Coop.Item.Previous.Displayname")))) {
playerData.setPage(playerData.getPage() - 1); playerData.setPage(MenuType.COOP, playerData.getPage(MenuType.COOP) - 1);
soundManager.playSound(player, CompatibleSound.ENTITY_ARROW_HIT.getSound(), 1.0F, 1.0F); soundManager.playSound(player, CompatibleSound.ENTITY_ARROW_HIT.getSound(), 1.0F, 1.0F);
Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L);
} else if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes( } else if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes(
'&', configLoad.getString("Menu.Coop.Item.Next.Displayname")))) { '&', configLoad.getString("Menu.Coop.Item.Next.Displayname")))) {
playerData.setPage(playerData.getPage() + 1); playerData.setPage(MenuType.COOP, playerData.getPage(MenuType.COOP) + 1);
soundManager.playSound(player, CompatibleSound.ENTITY_ARROW_HIT.getSound(), 1.0F, 1.0F); soundManager.playSound(player, CompatibleSound.ENTITY_ARROW_HIT.getSound(), 1.0F, 1.0F);
Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L);
@ -194,7 +194,7 @@ public class Coop {
Map<UUID, IslandCoop> coopPlayers = island.getCoopPlayers(); Map<UUID, IslandCoop> coopPlayers = island.getCoopPlayers();
int playerMenuPage = playerData.getPage(), nextEndIndex = coopPlayers.size() - playerMenuPage * 36; int playerMenuPage = playerData.getPage(MenuType.COOP), nextEndIndex = coopPlayers.size() - playerMenuPage * 36;
nInv.addItem(nInv.createItem(CompatibleMaterial.OAK_FENCE_GATE.getItem(), nInv.addItem(nInv.createItem(CompatibleMaterial.OAK_FENCE_GATE.getItem(),
configLoad.getString("Menu.Coop.Item.Exit.Displayname"), null, null, null, null), 0, 8); configLoad.getString("Menu.Coop.Item.Exit.Displayname"), null, null, null, null), 0, 8);

View File

@ -303,7 +303,7 @@ public class Information {
if (is.getItemMeta().getDisplayName() if (is.getItemMeta().getDisplayName()
.equals(ChatColor.translateAlternateColorCodes('&', configLoad.getString( .equals(ChatColor.translateAlternateColorCodes('&', configLoad.getString(
"Menu.Information.Members.Item.Previous.Displayname")))) { "Menu.Information.Members.Item.Previous.Displayname")))) {
playerData1.setPage(playerData1.getPage() - 1); playerData1.setPage(MenuType.INFORMATION, playerData1.getPage(MenuType.INFORMATION) - 1);
soundManager.playSound(player, CompatibleSound.ENTITY_ARROW_HIT.getSound(), 1.0F, 1.0F); soundManager.playSound(player, CompatibleSound.ENTITY_ARROW_HIT.getSound(), 1.0F, 1.0F);
Bukkit.getServer().getScheduler().runTaskLater(skyblock, Bukkit.getServer().getScheduler().runTaskLater(skyblock,
@ -311,7 +311,7 @@ public class Information {
} else if (is.getItemMeta().getDisplayName() } else if (is.getItemMeta().getDisplayName()
.equals(ChatColor.translateAlternateColorCodes('&', configLoad .equals(ChatColor.translateAlternateColorCodes('&', configLoad
.getString("Menu.Information.Members.Item.Next.Displayname")))) { .getString("Menu.Information.Members.Item.Next.Displayname")))) {
playerData1.setPage(playerData1.getPage() + 1); playerData1.setPage(MenuType.INFORMATION, playerData1.getPage(MenuType.INFORMATION) + 1);
soundManager.playSound(player, CompatibleSound.ENTITY_ARROW_HIT.getSound(), 1.0F, 1.0F); soundManager.playSound(player, CompatibleSound.ENTITY_ARROW_HIT.getSound(), 1.0F, 1.0F);
Bukkit.getServer().getScheduler().runTaskLater(skyblock, Bukkit.getServer().getScheduler().runTaskLater(skyblock,
@ -358,7 +358,7 @@ public class Information {
configLoad.getString("Menu.Information.Members.Item.Barrier.Displayname"), null, null, null, configLoad.getString("Menu.Information.Members.Item.Barrier.Displayname"), null, null, null,
null), 9, 10, 11, 12, 13, 14, 15, 16, 17); null), 9, 10, 11, 12, 13, 14, 15, 16, 17);
int playerMenuPage = playerData.getPage(), int playerMenuPage = playerData.getPage(MenuType.INFORMATION),
nextEndIndex = displayedMembers.size() - playerMenuPage * 36; nextEndIndex = displayedMembers.size() - playerMenuPage * 36;
if (playerMenuPage != 1) { if (playerMenuPage != 1) {
@ -464,7 +464,7 @@ public class Information {
if (is.getItemMeta().getDisplayName() if (is.getItemMeta().getDisplayName()
.equals(ChatColor.translateAlternateColorCodes('&', configLoad.getString( .equals(ChatColor.translateAlternateColorCodes('&', configLoad.getString(
"Menu.Information.Visitors.Item.Previous.Displayname")))) { "Menu.Information.Visitors.Item.Previous.Displayname")))) {
playerData12.setPage(playerData12.getPage() - 1); playerData12.setPage(MenuType.INFORMATION, playerData12.getPage(MenuType.INFORMATION) - 1);
soundManager.playSound(player, CompatibleSound.ENTITY_ARROW_HIT.getSound(), 1.0F, 1.0F); soundManager.playSound(player, CompatibleSound.ENTITY_ARROW_HIT.getSound(), 1.0F, 1.0F);
Bukkit.getServer().getScheduler().runTaskLater(skyblock, Bukkit.getServer().getScheduler().runTaskLater(skyblock,
@ -472,7 +472,7 @@ public class Information {
} else if (is.getItemMeta().getDisplayName() } else if (is.getItemMeta().getDisplayName()
.equals(ChatColor.translateAlternateColorCodes('&', configLoad .equals(ChatColor.translateAlternateColorCodes('&', configLoad
.getString("Menu.Information.Visitors.Item.Next.Displayname")))) { .getString("Menu.Information.Visitors.Item.Next.Displayname")))) {
playerData12.setPage(playerData12.getPage() + 1); playerData12.setPage(MenuType.INFORMATION, playerData12.getPage(MenuType.INFORMATION) + 1);
soundManager.playSound(player, CompatibleSound.ENTITY_ARROW_HIT.getSound(), 1.0F, 1.0F); soundManager.playSound(player, CompatibleSound.ENTITY_ARROW_HIT.getSound(), 1.0F, 1.0F);
Bukkit.getServer().getScheduler().runTaskLater(skyblock, Bukkit.getServer().getScheduler().runTaskLater(skyblock,
@ -503,7 +503,7 @@ public class Information {
configLoad.getString("Menu.Information.Visitors.Item.Barrier.Displayname"), null, null, configLoad.getString("Menu.Information.Visitors.Item.Barrier.Displayname"), null, null,
null, null), 9, 10, 11, 12, 13, 14, 15, 16, 17); null, null), 9, 10, 11, 12, 13, 14, 15, 16, 17);
int playerMenuPage = playerData.getPage(), int playerMenuPage = playerData.getPage(MenuType.INFORMATION),
nextEndIndex = displayedVisitors.size() - playerMenuPage * 36; nextEndIndex = displayedVisitors.size() - playerMenuPage * 36;
if (playerMenuPage != 1) { if (playerMenuPage != 1) {

View File

@ -146,12 +146,12 @@ public class Levelling {
PlayerData playerData1 = skyblock.getPlayerDataManager().getPlayerData(player); PlayerData playerData1 = skyblock.getPlayerDataManager().getPlayerData(player);
if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', configLoad.getString("Menu.Levelling.Item.Previous.Displayname")))) { if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', configLoad.getString("Menu.Levelling.Item.Previous.Displayname")))) {
playerData1.setPage(playerData1.getPage() - 1); playerData1.setPage(MenuType.LEVELLING, playerData1.getPage(MenuType.LEVELLING) - 1);
soundManager.playSound(player, CompatibleSound.ENTITY_ARROW_HIT.getSound(), 1.0F, 1.0F); soundManager.playSound(player, CompatibleSound.ENTITY_ARROW_HIT.getSound(), 1.0F, 1.0F);
Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L);
} else if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', configLoad.getString("Menu.Levelling.Item.Next.Displayname")))) { } else if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', configLoad.getString("Menu.Levelling.Item.Next.Displayname")))) {
playerData1.setPage(playerData1.getPage() + 1); playerData1.setPage(MenuType.LEVELLING, playerData1.getPage(MenuType.LEVELLING) + 1);
soundManager.playSound(player, CompatibleSound.ENTITY_ARROW_HIT.getSound(), 1.0F, 1.0F); soundManager.playSound(player, CompatibleSound.ENTITY_ARROW_HIT.getSound(), 1.0F, 1.0F);
Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L);
@ -208,7 +208,7 @@ public class Levelling {
} }
} }
int playerMenuPage = playerData.getPage(), nextEndIndex = islandMaterials.size() - playerMenuPage * 36; int playerMenuPage = playerData.getPage(MenuType.LEVELLING), nextEndIndex = islandMaterials.size() - playerMenuPage * 36;
nInv.addItem(nInv.createItem(CompatibleMaterial.OAK_FENCE_GATE.getItem(), configLoad.getString("Menu.Levelling.Item.Exit.Displayname"), null, null, null, null), 0, 8); nInv.addItem(nInv.createItem(CompatibleMaterial.OAK_FENCE_GATE.getItem(), configLoad.getString("Menu.Levelling.Item.Exit.Displayname"), null, null, null, null), 0, 8);
nInv.addItem(nInv.createItem(CompatibleMaterial.FIREWORK_STAR.getItem(), configLoad.getString("Menu.Levelling.Item.Rescan.Displayname"), configLoad.getStringList("Menu.Levelling.Item.Rescan.Lore"), null, null, nInv.addItem(nInv.createItem(CompatibleMaterial.FIREWORK_STAR.getItem(), configLoad.getString("Menu.Levelling.Item.Rescan.Displayname"), configLoad.getStringList("Menu.Levelling.Item.Rescan.Lore"), null, null,

View File

@ -130,14 +130,14 @@ public class Members {
} else if ((is.getType() == SkullUtil.createItemStack().getType()) && (is.hasItemMeta())) { } else if ((is.getType() == SkullUtil.createItemStack().getType()) && (is.hasItemMeta())) {
if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
configLoad.getString("Menu.Members.Item.Previous.Displayname")))) { configLoad.getString("Menu.Members.Item.Previous.Displayname")))) {
playerData.setPage(playerData.getPage() - 1); playerData.setPage(MenuType.MEMBERS, playerData.getPage(MenuType.MEMBERS) - 1);
soundManager.playSound(player, CompatibleSound.ENTITY_ARROW_HIT.getSound(), 1.0F, 1.0F); soundManager.playSound(player, CompatibleSound.ENTITY_ARROW_HIT.getSound(), 1.0F, 1.0F);
Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player, (Type) playerData.getType(), Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player, (Type) playerData.getType(),
(Sort) playerData.getSort()), 1L); (Sort) playerData.getSort()), 1L);
} else if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes( } else if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes(
'&', configLoad.getString("Menu.Members.Item.Next.Displayname")))) { '&', configLoad.getString("Menu.Members.Item.Next.Displayname")))) {
playerData.setPage(playerData.getPage() + 1); playerData.setPage(MenuType.MEMBERS, playerData.getPage(MenuType.MEMBERS) + 1);
soundManager.playSound(player, CompatibleSound.ENTITY_ARROW_HIT.getSound(), 1.0F, 1.0F); soundManager.playSound(player, CompatibleSound.ENTITY_ARROW_HIT.getSound(), 1.0F, 1.0F);
Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player, (Type) playerData.getType(), Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player, (Type) playerData.getType(),
@ -319,7 +319,7 @@ public class Members {
} }
} }
int playerMenuPage = playerData.getPage(), nextEndIndex = displayedMembers.size() - playerMenuPage * 36; int playerMenuPage = playerData.getPage(MenuType.MEMBERS), nextEndIndex = displayedMembers.size() - playerMenuPage * 36;
nInv.addItem(nInv.createItem(CompatibleMaterial.OAK_FENCE_GATE.getItem(), nInv.addItem(nInv.createItem(CompatibleMaterial.OAK_FENCE_GATE.getItem(),
configLoad.getString("Menu.Members.Item.Exit.Displayname"), null, null, null, null), 0, 8); configLoad.getString("Menu.Members.Item.Exit.Displayname"), null, null, null, null), 0, 8);

View File

@ -0,0 +1,14 @@
package com.songoda.skyblock.menus;
public enum MenuType {
ADMIN_LEVELLING,
ADMIN_CREATOR,
ADMIN_GENERATOR,
INFORMATION,
COOP,
LEVELLING,
MEMBERS,
BANS,
VISIT,
VISITORS
}

View File

@ -120,13 +120,13 @@ public class Visit {
} else if ((is.getType() == SkullUtil.createItemStack().getType()) && (is.hasItemMeta())) { } else if ((is.getType() == SkullUtil.createItemStack().getType()) && (is.hasItemMeta())) {
if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
configLoad.getString("Menu.Visit.Item.Previous.Displayname")))) { configLoad.getString("Menu.Visit.Item.Previous.Displayname")))) {
playerData.setPage(playerData.getPage() - 1); playerData.setPage(MenuType.VISIT, playerData.getPage(MenuType.VISIT) - 1);
soundManager.playSound(player, CompatibleSound.ENTITY_ARROW_HIT.getSound(), 1.0F, 1.0F); soundManager.playSound(player, CompatibleSound.ENTITY_ARROW_HIT.getSound(), 1.0F, 1.0F);
Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player, (Type) playerData.getType(), (Sort) playerData.getSort()), 1L); Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player, (Type) playerData.getType(), (Sort) playerData.getSort()), 1L);
} else if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', } else if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
configLoad.getString("Menu.Visit.Item.Next.Displayname")))) { configLoad.getString("Menu.Visit.Item.Next.Displayname")))) {
playerData.setPage(playerData.getPage() + 1); playerData.setPage(MenuType.VISIT, playerData.getPage(MenuType.VISIT) + 1);
soundManager.playSound(player, CompatibleSound.ENTITY_ARROW_HIT.getSound(), 1.0F, 1.0F); soundManager.playSound(player, CompatibleSound.ENTITY_ARROW_HIT.getSound(), 1.0F, 1.0F);
Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player, (Type) playerData.getType(), (Sort) playerData.getSort()), 1L); Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player, (Type) playerData.getType(), (Sort) playerData.getSort()), 1L);
@ -330,7 +330,7 @@ public class Visit {
}); });
} }
int playerMenuPage = playerDataManager.getPlayerData(player).getPage(), int playerMenuPage = playerDataManager.getPlayerData(player).getPage(MenuType.VISIT),
nextEndIndex = visitIslands.size() - playerMenuPage * 36, nextEndIndex = visitIslands.size() - playerMenuPage * 36,
totalIslands = visitManager.getIslands().size(); totalIslands = visitManager.getIslands().size();

View File

@ -95,13 +95,13 @@ public class Visitors {
} else if ((is.getType() == SkullUtil.createItemStack().getType()) && (is.hasItemMeta())) { } else if ((is.getType() == SkullUtil.createItemStack().getType()) && (is.hasItemMeta())) {
if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
configLoad.getString("Menu.Visitors.Item.Previous.Displayname")))) { configLoad.getString("Menu.Visitors.Item.Previous.Displayname")))) {
playerData.setPage(playerData.getPage() - 1); playerData.setPage(MenuType.VISITORS, playerData.getPage(MenuType.VISITORS) - 1);
soundManager.playSound(player, CompatibleSound.ENTITY_ARROW_HIT.getSound(), 1.0F, 1.0F); soundManager.playSound(player, CompatibleSound.ENTITY_ARROW_HIT.getSound(), 1.0F, 1.0F);
Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L);
} else if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes( } else if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes(
'&', configLoad.getString("Menu.Visitors.Item.Next.Displayname")))) { '&', configLoad.getString("Menu.Visitors.Item.Next.Displayname")))) {
playerData.setPage(playerData.getPage() + 1); playerData.setPage(MenuType.VISITORS, playerData.getPage(MenuType.VISITORS) + 1);
soundManager.playSound(player, CompatibleSound.ENTITY_ARROW_HIT.getSound(), 1.0F, 1.0F); soundManager.playSound(player, CompatibleSound.ENTITY_ARROW_HIT.getSound(), 1.0F, 1.0F);
Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L);
@ -188,7 +188,7 @@ public class Visitors {
islandVisitors.add(sortedIslandVisitors.get(sortedIslandVisitorList)); islandVisitors.add(sortedIslandVisitors.get(sortedIslandVisitorList));
} }
int playerMenuPage = playerData.getPage(), nextEndIndex = sortedIslandVisitors.size() - playerMenuPage * 36; int playerMenuPage = playerData.getPage(MenuType.VISITORS), nextEndIndex = sortedIslandVisitors.size() - playerMenuPage * 36;
if (playerMenuPage != 1) { if (playerMenuPage != 1) {
nInv.addItem(nInv.createItem(SkullUtil.create( nInv.addItem(nInv.createItem(SkullUtil.create(

View File

@ -5,6 +5,7 @@ import com.songoda.core.compatibility.CompatibleSound;
import com.songoda.skyblock.SkyBlock; import com.songoda.skyblock.SkyBlock;
import com.songoda.skyblock.config.FileManager; import com.songoda.skyblock.config.FileManager;
import com.songoda.skyblock.config.FileManager.Config; import com.songoda.skyblock.config.FileManager.Config;
import com.songoda.skyblock.menus.MenuType;
import com.songoda.skyblock.message.MessageManager; import com.songoda.skyblock.message.MessageManager;
import com.songoda.skyblock.placeholder.Placeholder; import com.songoda.skyblock.placeholder.Placeholder;
import com.songoda.skyblock.playerdata.PlayerData; import com.songoda.skyblock.playerdata.PlayerData;
@ -75,7 +76,7 @@ public class Creator implements Listener {
configLoad.getString("Menu.Admin.Creator.Browse.Item.Barrier.Displayname"), null, null, null, null), configLoad.getString("Menu.Admin.Creator.Browse.Item.Barrier.Displayname"), null, null, null, null),
9, 10, 11, 12, 13, 14, 15, 16, 17); 9, 10, 11, 12, 13, 14, 15, 16, 17);
int playerMenuPage = playerData.getPage(), nextEndIndex = structures.size() - playerMenuPage * 36; int playerMenuPage = playerData.getPage(MenuType.ADMIN_CREATOR), nextEndIndex = structures.size() - playerMenuPage * 36;
if (playerMenuPage != 1) { if (playerMenuPage != 1) {
nInv.addItem(nInv.createItem(SkullUtil.create( nInv.addItem(nInv.createItem(SkullUtil.create(

View File

@ -8,6 +8,7 @@ import com.songoda.skyblock.config.FileManager.Config;
import com.songoda.skyblock.generator.GeneratorManager; import com.songoda.skyblock.generator.GeneratorManager;
import com.songoda.skyblock.generator.GeneratorMaterial; import com.songoda.skyblock.generator.GeneratorMaterial;
import com.songoda.skyblock.island.IslandWorld; import com.songoda.skyblock.island.IslandWorld;
import com.songoda.skyblock.menus.MenuType;
import com.songoda.skyblock.message.MessageManager; import com.songoda.skyblock.message.MessageManager;
import com.songoda.skyblock.placeholder.Placeholder; import com.songoda.skyblock.placeholder.Placeholder;
import com.songoda.skyblock.playerdata.PlayerData; import com.songoda.skyblock.playerdata.PlayerData;
@ -75,7 +76,7 @@ public class Generator implements Listener {
configLoad.getString("Menu.Admin.Generator.Browse.Item.Barrier.Displayname"), null, null, null, configLoad.getString("Menu.Admin.Generator.Browse.Item.Barrier.Displayname"), null, null, null,
null), 9, 10, 11, 12, 13, 14, 15, 16, 17); null), 9, 10, 11, 12, 13, 14, 15, 16, 17);
int playerMenuPage = playerData.getPage(), nextEndIndex = generators.size() - playerMenuPage * 36; int playerMenuPage = playerData.getPage(MenuType.ADMIN_GENERATOR), nextEndIndex = generators.size() - playerMenuPage * 36;
if (playerMenuPage != 1) { if (playerMenuPage != 1) {
nInv.addItem(nInv.createItem(SkullUtil.create( nInv.addItem(nInv.createItem(SkullUtil.create(
@ -394,7 +395,7 @@ public class Generator implements Listener {
&& (is.hasItemMeta())) { && (is.hasItemMeta())) {
if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
configLoad.getString("Menu.Admin.Generator.Browse.Item.Previous.Displayname")))) { configLoad.getString("Menu.Admin.Generator.Browse.Item.Previous.Displayname")))) {
playerData.setPage(playerData.getPage() - 1); playerData.setPage(MenuType.ADMIN_GENERATOR, playerData.getPage(MenuType.ADMIN_GENERATOR) - 1);
soundManager.playSound(player, CompatibleSound.ENTITY_ARROW_HIT.getSound(), 1.0F, 1.0F); soundManager.playSound(player, CompatibleSound.ENTITY_ARROW_HIT.getSound(), 1.0F, 1.0F);
player.closeInventory(); player.closeInventory();
@ -404,7 +405,7 @@ public class Generator implements Listener {
return; return;
} else if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', } else if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
configLoad.getString("Menu.Admin.Generator.Browse.Item.Next.Displayname")))) { configLoad.getString("Menu.Admin.Generator.Browse.Item.Next.Displayname")))) {
playerData.setPage(playerData.getPage() + 1); playerData.setPage(MenuType.ADMIN_GENERATOR, playerData.getPage(MenuType.ADMIN_GENERATOR) + 1);
soundManager.playSound(player, CompatibleSound.ENTITY_ARROW_HIT.getSound(), 1.0F, 1.0F); soundManager.playSound(player, CompatibleSound.ENTITY_ARROW_HIT.getSound(), 1.0F, 1.0F);
player.closeInventory(); player.closeInventory();

View File

@ -7,6 +7,7 @@ import com.songoda.skyblock.config.FileManager;
import com.songoda.skyblock.config.FileManager.Config; import com.songoda.skyblock.config.FileManager.Config;
import com.songoda.skyblock.levelling.rework.IslandLevelManager; import com.songoda.skyblock.levelling.rework.IslandLevelManager;
import com.songoda.skyblock.levelling.rework.LevellingMaterial; import com.songoda.skyblock.levelling.rework.LevellingMaterial;
import com.songoda.skyblock.menus.MenuType;
import com.songoda.skyblock.message.MessageManager; import com.songoda.skyblock.message.MessageManager;
import com.songoda.skyblock.placeholder.Placeholder; import com.songoda.skyblock.placeholder.Placeholder;
import com.songoda.skyblock.playerdata.PlayerData; import com.songoda.skyblock.playerdata.PlayerData;
@ -96,7 +97,7 @@ public class Levelling implements Listener {
configLoad.getString("Menu.Admin.Levelling.Item.Barrier.Displayname"), null, null, null, null), configLoad.getString("Menu.Admin.Levelling.Item.Barrier.Displayname"), null, null, null, null),
9, 10, 11, 12, 13, 14, 15, 16, 17); 9, 10, 11, 12, 13, 14, 15, 16, 17);
int playerMenuPage = playerData.getPage(), nextEndIndex = levellingMaterials.size() - playerMenuPage * 36; int playerMenuPage = playerData.getPage(MenuType.ADMIN_LEVELLING), nextEndIndex = levellingMaterials.size() - playerMenuPage * 36;
if (playerMenuPage != 1) { if (playerMenuPage != 1) {
nInv.addItem(nInv.createItem(SkullUtil.create( nInv.addItem(nInv.createItem(SkullUtil.create(
@ -277,7 +278,7 @@ public class Levelling implements Listener {
configLoad.getString("Menu.Admin.Levelling.Item.Previous.Displayname")))) { configLoad.getString("Menu.Admin.Levelling.Item.Previous.Displayname")))) {
player.closeInventory(); player.closeInventory();
playerData.setPage(playerData.getPage() - 1); playerData.setPage(MenuType.ADMIN_LEVELLING, playerData.getPage(MenuType.ADMIN_LEVELLING) - 1);
soundManager.playSound(player, CompatibleSound.ENTITY_ARROW_HIT.getSound(), 1.0F, 1.0F); soundManager.playSound(player, CompatibleSound.ENTITY_ARROW_HIT.getSound(), 1.0F, 1.0F);
Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L);
@ -287,7 +288,7 @@ public class Levelling implements Listener {
configLoad.getString("Menu.Admin.Levelling.Item.Next.Displayname")))) { configLoad.getString("Menu.Admin.Levelling.Item.Next.Displayname")))) {
player.closeInventory(); player.closeInventory();
playerData.setPage(playerData.getPage() + 1); playerData.setPage(MenuType.ADMIN_LEVELLING, playerData.getPage(MenuType.ADMIN_LEVELLING) + 1);
soundManager.playSound(player, CompatibleSound.ENTITY_ARROW_HIT.getSound(), 1.0F, 1.0F); soundManager.playSound(player, CompatibleSound.ENTITY_ARROW_HIT.getSound(), 1.0F, 1.0F);
Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L);

View File

@ -0,0 +1,25 @@
package com.songoda.skyblock.playerdata;
import com.songoda.skyblock.menus.MenuType;
public class MenuPage {
MenuType type;
int page;
public MenuPage(MenuType type, int page){
this.type = type;
this.page = page;
}
public void setPage(int page){
this.page = page;
}
public MenuType getType(){
return type;
}
public int getPage(){
return page;
}
}

View File

@ -6,6 +6,7 @@ import com.songoda.skyblock.bank.Transaction;
import com.songoda.skyblock.bank.Type; import com.songoda.skyblock.bank.Type;
import com.songoda.skyblock.config.FileManager.Config; import com.songoda.skyblock.config.FileManager.Config;
import com.songoda.skyblock.confirmation.Confirmation; import com.songoda.skyblock.confirmation.Confirmation;
import com.songoda.skyblock.menus.MenuType;
import com.songoda.skyblock.utils.structure.Area; import com.songoda.skyblock.utils.structure.Area;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
@ -22,7 +23,7 @@ public class PlayerData {
private UUID islandOwnerUUID; private UUID islandOwnerUUID;
private UUID ownershipUUID; private UUID ownershipUUID;
private int page; private List<MenuPage> pages;
private int playTime; private int playTime;
private int visitTime; private int visitTime;
private int confirmationTime; private int confirmationTime;
@ -45,7 +46,8 @@ public class PlayerData {
uuid = player.getUniqueId(); uuid = player.getUniqueId();
islandOwnerUUID = null; islandOwnerUUID = null;
page = 1; pages = new ArrayList<>();
confirmationTime = 0; confirmationTime = 0;
playTime = getConfig().getFileConfiguration().getInt("Statistics.Island.Playtime"); playTime = getConfig().getFileConfiguration().getInt("Statistics.Island.Playtime");
@ -67,12 +69,23 @@ public class PlayerData {
} }
} }
public int getPage() { public int getPage(MenuType type) {
return page; for(MenuPage menu : pages){
if(menu.getType().equals(type)){
return menu.getPage();
}
}
return 1;
} }
public void setPage(int page) { public void setPage(MenuType type, int page) {
this.page = page; for(MenuPage menu : pages){
if(menu.getType().equals(type)){
menu.setPage(page);
return;
}
}
pages.add(new MenuPage(type, page));
} }
public Object getType() { public Object getType() {