added commands for bungee

This commit is contained in:
lax1dude 2024-05-03 12:49:26 -07:00
parent 0d901c0daa
commit 774c59998f
5 changed files with 152 additions and 4 deletions

View File

@ -378,4 +378,8 @@ public class OriginBlacklist {
return false;
}
public File getLocalBlacklist() {
return localBlacklist;
}
}

View File

@ -9,7 +9,11 @@ import java.util.logging.Logger;
import net.lax1dude.eaglercraft.v1_8.plugin.origin_blacklist.OriginBlacklist;
import net.lax1dude.eaglercraft.v1_8.plugin.origin_blacklist.OriginBlacklistConfigAdapter;
import net.lax1dude.eaglercraft.v1_8.plugin.origin_blacklist.OriginBlacklistLoggerAdapter;
import net.lax1dude.eaglercraft.v1_8.plugin.origin_blacklist.bungee.command.CommandDomainBlock;
import net.lax1dude.eaglercraft.v1_8.plugin.origin_blacklist.bungee.command.CommandDomainBlockDomain;
import net.lax1dude.eaglercraft.v1_8.plugin.origin_blacklist.bungee.command.CommandDomainUnblock;
import net.md_5.bungee.api.plugin.Plugin;
import net.md_5.bungee.api.plugin.PluginManager;
/**
* Copyright (c) 2024 lax1dude. All Rights Reserved.
@ -84,7 +88,11 @@ public class OriginBlacklistPluginBungee extends Plugin {
}
}, 0, 6000l);
}
getProxy().getPluginManager().registerListener(this, new OriginBlacklistListenerBungee(this));
PluginManager pm = getProxy().getPluginManager();
pm.registerListener(this, new OriginBlacklistListenerBungee(this));
pm.registerCommand(this, new CommandDomainBlock());
pm.registerCommand(this, new CommandDomainBlockDomain());
pm.registerCommand(this, new CommandDomainUnblock());
}
@Override
@ -94,6 +102,7 @@ public class OriginBlacklistPluginBungee extends Plugin {
updateOriginBlacklistTimer = null;
}
getProxy().getPluginManager().unregisterListeners(this);
getProxy().getPluginManager().unregisterCommands(this);
}
public static OriginBlacklistPluginBungee getPlugin() {

View File

@ -1,5 +1,65 @@
package net.lax1dude.eaglercraft.v1_8.plugin.origin_blacklist.bungee.command;
public class CommandDomainBlock {
import net.lax1dude.eaglercraft.v1_8.plugin.gateway_bungeecord.server.EaglerInitialHandler;
import net.lax1dude.eaglercraft.v1_8.plugin.origin_blacklist.OriginBlacklist;
import net.lax1dude.eaglercraft.v1_8.plugin.origin_blacklist.bungee.OriginBlacklistPluginBungee;
import net.md_5.bungee.api.ChatColor;
import net.md_5.bungee.api.CommandSender;
import net.md_5.bungee.api.ProxyServer;
import net.md_5.bungee.api.chat.TextComponent;
import net.md_5.bungee.api.connection.ProxiedPlayer;
import net.md_5.bungee.api.plugin.Command;
/**
* Copyright (c) 2022-2024 lax1dude. All Rights Reserved.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
* INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
*/
public class CommandDomainBlock extends Command {
public CommandDomainBlock() {
super("block-domain", "eaglercraft.command.blockdomain");
}
@Override
public void execute(CommandSender p0, String[] p1) {
if (p1.length < 1) {
p0.sendMessage(new TextComponent(ChatColor.RED + "Please follow this command by a username"));
return;
}
final ProxiedPlayer user = ProxyServer.getInstance().getPlayer(p1[0]);
if (user == null) {
p0.sendMessage(new TextComponent(ChatColor.RED + "That user is not online"));
}else {
if(user.getPendingConnection() instanceof EaglerInitialHandler) {
Object o = ((EaglerInitialHandler)user.getPendingConnection()).getOrigin();
if(o != null) {
if("null".equals(o)) {
p0.sendMessage(new TextComponent(ChatColor.RED + "That user is on an offline download"));
}else {
OriginBlacklist bl = OriginBlacklistPluginBungee.getPlugin().list;
bl.addLocal((String)o);
p0.sendMessage(new TextComponent(ChatColor.RED + "Domain of " + ChatColor.WHITE + p1[0] + ChatColor.RED + " is " + ChatColor.WHITE + o));
p0.sendMessage(new TextComponent(ChatColor.RED + "It was added to the local block list."));
user.disconnect(new TextComponent(bl.getKickMessage()));
}
}else {
p0.sendMessage(new TextComponent(ChatColor.RED + "Domain of " + p1[0] + " is unknown (desktop runtime?)"));
}
}else {
p0.sendMessage(new TextComponent(ChatColor.RED + "That user is not using an Eaglercraft client"));
}
}
}
}

View File

@ -1,5 +1,40 @@
package net.lax1dude.eaglercraft.v1_8.plugin.origin_blacklist.bungee.command;
public class CommandDomainBlockDomain {
import net.lax1dude.eaglercraft.v1_8.plugin.origin_blacklist.bungee.OriginBlacklistPluginBungee;
import net.md_5.bungee.api.ChatColor;
import net.md_5.bungee.api.CommandSender;
import net.md_5.bungee.api.chat.TextComponent;
import net.md_5.bungee.api.plugin.Command;
/**
* Copyright (c) 2022-2024 lax1dude. All Rights Reserved.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
* INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
*/
public class CommandDomainBlockDomain extends Command {
public CommandDomainBlockDomain() {
super("block-domain-name", "eaglercraft.command.blockdomainname");
}
@Override
public void execute(CommandSender p0, String[] p1) {
if (p1.length < 1) {
p0.sendMessage(new TextComponent(ChatColor.RED + "Please follow this command by a domain"));
return;
}
OriginBlacklistPluginBungee.getPlugin().list.addLocal(p1[0]);
p0.sendMessage(new TextComponent(ChatColor.GREEN + "The domain '" + ChatColor.WHITE + p1[0] + ChatColor.GREEN + "' was added to the block list"));
}
}

View File

@ -1,5 +1,45 @@
package net.lax1dude.eaglercraft.v1_8.plugin.origin_blacklist.bungee.command;
public class CommandDomainUnblock {
import net.lax1dude.eaglercraft.v1_8.plugin.origin_blacklist.OriginBlacklist;
import net.lax1dude.eaglercraft.v1_8.plugin.origin_blacklist.bungee.OriginBlacklistPluginBungee;
import net.md_5.bungee.api.ChatColor;
import net.md_5.bungee.api.CommandSender;
import net.md_5.bungee.api.chat.TextComponent;
import net.md_5.bungee.api.plugin.Command;
/**
* Copyright (c) 2022-2024 lax1dude. All Rights Reserved.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
* INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
*/
public class CommandDomainUnblock extends Command {
public CommandDomainUnblock() {
super("unblock-domain", "eaglercraft.command.unblockdomain", "unblock-domain-name");
}
@Override
public void execute(CommandSender p0, String[] p1) {
if (p1.length < 1) {
p0.sendMessage(new TextComponent(ChatColor.RED + "Please follow this command by a domain"));
return;
}
OriginBlacklist bl = OriginBlacklistPluginBungee.getPlugin().list;
if(bl.removeLocal(p1[0])) {
p0.sendMessage(new TextComponent(ChatColor.GREEN + "The domain '" + p1[0] + "' was removed from the local block list"));
}else {
p0.sendMessage(new TextComponent(ChatColor.RED + "The domain was not removed, is it on the block list? Check '" + bl.getLocalBlacklist().getName() + "' in your plugin directory"));
}
}
}