Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion core/src/main/java/dev/pgm/community/Community.java
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@
import dev.pgm.community.utils.PGMUtils;
import fr.minuskube.inv.InventoryManager;
import java.util.Random;
import net.md_5.bungee.api.ChatColor;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.event.Listener;
import org.bukkit.plugin.java.JavaPlugin;
import tc.oc.pgm.api.integration.Integration;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
import dev.pgm.community.menu.CommunityInventoryProvider;
import fr.minuskube.inv.content.InventoryContents;
import java.util.function.Consumer;
import net.md_5.bungee.api.ChatColor;
import org.bukkit.ChatColor;
import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.event.inventory.InventoryClickEvent;
Expand Down
36 changes: 16 additions & 20 deletions core/src/main/java/dev/pgm/community/freeze/FreezeManager.java
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
import net.kyori.adventure.text.format.NamedTextColor;
import net.kyori.adventure.title.Title.Times;
import net.kyori.adventure.util.Ticks;
import net.md_5.bungee.api.ChatColor;
import org.bukkit.ChatColor;
import org.bukkit.Location;
import org.bukkit.entity.Entity;
import org.bukkit.entity.Player;
Expand Down Expand Up @@ -95,11 +95,10 @@ public void setFrozen(
// Don't allow freezing if player is exempt
if (freezee.hasPermission(CommunityPermissions.FREEZE_EXEMPT)
&& !freezer.getSender().hasPermission(CommunityPermissions.FREEZE_FORCE)) {
freezer.sendWarning(
text()
.append(PlayerComponent.player(freezee, NameStyle.FANCY))
.append(text(" can not be frozen"))
.build());
freezer.sendWarning(text()
.append(PlayerComponent.player(freezee, NameStyle.FANCY))
.append(text(" can not be frozen"))
.build());
return;
}

Expand Down Expand Up @@ -138,11 +137,10 @@ private void freeze(Player freezee, Component senderName, boolean silent) {
Audience.get(freezee).sendWarning(freezeTitle.build());
} else {
Audience.get(freezee)
.showTitle(
title(
empty(),
freezeTitle.build(),
Times.of(Ticks.duration(5), Ticks.duration(9999), Ticks.duration(5))));
.showTitle(title(
empty(),
freezeTitle.build(),
Times.of(Ticks.duration(5), Ticks.duration(9999), Ticks.duration(5))));
}
Audience.get(freezee).playSound(FREEZE_SOUND);

Expand Down Expand Up @@ -172,15 +170,13 @@ private void thaw(Player freezee, Component senderName, boolean silent) {
private Component createInteractiveBroadcast(
Component senderName, Player freezee, boolean frozen) {
return text()
.append(
translatable(
String.format("moderation.freeze.broadcast.%s", frozen ? "frozen" : "thaw"),
NamedTextColor.GRAY,
senderName,
PlayerComponent.player(freezee, NameStyle.FANCY)))
.hoverEvent(
HoverEvent.showText(
translatable("moderation.freeze.broadcast.hover", NamedTextColor.GRAY)))
.append(translatable(
String.format("moderation.freeze.broadcast.%s", frozen ? "frozen" : "thaw"),
NamedTextColor.GRAY,
senderName,
PlayerComponent.player(freezee, NameStyle.FANCY)))
.hoverEvent(HoverEvent.showText(
translatable("moderation.freeze.broadcast.hover", NamedTextColor.GRAY)))
.clickEvent(ClickEvent.runCommand("/f " + freezee.getName()))
.build();
}
Expand Down
125 changes: 37 additions & 88 deletions core/src/main/java/dev/pgm/community/menu/MapSelectionMenu.java
Original file line number Diff line number Diff line change
@@ -1,11 +1,14 @@
package dev.pgm.community.menu;

import static dev.pgm.community.utils.PGMUtils.mapTagMaterial;
import static net.kyori.adventure.text.Component.text;
import static tc.oc.pgm.util.bukkit.BukkitUtils.colorize;

import com.google.common.collect.Lists;
import com.google.common.collect.Sets;
import dev.pgm.community.Community;
import dev.pgm.community.utils.compatibility.Enchantments;
import dev.pgm.community.utils.compatibility.Materials;
import fr.minuskube.inv.ClickableItem;
import fr.minuskube.inv.SmartInventory;
import fr.minuskube.inv.content.InventoryContents;
Expand All @@ -20,7 +23,6 @@
import net.kyori.adventure.text.format.NamedTextColor;
import org.bukkit.DyeColor;
import org.bukkit.Material;
import org.bukkit.enchantments.Enchantment;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemFlag;
import org.bukkit.inventory.ItemStack;
Expand Down Expand Up @@ -57,12 +59,11 @@ public MapSelectionMenu(String title, List<MapInfo> maps, Player viewer) {
}

public SmartInventory getInventory(SmartInventory parent) {
SmartInventory.Builder builder =
SmartInventory.builder()
.title(colorize(title))
.provider(this)
.manager(Community.get().getInventory())
.size(ROWS, 9);
SmartInventory.Builder builder = SmartInventory.builder()
.title(colorize(title))
.provider(this)
.manager(Community.get().getInventory())
.size(ROWS, 9);

if (parent != null) {
builder.parent(parent);
Expand Down Expand Up @@ -136,55 +137,50 @@ public Material getMapMaterial(MapInfo map) {
return map.getTags().isEmpty()
|| !map.getTags().stream().filter(tag -> tag.isGamemode()).findAny().isPresent()
? Material.MAP
: getMapTagMaterial(map.getTags().stream().filter(tag -> tag.isGamemode()).findAny().get());
: mapTagMaterial(
map.getTags().stream().filter(tag -> tag.isGamemode()).findAny().get());
}

private List<ClickableItem> getMapItems(List<MapInfo> maps) {
return maps.stream().map(this::getMapIcon).collect(Collectors.toList());
}

private List<ClickableItem> getFilteredMapItems() {
return getMapItems(
maps.stream()
.filter(
map -> {
if (viewAll) return true;

Collection<MapTag> tags = map.getTags();
return tags != null && tags.contains(getFilterTag());
})
.collect(Collectors.toList()));
return getMapItems(maps.stream()
.filter(map -> {
if (viewAll) return true;

Collection<MapTag> tags = map.getTags();
return tags != null && tags.contains(getFilterTag());
})
.collect(Collectors.toList()));
}

private ClickableItem getNoMapsIcon() {
return ClickableItem.empty(
new ItemBuilder()
.material(Material.STAINED_GLASS_PANE)
.color(DyeColor.RED)
.name(colorize("&cNo Maps found"))
.lore(colorize("&7Check &b/maps &7for details"))
.flags(ItemFlag.values())
.build());
return ClickableItem.empty(new ItemBuilder()
.material(Materials.STAINED_GLASS_PANE)
.color(DyeColor.RED)
.name(colorize("&cNo Maps found"))
.lore(colorize("&7Check &b/maps &7for details"))
.flags(ItemFlag.values())
.build());
}

private ClickableItem getAllIcon() {
ItemBuilder allItemBuilder =
new ItemBuilder()
.material(Material.BOOKSHELF)
.name(colorize((viewAll ? "&a" : "&c") + "View All"))
.lore(colorize(viewAll ? "&7Click to filter by map tags" : "&7Click to view all maps"))
.flags(ItemFlag.values());
ItemBuilder allItemBuilder = new ItemBuilder()
.material(Material.BOOKSHELF)
.name(colorize((viewAll ? "&a" : "&c") + "View All"))
.lore(colorize(viewAll ? "&7Click to filter by map tags" : "&7Click to view all maps"))
.flags(ItemFlag.values());

if (viewAll) {
allItemBuilder.enchant(Enchantment.LUCK, 1);
allItemBuilder.enchant(Enchantments.LUCK_OF_THE_SEA, 1);
}

return ClickableItem.of(
allItemBuilder.build(),
c -> {
this.viewAll = !viewAll;
getInventory().open(getViewer(), 0);
});
return ClickableItem.of(allItemBuilder.build(), c -> {
this.viewAll = !viewAll;
getInventory().open(getViewer(), 0);
});
}

private ClickableItem getFilterIcon() {
Expand All @@ -194,13 +190,13 @@ private ClickableItem getFilterIcon() {

return ClickableItem.of(
new ItemBuilder()
.material(getMapTagMaterial(getFilterTag()))
.material(mapTagMaterial(getFilterTag()))
.name(TextTranslations.translateLegacy(getFilterTag().getName(), getViewer()))
.lore(
colorize("&7Filter: &b" + (filterIndex + 1) + " &7/&3 " + tags.size()),
colorize(
"&7Total Maps: &a" + getFilteredMapItems().size() + " &7/&2 " + maps.size()))
.enchant(Enchantment.LUCK, 1)
.enchant(Enchantments.LUCK_OF_THE_SEA, 1)
.flags(ItemFlag.values())
.build(),
c -> {
Expand Down Expand Up @@ -233,53 +229,6 @@ protected Component renderMapTags(MapInfo map) {
NamedTextColor.GRAY);
}

private Material getMapTagMaterial(MapTag mapTag) {
switch (mapTag.getId()) {
case "2teams":
return Material.LEATHER;
case "ffa":
return Material.DIAMOND_SWORD;
case "border":
return Material.IRON_BARDING;
case "wool":
return Material.WOOL;
case "controlpoint":
return Material.BEACON;
case "flag":
return Material.BANNER;
case "classes":
return Material.FISHING_ROD;
case "deathmatch":
return Material.STONE_SWORD;
case "monument":
return Material.DIAMOND_PICKAXE;
case "4teams":
return Material.TRAP_DOOR;
case "timelimit":
return Material.WATCH;
case "autotnt":
return Material.TNT;
case "core":
return Material.OBSIDIAN;
case "blitz":
return Material.EGG;
case "scorebox":
return Material.WEB;
case "6teams":
return Material.BED;
case "rage":
return Material.BOW;
case "3teams":
return Material.WORKBENCH;
case "terrain":
return Material.GRASS;
case "8teams":
return Material.INK_SACK;
default:
return Material.MAP;
}
}

private MapTag getFilterTag() {
return tags.get(filterIndex);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
import static tc.oc.pgm.util.nms.NMSHacks.NMS_HACKS;
import static tc.oc.pgm.util.nms.PlayerUtils.PLAYER_UTILS;

import dev.pgm.community.utils.compatibility.Materials;
import fr.minuskube.inv.ClickableItem;
import fr.minuskube.inv.SmartInventory;
import fr.minuskube.inv.content.InventoryContents;
Expand Down Expand Up @@ -111,7 +112,7 @@ private ClickableItem getPlayerItem(
}

private ItemStack getPlayerHead(Player viewer, Player player) {
ItemStack head = new ItemStack(Material.SKULL_ITEM, 1, (byte) 3);
ItemStack head = new ItemStack(Materials.SKULL_ITEM, 1, (byte) 3);
SkullMeta meta = (SkullMeta) head.getItemMeta();
meta.setDisplayName(player.getDisplayName());
meta.setLore(getPlayerLore(viewer, player));
Expand Down
Loading