Skip to main content

TItems — PlaceholderAPI & API Développeur / Developer API

 

PlaceholderAPI

FR — TItems expose des placeholders via PlaceholderAPI (identifiant : tboss). Ces placeholders fonctionnent dans un rayon de 50 blocs autour d'un boss actif.
EN — TItems exposes placeholders via PlaceholderAPI (identifier: tboss). These placeholders work within a 50-block radius of an active boss.

⚠️ Nécessite le plugin PlaceholderAPI installé. / Requires PlaceholderAPI installed.

Placeholders disponibles / Available Placeholders

Placeholder Description FR Description EN Valeur si aucun boss
%tboss_near_boss% Boss dans les 50 blocs ? Boss within 50 blocks? ERROR
%tboss_health% HP restants du boss proche Nearby boss remaining HP ERROR
%tboss_type% Type du boss (FINAL_DAMAGE…) Boss type ERROR
%tboss_lead_name_1% Nom du joueur #1 au classement dégâts Player name at damage rank #1 Nobody
%tboss_lead_name_2% Nom du joueur #2 au classement Player name at damage rank #2 Nobody
%tboss_lead_name_N% Nom du joueur #N Player name at rank N Nobody
%tboss_lead_health_1% Dégâts infligés par le joueur #1 Damage dealt by player #1 0
%tboss_lead_health_N% Dégâts infligés par le joueur #N Damage dealt by player #N 0

Usage exemple (scoreboard, HUD…)

Boss proche: %tboss_near_boss%
Vie restante: %tboss_health%
#1 - %tboss_lead_name_1% (%tboss_lead_health_1% dmg)
#2 - %tboss_lead_name_2% (%tboss_lead_health_2% dmg)

API Développeur / Developer API

Le package d'API est fr.totallycorp.titems.api.event. Il expose des Bukkit events personnalisés que les plugins tiers peuvent écouter.
The API package is fr.totallycorp.titems.api.event. It exposes custom Bukkit events that third-party plugins can listen to.


HarvestEvent

Déclenché lors de la récolte d'une culture via les items TItems (Harvester).
Fired when a crop is harvested via TItems items (Harvester).

Méthodes / Methods :

Méthode / Method Retour / Return Description
getPlayer() Player Joueur qui récolte / Harvesting player
getMaterial() Material Type de culture récoltée / Harvested crop type

Exemple / Example :

@EventHandler
public void onHarvest(HarvestEvent event) {
    Player player = event.getPlayer();
    Material crop = event.getMaterial();
    // votre logique / your logic
}

InstantKillEvent (Cancellable)

Déclenché quand un monstre est tué en un coup par la Farming Sword. Annulable.
Fired when a mob is one-shot by the Farming Sword. Cancellable.

Méthodes / Methods :

Méthode / Method Retour / Return Description
getKiller() Player Joueur attaquant / Attacking player
getEntity() LivingEntity Entité tuée / Killed entity
setCancelled(true) void Annule le one-shot / Cancels the one-shot

Exemple / Example :

@EventHandler
public void onInstantKill(InstantKillEvent event) {
    if (someCondition) {
        event.setCancelled(true);
    }
}

PlayerDropOnDeathEvent

Déclenché à la mort d'un joueur pour gérer les drops d'items TItems. Permet de forcer la conservation d'un item spécifique.
Fired on player death to manage TItems item drops. Allows forcing item retention.

Méthodes / Methods :

Méthode / Method Retour / Return Description
getPlayer() Player Joueur décédé / Deceased player
getDrops() List<ItemStack> Items normaux droppés / Normal item drops
getArmor() List<ItemStack> Armures droppées / Armor drops
getAllDrops() List<ItemStack> Tous les drops combinés / All drops combined
keepItem(ItemStack) void Force la conservation d'un item / Forces item retention
getKeep() List<ItemStack> Liste des items conservés / Kept items list

Exemple / Example :

@EventHandler
public void onDeath(PlayerDropOnDeathEvent event) {
    // Conserver tous les Nether Stars / Keep all Nether Stars
    event.getDrops().stream()
        .filter(item -> item.getType() == Material.NETHER_STAR)
        .forEach(event::keepItem);
}

EventStartEvent / EventStopEvent

Événements génériques déclenchés au démarrage et à l'arrêt d'un event TItems (boss, etc.).
Generic events fired on TItems event start and stop.

@EventHandler
public void onEventStart(EventStartEvent event) { /* ... */ }

@EventHandler
public void onEventStop(EventStopEvent event) { /* ... */ }

Accès aux Managers / Manager Access

Tous les managers sont accessibles via l'instance principale du plugin.
All managers are accessible via the plugin's main instance.

Manager Accès / Access Rôle FR Role EN
BossManager TItems.getInstance().getBossManager() Gère les boss actifs Manages active bosses
ScepterManager TItems.getInstance().getScepterManager() Gère les PvP sceptre Manages scepter PvP
MaskManager TItems.getInstance().getMaskManager() Gère les masques équipés Manages equipped masks
SellItemsManager TItems.getInstance().getSellItemsManager() Gère la vente d'items Manages item selling

Exemple — Vérifier si un boss est à proximité

BossManager bm = TItems.getInstance().getBossManager();

boolean isBossNearby = bm.getBossMap().values().stream()
    .anyMatch(boss -> boss.getLoc().distance(player.getLocation()) <= 50);

Exemple — Récupérer le classement dégâts d'un boss

for (Boss boss : bm.getBossMap().values()) {
    HashMap<UUID, Double> damages = boss.getPlayerDamage();
    // trier et afficher / sort and display
}