Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ Plugin **Paper** pour serveur SMP qui ajoute un système de **perks** : des item
- **Slots de perks** stockés dans le `PersistentDataContainer` (PDC) de l'équipement, affichés dans le lore.
- **Application via la table de forge** (`PrepareSmithingEvent`) : équipement + item de perk.
- **Niveaux de perks** : crafter plusieurs perks identiques en table de craft donne le niveau supérieur.
- **Cristal d'emplacement** (`slot_expander`) : item craftable qui ajoute des slots à un équipement.
- **Cristal d'emplacement** (`slotExpander`) : item craftable qui ajoute des slots à un équipement.
- **Codex en jeu** (`/perks codex`) : menu 54 slots listant tous les perks, avec leur craft, leur description et leur niveau max.
- **Récupération des perks** : quand un équipement se casse, les perks appliqués sont rendus (avec leur niveau).
- **Rechargement à chaud** (`/perk reload`) : relit tous les YAML et réenregistre les crafts.
Expand Down Expand Up @@ -330,7 +330,7 @@ src/main/java/fr/antidino/smp/
| `perk_slots` | `LIST<STRING>` | Perks appliqués, au format `id` (niv. 1) 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 d'emplacement |
| `slotExpander` | `STRING` | Identifie le cristal d'emplacement |

### Flux d'application d'un perk

Expand Down
36 changes: 18 additions & 18 deletions src/main/java/fr/antidino/smp/CorePlugin.java
Original file line number Diff line number Diff line change
@@ -1,23 +1,23 @@
package fr.antidino.smp;

import fr.antidino.smp.core.listeners.*;
import fr.antidino.smp.core.manager.MessageManager;
import fr.antidino.smp.core.manager.SlotExpander;
import fr.antidino.smp.core.manager.SlotManager;
import fr.antidino.smp.core.manager.codex.CodexListener;
import fr.antidino.smp.core.manager.codex.CodexMenu;
import fr.antidino.smp.core.commands.AdminCommands;
import fr.antidino.smp.core.commands.PerksCommand;
import fr.antidino.smp.core.manager.database.DatabaseManager;
import fr.antidino.smp.core.manager.database.DatabaseProvider;
import fr.antidino.smp.core.SmithingRegisterAllItem;
import fr.antidino.smp.core.manager.perk.config.ConfigPerkManager;
import fr.antidino.smp.core.manager.perk.AbstractPerk;
import fr.antidino.smp.core.manager.perk.PerkEffectListener;
import fr.antidino.smp.core.manager.perk.PerkManager;
import fr.antidino.smp.core.manager.perk.PerkTasks;
import fr.antidino.smp.core.manager.rarity.RarityManager;
import fr.antidino.smp.librairie.PDCBuilder;
import fr.antidino.smp.modules.listeners.*;
import fr.antidino.smp.core.MessageManager;
import fr.antidino.smp.modules.perk.slotExpander.SlotExpander;
import fr.antidino.smp.modules.perk.slotExpander.SlotManager;
import fr.antidino.smp.modules.perk.codex.CodexListener;
import fr.antidino.smp.modules.perk.codex.CodexMenu;
import fr.antidino.smp.modules.commands.AdminCommands;
import fr.antidino.smp.modules.commands.PerksCommand;
import fr.antidino.smp.core.database.DatabaseManager;
import fr.antidino.smp.core.database.DatabaseProvider;
import fr.antidino.smp.modules.perk.SmithingRegisterAllItem;
import fr.antidino.smp.modules.perk.config.ConfigPerkManager;
import fr.antidino.smp.modules.perk.AbstractPerk;
import fr.antidino.smp.modules.perk.listeners.PerkEffectListener;
import fr.antidino.smp.modules.perk.PerkManager;
import fr.antidino.smp.modules.perk.PerkTasks;
import fr.antidino.smp.modules.perk.rarity.RarityManager;
import fr.antidino.smp.core.Utils.PDCBuilder;
import org.bukkit.Bukkit;
import org.bukkit.NamespacedKey;
import org.bukkit.entity.Player;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package fr.antidino.smp.core.manager;
package fr.antidino.smp.core;

import java.util.HashMap;
import java.util.Map;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package fr.antidino.smp.core.manager;
package fr.antidino.smp.core;

import fr.antidino.smp.CorePlugin;
import net.kyori.adventure.text.Component;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package fr.antidino.smp.librairie;
package fr.antidino.smp.core.Utils;

import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.minimessage.MiniMessage;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package fr.antidino.smp.librairie;
package fr.antidino.smp.core.Utils;

import fr.antidino.smp.CorePlugin;
import net.kyori.adventure.text.Component;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package fr.antidino.smp.librairie;
package fr.antidino.smp.core.Utils;

import fr.antidino.smp.CorePlugin;
import fr.antidino.smp.core.manager.perk.AbstractPerk;
import fr.antidino.smp.core.manager.perk.PerkEntry;
import fr.antidino.smp.modules.perk.AbstractPerk;
import fr.antidino.smp.modules.perk.PerkEntry;
import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.minimessage.MiniMessage;
import org.bukkit.NamespacedKey;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package fr.antidino.smp.core.manager.database;
package fr.antidino.smp.core.database;

import com.zaxxer.hikari.HikariConfig;
import com.zaxxer.hikari.HikariDataSource;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package fr.antidino.smp.core.manager.database;
package fr.antidino.smp.core.database;

import fr.antidino.smp.CorePlugin;
import org.bukkit.entity.Player;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
package fr.antidino.smp.core.commands;
package fr.antidino.smp.modules.commands;

import fr.antidino.smp.CorePlugin;
import fr.antidino.smp.core.SmithingRegisterAllItem;
import fr.antidino.smp.core.manager.MessageManager;
import fr.antidino.smp.core.manager.perk.AbstractPerk;
import fr.antidino.smp.librairie.ChatUtil;
import fr.antidino.smp.librairie.PDCBuilder;
import fr.antidino.smp.modules.perk.SmithingRegisterAllItem;
import fr.antidino.smp.core.MessageManager;
import fr.antidino.smp.modules.perk.AbstractPerk;
import fr.antidino.smp.core.Utils.ChatUtil;
import fr.antidino.smp.core.Utils.PDCBuilder;
import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.minimessage.MiniMessage;
import org.bukkit.Material;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package fr.antidino.smp.core.commands;
package fr.antidino.smp.modules.commands;

import fr.antidino.smp.CorePlugin;
import org.bukkit.command.Command;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
package fr.antidino.smp.core.listeners;
package fr.antidino.smp.modules.listeners;

import fr.antidino.smp.CorePlugin;

import fr.antidino.smp.core.SmithingRegisterAllItem;
import fr.antidino.smp.core.manager.CooldownManager;
import fr.antidino.smp.core.manager.SlotManager;
import fr.antidino.smp.core.manager.perk.AbstractPerk;
import fr.antidino.smp.modules.perk.SmithingRegisterAllItem;
import fr.antidino.smp.core.CooldownManager;
import fr.antidino.smp.modules.perk.slotExpander.SlotManager;
import fr.antidino.smp.modules.perk.AbstractPerk;
import net.kyori.adventure.text.minimessage.MiniMessage;
import org.bukkit.Bukkit;
import org.bukkit.Material;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,11 @@
package fr.antidino.smp.core.listeners;
package fr.antidino.smp.modules.listeners;

import fr.antidino.smp.CorePlugin;
import fr.antidino.smp.core.manager.perk.AbstractPerk;
import fr.antidino.smp.core.manager.perk.PerkEntry;
import fr.antidino.smp.modules.perk.AbstractPerk;
import fr.antidino.smp.modules.perk.PerkEntry;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerItemBreakEvent;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class ItemBreakListener implements Listener {
final CorePlugin plugin;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package fr.antidino.smp.core.listeners;
package fr.antidino.smp.modules.listeners;

import fr.antidino.smp.CorePlugin;
import fr.antidino.smp.core.manager.perk.AbstractPerk;
import fr.antidino.smp.modules.perk.AbstractPerk;
import org.bukkit.Bukkit;
import org.bukkit.NamespacedKey;
import org.bukkit.event.EventHandler;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package fr.antidino.smp.core.listeners;
package fr.antidino.smp.modules.listeners;

import com.destroystokyo.paper.event.entity.EntityRemoveFromWorldEvent;
import fr.antidino.smp.CorePlugin;
Expand All @@ -8,13 +8,10 @@
import org.bukkit.World;
import org.bukkit.block.Block;
import org.bukkit.block.Chest;
import org.bukkit.entity.Entity;
import org.bukkit.entity.EntityType;
import org.bukkit.entity.Item;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.entity.EntityDamageEvent;
import org.bukkit.event.entity.EntityDamageEvent.DamageCause;
import org.bukkit.event.entity.ItemDespawnEvent;
import org.bukkit.inventory.ItemStack;
import org.slf4j.Logger;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
package fr.antidino.smp.core.listeners;
package fr.antidino.smp.modules.listeners;


import fr.antidino.smp.CorePlugin;
import fr.antidino.smp.core.manager.perk.AbstractPerk;
import fr.antidino.smp.librairie.PDCBuilder;
import fr.antidino.smp.modules.perk.AbstractPerk;
import fr.antidino.smp.core.Utils.PDCBuilder;
import org.bukkit.event.Listener;
import org.bukkit.event.EventHandler;
import org.bukkit.event.inventory.PrepareSmithingEvent;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package fr.antidino.smp.core.listeners;
package fr.antidino.smp.modules.listeners;

import fr.antidino.smp.CorePlugin;
import org.bukkit.Bukkit;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package fr.antidino.smp.core.manager.perk;
package fr.antidino.smp.modules.perk;
import fr.antidino.smp.CorePlugin;
import fr.antidino.smp.librairie.ItemBuilder;
import fr.antidino.smp.librairie.PDCBuilder;
import fr.antidino.smp.core.Utils.ItemBuilder;
import fr.antidino.smp.core.Utils.PDCBuilder;

import net.kyori.adventure.text.minimessage.MiniMessage;

Expand All @@ -21,7 +21,6 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.util.ArrayList;
import java.util.Collections;
import java.util.LinkedHashMap;
import java.util.List;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package fr.antidino.smp.core.manager.perk;
package fr.antidino.smp.modules.perk;

/**
* Entrée stockée dans la liste de slots d'un équipement.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
package fr.antidino.smp.core.manager.perk;
package fr.antidino.smp.modules.perk;

import fr.antidino.smp.CorePlugin;
import fr.antidino.smp.core.manager.perk.config.ConfigPerkManager;
import fr.antidino.smp.core.manager.perk.config.PerkTypeId;
import fr.antidino.smp.core.manager.perk.type.*;
import fr.antidino.smp.librairie.PDCBuilder;
import fr.antidino.smp.modules.perk.config.ConfigPerkManager;
import fr.antidino.smp.modules.perk.config.PerkTypeId;
import fr.antidino.smp.modules.perk.type.*;
import fr.antidino.smp.core.Utils.PDCBuilder;
import org.bukkit.NamespacedKey;
import org.bukkit.entity.Player;
import org.bukkit.inventory.EquipmentSlot;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package fr.antidino.smp.core.manager.perk;
package fr.antidino.smp.modules.perk;

import fr.antidino.smp.CorePlugin;
import fr.antidino.smp.core.manager.perk.config.PerkTypeId;
import fr.antidino.smp.modules.perk.config.PerkTypeId;
import org.bukkit.Bukkit;
import org.bukkit.GameMode;
import org.bukkit.Location;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package fr.antidino.smp.core;
package fr.antidino.smp.modules.perk;

import fr.antidino.smp.CorePlugin;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package fr.antidino.smp.core.manager.codex;
package fr.antidino.smp.modules.perk.codex;

import fr.antidino.smp.CorePlugin;
import fr.antidino.smp.core.manager.perk.AbstractPerk;
import fr.antidino.smp.modules.perk.AbstractPerk;
import org.bukkit.Material;
import org.bukkit.Sound;
import org.bukkit.entity.Player;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package fr.antidino.smp.core.manager.codex;
package fr.antidino.smp.modules.perk.codex;

import fr.antidino.smp.CorePlugin;
import fr.antidino.smp.core.manager.perk.AbstractPerk;
import fr.antidino.smp.librairie.ItemBuilder;
import fr.antidino.smp.modules.perk.AbstractPerk;
import fr.antidino.smp.core.Utils.ItemBuilder;
import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.minimessage.MiniMessage;
import org.bukkit.Bukkit;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,8 @@
package fr.antidino.smp.core.manager.perk.config;
package fr.antidino.smp.modules.perk.config;

import fr.antidino.smp.CorePlugin;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.configuration.file.YamlConfiguration;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.io.File;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package fr.antidino.smp.core.manager.perk.config;
package fr.antidino.smp.modules.perk.config;

public class PerkTypeId {
private PerkTypeId(){}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
package fr.antidino.smp.core.manager.perk;
package fr.antidino.smp.modules.perk.listeners;

import fr.antidino.smp.CorePlugin;
import fr.antidino.smp.core.manager.CooldownManager;
import fr.antidino.smp.core.manager.perk.config.PerkTypeId;
import fr.antidino.smp.core.manager.perk.type.WardenPerk;
import fr.antidino.smp.core.CooldownManager;
import fr.antidino.smp.modules.perk.AbstractPerk;
import fr.antidino.smp.modules.perk.config.PerkTypeId;
import fr.antidino.smp.modules.perk.type.WardenPerk;
import net.kyori.adventure.text.minimessage.MiniMessage;
import org.bukkit.Bukkit;
import org.bukkit.Material;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package fr.antidino.smp.core.manager.rarity;
package fr.antidino.smp.modules.perk.rarity;

import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.minimessage.MiniMessage;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package fr.antidino.smp.core.manager.rarity;
package fr.antidino.smp.modules.perk.rarity;

import fr.antidino.smp.CorePlugin;
import fr.antidino.smp.core.manager.perk.AbstractPerk;
import fr.antidino.smp.modules.perk.AbstractPerk;
import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.minimessage.MiniMessage;
import org.bukkit.configuration.ConfigurationSection;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
package fr.antidino.smp.core.manager;
package fr.antidino.smp.modules.perk.slotExpander;

import fr.antidino.smp.CorePlugin;
import fr.antidino.smp.core.SmithingRegisterAllItem;
import fr.antidino.smp.librairie.ItemBuilder;
import fr.antidino.smp.librairie.PDCBuilder;
import fr.antidino.smp.modules.perk.SmithingRegisterAllItem;
import fr.antidino.smp.core.Utils.ItemBuilder;
import fr.antidino.smp.core.Utils.PDCBuilder;
import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.minimessage.MiniMessage;
import org.bukkit.Bukkit;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
package fr.antidino.smp.core.manager;
package fr.antidino.smp.modules.perk.slotExpander;

import fr.antidino.smp.CorePlugin;
import fr.antidino.smp.librairie.ItemBuilder;
import fr.antidino.smp.librairie.PDCBuilder;
import fr.antidino.smp.core.Utils.ItemBuilder;
import fr.antidino.smp.core.Utils.PDCBuilder;
import org.bukkit.Material;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;
import org.bukkit.persistence.PersistentDataContainer;
import org.bukkit.persistence.PersistentDataType;
import fr.antidino.smp.core.manager.perk.PerkEntry;
import fr.antidino.smp.modules.perk.PerkEntry;

import java.util.ArrayList;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package fr.antidino.smp.core.manager.perk.type;
package fr.antidino.smp.modules.perk.type;

import fr.antidino.smp.CorePlugin;
import fr.antidino.smp.core.manager.perk.AbstractPerk;
import fr.antidino.smp.librairie.ItemBuilder;
import fr.antidino.smp.modules.perk.AbstractPerk;
import fr.antidino.smp.core.Utils.ItemBuilder;
import org.bukkit.NamespacedKey;
import org.bukkit.Registry;
import org.bukkit.attribute.Attribute;
Expand Down
Loading
Loading