Integra il tuo server Minecraft con Minecraft-Kobe: controlla se un giocatore ha votato, consegna il premio in gioco, verifica gli obiettivi collettivi. REST + JSON, pensata per plugin, mod e bot.
Segna il voto come premiato. È atomico: ogni voto si può riscattare una sola volta, quindi non c'è rischio di premi doppi. Corpo: { "player": "Nick" } oppure { "voteId": "…" }.
Elenco dei voti degli ultimi 7 giorni non ancora riscattati, solo di giocatori con Minecraft collegato. Perfetto per un controllo ogni 30-60 secondi dal plugin.
/vota o ingressoIl giocatore entra o digita il comando.
checkSe claimable è true, c'è un premio da dare.
claimSe risponde 200 consegna il premio: ogni voto si riscatta una sola volta.
Per i premi di gruppo usa goal in un controllo periodico (ogni 30-60 s va bene). Chiama sempre l'API in modo asincrono: non bloccare il thread principale del server.
Esempi di codice
Java · Bukkit/Paper
// Bukkit/Paper: premia chi ha votato (esegui in modo asincrono!)
HttpClient http = HttpClient.newHttpClient();
HttpRequest req = HttpRequest.newBuilder(URI.create("https://minecraft-kobe.it/api/v1/votes/claim"))
.header("Authorization", "Bearer " + API_KEY)
.header("Content-Type", "application/json")
.POST(HttpRequest.BodyPublishers.ofString("{\"player\":\"" + player.getName() + "\"}"))
.build();
http.sendAsync(req, HttpResponse.BodyHandlers.ofString()).thenAccept(r -> {
if (r.statusCode() == 200) // voto valido e mai riscattato → dai il premio
Bukkit.getScheduler().runTask(plugin, () -> giveReward(player));
});
Node.js
// Node.js 18+ (bot, sito, webhook)
const r = await fetch("https://minecraft-kobe.it/api/v1/votes/check?player=Steve", {
headers: { Authorization: "Bearer " + process.env.KOBE_API_KEY },
});
const data = await r.json();
if (data.ok && data.claimable) { /* chiama /votes/claim e consegna il premio */ }