Skip to content

Commit

Permalink
Merge pull request #119 from mrgeneralq/sm-release-v5
Browse files Browse the repository at this point in the history
Sm release v5
  • Loading branch information
mrgeneralq authored Apr 27, 2022
2 parents 21cdbd1 + 90e2b9d commit 046dfd1
Show file tree
Hide file tree
Showing 37 changed files with 370 additions and 318 deletions.
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ To fetch the message, you can use the `IMessageService.getMessage(ConfigMessage

```java
import me.mrgeneralq.sleepmost.builders.MessageBuilder;
import me.mrgeneralq.sleepmost.enums.ConfigMessage;
import me.mrgeneralq.sleepmost.enums.MessageKey;
import me.mrgeneralq.sleepmost.interfaces.IMessageService;

public class A {
Expand All @@ -82,7 +82,7 @@ public class A {

public void helloWorld(Player player) {
//fetching the message builder object (this can be used to modify placeholders)
MessageBuilder helloWorldMsg = this.messageService.getMessage(ConfigMessage.HELLO_WORLD);
MessageBuilder helloWorldMsg = this.messageService.getMessage(MessageKey.HELLO_WORLD);
this.messageService.sendMessage(player, helloWorldMsg.build());
}
}
Expand Down
19 changes: 16 additions & 3 deletions src/main/java/me/mrgeneralq/sleepmost/Sleepmost.java
Original file line number Diff line number Diff line change
@@ -1,15 +1,13 @@
package me.mrgeneralq.sleepmost;

import me.mrgeneralq.sleepmost.enums.ConfigMessage;
import me.mrgeneralq.sleepmost.eventlisteners.*;
import me.mrgeneralq.sleepmost.interfaces.*;
import me.mrgeneralq.sleepmost.mappers.MessageMapper;
import me.mrgeneralq.sleepmost.models.Message;
import me.mrgeneralq.sleepmost.runnables.Heartbeat;
import me.mrgeneralq.sleepmost.services.WorldPropertyService;
import me.mrgeneralq.sleepmost.statics.ServerVersion;
import org.bstats.bukkit.Metrics;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.World;
import org.bukkit.plugin.PluginManager;
import org.bukkit.plugin.java.JavaPlugin;
Expand All @@ -19,6 +17,9 @@

public class Sleepmost extends JavaPlugin {

private boolean EARLY_ACCESS_MODE = true;
private String EARLY_ACCESS_VERSION = "5.0.0-beta1";

private static Sleepmost instance;
private Bootstrapper bootstrapper;

Expand Down Expand Up @@ -78,6 +79,9 @@ public void onEnable() {
runPreTimerTasks();
runTimers(bootstrapper.getSleepService(), bootstrapper.getWorldPropertyService());

if(earlyAccessModeEnabled())
Bukkit.getConsoleSender().sendMessage( "[Sleep-most]" + ChatColor.RED + "WARNING: This is an early access build. This build may contain bugs and untested features. Please update when this is available.");

}

public static Sleepmost getInstance() {
Expand Down Expand Up @@ -109,4 +113,13 @@ void registerBossBars(){
bossBarService.setVisible(world, false);
}
}


public boolean earlyAccessModeEnabled(){
return this.EARLY_ACCESS_MODE;
}

public String getEarlyAccessVersion(){
return this.EARLY_ACCESS_VERSION;
}
}
10 changes: 10 additions & 0 deletions src/main/java/me/mrgeneralq/sleepmost/builders/MessageBuilder.java
Original file line number Diff line number Diff line change
Expand Up @@ -72,4 +72,14 @@ public MessageBuilder setCause(SleepSkipCause cause){

return this;
}

public MessageBuilder setFlag(String flagName){
this.message = message.replaceAll("%flag%", flagName);
return this;
}

public MessageBuilder setPlayer(String playerName){
this.message = message.replaceAll("%player%", playerName);
return this;
}
}
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package me.mrgeneralq.sleepmost.commands;

import me.mrgeneralq.sleepmost.enums.ConfigMessage;
import me.mrgeneralq.sleepmost.templates.MessageTemplate;
import me.mrgeneralq.sleepmost.enums.MessageKey;
import me.mrgeneralq.sleepmost.interfaces.IMessageService;
import me.mrgeneralq.sleepmost.interfaces.ISubCommand;
import org.bukkit.command.Command;
Expand All @@ -17,7 +16,7 @@ public ErrorCommand(IMessageService messageService){

@Override
public boolean executeCommand(CommandSender sender, Command cmd, String commandLabel, String[] args) {
this.messageService.sendMessage(sender, messageService.getMessage(ConfigMessage.UNKNOWN_COMMAND).build());
this.messageService.sendMessage(sender, messageService.getMessage(MessageKey.UNKNOWN_COMMAND).build());
return true;
}
}
28 changes: 18 additions & 10 deletions src/main/java/me/mrgeneralq/sleepmost/commands/SleepCommand.java
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
package me.mrgeneralq.sleepmost.commands;

import me.mrgeneralq.sleepmost.enums.ConfigMessage;
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.templates.MessageTemplate;
import org.bukkit.World;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
Expand All @@ -28,27 +27,30 @@ public SleepCommand(ISleepService sleepService, IMessageService messageService,
@Override
public boolean onCommand(CommandSender sender, Command command, String s, String[] strings) {
if (!(sender instanceof Player)) {
this.messageService.sendMessage(sender, messageService.getMessage(ConfigMessage.ONLY_PLAYERS_COMMAND).build());
this.messageService.sendMessage(sender, messageService.getMessage(MessageKey.NO_CONSOLE_COMMAND).build());
return true;
}
Player player = (Player) sender;

if (!player.hasPermission("sleepmost.sleep")) {
this.messageService.sendMessage(player, this.messageService.getMessage(ConfigMessage.NO_PERMISSION_COMMAND).build());
this.messageService.sendMessage(player, this.messageService.getMessage(MessageKey.NO_PERMISSION_COMMAND).build());
return true;
}
World world = player.getWorld();

if(!this.flagsRepository.getSleepCmdFlag().getValueAt(world)){

this.messageService.sendMessage(player, this.messageService.getMessage(ConfigMessage.SLEEP_CMD_DISABLED).build());
this.messageService.sendMessage(player, this.messageService.getMessage(MessageKey.SLEEP_CMD_DISABLED).build());
return true;
}


if(this.flagsRepository.getPreventSleepFlag().getValueAt(world)) {

String sleepPreventedConfigMessage = messageService.getMessage(ConfigMessage.SLEEP_PREVENTED).build();
String sleepPreventedConfigMessage = messageService.getMessage(MessageKey.SLEEP_PREVENTED)
.setPlayer(player)
.setWorld(world)
.build();

this.messageService.sendMessage(player, messageService.getMessage(sleepPreventedConfigMessage)
.setPlayer(player)
Expand All @@ -58,7 +60,10 @@ public boolean onCommand(CommandSender sender, Command command, String s, String
}

if (!this.sleepService.resetRequired(world)) {
this.messageService.sendMessage(player, messageService.getMessage(ConfigMessage.CANNOT_SLEEP_NOW).build());
this.messageService.sendMessage(player, messageService.getMessage(MessageKey.CANNOT_SLEEP_NOW)
.setPlayer(player)
.setWorld(world)
.build());
return true;
}
boolean updatedSleepStatus = !this.sleepService.isPlayerAsleep(player);
Expand All @@ -75,10 +80,13 @@ public boolean onCommand(CommandSender sender, Command command, String s, String
cooldownService.startCooldown(player);
}

this.messageService.sendMessage(player, this.messageService.getMessage(getConfigMessage(updatedSleepStatus)).build());
this.messageService.sendMessage(player, this.messageService.getMessage(getConfigMessage(updatedSleepStatus))
.setPlayer(player)
.setWorld(world)
.build());
return true;
}
private ConfigMessage getConfigMessage(boolean sleepingStatus){
return sleepingStatus ? ConfigMessage.SLEEP_SUCCESS : ConfigMessage.NO_LONGER_SLEEPING;
private MessageKey getConfigMessage(boolean sleepingStatus){
return sleepingStatus ? MessageKey.SLEEP_SUCCESS : MessageKey.NO_LONGER_SLEEPING;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,8 @@
import java.util.*;

import me.mrgeneralq.sleepmost.commands.subcommands.*;
import me.mrgeneralq.sleepmost.enums.ConfigMessage;
import me.mrgeneralq.sleepmost.enums.MessageKey;
import me.mrgeneralq.sleepmost.interfaces.*;
import me.mrgeneralq.sleepmost.templates.MessageTemplate;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
Expand Down Expand Up @@ -68,7 +67,7 @@ public boolean onCommand(CommandSender sender, Command command, String commandLa
if(args.length == 0){

if(!sender.hasPermission("sleepmost.help")){
this.messageService.sendMessage(sender, messageService.getMessage(ConfigMessage.NO_PERMISSION_COMMAND).build());
this.messageService.sendMessage(sender, messageService.getMessage(MessageKey.NO_PERMISSION_COMMAND).build());
return true;
}
sender.sendMessage(colorize("&b*********************************************"));
Expand Down Expand Up @@ -97,7 +96,7 @@ public boolean onCommand(CommandSender sender, Command command, String commandLa
// check if player has permission of command
if(!sender.hasPermission("sleepmost." + subCommandStr))
{
this.messageService.sendMessage(sender, messageService.getMessage(ConfigMessage.NO_PERMISSION_COMMAND).build());
this.messageService.sendMessage(sender, messageService.getMessage(MessageKey.NO_PERMISSION_COMMAND).build());
return true;
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
package me.mrgeneralq.sleepmost.commands.subcommands;

import me.mrgeneralq.sleepmost.enums.ConfigMessage;
import me.mrgeneralq.sleepmost.enums.MessageKey;
import me.mrgeneralq.sleepmost.interfaces.IMessageService;
import me.mrgeneralq.sleepmost.interfaces.ISleepService;
import me.mrgeneralq.sleepmost.interfaces.ISubCommand;
import me.mrgeneralq.sleepmost.templates.MessageTemplate;
import me.mrgeneralq.sleepmost.statics.CommandSenderUtils;
import org.bukkit.World;
import org.bukkit.command.Command;
Expand All @@ -26,7 +25,7 @@ public BedSubCommand(ISleepService sleepService, IMessageService messageService)
public boolean executeCommand(CommandSender sender, Command cmd, String commandLabel, String[] args) {

if(!CommandSenderUtils.hasWorld(sender)){
this.messageService.sendMessage(sender, messageService.getMessage(ConfigMessage.NO_CONSOLE_COMMAND).build());
this.messageService.sendMessage(sender, messageService.getMessage(MessageKey.NO_CONSOLE_COMMAND).build());
return true;
}

Expand All @@ -35,19 +34,27 @@ public boolean executeCommand(CommandSender sender, Command cmd, String commandL


if (!sleepService.isEnabledAt(world)) {
this.messageService.sendMessage(sender, messageService.getMessage(ConfigMessage.ALREADY_DISABLED_FOR_WORLD).build());
this.messageService.sendMessage(sender, messageService.getMessage(MessageKey.NOT_ENABLED_FOR_WORLD)
.setWorld(world)
.build());
return true;
}

Player player = (Player) sender;

if (player.getBedSpawnLocation() == null) {
this.messageService.sendMessage(player, messageService.getMessage(ConfigMessage.NO_BED_LOCATION_SET).build());
this.messageService.sendMessage(player, messageService.getMessage(MessageKey.NO_BED_LOCATION_SET)
.setPlayer(player)
.setWorld(world)
.build());
return true;
}

player.teleport(player.getBedSpawnLocation());
this.messageService.sendMessage(player, messageService.getMessage(ConfigMessage.TELEPORTED_TO_BED).build());
this.messageService.sendMessage(player, messageService.getMessage(MessageKey.TELEPORTED_TO_BED)
.setPlayer(player)
.setWorld(world)
.build());
return true;
}
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
package me.mrgeneralq.sleepmost.commands.subcommands;

import me.mrgeneralq.sleepmost.enums.ConfigMessage;
import me.mrgeneralq.sleepmost.templates.MessageTemplate;
import me.mrgeneralq.sleepmost.enums.MessageKey;
import me.mrgeneralq.sleepmost.interfaces.IMessageService;
import me.mrgeneralq.sleepmost.interfaces.ISleepService;
import me.mrgeneralq.sleepmost.interfaces.ISubCommand;
import me.mrgeneralq.sleepmost.statics.CommandSenderUtils;
import org.bukkit.World;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;

public class DisableSubCommand implements ISubCommand {

Expand All @@ -25,21 +25,24 @@ public DisableSubCommand(ISleepService sleepService, IMessageService messageServ
public boolean executeCommand(CommandSender sender, Command cmd, String commandLabel, String[] args) {

if(!CommandSenderUtils.hasWorld(sender)){
this.messageService.sendMessage(sender, messageService.getMessage(ConfigMessage.NO_CONSOLE_COMMAND).build());
this.messageService.sendMessage(sender, messageService.getMessage(MessageKey.NO_CONSOLE_COMMAND).build());
return true;
}


World world = CommandSenderUtils.getWorldOf(sender);


if (!sleepService.isEnabledAt(world)) {
this.messageService.sendMessage(sender, messageService.getMessage(ConfigMessage.ALREADY_DISABLED_FOR_WORLD).build());
this.messageService.sendMessage(sender, messageService.getMessage(MessageKey.ALREADY_DISABLED_FOR_WORLD)
.setWorld(world)
.build());
return true;
}

sleepService.disableAt(world);
this.messageService.sendMessage(sender, messageService.getMessage(ConfigMessage.DISABLED_FOR_WORLD).build());
this.messageService.sendMessage(sender, messageService.getMessage(MessageKey.DISABLED_FOR_WORLD)
.setWorld(world)
.build());
return true;
}
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package me.mrgeneralq.sleepmost.commands.subcommands;

import me.mrgeneralq.sleepmost.enums.ConfigMessage;
import me.mrgeneralq.sleepmost.templates.MessageTemplate;
import me.mrgeneralq.sleepmost.enums.MessageKey;
import me.mrgeneralq.sleepmost.interfaces.IMessageService;
import me.mrgeneralq.sleepmost.interfaces.ISleepService;
import me.mrgeneralq.sleepmost.interfaces.ISubCommand;
Expand All @@ -24,20 +23,23 @@ public EnableSubCommand(ISleepService sleepService, IMessageService messageServi
public boolean executeCommand(CommandSender sender, Command cmd, String commandLabel, String[] args) {

if(!CommandSenderUtils.hasWorld(sender)){
String noConsoleCommand = messageService.getMessage(ConfigMessage.NO_CONSOLE_COMMAND).build();
sender.sendMessage(noConsoleCommand);
this.messageService.sendMessage(sender,messageService.getMessage(MessageKey.NO_CONSOLE_COMMAND).build());
return true;
}

World world = CommandSenderUtils.getWorldOf(sender);

if(this.sleepService.isEnabledAt(world)){
this.messageService.sendMessage(sender, messageService.getMessage(ConfigMessage.ALREADY_ENABLED_FOR_WORLD).build());
this.messageService.sendMessage(sender, messageService.getMessage(MessageKey.ALREADY_ENABLED_FOR_WORLD)
.setWorld(world)
.build());
return true;
}

this.sleepService.enableAt(world);
this.messageService.sendMessage(sender, messageService.getMessage(ConfigMessage.ENABLED_FOR_WORLD).build());
this.messageService.sendMessage(sender, messageService.getMessage(MessageKey.ENABLED_FOR_WORLD)
.setWorld(world)
.build());
return true;
}
}
Loading

0 comments on commit 046dfd1

Please sign in to comment.