Back to portfolio
Development

KebabClan

Clan points and ranking based on members' kills, money and deaths.

Category
Development
Client
Kebab SMP
Status
Live
Year
2026
Studio
Crafteva

Overview

KebabClan adds a competitive ranking on top of the server's clans. Each clan earns points from the kills of its members, the money they hold and loses points for their deaths.

Kills stay with the clan even if the player leaves later, while money always counts for the clan a player currently belongs to. The ranking is recalculated automatically and is also used by KebabArena to assign the reserved stands.

Features

  • Points = kills × value + money ÷ rate − deaths × value
  • Anti-farm: the same killer and victim count once every few minutes
  • Ranking menu and PlaceholderAPI placeholders
  • Richest players shown in a menu with their heads
  • Automatic recalculation at a configurable interval

Code

/** A player died: their clan gets a death, the killer's clan gets a kill. */
void morte(UUID vittima, UUID killer) {
    var clanVittima = Guilds.di(vittima);
    if (clanVittima.isPresent() && (killer != null || !cfg.getBoolean("morti-solo-pvp", false))) {
        stat.computeIfAbsent(clanVittima.get().id(), k -> new int[2])[1]++;
    }
    if (killer == null || killer.equals(vittima)) return;
    var clanKiller = Guilds.di(killer);
    if (clanKiller.isEmpty()) return;
    // killing a member of your own clan does not count
    if (clanVittima.isPresent() && clanVittima.get().id() == clanKiller.get().id()) return;
    String coppia = killer + ":" + vittima;
    long ora = System.currentTimeMillis();
    Long prima = ultimaKill.get(coppia);
    if (prima != null && ora - prima < cfg.getLong("anti-farm-minuti", 10) * 60_000L) return;
    ultimaKill.put(coppia, ora);
    stat.computeIfAbsent(clanKiller.get().id(), k -> new int[2])[0]++;
}
02
DevelopmentLive

KebabArena

A PvP arena with a warriors' queue, 1v1 duels and spectator stands.

04
DevelopmentLive

KebabRewards

Daily and weekly rewards plus a seasonal battle pass with a free and a VIP track.

Start a project

Have a project in mind?

Let's turn your ideas into something extraordinary.