Fixed new gui Coop

This commit is contained in:
Fabrizio La Rosa 2020-08-01 18:04:36 +02:00
parent dbdce40bc6
commit e45296251c
2 changed files with 28 additions and 30 deletions

View File

@ -34,7 +34,7 @@ public class GuiCoop extends Gui {
private final FileConfiguration languageLoad;
public GuiCoop(SkyBlock plugin, Island island, Gui returnGui) {
super(returnGui);
super(6, returnGui);
this.plugin = plugin;
this.island = island;
this.languageLoad = plugin.getFileManager()
@ -77,7 +77,7 @@ public class GuiCoop extends Gui {
AnvilGui gui = new AnvilGui(event.player, this);
gui.setAction((e -> {
String playerName = gui.getInputText().trim();
guiManager.showGUI(event.player, new GuiCoopChoose(plugin, parent, island, playerName));
guiManager.showGUI(event.player, new GuiCoopChoose(plugin, island, e.gui.getParent(), playerName));
}));
gui.setTitle(TextUtils.formatText(
languageLoad.getString("Menu.Coop.Item.Word.Normal") +
@ -103,22 +103,20 @@ public class GuiCoop extends Gui {
if(coopPlayers.size() == 0){
ItemStack empty = CompatibleMaterial.BARRIER.getItem();
ItemMeta emptyMeta = empty.getItemMeta();
emptyMeta.setDisplayName(languageLoad.getString("Menu.Coop.Item.Nothing.Displayname"));
emptyMeta.setDisplayName(TextUtils.formatText(languageLoad.getString("Menu.Coop.Item.Nothing.Displayname")));
empty.setItemMeta(emptyMeta);
setButton(31, empty, (event) ->
soundManager.playSound(event.player, CompatibleSound.BLOCK_ANVIL_LAND.getSound(), 1.0F, 1.0F));
} else {
//this.pages = (int) Math.max(1, Math.ceil((double) coopPlayers.size() / 36d));
this.pages = (int) Math.max(1, Math.ceil((double) coopPlayers.size() / 36d));
/*if (page != 1) {
if (page != 1) {
setButton(5, 2, GuiUtils.createButtonItem(CompatibleMaterial.ARROW,
TextUtils.formatText(languageLoad.getString("Menu.Coop.Item.Previous.Displayname"))),
(event) -> {
page--;
paint();
});
}
if (page != pages) {
@ -128,18 +126,13 @@ public class GuiCoop extends Gui {
page++;
paint();
});
}*/
setPages((int) Math.max(1, Math.ceil((double) coopPlayers.size() / 36d)));
setPrevPage(5, 2, GuiUtils.createButtonItem(CompatibleMaterial.ARROW,
TextUtils.formatText(languageLoad.getString("Menu.Coop.Item.Previous.Displayname"))));
setNextPage(5, 6, GuiUtils.createButtonItem(CompatibleMaterial.ARROW,
TextUtils.formatText(languageLoad.getString("Menu.Coop.Item.Next.Displayname"))));
}
UUID[] coopUUIDs = (UUID[]) coopPlayers.keySet().toArray();
UUID[] coopUUIDs = new UUID[coopPlayers.size()];
coopPlayers.keySet().toArray(coopUUIDs);
for (int i = 9; i < ((getRows()-2)*9)+18; i++) {
int current = ((page - 1) * 36) - 18;
for (int i = 18; i < (((getRows()-2)*9)+18); i++) {
int current = ((page-1) * 36) - 18;
if (current + i < coopPlayers.size()) {
UUID uuid = coopUUIDs[current + i];
IslandCoop type = (IslandCoop) coopPlayers.values().toArray()[current + i];
@ -166,16 +159,19 @@ public class GuiCoop extends Gui {
ItemStack is = SkullUtil.create(targetPlayerTexture[0], targetPlayerTexture[1]);
ItemMeta im = is.getItemMeta();
if (im != null) {
im.setDisplayName(languageLoad.getString("Menu.Coop.Item.Coop.Displayname")
im.setDisplayName(TextUtils.formatText(languageLoad.getString("Menu.Coop.Item.Coop.Displayname")
.replace("%player", targetPlayerName == null ? "" : targetPlayerName)
.replace("%type", type == IslandCoop.TEMP ?
languageLoad.getString("Menu.Coop.Item.Word.Temp") :
languageLoad.getString("Menu.Coop.Item.Word.Normal")));
im.setLore(languageLoad.getStringList("Menu.Coop.Item.Coop.Lore"));
languageLoad.getString("Menu.Coop.Item.Word.Normal"))));
im.setLore(TextUtils.formatText(languageLoad.getStringList("Menu.Coop.Item.Coop.Lore")));
is.setItemMeta(im);
}
setButton(i, is, e -> Bukkit.getServer().dispatchCommand(e.player, "island coop " + targetPlayerName));
setButton(i, is, e -> {
Bukkit.getServer().dispatchCommand(e.player, "island coop " + targetPlayerName);
paint();
});
}
} else {
setItem(i, null);

View File

@ -20,12 +20,14 @@ public class GuiCoopChoose extends Gui {
private final FileConfiguration languageLoad;
private final Gui returnGui;
private final String targetPlayer;
private final Island island;
public GuiCoopChoose(SkyBlock plugin, Gui returnGui, Island island, String targetPlayer) {
super(GuiType.HOPPER);
public GuiCoopChoose(SkyBlock plugin, Island island, Gui returnGui, String targetPlayer) {
super(1, returnGui);
this.plugin = plugin;
this.returnGui = returnGui;
this.targetPlayer = targetPlayer;
this.island = island;
this.languageLoad = plugin.getFileManager()
.getConfig(new File(plugin.getDataFolder(), "language.yml")).getFileConfiguration();
setDefaultItem(CompatibleMaterial.BLACK_STAINED_GLASS_PANE.getItem());
@ -48,25 +50,25 @@ public class GuiCoopChoose extends Gui {
soundManager.playSound(event.player, CompatibleSound.BLOCK_CHEST_CLOSE.getSound(), 1f, 1f);
guiManager.showGUI(event.player, returnGui);
});
setButton(4, GuiUtils.createButtonItem(CompatibleMaterial.OAK_FENCE_GATE, // Exit
setButton(8, GuiUtils.createButtonItem(CompatibleMaterial.OAK_FENCE_GATE, // Exit
TextUtils.formatText(languageLoad.getString("Menu.Coop.Item.Exit.Displayname"))), (event) -> {
soundManager.playSound(event.player, CompatibleSound.BLOCK_CHEST_CLOSE.getSound(), 1f, 1f);
guiManager.showGUI(event.player, returnGui);
});
setButton(1, GuiUtils.createButtonItem(CompatibleMaterial.OBSIDIAN, // Normal
TextUtils.formatText(languageLoad.getString("Menu.Coop.Item.Word.Normal"))),
setButton(3, GuiUtils.createButtonItem(CompatibleMaterial.OBSIDIAN, // Normal
TextUtils.formatText("&r" + languageLoad.getString("Menu.Coop.Item.Word.Normal"))),
(event) -> {
Bukkit.getServer().dispatchCommand(event.player,
"island coop " + targetPlayer + " " + languageLoad.getString("Menu.Coop.Item.Word.Normal"));
guiManager.showGUI(event.player, returnGui);
guiManager.showGUI(event.player, new GuiCoop(plugin, island, null));
});
setButton(3, GuiUtils.createButtonItem(CompatibleMaterial.GLASS, // Temp
TextUtils.formatText(languageLoad.getString("Menu.Coop.Item.Word.Temp"))),
setButton(5, GuiUtils.createButtonItem(CompatibleMaterial.GLASS, // Temp
TextUtils.formatText("&r" + languageLoad.getString("Menu.Coop.Item.Word.Temp"))),
(event) -> {
Bukkit.getServer().dispatchCommand(event.player,
"island coop " + targetPlayer + " " + languageLoad.getString("Menu.Coop.Item.Word.Temp"));
guiManager.showGUI(event.player, returnGui);
guiManager.showGUI(event.player, new GuiCoop(plugin, island, null));
});
}
}