Repository navigation
Architecture
Antidino35 edited this page Oct 28, 2026
·
1 revision
src/main/java/fr/antidino/smp/
├── CorePlugin.java # onEnable / onDisable, câblage, fullReload()
├── core/
│ ├── CooldownManager.java # Cooldown par joueur
│ ├── MessageManager.java # Messages traduits (lang/*.yml)
│ ├── database/
│ │ ├── DatabaseManager.java # Pool Hikari + création des tables
│ │ └── DatabaseProvider.java # Requêtes SQL
│ └── Utils/
│ ├── ItemBuilder.java # Builder d'ItemStack
│ ├── PDCBuilder.java # Clés PDC, slots et perks sur les items
│ └── ChatUtil.java
└── modules/
├── commands/ # AdminCommands (/perk), PerksCommand (/perks)
├── listeners/ # Crafting, Smithing, ItemBreak, PlayerJoin,
│ # SavingPerkListeners, VoidItemSaver
└── perk/
├── AbstractPerk.java # Base : YAML, craft, niveaux, items
├── PerkManager.java # Registre + lecture des perks équipés
├── PerkEntry.java # Entrée de slot "id" ou "id:niveau"
├── PerkTasks.java # Tâche répétée (vision, aimant, double saut)
├── SmithingRegisterAllItem.java
├── codex/ # CodexMenu, CodexListener
├── config/ # ConfigPerkManager, PerkTypeId
├── listeners/ # PerkEffectListener
├── rarity/ # RarityManager, Rarity
├── slotExpander/ # SlotExpander, SlotManager
└── type/ # Passive, Attribute, Warden, NoFall
| Clé | Type | Rôle |
|---|---|---|
max_slots |
INTEGER |
Nombre de slots |
used_slots |
INTEGER |
Slots occupés |
perk_slots |
LIST<STRING> |
Perks appliqués (id ou id:niveau) |
perk_id |
STRING |
Identifie un item de perk |
perk_level |
INTEGER |
Niveau de l'item de perk |
slot_expander |
STRING |
Identifie le cristal |
Joueur place équipement + perk dans la table de forge
│
▼
PrepareSmithingEvent ──► SmithingListener
├─ cristal ? → SlotManager.expandSlots()
└─ perk + slot libre ? → applyPerkToNextAvailableSlot()
└─ AbstractPerk.onApply(item, niveau)
▼
Résultat : attributs, lore et PDC mis à jour
| Bibliothèque | Version | Rôle |
|---|---|---|
paper-api |
[26.3.build,) |
API serveur (provided) |
sqlite-jdbc |
3.53.4.0 | Base locale |
HikariCP |
7.1.0 | Pool de connexions |
| Adventure / MiniMessage | fournie par Paper | Textes formatés |
Build : maven-compiler-plugin 3.13.0, maven-shade-plugin 3.5.3. Le filtrage Maven est actif sur src/main/resources.
Développé par Antidino • Vertex Studio • Dépôt GitHub
⚔️ SMPplugin
🚀 Démarrer
📖 Référence
🛠️ Développeur
❓ Aide