diff --git a/src/main/java/me/freezy/plugins/papermc/blazesmp/BlazeSMP.java b/src/main/java/me/freezy/plugins/papermc/blazesmp/BlazeSMP.java index 97ba8de..c9fffe0 100644 --- a/src/main/java/me/freezy/plugins/papermc/blazesmp/BlazeSMP.java +++ b/src/main/java/me/freezy/plugins/papermc/blazesmp/BlazeSMP.java @@ -91,6 +91,8 @@ public final class BlazeSMP extends JavaPlugin { pm.registerEvents(new ChunkInventoryListener(), this); pm.registerEvents(new PressurePlateListener(), this); pm.registerEvents(new PlayerVsPlayerListener(clans), this); + pm.registerEvents(new EndPortalListener(this), this); + pm.registerEvents(new PvPListener(), this); //pm.registerEvents(new ProtectedBlockListener(), this); this.log.info("Registered EventListeners!"); diff --git a/src/main/java/me/freezy/plugins/papermc/blazesmp/command/VanishCommand.java b/src/main/java/me/freezy/plugins/papermc/blazesmp/command/VanishCommand.java index 7e7e5bb..0774c5d 100644 --- a/src/main/java/me/freezy/plugins/papermc/blazesmp/command/VanishCommand.java +++ b/src/main/java/me/freezy/plugins/papermc/blazesmp/command/VanishCommand.java @@ -36,10 +36,10 @@ public class VanishCommand extends SimpleCommand { if (player.isOp()) { for (Player online : Bukkit.getOnlinePlayers()) { if (vanishedPlayers.getOrDefault(player.getUniqueId(), false)) { - player.showPlayer(BlazeSMP.getInstance(), online); + online.showPlayer(BlazeSMP.getInstance(), player); online.sendMessage(MiniMessage.miniMessage().deserialize(L4M4.get("player.join")).append(player.playerListName())); } else { - player.hidePlayer(BlazeSMP.getInstance(), online); + online.hidePlayer(BlazeSMP.getInstance(), player); online.sendMessage(MiniMessage.miniMessage().deserialize(L4M4.get("player.left")).append(player.playerListName())); } } diff --git a/src/main/java/me/freezy/plugins/papermc/blazesmp/listener/PlayerQuitListener.java b/src/main/java/me/freezy/plugins/papermc/blazesmp/listener/PlayerQuitListener.java new file mode 100644 index 0000000..76c7fdb --- /dev/null +++ b/src/main/java/me/freezy/plugins/papermc/blazesmp/listener/PlayerQuitListener.java @@ -0,0 +1,28 @@ +package me.freezy.plugins.papermc.blazesmp.listener; + +import me.freezy.plugins.papermc.blazesmp.manager.PlayerManager; +import me.freezy.plugins.papermc.blazesmp.module.manager.L4M4; +import net.kyori.adventure.text.minimessage.MiniMessage; +import org.bukkit.entity.Player; +import org.bukkit.event.EventHandler; +import org.bukkit.event.Listener; +import org.bukkit.event.player.PlayerQuitEvent; +import org.bukkit.scoreboard.Team; + + +import java.util.UUID; + +public class PlayerQuitListener implements Listener { + + @EventHandler + public void onQuit(PlayerQuitEvent event) { + UUID playerUUID = event.getPlayer().getUniqueId(); + Player player = event.getPlayer(); + new PlayerManager().setPlayerTeam(player); + Team team = player.getScoreboard().getEntryTeam(player.getName()); + + assert team != null; + event.quitMessage(MiniMessage.miniMessage().deserialize(L4M4.get("player.left")) + .append(player.playerListName())); + } +} diff --git a/src/main/java/me/freezy/plugins/papermc/blazesmp/listener/PvPListener.java b/src/main/java/me/freezy/plugins/papermc/blazesmp/listener/PvPListener.java new file mode 100644 index 0000000..eec964e --- /dev/null +++ b/src/main/java/me/freezy/plugins/papermc/blazesmp/listener/PvPListener.java @@ -0,0 +1,28 @@ +package me.freezy.plugins.papermc.blazesmp.listener; + +import org.bukkit.entity.Player; +import org.bukkit.event.EventHandler; +import org.bukkit.event.Listener; +import org.bukkit.event.entity.EntityDamageByEntityEvent; + +import java.time.LocalDateTime; +import java.time.Month; +import java.time.format.DateTimeFormatter; +import java.util.Locale; + +public class PvPListener implements Listener { + + @EventHandler + public void onEntityDamageByEntity(EntityDamageByEntityEvent event) { + if (event.getDamager() instanceof Player && event.getEntity() instanceof Player) { + LocalDateTime now = LocalDateTime.now(); + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss", Locale.GERMAN); + String formattedNow = now.format(formatter); + + if (now.getYear() == 2025 && now.getMonth() == Month.FEBRUARY && now.getDayOfMonth() == 23 && + now.getHour() >= 17 && (now.getHour() < 20 || (now.getHour() == 20 && now.getMinute() == 0))) { + event.setCancelled(true); + } + } + } +} \ No newline at end of file