From 5a07e9d0b9f26630608a047d021d15a63556cf43 Mon Sep 17 00:00:00 2001 From: Almighty-Satan <43804777+Almighty-Satan@users.noreply.github.com> Date: Sat, 19 Oct 2024 11:11:30 +0200 Subject: [PATCH] Rework player GUI --- src/de/cuuky/varo/gui/MainMenu.java | 2 +- src/de/cuuky/varo/gui/player/PlayerGUI.java | 45 +++++++++++-------- .../cuuky/varo/gui/player/PlayerListGUI.java | 2 +- .../cuuky/varo/gui/strike/StrikeListGUI.java | 6 ++- .../varo/gui/youtube/YouTubeVideoListGUI.java | 6 +++ 5 files changed, 39 insertions(+), 22 deletions(-) diff --git a/src/de/cuuky/varo/gui/MainMenu.java b/src/de/cuuky/varo/gui/MainMenu.java index 8084e9d2..43ccfb2d 100644 --- a/src/de/cuuky/varo/gui/MainMenu.java +++ b/src/de/cuuky/varo/gui/MainMenu.java @@ -62,7 +62,7 @@ public void refreshContent() { this.openNext(new PlayerListChooseGUI(getPlayer())) ); - addItem(18, ItemBuilder.material(XMaterial.COMPASS).displayName("§7Your §5Videos") + addItem(18, ItemBuilder.material(XMaterial.COMPASS).displayName("§7Your §5Videos") // TODO this is ALL videos, not "Your Videos" .amount(getFixedSize(YouTubeVideo.getVideos().size())).build(), (event) -> this.openNext(new YouTubeVideoListGUI(getPlayer())) ); diff --git a/src/de/cuuky/varo/gui/player/PlayerGUI.java b/src/de/cuuky/varo/gui/player/PlayerGUI.java index d6e7faa4..c3aa6be5 100644 --- a/src/de/cuuky/varo/gui/player/PlayerGUI.java +++ b/src/de/cuuky/varo/gui/player/PlayerGUI.java @@ -9,6 +9,8 @@ import de.cuuky.varo.gui.VaroInventory; import de.cuuky.varo.gui.admin.inventory.InventoryBackupListGUI; import de.cuuky.varo.gui.savable.PlayerSavableChooseGUI; +import de.cuuky.varo.gui.strike.StrikeListGUI; +import de.cuuky.varo.gui.youtube.YouTubeVideoListGUI; import de.varoplugin.cfw.inventory.inbuilt.ConfirmInventory; import de.varoplugin.cfw.item.ItemBuilder; import de.varoplugin.cfw.location.LocationFormat; @@ -34,16 +36,11 @@ public String getTitle() { @Override public int getSize() { - return 36; + return 45; } @Override public void refreshContent() { - // TODO: Strikes - - addItem(1, ItemBuilder.material(XMaterial.DIAMOND_CHESTPLATE).displayName("§aInventory Backups").lore("§7Click to see more options").build(), - (event) -> this.openNext(new InventoryBackupListGUI(getPlayer(), target))); - addItem(4, ItemBuilder.material(XMaterial.MAP).displayName("§2Last Location") .lore(new String[]{"§cClick to teleport", "§7" + (target.getStats().getLastLocation() != null ? LOCATION_FORMAT.format(target.getStats().getLastLocation()) : "/")}).build(), (event) -> { @@ -52,20 +49,19 @@ public void refreshContent() { SafeTeleport.tp(getPlayer(), target.getStats().getLastLocation()); }); + + addItem(11, ItemBuilder.material(XMaterial.DIAMOND_CHESTPLATE).displayName("§aInventory Backups").lore("§7Click to see more options").build(), + (event) -> this.openNext(new InventoryBackupListGUI(getPlayer(), target))); + + addItem(15, ItemBuilder.material(XMaterial.PAPER).displayName("§6Strikes") + .amount(getFixedSize(VaroPlayer.getPlayer(getPlayer()).getStats().getStrikes().size())).build(), + (event) -> this.openNext(new StrikeListGUI(getPlayer(), this.target))); - addItem(7, ItemBuilder.material(XMaterial.CHEST).displayName("§eChests/Furnaces") - .amount(getFixedSize(target.getStats().getSaveables().size())).build(), + addItem(18, ItemBuilder.material(XMaterial.CHEST).displayName("§eChests/Furnaces") + .amount(getFixedSize(target.getStats().getSaveables().size())).build(), (event) -> this.openNext(new PlayerSavableChooseGUI(getPlayer(), target))); - - addItem(11, ItemBuilder.material(XMaterial.RED_DYE).displayName("§4Remove").build(), - (event) -> this.openNext(new ConfirmInventory(this, "§4Remove?", (accept) -> { - if (accept) { - this.back(); - target.delete(); - } else this.open(); - }))); - - addItem(15, ItemBuilder.material(XMaterial.SKELETON_SKULL).displayName("§cReset").build(), + + addItem(26, ItemBuilder.material(XMaterial.SKELETON_SKULL).displayName("§cReset").build(), (event) -> this.openNext(new ConfirmInventory(this, "§4Reset?", (accept) -> { if (accept) { if (target.isOnline()) @@ -76,8 +72,19 @@ public void refreshContent() { this.open(); }))); - + addItem(22, ItemBuilder.material(XMaterial.BOOK).displayName("§5More Options").lore(target.getStats().getStatsListed()).build(), (event) -> this.openNext(new PlayerOptionsGUI(getPlayer(), target))); + + addItem(28, ItemBuilder.material(XMaterial.COMPASS).displayName("§5Videos").build(), + (event) -> this.openNext(new YouTubeVideoListGUI(getPlayer(), this.target))); + + addItem(34, ItemBuilder.material(XMaterial.RED_DYE).displayName("§4Remove").build(), + (event) -> this.openNext(new ConfirmInventory(this, "§4Remove?", (accept) -> { + if (accept) { + this.back(); + target.delete(); + } else this.open(); + }))); } } \ No newline at end of file diff --git a/src/de/cuuky/varo/gui/player/PlayerListGUI.java b/src/de/cuuky/varo/gui/player/PlayerListGUI.java index aeaa6d93..351de833 100644 --- a/src/de/cuuky/varo/gui/player/PlayerListGUI.java +++ b/src/de/cuuky/varo/gui/player/PlayerListGUI.java @@ -76,7 +76,7 @@ public int getSize() { @Override protected ItemStack getItemStack(VaroPlayer player) { - return ItemBuilder.skull(player.getName()).displayName(Main.getColorCode() + player.getName()) + return ItemBuilder.skull(player.getName()).displayName("§3" + player.getName()) .lore((showStats ? player.getStats().getStatsListed() : null)).build(); } diff --git a/src/de/cuuky/varo/gui/strike/StrikeListGUI.java b/src/de/cuuky/varo/gui/strike/StrikeListGUI.java index 2711e6f8..591fbd3d 100644 --- a/src/de/cuuky/varo/gui/strike/StrikeListGUI.java +++ b/src/de/cuuky/varo/gui/strike/StrikeListGUI.java @@ -16,8 +16,12 @@ public class StrikeListGUI extends VaroListInventory { + public StrikeListGUI(Player player, VaroPlayer target) { + super(Main.getInventoryManager(), player, target.getStats().getStrikes()); + } + public StrikeListGUI(Player player, Player target) { - super(Main.getInventoryManager(), player, VaroPlayer.getPlayer(target).getStats().getStrikes()); + this(player, VaroPlayer.getPlayer(target)); } @Override diff --git a/src/de/cuuky/varo/gui/youtube/YouTubeVideoListGUI.java b/src/de/cuuky/varo/gui/youtube/YouTubeVideoListGUI.java index d72869ee..417f733c 100644 --- a/src/de/cuuky/varo/gui/youtube/YouTubeVideoListGUI.java +++ b/src/de/cuuky/varo/gui/youtube/YouTubeVideoListGUI.java @@ -1,6 +1,7 @@ package de.cuuky.varo.gui.youtube; import java.text.SimpleDateFormat; +import java.util.stream.Collectors; import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; @@ -8,6 +9,7 @@ import com.cryptomorin.xseries.XMaterial; import de.cuuky.varo.Main; +import de.cuuky.varo.entity.player.VaroPlayer; import de.cuuky.varo.entity.player.stats.stat.YouTubeVideo; import de.cuuky.varo.gui.VaroListInventory; import de.varoplugin.cfw.inventory.ItemClick; @@ -19,6 +21,10 @@ public YouTubeVideoListGUI(Player player) { super(Main.getInventoryManager(), player, YouTubeVideo.getVideos()); } + public YouTubeVideoListGUI(Player player, VaroPlayer target) { + super(Main.getInventoryManager(), player, YouTubeVideo.getVideos().stream().filter(video -> video.getOwner() == target).collect(Collectors.toList())); + } + @Override public String getTitle() { return "§5Videos";