mirror of
https://github.com/nkomarn/harbor.git
synced 2024-09-27 22:17:31 +02:00
🌟 Fix up chat messages and add forceskip!
This commit is contained in:
parent
71dbe4e164
commit
0c616035c6
10
pom.xml
10
pom.xml
@ -20,6 +20,10 @@
|
||||
<id>ess-repo</id>
|
||||
<url>https://ci.ender.zone/plugin/repository/everything/</url>
|
||||
</repository>
|
||||
<repository>
|
||||
<id>placeholderapi</id>
|
||||
<url>http://repo.extendedclip.com/content/repositories/placeholderapi/</url>
|
||||
</repository>
|
||||
</repositories>
|
||||
|
||||
<dependencies>
|
||||
@ -35,6 +39,12 @@
|
||||
<version>2.17.0</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>me.clip</groupId>
|
||||
<artifactId>placeholderapi</artifactId>
|
||||
<version>2.10.4</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
|
@ -11,7 +11,6 @@ import xyz.nkomarn.Harbor.util.Config;
|
||||
import xyz.nkomarn.Harbor.util.Metrics;
|
||||
|
||||
public class Harbor extends JavaPlugin {
|
||||
|
||||
public static Harbor instance;
|
||||
public static String version = "1.6.2";
|
||||
public static Essentials essentials;
|
||||
@ -32,7 +31,6 @@ public class Harbor extends JavaPlugin {
|
||||
new Metrics(this);
|
||||
|
||||
// Essentials hook
|
||||
essentials = (Essentials) Bukkit.getServer().getPluginManager()
|
||||
.getPlugin("Essentials");
|
||||
essentials = (Essentials) getServer().getPluginManager().getPlugin("Essentials");
|
||||
}
|
||||
}
|
||||
|
@ -4,18 +4,23 @@ import net.md_5.bungee.api.ChatMessageType;
|
||||
import net.md_5.bungee.api.chat.TextComponent;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Sound;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandExecutor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.command.TabExecutor;
|
||||
import org.bukkit.entity.Player;
|
||||
import xyz.nkomarn.Harbor.Harbor;
|
||||
import xyz.nkomarn.Harbor.task.AccelerateNightTask;
|
||||
import xyz.nkomarn.Harbor.task.Checker;
|
||||
import xyz.nkomarn.Harbor.util.Config;
|
||||
import xyz.nkomarn.Harbor.util.Updater;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.ExecutionException;
|
||||
|
||||
public class HarborCommand implements CommandExecutor {
|
||||
|
||||
public class HarborCommand implements TabExecutor {
|
||||
@Override
|
||||
public boolean onCommand(final CommandSender sender, final Command command, final String label, final String[] args) {
|
||||
|
||||
@ -38,6 +43,22 @@ public class HarborCommand implements CommandExecutor {
|
||||
+ "&7Reloaded configuration."));
|
||||
return true;
|
||||
}
|
||||
else if (args[0].equalsIgnoreCase("forceskip")) {
|
||||
if (!(sender instanceof Player)) {
|
||||
sender.sendMessage(ChatColor.translateAlternateColorCodes('&', prefix
|
||||
+ "&7This command requires you to be a player."));
|
||||
return true;
|
||||
}
|
||||
|
||||
Player player = (Player) sender;
|
||||
World world = player.getWorld();
|
||||
|
||||
Checker.skippingWorlds.add(world);
|
||||
new AccelerateNightTask(world).runTaskTimer(Harbor.instance, 0L, 1);
|
||||
sender.sendMessage(ChatColor.translateAlternateColorCodes('&', prefix
|
||||
+ "&7Forcing night skip in your world."));
|
||||
return true;
|
||||
}
|
||||
else if (args[0].equalsIgnoreCase("update")) {
|
||||
|
||||
// Fancy actionbar stuff
|
||||
@ -73,12 +94,11 @@ public class HarborCommand implements CommandExecutor {
|
||||
} catch (ExecutionException | InterruptedException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return true;
|
||||
} else {
|
||||
sender.sendMessage(ChatColor.translateAlternateColorCodes('&', prefix + "&7You're already running "
|
||||
+ "the latest version of Harbor. Great work!"));
|
||||
return true;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
// Otherwise, send unrecognized argument messages
|
||||
@ -86,4 +106,11 @@ public class HarborCommand implements CommandExecutor {
|
||||
+ Config.getString("messages.miscellaneous.unrecognized")));
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> onTabComplete(CommandSender sender, Command command, String alias, String[] args) {
|
||||
if (!sender.hasPermission("harbor.admin")) return null;
|
||||
if (args.length != 1) return null;
|
||||
return Arrays.asList("forceskip", "reload", "update");
|
||||
}
|
||||
}
|
||||
|
@ -1,23 +1,31 @@
|
||||
package xyz.nkomarn.Harbor.listener;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.player.PlayerBedEnterEvent;
|
||||
import org.bukkit.event.player.PlayerBedLeaveEvent;
|
||||
import xyz.nkomarn.Harbor.Harbor;
|
||||
import xyz.nkomarn.Harbor.task.Checker;
|
||||
import xyz.nkomarn.Harbor.util.Config;
|
||||
import xyz.nkomarn.Harbor.util.Messages;
|
||||
|
||||
public class BedListener implements Listener {
|
||||
@EventHandler
|
||||
@EventHandler(ignoreCancelled = true)
|
||||
public void onBedEnter(final PlayerBedEnterEvent event) {
|
||||
if (event.getBedEnterResult() != PlayerBedEnterEvent.BedEnterResult.OK) return;
|
||||
Messages.sendWorldChatMessage(event.getBed().getWorld(),
|
||||
Config.getString("messages.chat.sleeping")
|
||||
.replace("[player]", event.getPlayer().getName())
|
||||
.replace("[displayname]", event.getPlayer().getDisplayName()));
|
||||
if (Checker.skippingWorlds.contains(event.getPlayer().getWorld())) return;
|
||||
Bukkit.getScheduler().runTaskLater(Harbor.instance, () -> {
|
||||
Messages.sendWorldChatMessage(event.getBed().getWorld(),
|
||||
Config.getString("messages.chat.sleeping")
|
||||
.replace("[player]", event.getPlayer().getName())
|
||||
.replace("[displayname]", event.getPlayer().getDisplayName()));
|
||||
}, 1);
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onBedLeave(final PlayerBedEnterEvent event) {
|
||||
@EventHandler(ignoreCancelled = true)
|
||||
public void onBedLeave(final PlayerBedLeaveEvent event) {
|
||||
if (Checker.skippingWorlds.contains(event.getPlayer().getWorld())) return;
|
||||
Messages.sendWorldChatMessage(event.getBed().getWorld(),
|
||||
Config.getString("messages.chat.left")
|
||||
.replace("[player]", event.getPlayer().getName())
|
||||
|
@ -9,7 +9,7 @@ import xyz.nkomarn.Harbor.util.Messages;
|
||||
public class AccelerateNightTask extends BukkitRunnable {
|
||||
private final World world;
|
||||
|
||||
AccelerateNightTask(final World world) {
|
||||
public AccelerateNightTask(final World world) {
|
||||
this.world = world;
|
||||
}
|
||||
|
||||
|
@ -15,7 +15,6 @@ import java.util.List;
|
||||
import static java.util.stream.Collectors.toList;
|
||||
|
||||
public class Checker implements Runnable {
|
||||
|
||||
public static final List<World> skippingWorlds = new ArrayList<>();
|
||||
|
||||
@Override
|
||||
|
@ -30,7 +30,6 @@ import java.util.zip.GZIPOutputStream;
|
||||
*/
|
||||
@SuppressWarnings({"WeakerAccess", "unused"})
|
||||
public class Metrics {
|
||||
|
||||
static {
|
||||
// You can use the property to disable the check in your test environment
|
||||
if (System.getProperty("bstats.relocatecheck") == null || !System.getProperty("bstats.relocatecheck").equals("false")) {
|
||||
|
@ -13,7 +13,6 @@ import java.util.concurrent.Future;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
public class Updater {
|
||||
|
||||
public static String latest;
|
||||
|
||||
// Checks if an update is available
|
||||
|
@ -1,10 +1,10 @@
|
||||
name: ${name}
|
||||
name: Harbor
|
||||
description: Harbor is a Spigot plugin that redefines how sleep works in your server, making it easier for all the online players to get in bed quickly and skip through the night!
|
||||
main: xyz.nkomarn.${name}.${name}
|
||||
version: ${version}
|
||||
main: xyz.nkomarn.Harbor.Harbor
|
||||
version: 1.6.2
|
||||
author: TechToolbox (@nkomarn)
|
||||
website: https://nkomarn.xyz
|
||||
softdepend: [Essentials]
|
||||
softdepend: [Essentials, PlaceholderAPI]
|
||||
api-version: 1.14
|
||||
|
||||
commands:
|
||||
|
Loading…
Reference in New Issue
Block a user