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
112 changes: 56 additions & 56 deletions src/main/java/fr/openmc/core/features/credits/Credits.java
Original file line number Diff line number Diff line change
Expand Up @@ -33,60 +33,60 @@

@Getter
public enum Credits {
ADMINSHOP(Material.GOLD_INGOT, "Adminshop", AdminShopManager.class),
ANIMATIONS(Material.AMETHYST_BLOCK, "Les Animations", AnimationsManager.class),
CUBE(Material.LAPIS_BLOCK, "Le Cube", Set.of("iambibi_")),
CITY(CustomItemRegistry.getByName("omc_homes:omc_homes_icon_chateau").getBest(), "Les Villes", CityManager.class),
DREAM(Material.SCULK, "La Dimension des Rêves", DreamManager.class),
DREAM_MILESTONE(CustomItemRegistry.getByName("omc_dream:singularity").getBest(), "Le Milestone des Rêves", Set.of("gab400", "Rylo42 (histoire et dialogues)")),
MASCOTS(Material.ZOMBIE_SPAWN_EGG, "Les Mascottes", MascotsManager.class),
MAYOR(CustomItemRegistry.getByName("omc_homes:omc_homes_icon_bank").getBest(), "Les Maires", Set.of("iambibi_"), Set.of("Gexary")),
CITY_MILESTONE(Material.NETHER_STAR, "Le Milestone des Villes", Set.of("iambibi_")),
WAR(Material.IRON_SWORD, "Les Guerres", Set.of("iambibi_")),
NOTATION(Material.PAPER, "Les Notations", Set.of("iambibi_")),
RANK(Material.VAULT, "Les Grades", Set.of("gab400")),
CONTEST(CustomItemRegistry.getByName("omc_contest:contest_shell").getBest(), "Les Contests", ContestManager.class),
WEEKLY_EVENTS(Material.FIREWORK_ROCKET, "Les Evenements Hebdomadaires", WeeklyEventsManager.class),
HOLOGRAMS(Material.OAK_HANGING_SIGN, "Les Hologrammes", HologramLoader.class),
ECONOMY(Material.GOLD_BLOCK, "L'Economie", EconomyManager.class),
FRIENDS(Material.EMERALD_BLOCK, "Le systeme d'ami", FriendManager.class),
HOMES(CustomItemRegistry.getByName("omc_homes:omc_homes_icon_maison").getBest(), "Le Systeme d'Home", HomesManager.class),
LEADERBOARD(Material.ANCIENT_DEBRIS, "Les Classements", LeaderboardManager.class),
MAILBOX(Material.PAPER, "La Boite aux Lettres", MailboxManager.class),
MAINMENU(CustomItemRegistry.getByName("omc_homes:omc_homes_icon_information").getBest(), "Le Menu Principal", MainMenu.class),
MILESTONES(Material.SEA_LANTERN, "Les Milestones", MilestonesManager.class),
PRIVATEMESSAGE(Material.ZOMBIE_HEAD, "Les messages privés", PrivateMessageManager.class),
QUEST(CustomItemRegistry.getByName("omc_homes:omc_homes_icon_chateau").getBest(), "Les Quêtes", QuestsManager.class),
SETTINGS(Material.REDSTONE_TORCH, "Les Paramêtres", PlayerSettingsManager.class),
TICKETS(Material.BOOK, "Les Tickets V1", TicketManager.class),
TPA(Material.ENDER_PEARL, "Le Tpa", TPAManager.class),
RTP(Material.ENDER_PEARL, "Le RTP", Set.of("miseur")),
VERSIONNING(Material.COMMAND_BLOCK_MINECART, "Le Versionning", Set.of("Piquel Chips")),
CUSTOMITEMS(Material.COMMAND_BLOCK, "Les Custom Items", Set.of("Axeno")),
CHRONOMETER(Material.COMMAND_BLOCK, "Chronomêtre", Set.of("Nocolm")),
COOLDOWN(Material.COMMAND_BLOCK, "Cooldown", Set.of("Gyro", "iambibi_")),
MENU_LIB(Material.COMMAND_BLOCK, "Systeme de Menu", Set.of("Xernas78", "PuppyTransGirl", "iambibi_", "gab400")),
PACKET_MENU_LIB(Material.COMMAND_BLOCK, "Systeme de Menu en Packet", Set.of("miseur")),
ERRORHANDLER(Material.COMMAND_BLOCK, "Le systeme de gestion d'erreur", Set.of("iambibi_")),
UNITTEST(Material.COMMAND_BLOCK, "Les tests unitaires", Set.of("Nirbose", "Gyro")),
ORM(Material.COMMAND_BLOCK, "Systeme de base de données", Set.of("Piquel Chips")),
ADMINSHOP(Material.GOLD_INGOT, "feature.credits.feature.adminshop", AdminShopManager.class),
ANIMATIONS(Material.AMETHYST_BLOCK, "feature.credits.feature.animations", AnimationsManager.class),
CUBE(Material.LAPIS_BLOCK, "feature.credits.feature.cube", Set.of("iambibi_")),
CITY(CustomItemRegistry.getByName("omc_homes:omc_homes_icon_chateau").getBest(), "feature.credits.feature.city", CityManager.class),
DREAM(Material.SCULK, "feature.credits.feature.dream", DreamManager.class),
DREAM_MILESTONE(CustomItemRegistry.getByName("omc_dream:singularity").getBest(), "feature.credits.feature.dream_milestone", Set.of("gab400", "Rylo42 (histoire et dialogues)")),
MASCOTS(Material.ZOMBIE_SPAWN_EGG, "feature.credits.feature.mascots", MascotsManager.class),
MAYOR(CustomItemRegistry.getByName("omc_homes:omc_homes_icon_bank").getBest(), "feature.credits.feature.mayor", Set.of("iambibi_"), Set.of("Gexary")),
CITY_MILESTONE(Material.NETHER_STAR, "feature.credits.feature.city_milestone", Set.of("iambibi_")),
WAR(Material.IRON_SWORD, "feature.credits.feature.war", Set.of("iambibi_")),
NOTATION(Material.PAPER, "feature.credits.feature.notation", Set.of("iambibi_")),
RANK(Material.VAULT, "feature.credits.feature.rank", Set.of("gab400")),
CONTEST(CustomItemRegistry.getByName("omc_contest:contest_shell").getBest(), "feature.credits.feature.contest", ContestManager.class),
WEEKLY_EVENTS(Material.FIREWORK_ROCKET, "feature.credits.feature.weekly_events", WeeklyEventsManager.class),
HOLOGRAMS(Material.OAK_HANGING_SIGN, "feature.credits.feature.holograms", HologramLoader.class),
ECONOMY(Material.GOLD_BLOCK, "feature.credits.feature.economy", EconomyManager.class),
FRIENDS(Material.EMERALD_BLOCK, "feature.credits.feature.friends", FriendManager.class),
HOMES(CustomItemRegistry.getByName("omc_homes:omc_homes_icon_maison").getBest(), "feature.credits.feature.homes", HomesManager.class),
LEADERBOARD(Material.ANCIENT_DEBRIS, "feature.credits.feature.leaderboard", LeaderboardManager.class),
MAILBOX(Material.PAPER, "feature.credits.feature.mailbox", MailboxManager.class),
MAINMENU(CustomItemRegistry.getByName("omc_homes:omc_homes_icon_information").getBest(), "feature.credits.feature.mainmenu", MainMenu.class),
MILESTONES(Material.SEA_LANTERN, "feature.credits.feature.milestones", MilestonesManager.class),
PRIVATEMESSAGE(Material.ZOMBIE_HEAD, "feature.credits.feature.privatemessage", PrivateMessageManager.class),
QUEST(CustomItemRegistry.getByName("omc_homes:omc_homes_icon_chateau").getBest(), "feature.credits.feature.quest", QuestsManager.class),
SETTINGS(Material.REDSTONE_TORCH, "feature.credits.feature.settings", PlayerSettingsManager.class),
TICKETS(Material.BOOK, "feature.credits.feature.tickets", TicketManager.class),
TPA(Material.ENDER_PEARL, "feature.credits.feature.tpa", TPAManager.class),
RTP(Material.ENDER_PEARL, "feature.credits.feature.rtp", Set.of("miseur")),
VERSIONNING(Material.COMMAND_BLOCK_MINECART, "feature.credits.feature.versionning", Set.of("Piquel Chips")),
CUSTOMITEMS(Material.COMMAND_BLOCK, "feature.credits.feature.customitems", Set.of("Axeno")),
CHRONOMETER(Material.COMMAND_BLOCK, "feature.credits.feature.chronometer", Set.of("Nocolm")),
COOLDOWN(Material.COMMAND_BLOCK, "feature.credits.feature.cooldown", Set.of("Gyro", "iambibi_")),
MENU_LIB(Material.COMMAND_BLOCK, "feature.credits.feature.menu_lib", Set.of("Xernas78", "PuppyTransGirl", "iambibi_", "gab400")),
PACKET_MENU_LIB(Material.COMMAND_BLOCK, "feature.credits.feature.packet_menu_lib", Set.of("miseur")),
ERRORHANDLER(Material.COMMAND_BLOCK, "feature.credits.feature.errorhandler", Set.of("iambibi_")),
UNITTEST(Material.COMMAND_BLOCK, "feature.credits.feature.unittest", Set.of("Nirbose", "Gyro")),
ORM(Material.COMMAND_BLOCK, "feature.credits.feature.orm", Set.of("Piquel Chips")),
;

private final ItemStack icon;
private final String featureName;
private final String featureKey;
private final Set<String> developpers;
private final Set<String> graphists;
private final Set<String> builders;

/**
* Constructeur qui récupère automatiquement les contributeurs de la classe Feature via annotation.
* @param icon Icône du crédit
* @param featureName Nom de la feature
* @param featureKey Translation key de la feature
* @param featureClass Classe Feature (ex: AdminShopManager.class)
*/
Credits(Material icon, String featureName, Class<? extends Feature> featureClass) {
Credits(Material icon, String featureKey, Class<? extends Feature> featureClass) {
this.icon = ItemStack.of(icon);
this.featureName = featureName;
this.featureKey = featureKey;
var contributors = getContributorsFromClass(featureClass);
this.developpers = contributors[0];
this.graphists = contributors[1];
Expand All @@ -96,61 +96,61 @@ public enum Credits {
/**
* Constructeur qui récupère automatiquement les contributeurs de la classe Feature via annotation.
* @param icon Icône du crédit (ItemStack)
* @param featureName Nom de la feature
* @param featureKey La translation key de la feature
* @param featureClass Classe Feature (ex: AdminShopManager.class)
*/
Credits(ItemStack icon, String featureName, Class<? extends Feature> featureClass) {
Credits(ItemStack icon, String featureKey, Class<? extends Feature> featureClass) {
this.icon = icon;
this.featureName = featureName;
this.featureKey = featureKey;
var contributors = getContributorsFromClass(featureClass);
this.developpers = contributors[0];
this.graphists = contributors[1];
this.builders = contributors[2];
}

Credits(Material icon, String featureName, Set<String> developpers) {
Credits(Material icon, String featureKey, Set<String> developpers) {
this.icon = ItemStack.of(icon);
this.developpers = developpers;
this.featureName = featureName;
this.featureKey = featureKey;
this.graphists = Set.of();
this.builders = Set.of();
}

Credits(ItemStack icon, String featureName, Set<String> developpers) {
Credits(ItemStack icon, String featureKey, Set<String> developpers) {
this.icon = icon;
this.developpers = developpers;
this.featureName = featureName;
this.featureKey = featureKey;
this.graphists = Set.of();
this.builders = Set.of();
}

Credits(ItemStack icon, String featureName, Set<String> developpers, Set<String> graphists) {
Credits(ItemStack icon, String featureKey, Set<String> developpers, Set<String> graphists) {
this.icon = icon;
this.featureName = featureName;
this.featureKey = featureKey;
this.developpers = developpers;
this.graphists = graphists;
this.builders = Set.of();
}

Credits(Material icon, String featureName, Set<String> developpers, Set<String> graphists) {
Credits(Material icon, String featureKey, Set<String> developpers, Set<String> graphists) {
this.icon = ItemStack.of(icon);
this.featureName = featureName;
this.featureKey = featureKey;
this.developpers = developpers;
this.graphists = graphists;
this.builders = Set.of();
}

Credits(ItemStack icon, String featureName, Set<String> developpers, Set<String> graphists, Set<String> builders) {
Credits(ItemStack icon, String featureKey, Set<String> developpers, Set<String> graphists, Set<String> builders) {
this.icon = icon;
this.featureName = featureName;
this.featureKey = featureKey;
this.developpers = developpers;
this.graphists = graphists;
this.builders = builders;
}

Credits(Material icon, String featureName, Set<String> developpers, Set<String> graphists, Set<String> builders) {
Credits(Material icon, String featureKey, Set<String> developpers, Set<String> graphists, Set<String> builders) {
this.icon = ItemStack.of(icon);
this.featureName = featureName;
this.featureKey = featureKey;
this.developpers = developpers;
this.graphists = graphists;
this.builders = builders;
Expand Down
28 changes: 20 additions & 8 deletions src/main/java/fr/openmc/core/features/credits/CreditsMenu.java
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,9 @@
import fr.openmc.api.menulib.utils.ItemUtils;
import fr.openmc.api.menulib.utils.StaticSlots;
import fr.openmc.core.registry.items.CustomItemRegistry;
import fr.openmc.core.utils.text.messages.TranslationManager;
import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.format.NamedTextColor;
import net.kyori.adventure.text.format.TextDecoration;
import org.bukkit.Material;
import org.bukkit.entity.Player;
Expand Down Expand Up @@ -51,16 +53,26 @@ public int getSizeOfItems() {
for (Credits credit : Credits.values()) {
List<Component> lore = new ArrayList<>();

lore.add(Component.text("§7Développeur(s) : §9" + String.join(", ", credit.getDeveloppers())));
lore.addAll(TranslationManager.translationLore(
"feature.credits.menu.lore.developers",
Component.text(String.join(", ", credit.getDeveloppers())).color(NamedTextColor.BLUE)
));
if (!credit.getGraphists().isEmpty()) {
lore.add(Component.text("§7Graphiste(s) : §6" + String.join(", ", credit.getGraphists())));
lore.addAll(TranslationManager.translationLore(
"feature.credits.menu.lore.graphists",
Component.text(String.join(", ", credit.getGraphists())).color(NamedTextColor.GOLD)
));
}
if (!credit.getBuilders().isEmpty()) {
lore.add(Component.text("§7Builder(s) : §a" + String.join(", ", credit.getBuilders())));
lore.addAll(TranslationManager.translationLore(
"feature.credits.menu.lore.builders",
Component.text(String.join(", ", credit.getBuilders())).color(NamedTextColor.GREEN)
));
}

ItemBuilder item = new ItemBuilder(this, credit.getIcon(), itemMeta -> {
itemMeta.displayName(Component.text("§e" + credit.getFeatureName())
itemMeta.displayName(TranslationManager.translation(credit.getFeatureKey())
.color(NamedTextColor.YELLOW)
.decoration(TextDecoration.ITALIC, false));
itemMeta.lore(lore);
}).hide(ItemUtils.getDataComponentType());
Expand All @@ -75,18 +87,18 @@ public int getSizeOfItems() {
public Map<Integer, ItemBuilder> getButtons() {
Map<Integer, ItemBuilder> map = new HashMap<>();

map.put(48, new ItemBuilder(this, Objects.requireNonNull(CustomItemRegistry.getByName("_iainternal:icon_back_orange")).getBest(), itemMeta -> itemMeta.displayName(Component.text("§cPage précédente"))).setPreviousPageButton());
map.put(50, new ItemBuilder(this, Objects.requireNonNull(CustomItemRegistry.getByName("_iainternal:icon_next_orange")).getBest(), itemMeta -> itemMeta.displayName(Component.text("§aPage suivante"))).setNextPageButton());
map.put(48, new ItemBuilder(this, Objects.requireNonNull(CustomItemRegistry.getByName("_iainternal:icon_back_orange")).getBest(), itemMeta -> itemMeta.displayName(TranslationManager.translation("messages.menus.previous_page"))).setPreviousPageButton());
map.put(50, new ItemBuilder(this, Objects.requireNonNull(CustomItemRegistry.getByName("_iainternal:icon_next_orange")).getBest(), itemMeta -> itemMeta.displayName(TranslationManager.translation("messages.menus.next_page"))).setNextPageButton());
map.put(49, new ItemBuilder(this, Material.BARRIER, meta -> {
meta.displayName(Component.text("§cFermer le menu"));
meta.displayName(TranslationManager.translation("feature.credits.menu.close"));
}).setOnClick(e -> getOwner().closeInventory()));

return map;
}

@Override
public @NotNull Component getName() {
return Component.text("Crédits du serveur");
return TranslationManager.translation("feature.credits.menu.title");
}

@Override
Expand Down
3 changes: 2 additions & 1 deletion src/main/java/fr/openmc/core/features/cube/Cube.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
import fr.openmc.core.features.cube.listeners.RepulseEffectListener;
import fr.openmc.core.features.cube.multiblocks.MultiBlock;
import fr.openmc.core.features.dream.DreamUtils;
import fr.openmc.core.utils.text.messages.TranslationManager;
import org.bukkit.*;
import org.bukkit.block.Block;
import org.bukkit.block.data.BlockData;
Expand Down Expand Up @@ -36,7 +37,7 @@ public Cube(Location origin, int size, Material material, boolean showBossBar) {

// ## BOSS BAR ##
if (showBossBar) {
cubeBossBar = Bukkit.createBossBar("Le Cube", BarColor.BLUE, BarStyle.SEGMENTED_6, BarFlag.CREATE_FOG, BarFlag.DARKEN_SKY);
cubeBossBar = Bukkit.createBossBar(TranslationManager.translationString("feature.cube.bossbar.title"), BarColor.BLUE, BarStyle.SEGMENTED_6, BarFlag.CREATE_FOG, BarFlag.DARKEN_SKY);
cubeBossBar.setVisible(true);

startBossBarUpdater();
Expand Down
Loading
Loading