Skip to content

Commit

Permalink
Completely removed Interact functionality
Browse files Browse the repository at this point in the history
  • Loading branch information
ninathedev committed Mar 13, 2024
1 parent 8ce48cc commit 3eedb2e
Show file tree
Hide file tree
Showing 2 changed files with 3 additions and 51 deletions.
52 changes: 3 additions & 49 deletions src/main/java/com/github/ninathedev/place/Place.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
import org.bukkit.entity.FallingBlock;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
import org.bukkit.event.block.Action;
import org.bukkit.event.block.BlockPlaceEvent;
Expand Down Expand Up @@ -47,10 +48,6 @@ public void addPlayerBreakBossBar(Player player, long delayInSeconds) {
addPlayerBossBar(player, delayInSeconds, BarColor.RED, playerBreakBossBars, "Breaking");
}

public void addPlayerInteractBossBar(Player player, long delayInSeconds) {
addPlayerBossBar(player, delayInSeconds, BarColor.GREEN, playerInteractBossBars, "Interacting");
}

private void addPlayerBossBar(Player player, long delayInSeconds, BarColor color, Map<UUID, BossBar> bossBars, String theTitle) {
if (!getConfig().getBoolean("display.show-bossbar")) return;
// Store the total delay for later calculations
Expand Down Expand Up @@ -110,28 +107,6 @@ public void run() {
addPlayerBreakBossBar(player, delayInSeconds);
}

public void addPlayerInteractTimer(Player player, long delayInSeconds) {
// Calculate the end time
long endTime = System.currentTimeMillis() + delayInSeconds * 1000;

// Create a new timer
BukkitRunnable runnable = new BukkitRunnable() {
@Override
public void run() {
playerInteractTimers.remove(player.getUniqueId());
}
};

// Start the timer
runnable.runTaskLater(this, delayInSeconds * 20); // 20 ticks = 1 second

// Store the timer
playerInteractTimers.put(player.getUniqueId(), endTime);

// Use BossBar
addPlayerInteractBossBar(player, delayInSeconds);
}

public void addPlayerPlaceTimer(Player player, long delayInSeconds) {
// Calculate the end time
long endTime = System.currentTimeMillis() + delayInSeconds * 1000;
Expand Down Expand Up @@ -170,15 +145,6 @@ public long getBreakTimeLeft(Player player) {
}
return 0; // Return 0 if there's no timer for the player
}

public long getInteractTimeLeft(Player player) {
if (playerInteractTimers.containsKey(player.getUniqueId())) {
// Calculate the time left in seconds
long timeLeft = (playerInteractTimers.get(player.getUniqueId()) - System.currentTimeMillis()) / 1000;
return timeLeft > 0 ? timeLeft : 0;
}
return 0; // Return 0 if there's no timer for the player
}
public static Place instance;

public static Place getInstance() {
Expand Down Expand Up @@ -313,7 +279,7 @@ public void onEntityDamageByBlock(EntityDamageByBlockEvent e) {



@EventHandler
@EventHandler(priority = EventPriority.HIGHEST)
public void onBlockPlace(BlockPlaceEvent e) {
if (!getPlaceMode()) {
if (e.getPlayer().hasPermission("place.bypassBlockLimiter")) return;
Expand Down Expand Up @@ -372,7 +338,7 @@ public void onBucketEmpty(PlayerBucketEmptyEvent e) {
e.setCancelled(true);
}
}
@EventHandler
@EventHandler(priority = EventPriority.HIGH)
public void onPlayerInteract(PlayerInteractEvent e) {
if (e.getAction() == Action.LEFT_CLICK_BLOCK && e.getPlayer().getGameMode() == GameMode.CREATIVE) {
if (!getBreakOnly()) {
Expand All @@ -399,18 +365,6 @@ public void onPlayerInteract(PlayerInteractEvent e) {
String breakTest = getConfig().getString("messages.timers.break").replace("%breakTimer%", String.valueOf(getBreakTimeLeft(e.getPlayer())));
if (getConfig().getBoolean("display.send-timer-in-chat.timer-approved")) e.getPlayer().sendMessage(breakTest);
e.getPlayer().giveExpLevels(-1);
} else if (e.getAction() == Action.RIGHT_CLICK_BLOCK) {
if (playerInteractTimers.containsKey(e.getPlayer().getUniqueId())) {
if (e.getPlayer().hasPermission("place.bypassTimer")) return;
String interactTest = getConfig().getString("messages.timers.interact").replace("%interactTimer%", String.valueOf(getBreakTimeLeft(e.getPlayer())));
if (getConfig().getBoolean("display.send-timer-in-chat.timer-disapproved")) e.getPlayer().sendMessage(interactTest);
e.setCancelled(true);
return;
}
if (e.getPlayer().hasPermission("place.bypassTimer")) return;
addPlayerInteractTimer(e.getPlayer(), getConfig().getInt("timers.interact"));
String interactTest = getConfig().getString("messages.timers.interact").replace("%interactTimer%", String.valueOf(getInteractTimeLeft(e.getPlayer())));
if (getConfig().getBoolean("display.send-timer-in-chat.timer-approved")) e.getPlayer().sendMessage(interactTest);
}
}
}
2 changes: 0 additions & 2 deletions src/main/resources/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ disallow-end-crystals: true
timers:
place: 60
break: 60
interact: 60

display:
# Shows the bossbars of placing and breaking (for timers)
Expand Down Expand Up @@ -38,7 +37,6 @@ messages:
timers:
place: "You have %placeTimer% second(s) left!"
break: "You have %breakTimer% second(s) left!"
interact: "You have %interactTimer% second(s) left!"
breaking-restricted-blocks: "You can't escape."
placing-restricted-blocks: "To prevent griefing and potentially breaking the map, we disabled that block."
dropping-items: "To prevent lag from dropped items, we have disabled dropped items."
Expand Down

0 comments on commit 3eedb2e

Please sign in to comment.