v0.89.0 · 5 phases · 30+ fonctionnalités · LWDisplay 1.0.0
Max_Hp configurable). Dégâts sur collision selon la vitesse, véhicule hors service à 0 PV. Mécanicien répare via son kit (+25 PV). Carburant : idée bonus non implémentée./gtlw money give <pseudo> 10000 → action bar affiche le nouveau solde/gtlw money set <pseudo> 50000 → solde passe exactement à 50 000$/gtlw pay <joueur> 500 → 500$ débités de toi, crédités à l'autre/gtlw bank deposit 1000 → liquide réduit, solde banque augmente/gtlw bank withdraw 500 → banque réduit, liquide augmente/gtlw wand → clic droit sur un bloc → GUI admin 36 slots s'ouvregtlw.police, deux joueurs en ligne/gtlw police wanted <joueur> 3 → 3 étoiles sur tab / action bar du cibléWanted_Decay_Seconds → étoiles diminuent automatiquement/gtlw police handcuff <joueur> → joueur menotté/gtlw police uncuff <joueur> → menottes retirées/gtlw police fine <joueur> 500 → 500$ saisis sur le joueurplugins/GTLW/drug/<id>.yml (ex: cannabis.yml), puis regarder un bloc → /gtlw drug station create pour la station de transformation, et un autre bloc → /gtlw drug dealer create pour le revendeur. Donner une graine au testeur : /gtlw drug give <id> seed/gtlw drug list → la drogue configurée apparaît avec son prix de base/gtlw drug give cannabis seed → item "Graine de Cannabis" dans l'inventaireMarket_Volatility)gtlw.police à moins de Police_Detect_Radius blocs → message "repéré", niveau wanted augmente/gtlw job delivery add <id> (minimum 2 points, ex: entrepot et port). Vérifier : /gtlw job delivery list. Les jobs médecin et mécanicien ne nécessitent aucune config./gtlw job list → affiche les 3 jobs (Livreur, Médecin, Mécanicien) avec leur salaire par tâche/gtlw jobs → GUI 54 slots s'ouvre avec les 3 fiches de job cliquables/gtlw job take livreur) → colis apparu dans l'inventaire, message indique le trajet (ex: entrepot → port) et le salaire/gtlw job take medecin → kit médical apparu dans l'inventaire/gtlw job take mecanicien → kit de réparation apparu dans l'inventaire/gtlw job status → affiche le job actuel (et le trajet en cours si livreur)/gtlw job quit → job quitté, confirmation dans le chat/gtlw vehicle spawn sedan → véhicule spawné, joueur entré automatiquement/gtlw vehicle list → liste des véhicules disponibles/gtlw vehicle remove → véhicule supprimé/gtlw garage → GUI garage, véhicule en vert (au garage)/gtlw garage de nouveau → statut jaune "En jeu"/gang create MesAmis MS GOLD → gang créé, tag et couleur confirmés/gang info → affiche nom, tag, couleur, leader, membres, solde/gang invite <joueur2> → joueur 2 reçoit une invitation/gang join → devient MEMBER, confirmation pour les deux/gang promote <joueur2> → rang passe à OFFICER/gang demote <joueur2> → rang repasse à MEMBER/gang chat Bonjour → message visible seulement par les membres/g sans message → mode chat gang activé/gang bank deposit 1000 → cash débité, caisse gang créditée/gang bank withdraw 500 → 500$ retirés de la caisse, crédités au joueur/gang list → liste tous les gangs actifs/gang disband (leader) → gang dissous, membres libérés/gtlw sethospital configuré (admin)/gtlw sethospital → message "Point hôpital enregistré"/tp <joueur> → écran fade au noir, téléportation après ~0.6sMax_Hp configuré dans vehicles/*.yml❤ X/Y PV — couleur verte >60%, jaune >30%, rouge en dessousgtlw.command.property/gtlw property wand → sélecteur polygonal dans l'inventaire + instructions dans le chat/gtlw property create <id> <prix> HOUSE false <nom> avec ≥3 points → propriété créée, YAML sauvegardé au format polygoneX1/Y1/Z1/X2/Y2/Z2) → rechargé sans erreur, converti automatiquement en rectangle 4 pointsGTLW est le plugin cœur du serveur : gamemode GTA-like RP complet — économie cash/banque, armes à feu custom avec raretés, gangs, police et niveau de recherche, drogues, jobs, véhicules, propriétés louables, events. Tout tourne autour de la commande racine /gtlw plus quelques commandes dédiées (/gang, /property, /near, /tpa…).
1. Installer Citizens (dépendance requise pour les PNJ shops/concessionnaires) dans plugins/ — build gratuit compatible Paper 26.2 (ex : Citizens-2.0.43-b4214.jar).
2. Déposer gtlw-1.1.20.jar dans plugins/ (serveur Paper 26.2). ⚠️ Sans Citizens, GTLW ne se charge pas.
3. Distribuer le resourcepack (modèles d'armes, cash, véhicules) — pack_format 88 ; après modification : /gtlw resourcepack reload.
4. Les données joueurs (argent, gangs, véhicules…) sont stockées en SQLite (data.db), les définitions en YAML (weapon/*.yml, shops/*.yml, rarities.yml…).
gtlw.command.main (défaut : tous) — commandes joueur · gtlw.admin et permissions gtlw.command.* (défaut : OP) — commandes d'administration. /gtlw help affiche l'aide adaptée au rang, avec insertion au clic.
Le montage d'une map dans l'ordre, pour ne rien oublier. Chaque étape est indépendante, mais suivre l'ordre évite les mauvaises surprises (ex : un shop qui pointe vers un YAML pas encore rechargé). Astuce transverse : /gtlw wand donne la baguette d'admin qui regroupe shops, dealers, drogue, livraison et coffres dans un seul menu — clic droit sur un bloc.
gtlw-1.1.20.jar (et lwdisplay si utilisé) dans plugins/, redémarrer. Distribuer le resourcepack (pack_format 88). Vérifier que /gtlw répond et qu'aucune erreur Citizens n'apparaît en console./setspawn. Hub BungeeCord → /sethub <serveur>. Respawn hôpital (mort RP) → /gtlw sethospital./gtlw border wand → sélectionner 2 coins → set pour poser la limite (clear pour retirer, info pour vérifier)./gtlw safezone pos1 puis pos2 aux deux coins → /gtlw safezone create <nom>. À faire au minimum sur le spawn et l'hôpital.plugins/GTLW/shops/<id>.yml → /gtlw reload → se placer face au comptoir → /gtlw shop create <id>. Donner un skin au PNJ : le viser → /npc select → /npc skin --url <lien mineskin>. (armurerie, munitions, équipement…)vehicles/*.yml. Poser le PNJ via la baguette admin (menu « concessionnaire ») → lui donner un skin comme un shop. Tester : /gtlw vehicle spawn <id>.plugins/GTLW/drug/<id>.yml → viser le bloc de traitement /gtlw drug station create, viser le comptoir dealer /gtlw drug dealer create. Vérifier le marché : /gtlw drug list./gtlw job delivery add <id> (minimum 2 points, ex : entrepot, port). Vérifier : /gtlw job delivery list./gtlw lootchest create [minTier] [maxTier] [cooldownSec]. Lister / forcer la régénération : /gtlw lootchest list / reset./gtlw property wand → dessiner le polygone au sol (≥3 points) → /gtlw property create (assistant id/prix/type/nom) → /gtlw property setspawn|setdepot <id>.events.yml (intervalle, monde, centre, rayon, tiers). Piloter à la main : /gtlw event gui ou /gtlw event airdrop./ld et utiliser les placeholders ({event}, etc.). Détails dans l'onglet 📟 LWDisplay./gtlw reload, puis tester en conditions réelles : un achat en shop, un job de livraison, un skin de PNJ, un airdrop. Redémarrer une fois pour confirmer que tout persiste (les PNJ Citizens sont sauvegardés par Citizens).Les PNJ (shops, concessionnaires) sont des NPC Citizens persistés par Citizens lui-même — pas besoin de les recréer après un redémarrage, et les skins sont conservés.
deposer).retirer).solde).choisir).quit d'abord pour changer)./gtlw jobs).gang pour la louer au nom de ton gang (payée par la caisse de gang).📱 Le téléphone est un objet (équipement phone) : clic droit → GUI avec ta classe et ton niveau, virement d'argent à un joueur en ligne et gestion de tes véhicules.
/gang c et /g <message>.weapon list pour les IDs). Sans rareté : stats de base — utiliser rarity give/roll pour une version tirée.ammo list pour les IDs).gear list).rarities.yml.show <joueur> pour consulter.reset = vanilla.shops/*.yml).PNJ (Citizens) : les vendeurs et concessionnaires sont désormais des NPC Citizens au modèle joueur (fini les villageois), avec la tête qui suit le joueur (trait LookClose). Les anciens NPC villageois sont convertis automatiquement au premier démarrage. Pour donner un skin : viser le PNJ → /npc select → /npc skin --url <lien mineskin> (ou /npc skin -t <texture> <signature>). Génère tes skins sur mineskin.org.
set pour poser la limite de map ; clear la retire.deny/allow pour dessiner des sous-zones interdites/autorisées.cancel pour abandonner.recherche).menotte).liberer).amende).L'auto-airdrop se règle dans events.yml (activation, intervalle, monde, centre, rayon, tiers min/max). Les events en cours sont relayés par le placeholder {event} de LWDisplay — voir l'onglet 📟.
# 1. Définir les articles dans plugins/GTLW/shops/armurerie.yml puis : /gtlw reload # 2. Se placer à l'endroit voulu, face au comptoir : /gtlw shop create armurerie # 3. Donner un skin au PNJ (Citizens) — le viser puis : /npc select /npc skin --url <lien mineskin> # 4. Tester l'achat : /gtlw shop open armurerie
# 1. Regarder le bloc de traitement puis : /gtlw drug station create # 2. Regarder le comptoir du dealer puis : /gtlw drug dealer create # 3. Donner des graines à un joueur pour tester : /gtlw drug give <joueur> <id> seed # → il plante, récolte (raw), traite à la station (processed), vend au dealer. # Prix dynamiques : /gtlw drug list pour l'état du marché.
# 1. Créer chaque point de livraison sur place : /gtlw job delivery add usine_nord /gtlw job delivery add docks # 2. Vérifier : /gtlw job delivery list # 3. Côté joueur : /gtlw jobs → prendre le job livreur, suivre les points.
# Poser un coffre, le viser, puis (tiers 2 à 4, respawn 10 min) : /gtlw lootchest create 2 4 600 # Forcer un re-remplissage global : /gtlw lootchest reset
/gtlw property wand # Cliquer ≥3 sommets au sol pour dessiner le polygone /gtlw property create # → assistant : id, prix, type (HOUSE…), nom /gtlw property setspawn villa_01 /gtlw property setdepot villa_01 /gtlw property snapshot villa_01 # Côté joueur : /property louer (ou /property louer gang)
# Airdrop immédiat à ta position : /gtlw event airdrop # Traquer un gang pendant 5 passages toutes les 30 s : /gtlw event gang MAFIA 5 30
/gtlw drop.Après toute édition YAML : /gtlw reload. Après modification du resourcepack : rezipper (attention aux forward slashes) puis /gtlw resourcepack reload.
LWDisplay affiche des textes flottants (hologrammes) dans le monde : accueil au spawn, panneaux d'info, compteurs, event en cours… Chaque hologramme est une entité TextDisplay native — fond configurable, texte face au joueur, taille libre. Les lignes acceptent couleurs/gras/dégradés et des placeholders dynamiques rafraîchis chaque seconde.
1. Déposer lwdisplay-1.0.0.jar dans plugins/.
2. Pour le placeholder {event}, il faut aussi gtlw-1.1.16.jar ou plus récent. Sans GTLW, LWDisplay fonctionne quand même — {event} affiche « Aucun événement en cours ».
3. Redémarrer : plugins/LWDisplay/config.yml et holograms.yml sont créés automatiquement.
lwdisplay.admin (défaut : OP) — accès à toute la commande /ld. Les hologrammes sont visibles par tous.
setline.00 à FF).config.yml + holograms.yml et respawne tout — après édition manuelle des fichiers.Toutes les sous-commandes ont la tab-complétion : noms d'hologrammes et valeurs possibles.
Deux syntaxes, mixables dans la même ligne : codes classiques &x et tags MiniMessage <tag>.
Couleur libre (hex) : &#ff8800 ou <#ff8800> — n'importe quelle couleur RRGGBB.
<gradient:#ff0000:#ffaa00:#ffff00>Un tag MiniMessage fermé limite sa portée : <red>rouge</red> normal. Un code & s'applique jusqu'au prochain code.
Piège des codes & : une couleur annule le gras qui précède — &l&6texte = or non-gras. Écrire &6<exte. MiniMessage n'a pas ce problème.
À écrire tels quels dans une ligne — toute ligne qui en contient est rafraîchie automatiquement (1×/seconde par défaut).
HH:mm.jj/MM/aaaa.GTLW ≥ 1.1.16 requis pour {event}. Lien optionnel (softdepend) : sans GTLW, retombe sur « aucun événement ».
# Intervalle de rafraîchissement des lignes dynamiques (ticks, 20 = 1 s) refresh-interval-ticks: 20 event: # Durée (min) pendant laquelle l'airdrop est considéré "en cours" airdrop-duration-minutes: 15 # Idem pour le gang event gang-duration-minutes: 5 # Textes du placeholder {event} — MiniMessage accepté none: "<gray>Aucun événement en cours</gray>" airdrop: "<red><bold>AIRDROP</bold></red> <white>en <yellow>{x}</yellow>, <yellow>{y}</yellow>, <yellow>{z}</yellow></white>" gang: "<aqua><bold>GANG EVENT</bold></aqua> <white>{gang} repéré !</white>"
Dans event.airdrop : {x} {y} {z} = coordonnées du colis. Dans event.gang : {gang} = « [TAG] NomDuGang ».
Généré par les commandes — éditable à la main puis /ld reload :
holograms: bienvenue: world: world x: 0.5 y: 82.0 z: 0.5 scale: 1.5 billboard: CENTER align: CENTER shadow: false see-through: false background: default lines: - "<gradient:gold:yellow><bold>LastWorld</bold></gradient>" - "<white>{players}</white><gray>/{max_players} joueurs</gray>" - "{event}"
Sauvegarde à chaque commande et à l'arrêt du serveur. Si tu édites le fichier pendant que le serveur tourne, fais /ld reload avant toute commande /ld, sinon tes éditions manuelles seront écrasées.
/ld create bienvenue <gradient:#ff0040:#ffaa00><bold>LASTWORLD</bold></gradient>
/ld addline bienvenue &7— <white>{players}</white>&7/{max_players} joueurs —
/ld addline bienvenue {event}
/ld scale bienvenue 1.5
/ld background bienvenue transparent
/ld create infos &6&lINFOS SERVEUR
/ld addline infos &7TPS : &a{tps}
/ld addline infos &7Heure : &e{time} &8· &7{date}
/ld addline infos &7Monde : &f{world} &8(&f{world_players}&8 joueurs)
/ld background infos #80000000
/ld create alerte {event}
/ld scale alerte 2
/ld billboard alerte center
/ld shadow alerte on
/ld create panneau &b&lARMURERIE /ld billboard panneau fixed /ld align panneau center
Un hologramme fixed garde l'orientation qu'il avait au spawn — place-toi face à l'endroit voulu avant le /ld create ou /ld movehere.
Entités : chaque hologramme est une TextDisplay non-persistante, taguée lwdisplay:hologram (PDC). Elle disparaît avec son chunk et le plugin la respawne au rechargement — aucune entité fantôme dans les fichiers de région.
Nettoyage : au démarrage et à chaque chargement de chunk, toute TextDisplay taguée est supprimée avant respawn (reliquats de crash).
Rafraîchissement : une seule tâche (défaut 20 ticks) ne met à jour que les hologrammes dont une ligne contient {. Les statiques ne coûtent rien après le spawn.
Pont GTLW : lecture de fr.gtlw.api.GtlwApi par réflexion (aucune dépendance de compilation, softdepend: [GTLW]). GTLW y enregistre dernier airdrop et dernier gang event depuis GameEventManager. Si les méthodes de GtlwApi changent, mettre à jour GtlwBridge.
Projet : Maven dans GTLW/LWDisplay du repo gtalwplugin. Build : mvn package → target/lwdisplay-1.0.0.jar.