Updated Source Code for Version 0.3.5
This commit is contained in:
@ -4,7 +4,7 @@
|
|||||||
<groupId>com.adzel.velocitybroadcast</groupId>
|
<groupId>com.adzel.velocitybroadcast</groupId>
|
||||||
<artifactId>velocitybroadcast</artifactId>
|
<artifactId>velocitybroadcast</artifactId>
|
||||||
<name>VelocityBroadcast</name>
|
<name>VelocityBroadcast</name>
|
||||||
<version>0.3-pre</version>
|
<version>0.3.5</version>
|
||||||
<description>Broadcast plugin for Minecraft Velocity proxy.</description>
|
<description>Broadcast plugin for Minecraft Velocity proxy.</description>
|
||||||
<build>
|
<build>
|
||||||
<plugins>
|
<plugins>
|
||||||
@ -49,6 +49,12 @@
|
|||||||
<version>3.1.1</version>
|
<version>3.1.1</version>
|
||||||
<scope>provided</scope>
|
<scope>provided</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>net.luckperms</groupId>
|
||||||
|
<artifactId>api</artifactId>
|
||||||
|
<version>5.4</version>
|
||||||
|
<scope>provided</scope>
|
||||||
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
<properties>
|
<properties>
|
||||||
<maven.compiler.target>17</maven.compiler.target>
|
<maven.compiler.target>17</maven.compiler.target>
|
||||||
|
10
pom.xml
10
pom.xml
@ -5,7 +5,7 @@
|
|||||||
|
|
||||||
<groupId>com.adzel.velocitybroadcast</groupId>
|
<groupId>com.adzel.velocitybroadcast</groupId>
|
||||||
<artifactId>velocitybroadcast</artifactId>
|
<artifactId>velocitybroadcast</artifactId>
|
||||||
<version>0.3-pre</version>
|
<version>0.3.5</version>
|
||||||
<packaging>jar</packaging>
|
<packaging>jar</packaging>
|
||||||
<name>VelocityBroadcast</name>
|
<name>VelocityBroadcast</name>
|
||||||
<description>Broadcast plugin for Minecraft Velocity proxy.</description>
|
<description>Broadcast plugin for Minecraft Velocity proxy.</description>
|
||||||
@ -77,6 +77,14 @@
|
|||||||
<artifactId>snakeyaml</artifactId>
|
<artifactId>snakeyaml</artifactId>
|
||||||
<version>2.2</version>
|
<version>2.2</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
|
<!-- LuckPerms API (Velocity-compatible) -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>net.luckperms</groupId>
|
||||||
|
<artifactId>api</artifactId>
|
||||||
|
<version>5.4</version>
|
||||||
|
<scope>provided</scope>
|
||||||
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
<build>
|
<build>
|
||||||
|
@ -14,6 +14,7 @@ public class BroadcastCommand implements SimpleCommand {
|
|||||||
|
|
||||||
private final VelocityBroadcast plugin;
|
private final VelocityBroadcast plugin;
|
||||||
private final DatabaseManager databaseManager;
|
private final DatabaseManager databaseManager;
|
||||||
|
private final MiniMessage mm = MiniMessage.miniMessage();
|
||||||
|
|
||||||
public BroadcastCommand(VelocityBroadcast plugin) {
|
public BroadcastCommand(VelocityBroadcast plugin) {
|
||||||
this.plugin = plugin;
|
this.plugin = plugin;
|
||||||
@ -26,12 +27,12 @@ public class BroadcastCommand implements SimpleCommand {
|
|||||||
List<String> args = List.of(invocation.arguments());
|
List<String> args = List.of(invocation.arguments());
|
||||||
|
|
||||||
if (!source.hasPermission("vb.broadcast")) {
|
if (!source.hasPermission("vb.broadcast")) {
|
||||||
source.sendMessage(MiniMessage.miniMessage().deserialize("<red>You don't have permission to use this command.</red>"));
|
source.sendMessage(mm.deserialize("<red>You don't have permission to use this command.</red>"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (args.isEmpty()) {
|
if (args.isEmpty()) {
|
||||||
source.sendMessage(MiniMessage.miniMessage().deserialize("<red>Usage: /vb <message></red>"));
|
source.sendMessage(mm.deserialize("<red>Usage: /vb <message></red>"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -39,20 +40,19 @@ public class BroadcastCommand implements SimpleCommand {
|
|||||||
String prefix = plugin.getConfigHandler().getPrefix();
|
String prefix = plugin.getConfigHandler().getPrefix();
|
||||||
String fullMessage = prefix + messageRaw;
|
String fullMessage = prefix + messageRaw;
|
||||||
|
|
||||||
Component broadcast = MiniMessage.miniMessage().deserialize(fullMessage);
|
Component broadcast = mm.deserialize(fullMessage);
|
||||||
|
|
||||||
plugin.getServer().getAllPlayers().forEach(player -> player.sendMessage(broadcast));
|
plugin.getServer().getAllPlayers().forEach(player -> player.sendMessage(broadcast));
|
||||||
|
|
||||||
if (plugin.getConfigHandler().isDebugEnabled()) {
|
if (plugin.getConfigHandler().isDebugEnabled()) {
|
||||||
plugin.getLogger().info("[Broadcast] Sent: " + fullMessage);
|
plugin.getLogger().info("[Broadcast] Sent: " + fullMessage);
|
||||||
}
|
}
|
||||||
|
|
||||||
// ✅ Log to the database
|
// ✅ Log to the database with proper sender
|
||||||
String sender = (source instanceof Player)
|
String sender = (source instanceof Player player) ? player.getUsername() : "Console";
|
||||||
? ((Player) source).getUsername()
|
String sourceServer = plugin.getServer().getBoundAddress().toString();
|
||||||
: "Console";
|
|
||||||
|
|
||||||
String sourceServer = plugin.getServer().getBoundAddress().toString(); // optional
|
|
||||||
databaseManager.logBroadcast(sender, messageRaw, sourceServer);
|
databaseManager.logBroadcast(sender, messageRaw, sourceServer);
|
||||||
|
|
||||||
|
// Optional feedback to source
|
||||||
|
source.sendMessage(mm.deserialize("<green>Broadcast sent.</green>"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -16,17 +16,19 @@ import com.velocitypowered.api.plugin.annotation.DataDirectory;
|
|||||||
import com.velocitypowered.api.proxy.ProxyServer;
|
import com.velocitypowered.api.proxy.ProxyServer;
|
||||||
|
|
||||||
import net.kyori.adventure.text.minimessage.MiniMessage;
|
import net.kyori.adventure.text.minimessage.MiniMessage;
|
||||||
|
import net.luckperms.api.LuckPerms;
|
||||||
|
import net.luckperms.api.LuckPermsProvider;
|
||||||
|
|
||||||
@Plugin(
|
@Plugin(
|
||||||
id = "velocitybroadcast",
|
id = "velocitybroadcast",
|
||||||
name = "VelocityBroadcast",
|
name = "VelocityBroadcast",
|
||||||
version = "0.3-pre",
|
version = "0.3.5",
|
||||||
description = "A proxy-wide broadcast plugin for Velocity.",
|
description = "A proxy-wide broadcast plugin for Velocity.",
|
||||||
authors = {"Adzel"}
|
authors = {"Adzel"}
|
||||||
)
|
)
|
||||||
public class VelocityBroadcast {
|
public class VelocityBroadcast {
|
||||||
|
|
||||||
public static final String PLUGIN_VERSION = "0.3-pre";
|
public static final String PLUGIN_VERSION = "0.3.5";
|
||||||
public static final MiniMessage MINI_MESSAGE = MiniMessage.miniMessage();
|
public static final MiniMessage MINI_MESSAGE = MiniMessage.miniMessage();
|
||||||
|
|
||||||
private final ProxyServer server;
|
private final ProxyServer server;
|
||||||
@ -35,6 +37,7 @@ public class VelocityBroadcast {
|
|||||||
|
|
||||||
private ConfigHandler config;
|
private ConfigHandler config;
|
||||||
private DatabaseManager databaseManager;
|
private DatabaseManager databaseManager;
|
||||||
|
private LuckPerms luckPerms;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public VelocityBroadcast(ProxyServer server, Logger logger, @DataDirectory Path dataDirectory) {
|
public VelocityBroadcast(ProxyServer server, Logger logger, @DataDirectory Path dataDirectory) {
|
||||||
@ -53,6 +56,15 @@ public class VelocityBroadcast {
|
|||||||
logger.info("[VelocityBroadcast] Debug mode is enabled.");
|
logger.info("[VelocityBroadcast] Debug mode is enabled.");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Initialize LuckPerms
|
||||||
|
try {
|
||||||
|
this.luckPerms = LuckPermsProvider.get();
|
||||||
|
logger.info("[VelocityBroadcast] Successfully hooked into LuckPerms.");
|
||||||
|
} catch (IllegalStateException e) {
|
||||||
|
logger.error("[VelocityBroadcast] LuckPerms is not loaded! This plugin requires LuckPerms.");
|
||||||
|
return; // Prevent plugin from loading if LP is not available
|
||||||
|
}
|
||||||
|
|
||||||
// Initialize database manager
|
// Initialize database manager
|
||||||
java.util.logging.Logger jdkLogger = java.util.logging.Logger.getLogger("VelocityBroadcast");
|
java.util.logging.Logger jdkLogger = java.util.logging.Logger.getLogger("VelocityBroadcast");
|
||||||
this.databaseManager = new DatabaseManager(config, jdkLogger, dataDirectory);
|
this.databaseManager = new DatabaseManager(config, jdkLogger, dataDirectory);
|
||||||
@ -68,10 +80,10 @@ public class VelocityBroadcast {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
// ✅ Register login listener with DatabaseManager
|
// Register login listener
|
||||||
server.getEventManager().register(this, new LoginListener(server, PLUGIN_VERSION, updateChecker, databaseManager));
|
server.getEventManager().register(this, new LoginListener(server, PLUGIN_VERSION, updateChecker, databaseManager));
|
||||||
|
|
||||||
// Register root command
|
// Register command
|
||||||
server.getCommandManager().register(
|
server.getCommandManager().register(
|
||||||
server.getCommandManager().metaBuilder("vb").plugin(this).build(),
|
server.getCommandManager().metaBuilder("vb").plugin(this).build(),
|
||||||
new VBCommand(this)
|
new VBCommand(this)
|
||||||
@ -104,4 +116,8 @@ public class VelocityBroadcast {
|
|||||||
public DatabaseManager getDatabaseManager() {
|
public DatabaseManager getDatabaseManager() {
|
||||||
return databaseManager;
|
return databaseManager;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public LuckPerms getLuckPerms() {
|
||||||
|
return luckPerms;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"id": "velocitybroadcast",
|
"id": "velocitybroadcast",
|
||||||
"name": "VelocityBroadcast",
|
"name": "VelocityBroadcast",
|
||||||
"version": "0.3-pre",
|
"version": "0.3.5",
|
||||||
"authors": ["Adzel"],
|
"authors": ["Adzel"],
|
||||||
"main": "com.adzel.velocitybroadcast.VelocityBroadcast",
|
"main": "com.adzel.velocitybroadcast.VelocityBroadcast",
|
||||||
"description": "A proxy-wide broadcast plugin for Velocity.",
|
"description": "A proxy-wide broadcast plugin for Velocity.",
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"id": "velocitybroadcast",
|
"id": "velocitybroadcast",
|
||||||
"name": "VelocityBroadcast",
|
"name": "VelocityBroadcast",
|
||||||
"version": "0.3-pre",
|
"version": "0.3.5",
|
||||||
"authors": ["Adzel"],
|
"authors": ["Adzel"],
|
||||||
"main": "com.adzel.velocitybroadcast.VelocityBroadcast",
|
"main": "com.adzel.velocitybroadcast.VelocityBroadcast",
|
||||||
"description": "A proxy-wide broadcast plugin for Velocity.",
|
"description": "A proxy-wide broadcast plugin for Velocity.",
|
||||||
|
@ -1 +1 @@
|
|||||||
{"id":"velocitybroadcast","name":"VelocityBroadcast","version":"0.3-pre","description":"A proxy-wide broadcast plugin for Velocity.","authors":["Adzel"],"dependencies":[],"main":"com.adzel.velocitybroadcast.VelocityBroadcast"}
|
{"id":"velocitybroadcast","name":"VelocityBroadcast","version":"0.3.5","description":"A proxy-wide broadcast plugin for Velocity.","authors":["Adzel"],"dependencies":[],"main":"com.adzel.velocitybroadcast.VelocityBroadcast"}
|
@ -1,3 +1,3 @@
|
|||||||
artifactId=velocitybroadcast
|
artifactId=velocitybroadcast
|
||||||
groupId=com.adzel.velocitybroadcast
|
groupId=com.adzel.velocitybroadcast
|
||||||
version=0.3-pre
|
version=0.3.5
|
||||||
|
@ -2,6 +2,7 @@ com\adzel\velocitybroadcast\VelocityBroadcast.class
|
|||||||
com\adzel\velocitybroadcast\VBCommand.class
|
com\adzel\velocitybroadcast\VBCommand.class
|
||||||
com\adzel\velocitybroadcast\BroadcastCommand.class
|
com\adzel\velocitybroadcast\BroadcastCommand.class
|
||||||
com\adzel\velocitybroadcast\ConfigHandler.class
|
com\adzel\velocitybroadcast\ConfigHandler.class
|
||||||
|
com\adzel\velocitybroadcast\UpdateChecker.class
|
||||||
com\adzel\velocitybroadcast\ReloadCommand.class
|
com\adzel\velocitybroadcast\ReloadCommand.class
|
||||||
velocity-plugin.json
|
velocity-plugin.json
|
||||||
com\adzel\velocitybroadcast\util\DatabaseManager.class
|
com\adzel\velocitybroadcast\util\DatabaseManager.class
|
||||||
|
Reference in New Issue
Block a user