Developer API
Ten poradnik opisuje sposób korzystania z API Goxy, które umożliwia tworzenie własnych pluginów integrujących się z siecią Goxy i jej funkcjami.
Dzięki API Goxy możesz tworzyć własne pluginy, które komunikują się z siecią i rozszerzają jej funkcjonalność.
Dodanie zależności
Pierwszym krokiem jest dodanie goxy-api jako zależności do Twojego projektu pluginu.
- Gradle
- Maven
repositories {
maven {
url "https://repo.goxy.pl"
}
}
dependencies {
compileOnly "pl.goxy.minecraft:goxy-api:1.11.4"
}
<repositories>
<repository>
<id>goxy-repo</id>
<url>https://repo.goxy.pl</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>pl.goxy.minecraft</groupId>
<artifactId>goxy-api</artifactId>
<version>1.11.4</version>
<scope>provided</scope>
</dependency>
</dependencies>
Konfiguracja plugin.yml
Aby upewnić się, że Twój plugin wczytuje się po Goxy, dodaj zależność w pliku plugin.yml:
softdepend:
- "goxy"
lub jeśli Goxy jest wymagane do działania Twojego pluginu:
depend:
- "goxy"
Użyj softdepend, jeśli plugin może działać bez Goxy, lub depend, jeśli wymaga Goxy do poprawnego działania.
Dokumentacja i kod źródłowy
Kod źródłowy pluginu Goxy jest open source i dostępny publicznie. Możesz przejrzeć jego strukturę oraz wykorzystać gotowe przykłady użycia.
Zobacz kod i dokumentację API tutaj: 👉 https://gitlab.com/goxy.pl/minecraft/goxy-plugin
Przykładowe możliwości API
Z pomocą Goxy API możesz:
- przenosić graczy między serwerami,
- sprawdzać status serwerów w sieci,
- wysyłać i odbierać dane pomiędzy pluginami,
- reagować na zdarzenia w czasie rzeczywistym.
API Goxy pozwala tworzyć złożone systemy komunikacji i automatyzacji w Twojej sieci Minecraft.
Przykładowe użycie kodu
Poniższy przykład pokazuje, jak przenieść gracza na inny serwer za pomocą API Goxy:
public final class GoxyTransfer extends JavaPlugin implements CommandExecutor {
@Override
public void onEnable() {
getCommand("goxytransfer").setExecutor(this);
getServer().getMessenger().registerOutgoingPluginChannel(this, "BungeeCord");
getLogger().info("GoxyTransfer włączony! Użyj /goxytransfer <gracz> <serwer_id>");
}
@Override
public void onDisable() {
getServer().getMessenger().unregisterOutgoingPluginChannel(this, "BungeeCord");
getLogger().info("GoxyTransfer wyłączony!");
}
@Override
public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, String[] args) {
if (args.length != 2) {
sender.sendMessage("Użycie: /goxytransfer <gracz> <serwer_id>");
return true;
}
Player targetPlayer = Bukkit.getPlayer(args[0]);
if (targetPlayer == null) {
sender.sendMessage("Gracz " + args[0] + " nie jest online!");
return true;
}
String serverId = args[1];
ByteArrayOutputStream b = new ByteArrayOutputStream();
DataOutputStream out = new DataOutputStream(b);
try {
out.writeUTF("Connect");
out.writeUTF(serverId);
} catch (IOException e) {
sender.sendMessage("Błąd podczas przygotowania transferu: " + e.getMessage());
return true;
}
targetPlayer.sendPluginMessage(this, "BungeeCord", b.toByteArray());
sender.sendMessage("Przenoszę gracza " + targetPlayer.getName() + " na serwer " + serverId + "...");
return true;
}
}
API Goxy jest kompatybilne z większością popularnych silników Minecraft.
⚡ Łatwe połączenie
Dodaj API Goxy do swojego pluginu i połącz się z siecią w kilka sekund.
🔧 Pełna kontrola
Uzyskaj dostęp do metod pozwalających zarządzać graczami i serwerami.
🚀 Open Source
Przeglądaj kod źródłowy i korzystaj z gotowych przykładów.
Linki i zasoby
Najważniejsze linki dla deweloperów Goxy.
| Zasób | Link |
|---|---|
| Repozytorium API | Goxy API Repo |
| Strona Główna | goxy.io |
| Panel Administracyjny | dashboard.goxy.io |
| Discord | Dołącz do społeczności |
| Status usług | status.goxy.io |
🎉 Stwórz własny plugin z Goxy API!
Rozszerz możliwości swojej sieci Minecraft i zautomatyzuj zarządzanie serwerami!
ZAREJESTRUJ SIĘ ZA DARMO