mirror of
https://github.com/nkomarn/harbor.git
synced 2024-09-25 13:12:42 +02:00
⚡ Thunderstorm looping fix
Also some small cleanup and vanish checking for bed messages.
This commit is contained in:
parent
737c9bdc40
commit
7c8819bb35
@ -20,17 +20,17 @@ public class HarborCommand implements TabExecutor {
|
|||||||
final String prefix = Config.getString("messages.miscellaneous.chat-prefix");
|
final String prefix = Config.getString("messages.miscellaneous.chat-prefix");
|
||||||
|
|
||||||
if (args.length < 1 || !sender.hasPermission("harbor.admin")) {
|
if (args.length < 1 || !sender.hasPermission("harbor.admin")) {
|
||||||
sender.sendMessage(ChatColor.translateAlternateColorCodes('&', prefix + "&7Harbor version "
|
sender.sendMessage(ChatColor.translateAlternateColorCodes('&', String.format(
|
||||||
+ Harbor.version + " by TechToolbox (@nkomarn)."));
|
"%sHarbor version %s by TechToolbox (@nkomarn).", prefix, Harbor.version)));
|
||||||
} else if (args[0].equalsIgnoreCase("reload")) {
|
} else if (args[0].equalsIgnoreCase("reload")) {
|
||||||
Harbor.getHarbor().reloadConfig();
|
Harbor.getHarbor().reloadConfig();
|
||||||
sender.sendMessage(ChatColor.translateAlternateColorCodes('&', prefix
|
sender.sendMessage(ChatColor.translateAlternateColorCodes('&', prefix
|
||||||
+ "&7Reloaded configuration."));
|
+ "Reloaded configuration."));
|
||||||
}
|
}
|
||||||
else if (args[0].equalsIgnoreCase("forceskip")) {
|
else if (args[0].equalsIgnoreCase("forceskip")) {
|
||||||
if (!(sender instanceof Player)) {
|
if (!(sender instanceof Player)) {
|
||||||
sender.sendMessage(ChatColor.translateAlternateColorCodes('&', prefix
|
sender.sendMessage(ChatColor.translateAlternateColorCodes('&', prefix
|
||||||
+ "&7This command requires you to be a player."));
|
+ "This command requires you to be a player."));
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -39,14 +39,13 @@ public class HarborCommand implements TabExecutor {
|
|||||||
|
|
||||||
if (Checker.skippingWorlds.contains(world)) {
|
if (Checker.skippingWorlds.contains(world)) {
|
||||||
sender.sendMessage(ChatColor.translateAlternateColorCodes('&', prefix
|
sender.sendMessage(ChatColor.translateAlternateColorCodes('&', prefix
|
||||||
+ "&7This world's time is already being accelerated."));
|
+ "This world's time is already being accelerated."));
|
||||||
return true;
|
} else {
|
||||||
}
|
|
||||||
|
|
||||||
Checker.skippingWorlds.add(world);
|
Checker.skippingWorlds.add(world);
|
||||||
new AccelerateNightTask(world).runTaskTimer(Harbor.getHarbor(), 0L, 1);
|
new AccelerateNightTask(world).runTaskTimer(Harbor.getHarbor(), 0L, 1);
|
||||||
sender.sendMessage(ChatColor.translateAlternateColorCodes('&', prefix
|
sender.sendMessage(ChatColor.translateAlternateColorCodes('&', prefix
|
||||||
+ "&7Forcing night skip in your world."));
|
+ "Forcing night skip in your world."));
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
sender.sendMessage(ChatColor.translateAlternateColorCodes('&', prefix
|
sender.sendMessage(ChatColor.translateAlternateColorCodes('&', prefix
|
||||||
+ Config.getString("messages.miscellaneous.unrecognized-command")));
|
+ Config.getString("messages.miscellaneous.unrecognized-command")));
|
||||||
|
@ -22,6 +22,7 @@ public class BedListener implements Listener {
|
|||||||
public void onBedEnter(final PlayerBedEnterEvent event) {
|
public void onBedEnter(final PlayerBedEnterEvent event) {
|
||||||
if (event.getBedEnterResult() != PlayerBedEnterEvent.BedEnterResult.OK) return;
|
if (event.getBedEnterResult() != PlayerBedEnterEvent.BedEnterResult.OK) return;
|
||||||
if (Checker.skippingWorlds.contains(event.getPlayer().getWorld())) return;
|
if (Checker.skippingWorlds.contains(event.getPlayer().getWorld())) return;
|
||||||
|
if (Checker.isVanished(event.getPlayer())) return;
|
||||||
|
|
||||||
Bukkit.getScheduler().runTaskLater(Harbor.getHarbor(), () -> {
|
Bukkit.getScheduler().runTaskLater(Harbor.getHarbor(), () -> {
|
||||||
final UUID playerUuid = event.getPlayer().getUniqueId();
|
final UUID playerUuid = event.getPlayer().getUniqueId();
|
||||||
@ -39,6 +40,7 @@ public class BedListener implements Listener {
|
|||||||
@EventHandler(ignoreCancelled = true)
|
@EventHandler(ignoreCancelled = true)
|
||||||
public void onBedLeave(final PlayerBedLeaveEvent event) {
|
public void onBedLeave(final PlayerBedLeaveEvent event) {
|
||||||
if (Checker.skippingWorlds.contains(event.getPlayer().getWorld())) return;
|
if (Checker.skippingWorlds.contains(event.getPlayer().getWorld())) return;
|
||||||
|
if (Checker.isVanished(event.getPlayer())) return;
|
||||||
|
|
||||||
Bukkit.getScheduler().runTaskLater(Harbor.getHarbor(), () -> {
|
Bukkit.getScheduler().runTaskLater(Harbor.getHarbor(), () -> {
|
||||||
final UUID playerUuid = event.getPlayer().getUniqueId();
|
final UUID playerUuid = event.getPlayer().getUniqueId();
|
||||||
|
@ -14,6 +14,14 @@ public class AccelerateNightTask extends BukkitRunnable {
|
|||||||
public AccelerateNightTask(final World world) {
|
public AccelerateNightTask(final World world) {
|
||||||
this.world = world;
|
this.world = world;
|
||||||
Messages.sendRandomChatMessage(world, "messages.chat.night-skipping");
|
Messages.sendRandomChatMessage(world, "messages.chat.night-skipping");
|
||||||
|
|
||||||
|
if (Config.getBoolean("night-skip.clear-rain")) {
|
||||||
|
world.setStorm(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (Config.getBoolean("night-skip.clear-thunder")) {
|
||||||
|
world.setThundering(false);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -29,19 +37,12 @@ public class AccelerateNightTask extends BukkitRunnable {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (time >= (dayTime - timeRate * 1.5) && time <= dayTime) {
|
if (time >= (dayTime - timeRate * 1.5) && time <= dayTime) {
|
||||||
if (Config.getBoolean("night-skip.clear-rain")) {
|
|
||||||
world.setStorm(false);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (Config.getBoolean("night-skip.clear-thunder")) {
|
|
||||||
world.setThundering(false);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (Config.getBoolean("night-skip.reset-phantom-statistic")) {
|
if (Config.getBoolean("night-skip.reset-phantom-statistic")) {
|
||||||
world.getPlayers().forEach(player -> player.setStatistic(Statistic.TIME_SINCE_REST, 0));
|
world.getPlayers().forEach(player -> player.setStatistic(Statistic.TIME_SINCE_REST, 0));
|
||||||
}
|
}
|
||||||
|
|
||||||
Bukkit.getScheduler().runTaskLaterAsynchronously(Harbor.getHarbor(), () -> Checker.skippingWorlds.remove(world), 20);
|
Bukkit.getScheduler().runTaskLaterAsynchronously(Harbor.getHarbor(),
|
||||||
|
() -> Checker.skippingWorlds.remove(world), 20);
|
||||||
Messages.sendRandomChatMessage(world, "messages.chat.night-skipped");
|
Messages.sendRandomChatMessage(world, "messages.chat.night-skipped");
|
||||||
this.cancel();
|
this.cancel();
|
||||||
} else {
|
} else {
|
||||||
|
Loading…
Reference in New Issue
Block a user