Skip to content

Commit

Permalink
⚡ Fix up cooldowns
Browse files Browse the repository at this point in the history
  • Loading branch information
nkomarn committed Apr 4, 2020
1 parent 7644a7f commit 62ff190
Show file tree
Hide file tree
Showing 4 changed files with 21 additions and 11 deletions.
2 changes: 2 additions & 0 deletions .github/workflows/maven.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@ jobs:
uses: actions/setup-java@v1
with:
java-version: 1.8
- name: Build with Maven
run: mvn package --file pom.xml
#- name: Build with Maven and Deploy
# env:
# GITHUB_USERNAME: x-access-token
Expand Down
22 changes: 15 additions & 7 deletions src/main/java/xyz/nkomarn/Harbor/listener/BedListener.java
Original file line number Diff line number Diff line change
Expand Up @@ -13,18 +13,20 @@
import java.util.HashMap;
import java.util.Map;
import java.util.UUID;
import java.util.concurrent.TimeUnit;

public class BedListener implements Listener {
private Map<UUID, Long> cooldowns = new HashMap<>(); // TODO, totally fucked right now (lol)
private Map<UUID, Long> cooldowns = new HashMap<>();

@EventHandler(ignoreCancelled = true)
public void onBedEnter(final PlayerBedEnterEvent event) {
if (event.getBedEnterResult() != PlayerBedEnterEvent.BedEnterResult.OK) return;
if (Checker.skippingWorlds.contains(event.getPlayer().getWorld())) return;

Bukkit.getScheduler().runTaskLater(Harbor.getHarbor(), () -> {
UUID playerUuid = event.getPlayer().getUniqueId();
if (cooldowns.containsKey(playerUuid) && !(cooldowns.get(playerUuid) +
(Config.getInteger("messages.chat.message-cooldown") * 1000) >= System.currentTimeMillis())) return;
final UUID playerUuid = event.getPlayer().getUniqueId();
if (!(TimeUnit.MILLISECONDS.toSeconds(System.currentTimeMillis() - getCooldown(playerUuid)) >
Config.getInteger("messages.chat.message-cooldown"))) return;

Messages.sendWorldChatMessage(event.getBed().getWorld(),
Config.getString("messages.chat.player-sleeping")
Expand All @@ -37,10 +39,11 @@ public void onBedEnter(final PlayerBedEnterEvent event) {
@EventHandler(ignoreCancelled = true)
public void onBedLeave(final PlayerBedLeaveEvent event) {
if (Checker.skippingWorlds.contains(event.getPlayer().getWorld())) return;

Bukkit.getScheduler().runTaskLater(Harbor.getHarbor(), () -> {
UUID playerUuid = event.getPlayer().getUniqueId();
if (cooldowns.containsKey(playerUuid) && !(cooldowns.get(playerUuid) +
(Config.getInteger("messages.chat.message-cooldown") * 1000) >= System.currentTimeMillis())) return;
final UUID playerUuid = event.getPlayer().getUniqueId();
if (!(TimeUnit.MILLISECONDS.toSeconds(System.currentTimeMillis() - getCooldown(playerUuid)) >
Config.getInteger("messages.chat.message-cooldown"))) return;

Messages.sendWorldChatMessage(event.getBed().getWorld(),
Config.getString("messages.chat.player-left-bed")
Expand All @@ -49,4 +52,9 @@ public void onBedLeave(final PlayerBedLeaveEvent event) {
cooldowns.put(playerUuid, System.currentTimeMillis());
}, 1);
}

private long getCooldown(final UUID playerUuid) {
if (!cooldowns.containsKey(playerUuid)) return 0;
return cooldowns.get(playerUuid);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ public AccelerateNightTask(final World world) {
@Override
public void run() {
final long time = world.getTime();
final int dayTime = Config.getInteger("night-skip.daytime-ticks");
final int dayTime = Math.max(150, Config.getInteger("night-skip.daytime-ticks"));
final int sleeping = Checker.getSleeping(world).size();
double timeRate = Config.getInteger("night-skip.time-rate");

Expand Down
6 changes: 3 additions & 3 deletions src/main/resources/plugin.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,16 @@ main: xyz.nkomarn.Harbor.Harbor
version: 1.6.2-SNAPSHOT
author: TechToolbox (@nkomarn)
website: https://nkomarn.xyz
softdepend: [Essentials, PlaceholderAPI]
softdepend: [Essentials]
api-version: 1.14

commands:
harbor:
description: "Base command for Harbor!"
usage: "/harbor {subcommand}"
usage: "/harbor [subcommand]"

permissions:
harbor.bypass:
harbor.ignored:
default: false
harbor.admin:
default: op

0 comments on commit 62ff190

Please sign in to comment.