Skip to content

Commit

Permalink
1.2.0
Browse files Browse the repository at this point in the history
  • Loading branch information
Ghosty920 committed Oct 5, 2024
1 parent 5ab0141 commit 9a4074f
Show file tree
Hide file tree
Showing 10 changed files with 136 additions and 31 deletions.
2 changes: 1 addition & 1 deletion build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ plugins {
}

group = "me.ghosty"
version = "1.1.2"
version = "1.2.0"

repositories {
mavenCentral()
Expand Down
21 changes: 18 additions & 3 deletions configs/english.yml
Original file line number Diff line number Diff line change
Expand Up @@ -66,8 +66,8 @@ ritual:
# The content of the 2 pages to perform the different pacts
# %command1% = Bloody Pact, %command2% = Forgotten Pact
pages:
- "<dark_red>Bloody Pact<br><br><red>This pact allows you to increase your life by <dark_red>5 <red>hearts, but your next death will cost you 3 heads...<br><dark_red><b>Will you accept it?<br><br><click:run_command:%command1%><red><b>[Accept the Pact]"
- "<dark_gray>Forgotten Pact<br><br><gray>This pact allows you to <dark_gray><b>leave no head</b> <gray>behind you when you die, however for the rest of this life you will be weaker<br><dark_gray><b>Will you accept it?<br><br><click:run_command:%command2%>[Accept the Pact]"
- "<dark_red>Bloody Pact<br><br><red>This pact allows you to increase your life by <dark_red>5 <red>hearts, but your next death will cost you 3 heads...<br><dark_red><b>Will you accept it?<br><br><hover:show_text:\"<dark_purple>Click to accept this pact\"><click:run_command:%command1%><red><b>[Accept the Pact]"
- "<dark_gray>Forgotten Pact<br><br><gray>This pact allows you to <dark_gray><b>leave no head</b> <gray>behind you when you die, however for the rest of this life you will be weaker<br><dark_gray><b>Will you accept it?<br><br><hover:show_text:\"<dark_purple>Click to accept this pact\"><click:run_command:%command2%>[Accept the Pact]"
pactes:
bloody:
# Bloody Pact HP Boost
Expand Down Expand Up @@ -100,14 +100,29 @@ ritual:
size: 1
# The percentage chance of having a lava particle
lava-chance: 5
# If the lava particles should do a sound at the send
# If the lava particles should make a sound when dropping
lava-sound: false
# The minimum & maximum time to start a ritual
# Example: 0 & 12000 will prevent it during the night
# Put 0 & 24000 to disable it
min-time: 0
max-time: 24000

# The settings of the animation when the pact is accepted
accepted:
# The radius of the lava sphere
lava-radius: 1.5
# The count of lava particles
lava-particles: 300
# If the lava particles should make a sound when dropping
lava-sound: false
# The count of flame particles
flame-particles: 500
# The speed/distance made by the flame particles
flame-speed: 0.5
# If the particles should be blue
flame-soul: true


# Information:
# There is no way to block the mace from being put into the enderchest (yet?)
Expand Down
21 changes: 18 additions & 3 deletions configs/french.yml
Original file line number Diff line number Diff line change
Expand Up @@ -71,8 +71,8 @@ ritual:
# Le contenu des 2 pages pour effectuer les différents pactes
# %command1% = Pacte Ensanglanté, %command2% = Pacte Oublié
pages:
- "<dark_red>Pacte Ensanglanté<br><br><red>Ce pacte te permet d'augmenter ta vie de <dark_red>5 <red>coeurs t'est proposé, mais ta prochaine mort te coûtera 3 têtes...<br><dark_red><b>Vas-tu l'accepter ?<br><br><click:run_command:%command1%><red><b>[Accepter le Pacte]"
- "<dark_gray>Pacte Oublié<br><br><gray>Ce pacte te permet de ne <dark_gray><b>pas laisser de tête</b> <gray>derrière toi à ta mort, cependant durant le restant de cette vie tu seras plus faible<br><dark_gray><b>Vas-tu l'accepter ?<br><br><click:run_command:%command2%>[Accepter le Pacte]"
- "<dark_red>Pacte Ensanglanté<br><br><red>Ce pacte te permet d'augmenter ta vie de <dark_red>5 <red>coeurs t'est proposé, mais ta prochaine mort te coûtera 3 têtes...<br><dark_red><b>Vas-tu l'accepter ?<br><br><hover:show_text:\"<dark_purple>Clique pour accepter ce pacte\"><click:run_command:%command1%><red><b>[Accepter le Pacte]"
- "<dark_gray>Pacte Oublié<br><br><gray>Ce pacte te permet de ne <dark_gray><b>pas laisser de tête</b> <gray>derrière toi à ta mort, cependant durant le restant de cette vie tu seras plus faible<br><dark_gray><b>Vas-tu l'accepter ?<br><br><hover:show_text:\"<dark_purple>Clique pour accepter ce pacte\"><click:run_command:%command2%>[Accepter le Pacte]"
pactes:
bloody:
# Le boost de pv du Pacte Ensanglanté
Expand Down Expand Up @@ -105,14 +105,29 @@ ritual:
size: 1
# Le pourcentage de chance d'avoir une particule de lave
lava-chance: 5
# Si les particules de lave produisent du son à la fin
# Si les particules de lave produisent du son quand elles tombent
lava-sound: false
# Les temps dans le monde minimum & maximum pour lancer le rituel
# Exemple: 0 & 12000 empêchera de lancer le rituel la nuit
# Mettez 0 & 24000 pour désactiver la vérification
min-time: 0
max-time: 24000

# Les paramètres de l'animation quand le pacte est accepté
accepted:
# Le rayon de la sphère de lave
lava-radius: 1.5
# Le nombre de particules de lave
lava-particles: 300
# Si les particules de lave produisent du son quand elles tombent
lava-sound: false
# Le nombre de particules de flamme
flame-particles: 500
# La vitesse/distance parcourue des particules de flamme
flame-speed: 0.5
# Si les particules de flamme doivent être bleues
flame-soul: true


# Information:
# Il n'y a pas de moyen de bloquer la mise de la mace dans l'enderchest (pour le moment?)
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/me/ghosty/kamoof/commands/KamoofCMD.java
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ public boolean onCommand(CommandSender sender, Command command, String label, St
return true;
}
case "book": {
player.getInventory().addItem(RitualBook.getBook(RitualHandler.addNewUUID()));
player.getWorld().dropItemNaturally(player.getLocation(), RitualBook.getBook(RitualHandler.addNewUUID()));
return true;
}
case "setup": {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ public UpdateChecker() {

public boolean checkForUpdate() {
try {
Bukkit.getConsoleSender().sendMessage(Lang.UPDATE_CHECKING.get());
String data = HTTPUtils.get("https://api.modrinth.com/v2/project/camouf2/version",
new HashMap<>() {{
put("User-Agent", "github: @Ghosty920/KamoofSMP-S2/v" + currentVersion);
Expand Down Expand Up @@ -86,13 +87,15 @@ public boolean downloadUpdate(String url) {
if (url == null)
return false;
try {
Bukkit.getConsoleSender().sendMessage(Lang.UPDATE_DOWNLOADING.get());
HTTPUtils.RawResponse response = HTTPUtils.getRaw(url,
new HashMap<>() {{
put("User-Agent", "github: @Ghosty920/KamoofSMP-S2/v" + currentVersion);
}});
URL location = KamoofSMP.class.getProtectionDomain().getCodeSource().getLocation();
Files.write(Path.of(location.toURI()), response.response());

Bukkit.getConsoleSender().sendMessage(Lang.UPDATE_DOWNLOADED.get());
Bukkit.getScheduler().runTask(KamoofSMP.getInstance(),
() -> Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "restart"));

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package me.ghosty.kamoof.features.macelimiter;

import me.ghosty.kamoof.KamoofSMP;
import org.bukkit.GameMode;
import org.bukkit.Bukkit;
import org.bukkit.Material;
import org.bukkit.event.*;
import org.bukkit.event.block.CrafterCraftEvent;
Expand All @@ -11,6 +11,25 @@

public final class MaceLimiter implements Listener {

// fix un bug avec certaines versions spigot
public MaceLimiter() {
try {
Bukkit.getPluginManager().registerEvents(new Listener() {

@EventHandler(priority = EventPriority.HIGHEST)
public void onCrafter(CrafterCraftEvent event) {
if (event.getResult().getType() != Material.MACE)
return;
if (canCraft()) add();
else event.setCancelled(true);
}

}, KamoofSMP.getInstance());
} catch (Throwable exc) {
exc.printStackTrace();
}
}

public static void add() {
KamoofSMP.getData().set("maces", KamoofSMP.getData().getInt("maces", 0) + 1);
KamoofSMP.saveData();
Expand All @@ -23,17 +42,16 @@ public static boolean canCraft() {
@EventHandler(priority = EventPriority.HIGHEST)
public void onPrepareCraft(PrepareItemCraftEvent event) {
ItemStack result = event.getInventory().getResult();
if (event.getView().getPlayer().getGameMode() == GameMode.CREATIVE)
return;
if (result != null && result.getType() == Material.MACE)
if (!canCraft())
event.getInventory().setResult(null);
// if (event.getView().getPlayer().getGameMode() == GameMode.CREATIVE)
// return;
if (result != null && result.getType() == Material.MACE && !canCraft())
event.getInventory().setResult(null);
}

@EventHandler(priority = EventPriority.HIGHEST)
public void onCraft(CraftItemEvent event) {
if (event.getView().getPlayer().getGameMode() == GameMode.CREATIVE)
return;
// if (event.getView().getPlayer().getGameMode() == GameMode.CREATIVE)
// return;
if (event.getCurrentItem().getType() != Material.MACE)
return;

Expand All @@ -56,16 +74,4 @@ public void onCraft(CraftItemEvent event) {
else
event.setCancelled(true);
}

@EventHandler(priority = EventPriority.HIGHEST)
public void onCrafter(CrafterCraftEvent event) {
if (event.getResult().getType() != Material.MACE)
return;

if (canCraft())
add();
else
event.setCancelled(true);
}

}
35 changes: 35 additions & 0 deletions src/main/java/me/ghosty/kamoof/features/ritual/RitualHandler.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import me.ghosty.kamoof.KamoofSMP;
import me.ghosty.kamoof.utils.Message;
import me.ghosty.kamoof.utils.SLocation;
import org.bukkit.*;
import org.bukkit.attribute.Attribute;
import org.bukkit.attribute.AttributeModifier;
Expand All @@ -15,6 +16,8 @@

import java.util.*;

import static me.ghosty.kamoof.KamoofSMP.config;

public final class RitualHandler {

public static final ArrayList<ArmorStand> armorStands = new ArrayList<>();
Expand Down Expand Up @@ -138,6 +141,38 @@ public static void setPacte(Player player, String pacte) {
Message.send(player, "messages.chose-forgotten", Map.of("player", NickAPI.getOriginalName(player)));
}
}

/*
* Animation
*/
final Particle lavaParticle = config().getBoolean("ritual.accepted.lava-sound")
? Particle.DRIPPING_DRIPSTONE_LAVA
: Particle.DRIPPING_LAVA;
final World world = player.getWorld();
final double radius = config().getDouble("ritual.accepted.lava-radius"),
particles = config().getDouble("ritual.accepted.lava-particles");
final Location loc = new SLocation(player.getLocation()).plus(0, 0.9, 0);

for (int i = 0; i < particles; i++) {
double rand1 = Math.random(), rand2 = Math.random();

double phi = 2 * Math.PI * rand1;
double posY = loc.getY() + radius * Math.cos(phi);
double phiSin = Math.sin(phi);

double angle = 2 * Math.PI * rand2;
double posX = loc.getX() + (radius * Math.cos(angle) * phiSin);
double posZ = loc.getZ() + (radius * Math.sin(angle) * phiSin);

world.spawnParticle(lavaParticle, posX, posY, posZ, 1, 0, 0, 0, 0, null, true);
}

world.spawnParticle(
config().getBoolean("ritual.accepted.flame-soul") ? Particle.SOUL_FIRE_FLAME : Particle.FLAME,
loc,
config().getInt("ritual.accepted.flame-particles"), 0, 0, 0,
config().getDouble("ritual.accepted.flame-speed"), null, true
);
}

public static String getPacte(Player player) {
Expand Down
12 changes: 12 additions & 0 deletions src/main/java/me/ghosty/kamoof/utils/Lang.java
Original file line number Diff line number Diff line change
Expand Up @@ -44,14 +44,26 @@ public enum Lang {
PREFIX + "§aVous vous êtes donné la tête de §e%s",
PREFIX + "§aGave yourself the head of §e%s"
}),
UPDATE_CHECKING(new String[]{
PREFIX + "§aVérification de la dernière version...",
PREFIX + "§aChecking for the last version available..."
}),
UPDATE_CHECKER_FAIL(new String[]{
PREFIX + "§cImpossible de récupérer/traiter la dernière version",
PREFIX + "§cCouldn't fetch/process the last version"
}),
UPDATE_DOWNLOADING(new String[]{
PREFIX + "§aTéléchargement de la dernière version...",
PREFIX + "§aDownloading the last version available..."
}),
UPDATE_DOWNLOAD_FAIL(new String[]{
PREFIX + "§cImpossible de télécharger/sauvegarder la dernière version",
PREFIX + "§cCouldn't download/save the last version"
}),
UPDATE_DOWNLOADED(new String[]{
PREFIX + "§aNouvelle version téléchargée avec succès. Redémarrage du serveur.",
PREFIX + "§aNew version downloaded successfully. Restarting the server."
}),
NEW_VERSION(new String[]{
"<hover:show_text:\"%s\"><click:open_url:'%s'><green><bold>[KamoofSMP]</bold> ➤ Nouvelle version disponible ! <yellow><bold>%s ➞ %s</hover>",
"<hover:show_text:\"%s\"><click:open_url:'%s'><green><bold>[KamoofSMP]</bold> ➤ New version available! <yellow><bold>%s ➞ %s</hover>"
Expand Down
4 changes: 4 additions & 0 deletions src/main/java/me/ghosty/kamoof/utils/SLocation.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,10 @@
*/
public class SLocation extends Location {

public SLocation(Location location) {
super(location.getWorld(), location.getX(), location.getY(), location.getZ());
}

public SLocation(World world, double x, double y, double z) {
super(world, x, y, z);
}
Expand Down
21 changes: 18 additions & 3 deletions src/main/resources/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -71,8 +71,8 @@ ritual:
# Le contenu des 2 pages pour effectuer les différents pactes
# %command1% = Pacte Ensanglanté, %command2% = Pacte Oublié
pages:
- "<dark_red>Pacte Ensanglanté<br><br><red>Ce pacte te permet d'augmenter ta vie de <dark_red>5 <red>coeurs t'est proposé, mais ta prochaine mort te coûtera 3 têtes...<br><dark_red><b>Vas-tu l'accepter ?<br><br><click:run_command:%command1%><red><b>[Accepter le Pacte]"
- "<dark_gray>Pacte Oublié<br><br><gray>Ce pacte te permet de ne <dark_gray><b>pas laisser de tête</b> <gray>derrière toi à ta mort, cependant durant le restant de cette vie tu seras plus faible<br><dark_gray><b>Vas-tu l'accepter ?<br><br><click:run_command:%command2%>[Accepter le Pacte]"
- "<dark_red>Pacte Ensanglanté<br><br><red>Ce pacte te permet d'augmenter ta vie de <dark_red>5 <red>coeurs t'est proposé, mais ta prochaine mort te coûtera 3 têtes...<br><dark_red><b>Vas-tu l'accepter ?<br><br><hover:show_text:\"<dark_purple>Clique pour accepter ce pacte\"><click:run_command:%command1%><red><b>[Accepter le Pacte]"
- "<dark_gray>Pacte Oublié<br><br><gray>Ce pacte te permet de ne <dark_gray><b>pas laisser de tête</b> <gray>derrière toi à ta mort, cependant durant le restant de cette vie tu seras plus faible<br><dark_gray><b>Vas-tu l'accepter ?<br><br><hover:show_text:\"<dark_purple>Clique pour accepter ce pacte\"><click:run_command:%command2%>[Accepter le Pacte]"
pactes:
bloody:
# Le boost de pv du Pacte Ensanglanté
Expand Down Expand Up @@ -105,14 +105,29 @@ ritual:
size: 1
# Le pourcentage de chance d'avoir une particule de lave
lava-chance: 5
# Si les particules de lave produisent du son à la fin
# Si les particules de lave produisent du son quand elles tombent
lava-sound: false
# Les temps dans le monde minimum & maximum pour lancer le rituel
# Exemple: 0 & 12000 empêchera de lancer le rituel la nuit
# Mettez 0 & 24000 pour désactiver la vérification
min-time: 0
max-time: 24000

# Les paramètres de l'animation quand le pacte est accepté
accepted:
# Le rayon de la sphère de lave
lava-radius: 1.5
# Le nombre de particules de lave
lava-particles: 300
# Si les particules de lave produisent du son quand elles tombent
lava-sound: false
# Le nombre de particules de flamme
flame-particles: 500
# La vitesse/distance parcourue des particules de flamme
flame-speed: 0.5
# Si les particules de flamme doivent être bleues
flame-soul: true


# Information:
# Il n'y a pas de moyen de bloquer la mise de la mace dans l'enderchest (pour le moment?)
Expand Down

0 comments on commit 9a4074f

Please sign in to comment.