Skip to content
Open
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
3 changes: 2 additions & 1 deletion src/main/java/fr/openmc/api/menulib/Menu.java
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
import it.unimi.dsi.fastutil.objects.Object2ObjectOpenHashMap;
import lombok.Getter;
import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.format.NamedTextColor;
import org.bukkit.Bukkit;
import org.bukkit.Material;
import org.bukkit.entity.Player;
Expand Down Expand Up @@ -184,7 +185,7 @@ public final void setItem(Player player, Inventory inventory, int slot, ItemMenu
itemMeta.itemName(TranslationManager.translation("api.menulib.menu.back.title"));
itemMeta.customName(TranslationManager.translation("api.menulib.menu.back.title"));
itemMeta.lore(TranslationManager.translationLore("api.menulib.menu.back.lore", MenuLib.getLastMenu(player) != null ?
MenuLib.getLastMenu(player).getName() : TranslationManager.translation("api.menulib.menu.back")));
MenuLib.getLastMenu(player).getName().color(NamedTextColor.GREEN) : TranslationManager.translation("api.menulib.menu.back")));
}, true));
return;
}
Expand Down
6 changes: 3 additions & 3 deletions src/main/java/fr/openmc/api/scoreboard/SternalBoard.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package fr.openmc.api.scoreboard;

import io.papermc.paper.adventure.PaperAdventure;
import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.format.NamedTextColor;
import net.kyori.adventure.text.minimessage.MiniMessage;
Expand Down Expand Up @@ -193,13 +194,12 @@ private String getLastColors(String text) {
}

@Override
protected Object toMinecraftComponent(Component component) throws Throwable {
protected Object toMinecraftComponent(Component component) {
if (component == null || component.equals(Component.empty())) {
return EMPTY_MESSAGE;
}

String legacy = LEGACY_SERIALIZER.serialize(component);
return Array.get(MESSAGE_FROM_STRING.invoke(legacy), 0);
return PaperAdventure.asVanilla(component);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -94,12 +94,12 @@ public void onClose(InventoryCloseEvent event) {
colorSlot.forEach((color, slot) -> {
List<Component> loreColor = TranslationManager.translationLore(
"feature.city.mayor.menu.color.option.lore",
Component.text(ColorUtils.getNameFromColor(color)).color(color)
ColorUtils.getNameFromColor(color).color(color)
);
inventory.put(slot, new ItemMenuBuilder(this, ColorUtils.getMaterialFromColor(color), itemMeta -> {
itemMeta.displayName(TranslationManager.translation(
"feature.city.mayor.menu.color.option.name",
Component.text(ColorUtils.getNameFromColor(color)).color(color)
ColorUtils.getNameFromColor(color).color(color)
));
itemMeta.lore(loreColor);
}).setOnClick(inventoryClickEvent -> {
Expand Down Expand Up @@ -232,4 +232,4 @@ public void onClose(InventoryCloseEvent event) {
public List<Integer> getTakableSlot() {
return List.of();
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -70,19 +70,22 @@ else if (MayorManager.cityMayor.get(city.getUniqueId()).getMayorUUID().equals(uu

for (UUID memberUUID : sortedMembers) {
OfflinePlayer playerOffline = CacheOfflinePlayer.getOfflinePlayer(memberUUID);
if (playerOffline == null) continue;
String playerName = playerOffline.getName() != null ? playerOffline.getName() : "null";

boolean hasPermissionOwner = city.hasPermission(memberUUID, CityPermission.OWNER);
String title;
Component title;
if (hasPermissionOwner) {
title = TranslationManager.translationString("feature.city.war.menu.players.role.owner");
title = TranslationManager.translation("feature.city.war.menu.players.role.owner");
} else if (MayorManager.cityMayor.get(city.getUniqueId()).getMayorUUID().equals(memberUUID)) {
title = TranslationManager.translationString("feature.city.war.menu.players.role.mayor");
title = TranslationManager.translation("feature.city.war.menu.players.role.mayor");
} else {
title = TranslationManager.translationString("feature.city.war.menu.players.role.member");
title = TranslationManager.translation("feature.city.war.menu.players.role.member");
}

String finalTitle = title;
items.add(new ItemMenuBuilder(this, SkullUtils.getPlayerSkull(memberUUID), itemMeta -> itemMeta.displayName(Component.text(finalTitle + playerOffline.getName()).decoration(TextDecoration.ITALIC, false))));

items.add(new ItemMenuBuilder(this, SkullUtils.getPlayerSkull(memberUUID), itemMeta -> itemMeta.displayName(title
.append(Component.text(playerName).decoration(TextDecoration.ITALIC, false)))));
}

return items;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -65,68 +65,71 @@
return getItems().size();
}

@Override
public List<ItemStack> getItems() {
List<ItemStack> items = new ArrayList<>();
Player player = getOwner();

List<UUID> sortedMembers = cityLaunch.getOnlineMembers().stream()
.sorted(Comparator.comparing((UUID uuid) -> !Objects.requireNonNull(Bukkit.getPlayer(uuid)).isOnline())
.thenComparing(uuid -> {
if (cityLaunch.hasPermission(uuid, CityPermission.OWNER)) return 0;
else if (MayorManager.cityMayor.get(cityLaunch.getUniqueId()) != null && (MayorManager.cityMayor.get(cityLaunch.getUniqueId()).getMayorUUID().equals(uuid)))
return 1;
else return 2;
}))
.toList();

for (UUID memberUUID : sortedMembers) {
OfflinePlayer offline = CacheOfflinePlayer.getOfflinePlayer(memberUUID);
if (offline == null) continue;
String playerName = offline.getName() != null ? offline.getName() : "null";

boolean isSelected = selected.contains(memberUUID);
boolean isOwner = cityLaunch.hasPermission(memberUUID, CityPermission.OWNER);
boolean isMayor = MayorManager.phaseMayor == 2
&& cityLaunch.getMayor() != null
&& cityLaunch.getMayor().getMayorUUID().equals(memberUUID);

String prefix = isOwner
? TranslationManager.translationString("feature.city.war.menu.players.role.owner")
Component prefix = isOwner
? TranslationManager.translation("feature.city.war.menu.players.role.owner")
: isMayor
? TranslationManager.translationString("feature.city.war.menu.players.role.mayor")
: TranslationManager.translationString("feature.city.war.menu.players.role.member");
? TranslationManager.translation("feature.city.war.menu.players.role.mayor")
: TranslationManager.translation("feature.city.war.menu.players.role.member");

ItemMenuBuilder item = new ItemMenuBuilder(this, SkullUtils.getPlayerSkull(memberUUID), meta -> {
Component prefixComponent = isSelected
? TranslationManager.translation("feature.city.war.menu.participants.selected_prefix")
: Component.empty();
meta.displayName(prefixComponent.append(Component.text(prefix + offline.getName()))
meta.displayName(prefixComponent.append(prefix.append(Component.text(playerName)))
.decoration(TextDecoration.ITALIC, false));
meta.lore(List.of(TranslationManager.translation(
isSelected ? "feature.city.war.menu.participants.click_remove" : "feature.city.war.menu.participants.click_select"
).color(isSelected ? NamedTextColor.RED : NamedTextColor.GREEN).decorate(TextDecoration.BOLD)));
}).setOnClick(event -> {
if (isSelected) {
selected.remove(memberUUID);
} else {
if (selected.size() >= count) {
MessagesManager.sendMessage(player,
TranslationManager.translation(
"feature.city.war.menu.participants.already_selected",
Component.text(count)
),
Prefix.CITY, MessageType.ERROR, false);
return;
}
selected.add(memberUUID);
}
new WarChooseParticipantsMenu(player, cityLaunch, cityAttack, count, selected).open();
});

items.add(item);
}

return items;
}

Check notice on line 132 in src/main/java/fr/openmc/core/features/city/sub/war/menu/selection/WarChooseParticipantsMenu.java

View check run for this annotation

codefactor.io / CodeFactor

src/main/java/fr/openmc/core/features/city/sub/war/menu/selection/WarChooseParticipantsMenu.java#L68-L132

Complex Method
@Override
public List<Integer> getTakableSlot() {
return List.of();
Expand Down
31 changes: 14 additions & 17 deletions src/main/java/fr/openmc/core/features/displays/TabList.java
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@
import com.comphenix.protocol.events.PacketAdapter;
import com.comphenix.protocol.events.PacketContainer;
import com.comphenix.protocol.events.PacketEvent;
import com.comphenix.protocol.wrappers.WrappedChatComponent;
import dev.lone.itemsadder.api.FontImages.FontImageWrapper;
import fr.openmc.core.OMCPlugin;
import fr.openmc.core.bootstrap.features.Feature;
Expand All @@ -17,9 +16,13 @@
import fr.openmc.core.hooks.ProtocolLibHook;
import fr.openmc.core.hooks.itemsadder.ItemsAdderHook;
import fr.openmc.core.utils.text.messages.TranslationManager;
import io.papermc.paper.adventure.PaperAdventure;
import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.format.NamedTextColor;
import net.minecraft.network.protocol.game.ClientboundTabListPacket;
import net.minecraft.server.level.ServerPlayer;
import org.bukkit.Bukkit;
import org.bukkit.craftbukkit.entity.CraftPlayer;
import org.bukkit.entity.Player;

import java.util.EnumSet;
Expand Down Expand Up @@ -72,16 +75,10 @@ public void onPacketSending(PacketEvent event) {
});
}

public static void updateHeaderFooter(Player player, String header, String footer) {
try {
if (protocolManager == null) return;
PacketContainer packet = protocolManager.createPacket(PacketType.Play.Server.PLAYER_LIST_HEADER_FOOTER);
packet.getChatComponents().write(0, WrappedChatComponent.fromText(header))
.write(1, WrappedChatComponent.fromText(footer));
protocolManager.sendServerPacket(player, packet);
} catch (Exception e) {
throw new RuntimeException(e);
}
public static void updateHeaderFooter(Player player, Component header, Component footer) {
ServerPlayer nmsPlayer = ((CraftPlayer) player).getHandle();
nmsPlayer.connection.send(new ClientboundTabListPacket(
PaperAdventure.asVanilla(header), PaperAdventure.asVanilla(footer)));
}

public static void updateTabList(Player player) {
Expand All @@ -100,20 +97,20 @@ public static void updateTabList(Player player) {
logo = "OPEN MC";
}

String header = !isInDream
? TranslationManager.translationString(
Component header = !isInDream
? TranslationManager.translation(
"feature.displays.tablist.header.default",
Component.text(logo),
Component.text(visibleOnlinePlayers).color(NamedTextColor.GOLD),
Component.text(Bukkit.getMaxPlayers()).color(NamedTextColor.YELLOW)
)
: TranslationManager.translationString(
: TranslationManager.translation(
"feature.displays.tablist.header.dream",
Component.text(logo)
);
String footer = isInDream
? TranslationManager.translationString("feature.displays.tablist.footer.dream")
: TranslationManager.translationString("feature.displays.tablist.footer.default");
Component footer = isInDream
? TranslationManager.translation("feature.displays.tablist.footer.dream")
: TranslationManager.translation("feature.displays.tablist.footer.default");

updateHeaderFooter(player, header, footer);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@
import fr.openmc.core.bootstrap.features.Feature;
import fr.openmc.core.bootstrap.integration.OMCLogger;
import lombok.Getter;
import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.minimessage.MiniMessage;
import org.bukkit.configuration.file.YamlConfiguration;

import java.io.File;
Expand All @@ -18,7 +16,7 @@
public class HelpConfigManager extends Feature {

@Getter
private static final List<Component> helpMessages = new ArrayList<>();
private static final List<String> helpMessages = new ArrayList<>();
@Getter
private static File configFile;

Expand Down Expand Up @@ -55,8 +53,8 @@ private static void loadDefaultMessages() {
YamlConfiguration config = YamlConfiguration.loadConfiguration(configFile);
helpMessages.clear();

for (String rawMessage : config.getStringList("messages")) {
helpMessages.add(MiniMessage.miniMessage().deserialize(rawMessage));
for (String key : config.getStringList("messages")) {
helpMessages.add(key);
}

if (helpMessages.isEmpty()) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import fr.openmc.core.features.displays.bossbar.BaseBossbar;
import fr.openmc.core.features.dream.DreamUtils;
import fr.openmc.core.utils.text.messages.TranslationManager;
import net.kyori.adventure.bossbar.BossBar;
import org.bukkit.entity.Player;

Expand Down Expand Up @@ -30,7 +31,7 @@ protected String id() {
protected void update(Player player, BossBar bar) {
indexMessage = (indexMessage + 1) % HelpConfigManager.getHelpMessages().size();

bar.name(HelpConfigManager.getHelpMessages().get(indexMessage));
bar.name(TranslationManager.translation(HelpConfigManager.getHelpMessages().get(indexMessage)));
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,9 @@
import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.format.NamedTextColor;
import net.kyori.adventure.text.minimessage.MiniMessage;
import net.kyori.adventure.text.minimessage.tag.resolver.Placeholder;
import org.bukkit.entity.Player;

import static fr.openmc.core.utils.text.messages.MessagesManager.textToSmall;

public abstract class BaseScoreboard {
protected static final boolean canShowLogo = ItemsAdderHook.isEnable();

Expand Down Expand Up @@ -74,7 +73,7 @@ public Component getTitle() {
* @return Un {@link Component} pour le footer
*/
public static Component getFooter() {
String footerText = textToSmall(TranslationManager.translationString("feature.displays.scoreboard.footer.text"));
return MiniMessage.miniMessage().deserialize(" <gradient:#FF18DD:#FF80F6>%s</gradient>".formatted(footerText));
Component footerText = TranslationManager.translation("feature.displays.scoreboard.footer.text.to_small");
return MiniMessage.miniMessage().deserialize(" <gradient:#FF18DD:#FF80F6><name></gradient>", Placeholder.component("name", footerText));
}
}
}
Loading
Loading