Skip to content
Merged
Show file tree
Hide file tree
Changes from 10 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
8 changes: 4 additions & 4 deletions build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ plugins {
id("xyz.srnyx.gradle-galaxy") version "2.1.0"
id("com.gradleup.shadow") version "8.3.9"
id("net.kyori.blossom") version "2.2.0"
id("org.jetbrains.gradle.plugin.idea-ext") version "1.3"
id("org.jetbrains.gradle.plugin.idea-ext") version "1.4.1"
}

paper(DependencyConfig(version = "1.18.2"))
Expand All @@ -20,12 +20,12 @@ setupAnnoyingAPI(
version = "1.1.0",
description = "A plugin to integrate your Minecraft server with the Event Alerts ecosystem",
javaVersion = JavaVersion.VERSION_21),
annoyingAPIConfig = DependencyConfig(version = "5.2.0"))
annoyingAPIConfig = DependencyConfig(version = "db46b2b"))

// Runtime dependency versions
val javaWebSocketVersion: String = "1.6.0"
val bsonVersion: String = "5.6.3"
val jEmojiVersion: String = "1.7.5"
val bsonVersion: String = "5.7.0"
val jEmojiVersion: String = "2.0.0"

// Blossom (see java-templates module)
sourceSets.main { blossom.javaSources {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package gg.eventalerts.eventalertsintegration;

import org.jetbrains.annotations.NotNull;

import xyz.srnyx.annoyingapi.AnnoyingPlugin;
import xyz.srnyx.annoyingapi.library.AnnoyingLibrary;
import xyz.srnyx.annoyingapi.libs.libby.Library;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,36 +1,29 @@
package gg.eventalerts.eventalertsintegration;

import com.google.gson.Gson;
import gg.eventalerts.eventalertsintegration.config.ConfigYml;
import gg.eventalerts.eventalertsintegration.socket.WebSockets;

import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.TextComponent;
import net.kyori.adventure.text.event.ClickEvent;
import net.kyori.adventure.text.format.NamedTextColor;
import net.kyori.adventure.text.format.TextDecoration;
import net.kyori.adventure.text.minimessage.MiniMessage;

import org.bukkit.Bukkit;

import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;

import xyz.srnyx.annoyingapi.AnnoyingPlugin;
import xyz.srnyx.annoyingapi.PluginPlatform;
import xyz.srnyx.annoyingapi.libs.javautilities.MapGenerator;

import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.UUID;
import java.util.logging.Level;


public class EventAlertsIntegration extends AnnoyingPlugin {
@NotNull public static final MiniMessage MINI_MESSAGE = MiniMessage.miniMessage();
@NotNull public static final Map<Long, String> ID_MAPPINGS = MapGenerator.HASH_MAP.mapOf(
List.of(314853603695394817L, 365630764244664320L, 242385234992037888L, 604377897662414854L, 267734235224211467L, 381890968971902976L, 468890330763231270L, 1111741660892762142L, 1006349851241480242L, 1216096556713906288L, 1280002787446493256L, 1096205843113967669L, 533985117589471233L),
List.of("Skeppy", "Oiiink", "srnyx", "hailey", "bacca", "Rame", "hayech", "Server Events", "Famous Events", "Potential Skeppy Events", "Skeppy Sighting", "Random Pings", "Reece"));
@NotNull public static final Gson GSON = new Gson();
@NotNull public static final TextComponent GATE = Component.text("EVENT ALERTS GATE\n\n", NamedTextColor.GOLD, TextDecoration.BOLD);
@NotNull public static final TextComponent LINKING_INSTRUCTIONS = Component.text()
.color(NamedTextColor.GRAY)
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
package gg.eventalerts.eventalertsintegration;

import org.jetbrains.annotations.NotNull;
import xyz.srnyx.annoyingapi.libs.javautilities.MapGenerator;

import java.util.List;
import java.util.Map;


public class IDMappings {
@NotNull public static final Map<Long, String> ID_MAPPINGS = MapGenerator.HASH_MAP.mapOf(List.of(
// Users
242385234992037888L, "srnyx",
365630764244664320L, "Oiiink",
381890968971902976L, "Rame",
533985117589471233L, "Reece",
267734235224211467L, "bacca",
604377897662414854L, "hailey",
314853603695394817L, "Skeppy",
468890330763231270L, "hayech",

// Roles
1406379715471610029L, "MC Server Pings",
1111741660892762142L, "Official Events",
1006349851241480242L, "Creator Events",
1426711659740790915L, "Event-B Info",
1216096556713906288L, "Potential Skeppy Events",
1280002787446493256L, "Skeppy Sighting",
1096205843113967669L, "Random Pings",
970434201990070424L, "Partner Events",
1498450271825825874L, "Big Money Events",
970434305203511359L, "Money Events",
970434303391576164L, "Fun Events",
970434294893928498L, "Housing Events",
1134932175821734119L, "Civilization Events",
980950599946362900L, "Community Events"));
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,24 +2,19 @@

import com.google.gson.JsonElement;
import com.google.gson.JsonObject;

import gg.eventalerts.eventalertsintegration.EventAlertsIntegration;
import gg.eventalerts.eventalertsintegration.gui.config.ConfigGui;
import gg.eventalerts.eventalertsintegration.objects.CrossBan;
import gg.eventalerts.eventalertsintegration.objects.EAObject;
import gg.eventalerts.eventalertsintegration.reflection.org.bukkit.entity.RefPlayer;

import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.TextComponent;
import net.kyori.adventure.text.format.NamedTextColor;

import org.bukkit.Bukkit;
import org.bukkit.OfflinePlayer;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;

import org.jetbrains.annotations.NotNull;

import xyz.srnyx.annoyingapi.command.AnnoyingCommand;
import xyz.srnyx.annoyingapi.command.AnnoyingSender;
import xyz.srnyx.annoyingapi.libs.javautilities.HttpUtility;
Expand All @@ -29,7 +24,11 @@
import xyz.srnyx.annoyingapi.utility.BukkitUtility;

import java.lang.reflect.InvocationTargetException;
import java.util.*;
import java.util.Collection;
import java.util.HashSet;
import java.util.Optional;
import java.util.Set;
import java.util.UUID;
import java.util.stream.Collectors;


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,23 +2,23 @@

import gg.eventalerts.eventalertsintegration.EventAlertsIntegration;
import gg.eventalerts.eventalertsintegration.socket.SocketEndpoint;

import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;

import xyz.srnyx.annoyingapi.AnnoyingPlugin;
import xyz.srnyx.annoyingapi.file.AnnoyingResource;
import xyz.srnyx.annoyingapi.file.PlayableSound;
import xyz.srnyx.annoyingapi.libs.javautilities.HttpUtility;

import java.util.*;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.logging.Level;
import java.util.stream.Collectors;


public class ConfigYml extends AnnoyingResource {
@NotNull public static final String PATH_API_KEYS = "api-keys";
@NotNull public static final String PATH_DISCORD_MESSAGE_SYNCING = "discord-message-syncing";
@NotNull public static final String PATH_SYNCING = "syncing";
@NotNull public static final String PATH_LINKING = "linking";
@NotNull public static final String PATH_CROSS_BAN = "cross-ban";
@NotNull public static final String PATH_EVENT_MESSAGES = "event-messages";
Expand All @@ -27,7 +27,7 @@ public class ConfigYml extends AnnoyingResource {
@NotNull private final EventAlertsIntegration eaPlugin;

@NotNull public final ApiKeys apiKeys;
@NotNull public final DiscordMessageSyncing discordMessageSyncing;
@NotNull public final ConfigYml.Syncing syncing;
@NotNull public final Linking linking;
@NotNull public final CrossBan crossBan;
@NotNull public final EventMessages eventMessages;
Expand All @@ -38,7 +38,7 @@ public ConfigYml(@NotNull EventAlertsIntegration plugin) {
eaPlugin = plugin;

apiKeys = new ApiKeys();
discordMessageSyncing = new DiscordMessageSyncing();
syncing = new Syncing();
linking = new Linking();
crossBan = new CrossBan();
eventMessages = new EventMessages();
Expand Down Expand Up @@ -75,14 +75,60 @@ public ApiKeys() {
}
}

public class DiscordMessageSyncing {
@NotNull public static final String PATH_ENABLED = PATH_DISCORD_MESSAGE_SYNCING + ".enabled";
@NotNull public static final String DISCORDSRV_INTEGRATION = PATH_DISCORD_MESSAGE_SYNCING + ".discordsrv-integration";
@NotNull public static final String PATH_FORMAT = PATH_DISCORD_MESSAGE_SYNCING + ".format";
public class Syncing {
@NotNull public static final String PATH_DISCORD_TO_MINECRAFT = PATH_SYNCING + ".discord-to-minecraft";
@NotNull public static final String PATH_MINECRAFT_TO_DISCORD = PATH_SYNCING + ".minecraft-to-discord";

public boolean enabled = getBoolean(PATH_ENABLED, true);
public boolean discordSRVIntegration = getBoolean(DISCORDSRV_INTEGRATION, true);
@NotNull public String format = getString(PATH_FORMAT, "<dark_aqua>\uD83C\uDF89 [<event_title>] <aqua>[<author_name>] <content_stripped>");
@NotNull public final DiscordToMinecraft discordToMinecraft = new DiscordToMinecraft();
@NotNull public final MinecraftToDiscord minecraftToDiscord = new MinecraftToDiscord();

public class DiscordToMinecraft {
@NotNull public static final String PATH_MESSAGES = PATH_DISCORD_TO_MINECRAFT + ".messages";

@NotNull public final Messages messages = new Messages();

public class Messages {
@NotNull public static final String PATH_ENABLED = PATH_MESSAGES + ".enabled";
@NotNull public static final String PATH_FORMAT = PATH_MESSAGES + ".format";

public boolean enabled = getBoolean(PATH_ENABLED, true);
@NotNull public String format = getString(PATH_FORMAT, "<dark_aqua>\uD83C\uDF89 [<event_title>] <aqua>[<author_name>] <content_stripped>");

public void setEnabled(boolean newStatus) {
if (enabled == newStatus) return;

// Update config
enabled = newStatus;
setSave(PATH_ENABLED, newStatus);

// Reconnect websocket
eaPlugin.webSockets.reconnect("Config updated", SocketEndpoint.EVENT_CHAT);
}

public void setFormat(@NotNull String newFormat) {
if (format.equals(newFormat)) return;
format = newFormat;
setSave(PATH_FORMAT, newFormat);
}
}
}

public class MinecraftToDiscord {
@NotNull public static final String PATH_CONNECTIONS = PATH_MINECRAFT_TO_DISCORD + ".connections";

public boolean connections = getBoolean(PATH_CONNECTIONS, true);

public void setConnections(boolean newStatus) {
if (connections == newStatus) return;

// Update config
connections = newStatus;
setSave(PATH_CONNECTIONS, newStatus);

// Reconnect websocket
eaPlugin.webSockets.reconnect("Config updated", SocketEndpoint.PLAYER_CONNECTION);
}
}
}

public class Linking {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package gg.eventalerts.eventalertsintegration.config;

import org.apache.commons.lang.StringUtils;

import org.jetbrains.annotations.NotNull;

import java.util.Arrays;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,16 +3,12 @@
import dev.triumphteam.gui.element.GuiItem;
import dev.triumphteam.gui.paper.builder.gui.PaperGuiBuilder;
import dev.triumphteam.gui.paper.builder.item.ItemBuilder;

import gg.eventalerts.eventalertsintegration.EventAlertsIntegration;

import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.format.NamedTextColor;
import net.kyori.adventure.text.format.TextDecoration;

import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;

import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;

Expand All @@ -21,7 +17,6 @@


public abstract class EAGui {
@NotNull public static final String RED_BACK_ARROW = "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZjg0ZjU5NzEzMWJiZTI1ZGMwNThhZjg4OGNiMjk4MzFmNzk1OTliYzY3Yzk1YzgwMjkyNWNlNGFmYmEzMzJmYyJ9fX0=";

@NotNull public final EventAlertsIntegration plugin;
@NotNull public final Player opener;
Expand Down Expand Up @@ -66,8 +61,8 @@ public void playDingSound(boolean newStatus) {
@NotNull
public GuiItem<Player, ItemStack> backButton() {
return ItemBuilder.skull()
.texture(RED_BACK_ARROW)
.name(uninitialize(Component.text("← Back", NamedTextColor.RED)))
.texture(Heads.RED_ARROW_LEFT)
.name(unitalicize(Component.text("← Back", NamedTextColor.RED)))
.lore(lore("<gray>Return to the\n<gray>previous page"))
.asGuiItem((player, context) -> back(true));
}
Expand All @@ -77,13 +72,13 @@ public static List<Component> lore(@NotNull String lore) {
final List<Component> components = new ArrayList<>();
for (String line : lore.split("\n")) {
if (!line.startsWith("<")) line = "<yellow>" + line; // Default color
components.add(uninitialize(EventAlertsIntegration.MINI_MESSAGE.deserialize(line)));
components.add(unitalicize(EventAlertsIntegration.MINI_MESSAGE.deserialize(line)));
}
return components;
}

@NotNull
public static Component uninitialize(@NotNull Component component) {
public static Component unitalicize(@NotNull Component component) {
return component.decoration(TextDecoration.ITALIC, false);
}
}
11 changes: 11 additions & 0 deletions src/main/java/gg/eventalerts/eventalertsintegration/gui/Heads.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package gg.eventalerts.eventalertsintegration.gui;

import org.jetbrains.annotations.NotNull;


public class Heads {
@NotNull public static final String RED_ARROW_LEFT = "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZjg0ZjU5NzEzMWJiZTI1ZGMwNThhZjg4OGNiMjk4MzFmNzk1OTliYzY3Yzk1YzgwMjkyNWNlNGFmYmEzMzJmYyJ9fX0=";
@NotNull public static final String BLUE_ARROW_DOWN = "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZjBkMWRmODA0NmYwYjVkOTM0YzNlMDU3OThlYWNmZWVhNmQ3YjU5NWRiZTI2ZGViZjdkYjlhY2M4YzRmYTc5OCJ9fX0=";
@NotNull public static final String GREEN_ARROW_UP = "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNWRhMDI3NDc3MTk3YzZmZDdhZDMzMDE0NTQ2ZGUzOTJiNGE1MWM2MzRlYTY4YzhiN2JjYzAxMzFjODNlM2YifX19";
@NotNull public static final String GREEN_PLUS = "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNWZmMzE0MzFkNjQ1ODdmZjZlZjk4YzA2NzU4MTA2ODFmOGMxM2JmOTZmNTFkOWNiMDdlZDc4NTJiMmZmZDEifX19";
}
Loading
Loading