Skip to content

Commit bb622ad

Browse files
iambibigtolontop
andauthored
Ajout de SFX (détails) dans la feature des rêves (clone npc, particle when enter/leave, ...) (#1206)
* Fix soul chestplate altar crafting * Change SoulAxe rarity from COMMON to RARE * Correctif de la possibilité de se faire de l'argent a l'infini (#1158) * fix: claim dupli * fix: Cannot invoke "String.isEmpty()" because "content" is null * fix: FancyNpcsPlugin is null * fix: incorrect singularity transfer (#1157) * Refonte du principe pour aller dans la dimension des rêves (#1156) * fix: dream sleep (100%) * rework: sleep to dream * fix: metal detector chest spawning only in +x +z direction (#1169) Fixes #1121 - findRandomChestLocation was using nextInt(20) for both dx and dz, restricting chest spawns to the north-east quadrant only. Changed to nextInt(41) - 20 so chests can appear in all four directions. * Add tests methods in contributing.md * Update CONTRIBUTING.md * Update CONTRIBUTING.md * fix Double is null (#1192) * fix if milestone was finished (#1193) * Update target path for OpenMC.jar in workflow * Add sleeping npc at sleeping location of player when dream * Update pterodactyl-upload-action to version 2.5 * Add command to restart OpenMC after deployment * add more sfx (leave/enter) + rework of methods in ParticleUtils * Update source path for OpenMC.jar in workflow * add more sfx (singularity crafting, leave, enter) + move all dream listener * add more sfx (orb obtain) * Update source path for OpenMC.jar in workflow * Update source path for OpenMC.jar in workflow * Update target path in milestone-close.yml * Update milestone-close.yml * Downgrade pterodactyl-upload-action version to v2.4 * Update milestone-close.yml * Update milestone-close.yml * Update milestone-close.yml * add different pose in case if player is sleeping or fallback case sitting * equilibrate sfx * improve data particle in ParticleUtils, fixes particles, sfx ... * build: fix * buuild :fix --------- Co-authored-by: Gtol <162237671+gtolontop@users.noreply.github.com>
1 parent 4a3d169 commit bb622ad

25 files changed

Lines changed: 471 additions & 92 deletions

.github/workflows/milestone-close.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,10 +58,10 @@ jobs:
5858
GITHUB_TOKEN: ${{ secrets.RELEASE_TOKEN }}
5959

6060
- name: Deploy to server
61-
uses: rexlmanu/pterodactyl-upload-action@v2.4
61+
uses: blobles-dev/pterodactyl-upload-action@pterodactyl-file-upload-modification-allow-http-200-fileupload
6262
with:
6363
panel-host: ${{ secrets.PANEL_HOST }}
6464
api-key: ${{ secrets.API_KEY }}
6565
server-id: ${{ secrets.SERVER_ID }}
6666
source: builds/OpenMC.jar
67-
target: "./plugins/OpenMC.jar"
67+
target: "./plugins/update/"

src/main/java/fr/openmc/api/hooks/FancyNpcsHook.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ public class FancyNpcsHook {
77
@Getter
88
private static boolean hasFancyNpc = false;
99

10+
public static long FANCY_INIT_DELAY = 20L * 30; // 30 seconds
11+
1012
public static void init() {
1113
hasFancyNpc = Bukkit.getPluginManager().isPluginEnabled("FancyNpcs");
1214
}

src/main/java/fr/openmc/core/features/city/view/CityViewManager.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -186,8 +186,8 @@ private static void showChunkBorders(@NotNull Player player, @NotNull ChunkPos c
186186
particleLocations.forEach(location ->
187187
ParticleUtils.sendParticlePacket(
188188
player,
189-
location,
190189
particle,
190+
location,
191191
1,
192192
0D, 0D, 0D,
193193
0D,

src/main/java/fr/openmc/core/features/dream/DreamManager.java

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,17 +18,15 @@
1818
import fr.openmc.core.features.dream.generation.listeners.CloudStructureDispenserListener;
1919
import fr.openmc.core.features.dream.generation.listeners.ReplaceBlockListener;
2020
import fr.openmc.core.features.dream.generation.structures.DreamStructuresManager;
21-
import fr.openmc.core.features.dream.listeners.biomes.PlayerEnteredBiome;
2221
import fr.openmc.core.features.dream.listeners.dream.*;
23-
import fr.openmc.core.features.dream.listeners.orb.PlayerObtainOrb;
24-
import fr.openmc.core.features.dream.listeners.others.CraftingConvertorListener;
25-
import fr.openmc.core.features.dream.listeners.others.PlayerEatSomnifere;
26-
import fr.openmc.core.features.dream.listeners.others.SingularityCraftListener;
22+
import fr.openmc.core.features.dream.listeners.registry.CraftingConvertorListener;
2723
import fr.openmc.core.features.dream.listeners.registry.DreamItemEquipListener;
2824
import fr.openmc.core.features.dream.mecanism.cloudfishing.CloudFishingManager;
2925
import fr.openmc.core.features.dream.mecanism.cold.ColdManager;
3026
import fr.openmc.core.features.dream.mecanism.metaldetector.MetalDetectorManager;
3127
import fr.openmc.core.features.dream.mecanism.rng.DreamLootListener;
28+
import fr.openmc.core.features.dream.mecanism.sfx.PlayerCloneNpc;
29+
import fr.openmc.core.features.dream.mecanism.singularity.SingularityCraftListener;
3230
import fr.openmc.core.features.dream.mecanism.singularity.SingularityManager;
3331
import fr.openmc.core.features.dream.mecanism.tradernpc.GlaciteNpcManager;
3432
import fr.openmc.core.features.dream.models.db.DBDreamPlayer;
@@ -43,7 +41,6 @@
4341
import org.bukkit.World;
4442
import org.bukkit.block.Biome;
4543
import org.bukkit.entity.Player;
46-
import org.bukkit.event.inventory.InventoryCloseEvent;
4744
import org.bukkit.inventory.ItemStack;
4845
import org.bukkit.inventory.PlayerInventory;
4946

@@ -90,6 +87,7 @@ public static void init() {
9087
// ** MANAGERS **
9188
DreamDimensionManager.init();
9289
GlaciteNpcManager.init();
90+
PlayerCloneNpc.init();
9391
DreamStructuresManager.init();
9492
DreamItemRegistry.init();
9593
DreamLootTableRegistry.init();

src/main/java/fr/openmc/core/features/dream/commands/AdminDreamCommands.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
import fr.openmc.core.commands.autocomplete.OnlinePlayerAutoComplete;
44
import fr.openmc.core.features.dream.DreamManager;
5-
import fr.openmc.core.features.dream.listeners.orb.PlayerObtainOrb;
5+
import fr.openmc.core.features.dream.listeners.dream.PlayerObtainOrb;
66
import fr.openmc.core.features.dream.models.db.DBDreamPlayer;
77
import fr.openmc.core.features.dream.models.db.DreamPlayer;
88
import org.bukkit.entity.Player;

src/main/java/fr/openmc/core/features/dream/listeners/dream/PlayerChangeWorldListener.java

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,20 @@
11
package fr.openmc.core.features.dream.listeners.dream;
22

3+
import fr.openmc.core.OMCPlugin;
34
import fr.openmc.core.features.displays.bossbar.BossbarManager;
45
import fr.openmc.core.features.displays.bossbar.BossbarsType;
56
import fr.openmc.core.features.dream.DreamManager;
67
import fr.openmc.core.features.dream.DreamUtils;
78
import fr.openmc.core.features.dream.displays.DreamBossBar;
9+
import fr.openmc.core.features.dream.mecanism.sfx.PlayerCloneNpc;
810
import fr.openmc.core.features.dream.models.db.DreamPlayer;
11+
import fr.openmc.core.utils.ParticleUtils;
12+
import org.bukkit.Bukkit;
13+
import org.bukkit.Particle;
914
import org.bukkit.attribute.Attribute;
1015
import org.bukkit.attribute.AttributeInstance;
1116
import org.bukkit.entity.Player;
17+
import org.bukkit.entity.Pose;
1218
import org.bukkit.event.EventHandler;
1319
import org.bukkit.event.Listener;
1420
import org.bukkit.event.player.PlayerTeleportEvent;
@@ -44,6 +50,13 @@ public void onDreamEntrered(PlayerTeleportEvent event) {
4450
AttributeInstance inst = player.getAttribute(Attribute.MAX_HEALTH);
4551
if (inst == null) return;
4652
player.setHealth(inst.getBaseValue());
53+
54+
// * SFX
55+
sendSFX(player);
56+
if (PlayerCloneNpc.getCloneNpc(player) == null)
57+
PlayerCloneNpc.createCloneNpc(player, player.getLocation(), Pose.SITTING);
58+
Bukkit.getScheduler().runTaskLater(OMCPlugin.getInstance(), () ->
59+
sendSFX(player), 20);
4760
}
4861

4962
@EventHandler
@@ -62,5 +75,16 @@ public void onDreamLeave(PlayerTeleportEvent event) {
6275
BossbarManager.removeBossBar(BossbarsType.DREAM, player);
6376

6477
DreamManager.removeDreamPlayer(player, event.getFrom());
78+
79+
// * SFX
80+
sendSFX(player);
81+
Bukkit.getScheduler().runTaskLater(OMCPlugin.getInstance(), () ->
82+
sendSFX(player), 20);
83+
}
84+
85+
private void sendSFX(Player player) {
86+
// * SFX
87+
ParticleUtils.sendParticlePacket(Particle.FLASH, player.getLocation().add(0, 1, 0), 15);
88+
ParticleUtils.spawnDispersingParticles(player.getLocation(), Particle.REVERSE_PORTAL, 20, 15, 1, null);
6589
}
6690
}

src/main/java/fr/openmc/core/features/dream/listeners/dream/PlayerDreamTimeEndListener.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import fr.openmc.core.features.dream.DreamManager;
44
import fr.openmc.core.features.dream.events.DreamEndEvent;
5+
import fr.openmc.core.features.dream.mecanism.sfx.PlayerCloneNpc;
56
import fr.openmc.core.features.dream.models.db.DreamPlayer;
67
import org.bukkit.entity.Player;
78
import org.bukkit.event.EventHandler;
@@ -13,6 +14,7 @@ public class PlayerDreamTimeEndListener implements Listener {
1314
public void onTimeEnd(DreamEndEvent event) {
1415
Player player = event.getPlayer();
1516

17+
PlayerCloneNpc.deleteCloneNpc(player);
1618
DreamPlayer dreamPlayer = DreamManager.getDreamPlayer(player);
1719

1820
if (dreamPlayer == null) return;

src/main/java/fr/openmc/core/features/dream/listeners/others/PlayerEatSomnifere.java renamed to src/main/java/fr/openmc/core/features/dream/listeners/dream/PlayerEatSomnifere.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package fr.openmc.core.features.dream.listeners.others;
1+
package fr.openmc.core.features.dream.listeners.dream;
22

33
import fr.openmc.core.features.dream.DreamManager;
44
import fr.openmc.core.features.dream.DreamUtils;

src/main/java/fr/openmc/core/features/dream/listeners/biomes/PlayerEnteredBiome.java renamed to src/main/java/fr/openmc/core/features/dream/listeners/dream/PlayerEnteredBiome.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package fr.openmc.core.features.dream.listeners.biomes;
1+
package fr.openmc.core.features.dream.listeners.dream;
22

33
import fr.openmc.core.OMCPlugin;
44
import fr.openmc.core.features.dream.DreamManager;
@@ -103,8 +103,8 @@ private void applyFog(Player player) {
103103
private void spawnParticles(Player player) {
104104
ParticleUtils.sendParticlePacket(
105105
player,
106-
player.getLocation(),
107106
Particle.CLOUD,
107+
player.getLocation(),
108108
100, 1.0, 1.0, 1.0, 0.1, null
109109
);
110110
}

src/main/java/fr/openmc/core/features/dream/listeners/dream/PlayerFoodChangeListener.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
import fr.openmc.core.features.dream.DreamManager;
44
import fr.openmc.core.features.dream.DreamUtils;
5-
import fr.openmc.core.features.dream.listeners.orb.PlayerObtainOrb;
65
import fr.openmc.core.features.dream.models.db.DBDreamPlayer;
76
import org.bukkit.entity.Player;
87
import org.bukkit.event.EventHandler;

0 commit comments

Comments
 (0)