Skip to content
Merged
Show file tree
Hide file tree
Changes from 13 commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
4ca58d8
Dream Milestone Part.1
Feb 10, 2026
c991f9d
Merge branch 'ServerOpenMC:master' into feat/dream_milestone
gab4000 Feb 10, 2026
01c6a4f
Merge branch 'master' into feat/dream_milestone
Feb 11, 2026
809dc11
Petites améliorations
Feb 11, 2026
5c790f3
Continue milestone
Feb 11, 2026
820c57c
Dream Milestone part. 2
Feb 16, 2026
0c1de21
Dream Milestone part. 3
Feb 18, 2026
9292644
Merge branch 'ServerOpenMC:master' into feat/dream_milestone
gab4000 Feb 21, 2026
75026d3
Merge branch 'master' into feat/dream_milestone
Mar 5, 2026
76cebd6
Merge branch 'ServerOpenMC:master' into feat/dream_milestone
gab4000 Mar 13, 2026
ef163ee
Merge branch 'ServerOpenMC:master' into feat/dream_milestone
gab4000 Mar 14, 2026
05aedca
Merge branch 'ServerOpenMC:master' into feat/dream_milestone
gab4000 Mar 19, 2026
4f4f7f5
Merge branch 'ServerOpenMC:master' into feat/dream_milestone
gab4000 Mar 20, 2026
1b7d3f7
Merge branch 'ServerOpenMC:master' into feat/dream_milestone
gab4000 Mar 28, 2026
9a79589
Review bibi -> changing menu
Mar 28, 2026
bacd464
Review bibi -> added todo
Mar 28, 2026
4f16389
Review bibi -> moved dream milestone dialog
Mar 28, 2026
e428922
Finished story
Mar 29, 2026
d0bcf64
Resolved build & test errors
Mar 29, 2026
787892b
Resolved build & test errors 2
Mar 29, 2026
a64b414
Merge branch 'ServerOpenMC:master' into feat/dream_milestone
gab4000 Mar 30, 2026
ab6282a
Merge branch 'ServerOpenMC:master' into feat/dream_milestone
gab4000 Apr 5, 2026
8439314
Ajout des crédits
Apr 8, 2026
d643354
Update credits
Apr 9, 2026
cabcaff
Removing milestone call before dreamdim
Apr 9, 2026
02afb43
Modified cube to implement in milestone
Apr 9, 2026
45176a2
Patch NullPointerException in cold calculation
Apr 9, 2026
989d783
Added admin command to show dialogs and refactor dialog logic
Apr 9, 2026
f160f20
Finished milestone
Apr 9, 2026
4771a59
Added cube GPS
Apr 9, 2026
88d9769
Review bibi 1
Apr 10, 2026
4b709e7
Review bibi 2
Apr 10, 2026
d022825
oubli :)
Apr 10, 2026
f59c941
Remove 1 import
gab4000 Apr 25, 2026
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
1 change: 1 addition & 0 deletions src/main/java/fr/openmc/core/OMCPlugin.java
Original file line number Diff line number Diff line change
Expand Up @@ -163,6 +163,7 @@ public void loadWithItemsAdder() {
ContestManager.init();
DreamManager.init();
MultiBlockManager.init();
MilestonesManager.init();
if (WorldGuardHook.isHasWorldGuard()) {
ParticleUtils.spawnParticlesInRegion("spawn", Bukkit.getWorld("world"), Particle.CHERRY_LEAVES, 50, 70, 130);
ParticleUtils.spawnContestParticlesInRegion("spawn", Bukkit.getWorld("world"), 10, 70, 135);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
public class CityMilestoneCommands {
@Command({"city milestone", "ville milestone"})
@CommandPermission("omc.commands.city.milestone")
@Description("Ouvre le menu des maires")
@Description("Ouvre le menu du milestone de ville")
void milestone(Player sender) {
City playerCity = CityManager.getPlayerCity(sender.getUniqueId());

Expand Down
21 changes: 20 additions & 1 deletion src/main/java/fr/openmc/core/features/dream/DreamManager.java
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@
import fr.openmc.core.features.dream.listeners.others.PlayerEatSomnifere;
import fr.openmc.core.features.dream.listeners.others.SingularityCraftListener;
import fr.openmc.core.features.dream.listeners.registry.DreamItemEquipListener;
import fr.openmc.core.features.dream.listeners.strctures.PlayerEnterStructureListener;
import fr.openmc.core.features.dream.listeners.strctures.PlayerExitStructureListener;
import fr.openmc.core.features.dream.mecanism.cloudfishing.CloudFishingManager;
import fr.openmc.core.features.dream.mecanism.cold.ColdManager;
import fr.openmc.core.features.dream.mecanism.metaldetector.MetalDetectorManager;
Expand All @@ -49,6 +51,8 @@
import java.io.IOException;
import java.sql.SQLException;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Set;
import java.util.UUID;

public class DreamManager {
Expand All @@ -59,6 +63,7 @@ public class DreamManager {

private static final HashMap<UUID, DreamPlayer> dreamPlayerData = new HashMap<>();
public static final HashMap<UUID, DBDreamPlayer> cacheDreamPlayer = new HashMap<>();
public static final Set<Player> dreamMilestoneDialogPlayer = new HashSet<>();
Comment thread
gab4000 marked this conversation as resolved.
Outdated

private static Dao<DBDreamPlayer, String> dreamPlayerDao;
private static Dao<DBPlayerSave, String> savePlayerDao;
Expand All @@ -81,7 +86,9 @@ public static void init() {
new CloudStructureDispenserListener(),
new CraftingConvertorListener(),
new DreamItemEquipListener(),
new SingularityCraftListener()
new SingularityCraftListener(),
new PlayerEnterStructureListener(),
new PlayerExitStructureListener()
Comment thread
gab4000 marked this conversation as resolved.
);

// ** MANAGERS **
Expand Down Expand Up @@ -321,6 +328,18 @@ public static void preloadSavePlayer(Player player, Location dreamLocation) thro
)
);
}

public static void addMilestoneDialogPlayer(Player player) {
dreamMilestoneDialogPlayer.add(player);
}

public static void removeMilestoneDialogPlayer(Player player) {
dreamMilestoneDialogPlayer.remove(player);
}

public static boolean isPlayerInMilestoneDialog(Player player) {
return dreamMilestoneDialogPlayer.contains(player);
}

public static void setMaxTime(Player player, long maxTime) {
DBDreamPlayer cache = DreamManager.getCacheDreamPlayer(player);
Expand Down
3 changes: 2 additions & 1 deletion src/main/java/fr/openmc/core/features/dream/DreamUtils.java
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
import fr.openmc.core.utils.messages.MessagesManager;
import fr.openmc.core.utils.messages.Prefix;
import net.kyori.adventure.text.Component;
import org.bukkit.GameMode;
import org.bukkit.Location;
import org.bukkit.World;
import org.bukkit.entity.Player;
Expand Down Expand Up @@ -42,9 +43,9 @@ public static void addDreamTime(Player player, Long timeToAdd, boolean sendMessa
public static void removeDreamTime(Player player, Long timeToRemove, boolean sendMessage) {
DreamPlayer dreamPlayer = DreamManager.getDreamPlayer(player);
if (dreamPlayer == null) return;
if (player.getGameMode().equals(GameMode.CREATIVE)) return;
dreamPlayer.removeTime(timeToRemove);
if (sendMessage)
MessagesManager.sendMessage(player, Component.text("Vous avez perdu §a" + DateUtils.convertSecondToTime(timeToRemove) + " §fcar vous avez pris des dégats !"), Prefix.DREAM, MessageType.WARNING, false);

}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
package fr.openmc.core.features.dream.events;

import fr.openmc.core.features.dream.mecanism.altar.AltarRecipes;
import fr.openmc.core.features.dream.models.registry.items.DreamItem;
import lombok.Getter;
import org.bukkit.Location;
import org.bukkit.entity.Player;
import org.bukkit.event.HandlerList;
import org.bukkit.event.player.PlayerEvent;
import org.jetbrains.annotations.NotNull;

@Getter
public class AltarBindEvent extends PlayerEvent {
private static final HandlerList HANDLERS = new HandlerList();
private final DreamItem item;
private final AltarRecipes recipe;
private final Location altarLocation;

public AltarBindEvent(Player player, DreamItem item, AltarRecipes recipe, Location altarLocation) {
super(player);
this.item = item;
this.recipe = recipe;
this.altarLocation = altarLocation;
}

public static HandlerList getHandlerList() {
return HANDLERS;
}

@Override
public @NotNull HandlerList getHandlers() {
return HANDLERS;
}
}
Original file line number Diff line number Diff line change
@@ -1,23 +1,22 @@
package fr.openmc.core.features.dream.mecanism.altar;
package fr.openmc.core.features.dream.events;

import fr.openmc.core.features.dream.mecanism.altar.AltarRecipes;
import fr.openmc.core.features.dream.models.registry.items.DreamItem;
import lombok.Getter;
import org.bukkit.entity.Player;
import org.bukkit.event.Event;
import org.bukkit.event.HandlerList;
import org.bukkit.event.player.PlayerEvent;
import org.jetbrains.annotations.NotNull;

@Getter
public class AltarCraftingEvent extends Event {
public class AltarCraftingEvent extends PlayerEvent {
private static final HandlerList HANDLERS = new HandlerList();
private final Player player;
private final AltarRecipes recipe;
private final DreamItem craftedItem;

/**
* @param player The player whose dream time has ended
*/
public AltarCraftingEvent(Player player, DreamItem craftItem) {
this.player = player;

public AltarCraftingEvent(Player player, AltarRecipes recipe, DreamItem craftItem) {
super(player);
this.recipe = recipe;
this.craftedItem = craftItem;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,20 +2,19 @@

import lombok.Getter;
import org.bukkit.entity.Player;
import org.bukkit.event.Event;
import org.bukkit.event.HandlerList;
import org.bukkit.event.player.PlayerEvent;
import org.jetbrains.annotations.NotNull;

@Getter
public class DreamEndEvent extends Event {
public class DreamEndEvent extends PlayerEvent {
private static final HandlerList HANDLERS = new HandlerList();
private final Player player;

/**
* @param player The player whose dream time has ended
*/
public DreamEndEvent(Player player) {
this.player = player;
super(player);
}

public static HandlerList getHandlerList() {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
package fr.openmc.core.features.dream.events;

import lombok.Getter;
import org.bukkit.entity.Player;
import org.bukkit.event.HandlerList;
import org.bukkit.event.player.PlayerEvent;
import org.jetbrains.annotations.NotNull;

@Getter
public class DreamEnterEvent extends PlayerEvent {
private static final HandlerList HANDLERS = new HandlerList();

/**
* @param player The player whose enter in his dream
*/
public DreamEnterEvent(Player player) {
super(player);
}

public static HandlerList getHandlerList() {
return HANDLERS;
}

@Override
public @NotNull HandlerList getHandlers() {
return HANDLERS;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,21 +3,20 @@
import fr.openmc.core.features.dream.mecanism.tradernpc.GlaciteTrade;
import lombok.Getter;
import org.bukkit.entity.Player;
import org.bukkit.event.Event;
import org.bukkit.event.HandlerList;
import org.bukkit.event.player.PlayerEvent;
import org.jetbrains.annotations.NotNull;

@Getter
public class GlaciteTradeEvent extends Event {
public class GlaciteTradeEvent extends PlayerEvent {
private static final HandlerList HANDLERS = new HandlerList();
private final Player player;
private final GlaciteTrade trade;

/**
* @param player The player whose dream time has ended
*/
public GlaciteTradeEvent(Player player, GlaciteTrade trade) {
this.player = player;
super(player);
this.trade = trade;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,25 +2,24 @@

import lombok.Getter;
import org.bukkit.entity.Player;
import org.bukkit.event.Event;
import org.bukkit.event.HandlerList;
import org.bukkit.event.player.PlayerEvent;
import org.bukkit.inventory.ItemStack;
import org.jetbrains.annotations.NotNull;

import java.util.List;

@Getter
public class MetalDetectorLootEvent extends Event {
public class MetalDetectorLootEvent extends PlayerEvent {
private static final HandlerList HANDLERS = new HandlerList();
private final Player player;
private final List<ItemStack> loot;

/**
* @param player The player who found the loot.
* @param loot The list of ItemStack representing the loot found.
*/
public MetalDetectorLootEvent(Player player, List<ItemStack> loot) {
this.player = player;
super(player);
this.loot = loot;
}

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
package fr.openmc.core.features.dream.events;

import lombok.Getter;
import org.bukkit.block.Biome;
import org.bukkit.entity.Player;
import org.bukkit.event.HandlerList;
import org.bukkit.event.player.PlayerEvent;
import org.jetbrains.annotations.NotNull;

@Getter
public class PlayerEnterBiomeEvent extends PlayerEvent {

private static final HandlerList HANDLERS = new HandlerList();
private final Biome biome;

/**
* @param player The player whose dream time has ended
*/
public PlayerEnterBiomeEvent(Player player, Biome biome) {
super(player);
this.biome = biome;
}

public static HandlerList getHandlerList() {
return HANDLERS;
}

@Override
public @NotNull HandlerList getHandlers() {
return HANDLERS;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
package fr.openmc.core.features.dream.events;

import fr.openmc.core.features.dream.generation.structures.DreamStructure;
import lombok.Getter;
import org.bukkit.entity.Player;
import org.bukkit.event.HandlerList;
import org.bukkit.event.player.PlayerEvent;
import org.jetbrains.annotations.NotNull;

@Getter
public class PlayerEnterStructureEvent extends PlayerEvent {
private static final HandlerList HANDLERS = new HandlerList();
private final DreamStructure structure;

/**
* @param player The player who enter in the structure
* @param structure The structure where the player enters on
*/
public PlayerEnterStructureEvent(Player player, DreamStructure structure) {
super(player);
this.structure = structure;
}

public static HandlerList getHandlerList() {
return HANDLERS;
}

@Override
public @NotNull HandlerList getHandlers() {
return HANDLERS;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
package fr.openmc.core.features.dream.events;

import fr.openmc.core.features.dream.generation.structures.DreamStructure;
import lombok.Getter;
import org.bukkit.entity.Player;
import org.bukkit.event.HandlerList;
import org.bukkit.event.player.PlayerEvent;
import org.jetbrains.annotations.NotNull;

@Getter
public class PlayerExitStructureEvent extends PlayerEvent {
private static final HandlerList HANDLERS = new HandlerList();
private final DreamStructure structure;

/**
* @param player The player who enter in the structure
* @param structure The structure where the player enters on
*/
public PlayerExitStructureEvent(Player player, DreamStructure structure) {
super(player);
this.structure = structure;
}

public static HandlerList getHandlerList() {
return HANDLERS;
}

@Override
public @NotNull HandlerList getHandlers() {
return HANDLERS;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
package fr.openmc.core.features.dream.events;

import lombok.Getter;
import org.bukkit.entity.Player;
import org.bukkit.event.HandlerList;
import org.bukkit.event.player.PlayerEvent;
import org.bukkit.inventory.ItemStack;
import org.jetbrains.annotations.NotNull;

@Getter
public class TakeFromSingularityEvent extends PlayerEvent {
private static final HandlerList HANDLERS = new HandlerList();
private final ItemStack item;

public TakeFromSingularityEvent(Player player, ItemStack item) {
super(player);
this.item = item;
}

public static HandlerList getHandlerList() {
return HANDLERS;
}

@Override
public @NotNull HandlerList getHandlers() {
return HANDLERS;
}
}
Loading
Loading