diff --git a/build.gradle.kts b/build.gradle.kts
index 0bcdf8a..69a87af 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -4,7 +4,7 @@ plugins {
}
group = "me.ghosty"
-version = "1.1.1"
+version = "1.1.2"
repositories {
mavenCentral()
@@ -15,6 +15,7 @@ repositories {
dependencies {
compileOnly("org.spigotmc:spigot-api:1.21-R0.1-SNAPSHOT")
+
// compileOnly("xyz.haoshoku.nick:nickapi:7.2-SNAPSHOT")
compileOnly("xyz/haoshoku/nick:NickAPI:v6.7")
diff --git a/configs/english.yml b/configs/english.yml
index 38fc070..60f05b4 100644
--- a/configs/english.yml
+++ b/configs/english.yml
@@ -40,8 +40,10 @@ drophead:
disguise:
- # Being able to pose the heads
+ # Being able to place the heads
place-head: true
+ # Giving the head back when doing /undisguise and when using another head
+ give-back: false
restaure:
diff --git a/configs/french.yml b/configs/french.yml
index 157def8..f9f9709 100644
--- a/configs/french.yml
+++ b/configs/french.yml
@@ -47,6 +47,8 @@ drophead:
disguise:
# Le fait de pouvoir poser les têtes
place-head: true
+ # Le fait de rendre la tête au /undisguise et quand tu utilises une autre tête
+ give-back: false
restaure:
diff --git a/src/main/java/me/ghosty/kamoof/commands/UndisguiseCMD.java b/src/main/java/me/ghosty/kamoof/commands/UndisguiseCMD.java
index 9b48a8e..1794b48 100644
--- a/src/main/java/me/ghosty/kamoof/commands/UndisguiseCMD.java
+++ b/src/main/java/me/ghosty/kamoof/commands/UndisguiseCMD.java
@@ -1,10 +1,13 @@
package me.ghosty.kamoof.commands;
+import me.ghosty.kamoof.KamoofSMP;
import me.ghosty.kamoof.features.disguise.DisguiseManager;
+import me.ghosty.kamoof.features.drophead.SkullManager;
import me.ghosty.kamoof.utils.Lang;
import me.ghosty.kamoof.utils.Message;
import org.bukkit.command.*;
import org.bukkit.entity.Player;
+import org.bukkit.inventory.ItemStack;
import xyz.haoshoku.nick.api.NickAPI;
import java.util.List;
@@ -22,6 +25,11 @@ public boolean onCommand(CommandSender sender, Command command, String label, St
if (NickAPI.isNicked(player)) {
String disguise = NickAPI.getName(player);
DisguiseManager.undisguise(player);
+ if(KamoofSMP.config().getBoolean("disguise.give-back")) {
+ ItemStack item = SkullManager.getSkull(disguise);
+ if(!player.getInventory().addItem(item).isEmpty())
+ player.getWorld().dropItem(player.getLocation(), item);
+ }
Message.send(player, "messages.undisguise", Map.of("player", NickAPI.getOriginalName(player), "nick", disguise));
} else {
Message.send(player, "messages.nodisguise", Map.of("player", NickAPI.getOriginalName(player)));
diff --git a/src/main/java/me/ghosty/kamoof/features/autoupdate/UpdateChecker.java b/src/main/java/me/ghosty/kamoof/features/autoupdate/UpdateChecker.java
index 6173398..728c0e0 100644
--- a/src/main/java/me/ghosty/kamoof/features/autoupdate/UpdateChecker.java
+++ b/src/main/java/me/ghosty/kamoof/features/autoupdate/UpdateChecker.java
@@ -65,8 +65,7 @@ else if (downloadsCount < 1_000_000)
Pattern pattern = Pattern.compile(Lang.VERSION_CHANGELOG_REGEX.get(), Pattern.CANON_EQ);
Matcher matcher = pattern.matcher(changelog);
matcher.find();
- changelog = matcher.group().replace("\\n", "
");
-// changelog = String.join("
", matcher.group().split("\\\\n"));
+ changelog = matcher.group().replace("\\n", "
").replace("\"", "\\\"");
String hover = String.format(Lang.NEW_VERSION_HOVER.get(), newVersion, downloads, changelog);
String url = "https://modrinth.com/plugin/camouf2/version/" + newVersion;
diff --git a/src/main/java/me/ghosty/kamoof/features/disguise/DisguiseListener.java b/src/main/java/me/ghosty/kamoof/features/disguise/DisguiseListener.java
index 8e4e420..e2cc38c 100644
--- a/src/main/java/me/ghosty/kamoof/features/disguise/DisguiseListener.java
+++ b/src/main/java/me/ghosty/kamoof/features/disguise/DisguiseListener.java
@@ -9,6 +9,7 @@
import org.bukkit.event.entity.PlayerDeathEvent;
import org.bukkit.event.player.PlayerInteractEvent;
import org.bukkit.event.player.PlayerJoinEvent;
+import org.bukkit.inventory.ItemStack;
import xyz.haoshoku.nick.api.NickAPI;
import java.util.Map;
@@ -58,6 +59,11 @@ public void onInteract(PlayerInteractEvent event) {
}
}
+ if (KamoofSMP.config().getBoolean("disguise.give-back") && NickAPI.isNicked(player)) {
+ ItemStack item = SkullManager.getSkull(NickAPI.getName(player));
+ if (!player.getInventory().addItem(item).isEmpty())
+ player.getWorld().dropItem(player.getLocation(), item);
+ }
DisguiseManager.disguise(player, name);
Message.send(player, "messages.disguised", Map.of("player", NickAPI.getOriginalName(player), "nick", name));
diff --git a/src/main/java/me/ghosty/kamoof/features/ritual/RitualHandler.java b/src/main/java/me/ghosty/kamoof/features/ritual/RitualHandler.java
index 88eddd9..654b8f5 100644
--- a/src/main/java/me/ghosty/kamoof/features/ritual/RitualHandler.java
+++ b/src/main/java/me/ghosty/kamoof/features/ritual/RitualHandler.java
@@ -28,10 +28,10 @@ public final class RitualHandler {
new Vector2d(-6, 0),
new Vector2d(-4, -4)
);
+ public static final NamespacedKey key = new NamespacedKey("kamoofsmp", "ritualstand");
static final AttributeModifier healthBoostModifier = new AttributeModifier(new NamespacedKey("kamoofsmp", "pacte"), KamoofSMP.config().getInt("ritual.pactes.bloody.hpboost"), AttributeModifier.Operation.ADD_NUMBER, EquipmentSlotGroup.ANY);
public static boolean setup = false;
public static Location location;
- public static final NamespacedKey key = new NamespacedKey("kamoofsmp", "ritualstand");
public static void load() {
setup = false;
@@ -126,6 +126,8 @@ public static boolean isValidUUID(UUID uuid) {
public static void setPacte(Player player, String pacte) {
KamoofSMP.getData().set("pacte." + player.getUniqueId(), pacte);
KamoofSMP.saveData();
+ if (pacte == null)
+ return;
switch (pacte) {
case "1" -> {
player.getAttribute(Attribute.GENERIC_MAX_HEALTH).addModifier(healthBoostModifier);
diff --git a/src/main/java/me/ghosty/kamoof/utils/Lang.java b/src/main/java/me/ghosty/kamoof/utils/Lang.java
index 820184c..2502c91 100644
--- a/src/main/java/me/ghosty/kamoof/utils/Lang.java
+++ b/src/main/java/me/ghosty/kamoof/utils/Lang.java
@@ -53,16 +53,16 @@ public enum Lang {
PREFIX + "§cCouldn't download/save the last version"
}),
NEW_VERSION(new String[]{
- "[KamoofSMP] ➤ Nouvelle version disponible ! %s ➞ %s",
- "[KamoofSMP] ➤ New version available! %s ➞ %s"
+ "[KamoofSMP] ➤ Nouvelle version disponible ! %s ➞ %s",
+ "[KamoofSMP] ➤ New version available! %s ➞ %s"
}),
NEW_VERSION_HOVER(new String[]{
"Dernière version: Version %s
Téléchargée %s fois
%s
Cliquez pour ouvrir la page de la version",
"Last version: Version %s
Downloaded %s times
%s
Click to open the version page"
}),
NEW_VERSION_DOWNLOADED(new String[]{
- "[KamoofSMP] ➤ Nouvelle version téléchargée ! %s ➞ %s
[RELANCER LE SERVEUR]",
- "[KamoofSMP] ➤ New version downloaded ! %s ➞ %s
[RESTART THE SERVER]"
+ "[KamoofSMP] ➤ Nouvelle version téléchargée ! %s ➞ %s
[RELANCER LE SERVEUR]",
+ "[KamoofSMP] ➤ New version downloaded ! %s ➞ %s
[RESTART THE SERVER]"
}),
VERSION_CHANGELOG_REGEX(new String[]{
"Changements:((?!`).)+",
diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml
index daa386e..a043050 100644
--- a/src/main/resources/config.yml
+++ b/src/main/resources/config.yml
@@ -47,6 +47,8 @@ drophead:
disguise:
# Le fait de pouvoir poser les têtes
place-head: true
+ # Le fait de rendre la tête au /undisguise et quand tu utilises une autre tête
+ give-back: false
restaure:
diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml
index c089780..6730989 100644
--- a/src/main/resources/plugin.yml
+++ b/src/main/resources/plugin.yml
@@ -9,7 +9,7 @@ main: me.ghosty.kamoof.KamoofSMP
commands:
kamoofsmp:
description: La commande principale du KamoofSMP
- aliases: [kamoof]
+ aliases: [kamoof, camouf, camoufsmp]
givehead:
description: Se donner n'importe quelle tête
permission: kamoofsmp.admin