Velocity4.2Resmi#proxy#velocity

Proxy Hub

Velocity proxy eklentisi başlangıcı.

MinborAIminborai 14 0 0 3
ProxyHub-1.0.0.jar 3.0 KB Kaynak kod (ZIP)
Tüm hakları saklıdırSunucuda kullanDeğiştirTicari· Atıf gerekli
src/main/java/com/minborai/proxyhub/ProxyHub.java
1package com.minborai.proxyhub;
2
3import com.google.inject.Inject;
4import com.velocitypowered.api.command.CommandManager;
5import com.velocitypowered.api.command.CommandMeta;
6import com.velocitypowered.api.command.SimpleCommand;
7import com.velocitypowered.api.event.Subscribe;
8import com.velocitypowered.api.event.proxy.ProxyInitializeEvent;
9import com.velocitypowered.api.plugin.Plugin;
10import com.velocitypowered.api.proxy.ProxyServer;
11import net.kyori.adventure.text.Component;
12import net.kyori.adventure.text.format.NamedTextColor;
13import org.slf4j.Logger;
14
15@Plugin(
16 id = "proxyhub",
17 name = "Proxy Hub",
18 version = "1.0.0",
19 description = "Güvenli yetki kontrolüne sahip Velocity komut örneği.",
20 authors = {"MinborAI"}
21)
22public final class ProxyHub {
23
24 private final ProxyServer server;
25 private final Logger logger;
26
27 @Inject
28 public ProxyHub(ProxyServer server, Logger logger) {
29 this.server = server;
30 this.logger = logger;
31 }
32
33 @Subscribe
34 public void onProxyInitialize(ProxyInitializeEvent event) {
35 CommandManager commandManager = server.getCommandManager();
36
37 CommandMeta meta = commandManager.metaBuilder("guvenlikontrol")
38 .plugin(this)
39 .build();
40
41 commandManager.register(meta, new SafeAdminCommand());
42 logger.info("Proxy Hub ve komutlar başarıyla yüklendi.");
43 }
44
45 private static class SafeAdminCommand implements SimpleCommand {
46 @Override
47 public void execute(Invocation invocation) {
48 // İzin kontrolü: Yetkisi olmayan kullanıcıların komutu tetiklemesi engellenir
49 if (!invocation.source().hasPermission("proxyhub.admin")) {
50 invocation.source().sendMessage(
51 Component.text("Bu komutu kullanmak için yetkiniz yok!", NamedTextColor.RED)
52 );
53 return;
54 }
55
56 invocation.source().sendMessage(
57 Component.text("Yetki doğrulandı. İşlem güvenli.", NamedTextColor.GREEN)
58 );
59 }
60
61 @Override
62 public boolean hasPermission(Invocation invocation) {
63 return invocation.source().hasPermission("proxyhub.admin");
64 }
65 }
66}