Skip to content

Commit

Permalink
added message when sleeping during freeze
Browse files Browse the repository at this point in the history
  • Loading branch information
mrgeneralq committed Aug 30, 2022
1 parent 92d3db2 commit b8efae3
Show file tree
Hide file tree
Showing 6 changed files with 63 additions and 11 deletions.
22 changes: 17 additions & 5 deletions src/main/java/me/mrgeneralq/sleepmost/commands/SleepCommand.java
Original file line number Diff line number Diff line change
@@ -1,10 +1,8 @@
package me.mrgeneralq.sleepmost.commands;

import me.mrgeneralq.sleepmost.enums.MessageKey;
import me.mrgeneralq.sleepmost.interfaces.ICooldownService;
import me.mrgeneralq.sleepmost.interfaces.IFlagsRepository;
import me.mrgeneralq.sleepmost.interfaces.IMessageService;
import me.mrgeneralq.sleepmost.interfaces.ISleepService;
import me.mrgeneralq.sleepmost.interfaces.*;
import me.mrgeneralq.sleepmost.models.SleepMostWorld;
import org.bukkit.World;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
Expand All @@ -16,12 +14,14 @@ public class SleepCommand implements CommandExecutor {
private final IMessageService messageService;
private final ICooldownService cooldownService;
private final IFlagsRepository flagsRepository;
private final ISleepMostWorldService sleepMostWorldService;

public SleepCommand(ISleepService sleepService, IMessageService messageService, ICooldownService cooldownService, IFlagsRepository flagsRepository) {
public SleepCommand(ISleepService sleepService, IMessageService messageService, ICooldownService cooldownService, IFlagsRepository flagsRepository, ISleepMostWorldService sleepMostWorldService) {
this.sleepService = sleepService;
this.messageService = messageService;
this.cooldownService = cooldownService;
this.flagsRepository = flagsRepository;
this.sleepMostWorldService = sleepMostWorldService;
}

@Override
Expand Down Expand Up @@ -73,6 +73,18 @@ public boolean onCommand(CommandSender sender, Command command, String s, String
.build());
return true;
}

SleepMostWorld sleepMostWorld = this.sleepMostWorldService.getWorld(world);

if(sleepMostWorld.isFrozen()){
this.messageService.getMessagePrefixed(MessageKey.SLEEP_PREVENTED_LONGER_NIGHT)
.setWorld(world)
.setPlayer(player)
.build();
return true;
}


boolean updatedSleepStatus = !this.sleepService.isPlayerAsleep(player);

//update the sleeping status
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import me.mrgeneralq.sleepmost.enums.MessageKey;
import me.mrgeneralq.sleepmost.interfaces.*;
import me.mrgeneralq.sleepmost.models.SleepMostWorld;
import me.mrgeneralq.sleepmost.templates.MessageTemplate;
import org.bukkit.World;
import org.bukkit.command.Command;
Expand Down Expand Up @@ -62,6 +63,18 @@ public boolean executeCommand(CommandSender sender, Command cmd, String commandL
}


SleepMostWorld sleepMostWorld = this.sleepMostWorldService.getWorld(world);

if(sleepMostWorld.isFrozen()){

String longerNightsSleepPreventedMsg = this.messageService.getMessagePrefixed(MessageKey.SLEEP_PREVENTED_LONGER_NIGHT)
.setWorld(world)
.setPlayer(player)
.build();
this.messageService.sendMessage(player, longerNightsSleepPreventedMsg);
return true;
}

boolean updatedSleepStatus = !this.sleepService.isPlayerAsleep(player);

//TODO check this what the original getStatusTemplate is
Expand Down
4 changes: 3 additions & 1 deletion src/main/java/me/mrgeneralq/sleepmost/enums/MessageKey.java
Original file line number Diff line number Diff line change
Expand Up @@ -48,5 +48,7 @@ public enum MessageKey {
NIGHT_SKIPPED_TITLE,
STORM_SKIPPED_TITLE,
NIGHT_SKIPPED_SUBTITLE,
STORM_SKIPPED_SUBTITLE
STORM_SKIPPED_SUBTITLE,

SLEEP_PREVENTED_LONGER_NIGHT
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import me.mrgeneralq.sleepmost.enums.MessageKey;
import me.mrgeneralq.sleepmost.interfaces.*;
import me.mrgeneralq.sleepmost.models.SleepMostWorld;
import me.mrgeneralq.sleepmost.services.InsomniaService;
import me.mrgeneralq.sleepmost.statics.DataContainer;
import org.bukkit.World;
Expand Down Expand Up @@ -88,8 +89,20 @@ public void onPlayerBedEnter(PlayerBedEnterEvent e) {
return;
}

SleepMostWorld sleepMostWorld = this.sleepMostWorldService.getWorld(world);

if(sleepMostWorld.isFrozen()){

String longerNightsSleepPreventedMsg = this.messageService.getMessagePrefixed(MessageKey.SLEEP_PREVENTED_LONGER_NIGHT)
.setWorld(world)
.setPlayer(player)
.build();
this.messageService.sendMessage(player, longerNightsSleepPreventedMsg);
e.setCancelled(true);
return;
}

if(!this.sleepService.isPlayerAsleep(player))
this.sleepService.setSleeping(player , true);

}
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
import dev.geco.gsit.api.event.PlayerPoseEvent;
import me.mrgeneralq.sleepmost.enums.MessageKey;
import me.mrgeneralq.sleepmost.interfaces.*;
import me.mrgeneralq.sleepmost.models.SleepMostWorld;
import me.mrgeneralq.sleepmost.statics.DataContainer;
import org.bukkit.World;
import org.bukkit.entity.Player;
Expand Down Expand Up @@ -47,16 +48,15 @@ public void onPlayerPose(PlayerPoseEvent e){
World world = player.getWorld();
Pose pose = e.getPoseSeat().getPose();

if(!this.flagsRepository.getGSitHookFlag().getValueAt(world))
return;

if(!this.sleepService.isEnabledAt(world))
return;

if(!this.sleepService.isSleepingPossible(world))
return;

if(!this.flagsRepository.getGSitHookFlag().getValueAt(world))
return;

if(!this.flagsRepository.getGSitSleepFlag().getValueAt(world))
return;

Expand All @@ -68,6 +68,7 @@ public void onPlayerPose(PlayerPoseEvent e){
return;



//check if sleeping during storms is allowed
if (world.isThundering() && !this.flagsRepository.getStormSleepFlag().getValueAt(world)) {

Expand Down Expand Up @@ -104,6 +105,17 @@ public void onPlayerPose(PlayerPoseEvent e){
return;
}

SleepMostWorld sleepMostWorld = this.sleepMostWorldService.getWorld(world);
if(sleepMostWorld.isFrozen()){

String longerNightsSleepPreventedMsg = this.messageService.getMessagePrefixed(MessageKey.SLEEP_PREVENTED_LONGER_NIGHT)
.setWorld(world)
.setPlayer(player)
.build();
this.messageService.sendMessage(player, longerNightsSleepPreventedMsg);
return;
}

if(!this.sleepService.isPlayerAsleep(player))
this.sleepService.setSleeping(player , true);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ public void loadMessages(){
this.messages.put(MessageKey.STORM_SKIPPED_TITLE, new ConfigMessage("user.storm-skipped-title", "&eStorm skipped"));
this.messages.put(MessageKey.STORM_SKIPPED_SUBTITLE, new ConfigMessage("user.storm-skipped-subtitle", "&bWhat a weather..."));


this.messages.put(MessageKey.SLEEP_PREVENTED_LONGER_NIGHT, new ConfigMessage("user.longer-night.sleep-prevented", "&cThe night is longer than usual, you don't feel sleepy yet"));
}

public ConfigMessage getMessage(MessageKey message){
Expand Down

0 comments on commit b8efae3

Please sign in to comment.