summaryrefslogtreewikicommitdiff
path: root/src/main/java/net/tylermurphy/hideAndSeek/bukkit
diff options
context:
space:
mode:
authorTyler Murphy <tylermurphy534@gmail.com>2021-12-20 18:22:23 -0500
committerGitHub <noreply@github.com>2021-12-20 18:22:23 -0500
commit2ab0b2bbb604db246dcc46209ef780ba44d7aa69 (patch)
treed2513dbf0e511d66aaa8361e330ccb8bdf086bea /src/main/java/net/tylermurphy/hideAndSeek/bukkit
parent1.3.0 full release (diff)
parentAdd Workflows (diff)
downloadkenshinshideandseek-2ab0b2bbb604db246dcc46209ef780ba44d7aa69.tar.gz
kenshinshideandseek-2ab0b2bbb604db246dcc46209ef780ba44d7aa69.tar.bz2
kenshinshideandseek-2ab0b2bbb604db246dcc46209ef780ba44d7aa69.zip
Merge pull request #12 from tylermurphy534/1.3.1
1.3.1
Diffstat (limited to 'src/main/java/net/tylermurphy/hideAndSeek/bukkit')
-rw-r--r--src/main/java/net/tylermurphy/hideAndSeek/bukkit/CommandHandler.java1
-rw-r--r--src/main/java/net/tylermurphy/hideAndSeek/bukkit/EventListener.java105
-rw-r--r--src/main/java/net/tylermurphy/hideAndSeek/bukkit/Tick.java8
3 files changed, 76 insertions, 38 deletions
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/bukkit/CommandHandler.java b/src/main/java/net/tylermurphy/hideAndSeek/bukkit/CommandHandler.java
index 2001df6..1efb505 100644
--- a/src/main/java/net/tylermurphy/hideAndSeek/bukkit/CommandHandler.java
+++ b/src/main/java/net/tylermurphy/hideAndSeek/bukkit/CommandHandler.java
@@ -35,6 +35,7 @@ public class CommandHandler {
registerCommand(new SetBorder());
registerCommand(new Reload());
registerCommand(new SaveMap());
+ registerCommand(new SetBounds());
registerCommand(new Join());
registerCommand(new Leave());
}
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/bukkit/EventListener.java b/src/main/java/net/tylermurphy/hideAndSeek/bukkit/EventListener.java
index c0ee5eb..ffad241 100644
--- a/src/main/java/net/tylermurphy/hideAndSeek/bukkit/EventListener.java
+++ b/src/main/java/net/tylermurphy/hideAndSeek/bukkit/EventListener.java
@@ -2,6 +2,7 @@ package net.tylermurphy.hideAndSeek.bukkit;
import static net.tylermurphy.hideAndSeek.configuration.Config.*;
+import net.tylermurphy.hideAndSeek.command.Join;
import org.bukkit.Bukkit;
import org.bukkit.GameMode;
import org.bukkit.Location;
@@ -27,7 +28,8 @@ import org.bukkit.event.player.PlayerQuitEvent;
import net.tylermurphy.hideAndSeek.util.Packet;
import net.tylermurphy.hideAndSeek.util.Util;
import net.tylermurphy.hideAndSeek.Main;
-import net.tylermurphy.hideAndSeek.command.Start;
+import org.bukkit.potion.PotionEffect;
+
import static net.tylermurphy.hideAndSeek.configuration.Localization.*;
public class EventListener implements Listener {
@@ -37,60 +39,90 @@ public class EventListener implements Listener {
event.getPlayer().setLevel(0);
Main.plugin.board.remove(event.getPlayer());
if(!Util.isSetup()) return;
- if(event.getPlayer().getWorld().getName().equals("hideandseek_"+spawnWorld) || event.getPlayer().getWorld().getName().equals(lobbyWorld)){
- event.getPlayer().teleport(new Location(Bukkit.getWorld(exitWorld), exitPosition.getX(), exitPosition.getY(), exitPosition.getZ()));
- event.getPlayer().setGameMode(GameMode.ADVENTURE);
+ if(autoJoin){
+ Join.join(event.getPlayer());
+ } else if(teleportToExit) {
+ if (event.getPlayer().getWorld().getName().equals("hideandseek_" + spawnWorld) || event.getPlayer().getWorld().getName().equals(lobbyWorld)) {
+ event.getPlayer().teleport(new Location(Bukkit.getWorld(exitWorld), exitPosition.getX(), exitPosition.getY(), exitPosition.getZ()));
+ event.getPlayer().setGameMode(GameMode.ADVENTURE);
+ }
+ } else {
+ if (event.getPlayer().getWorld().getName().equals("hideandseek_" + spawnWorld)) {
+ event.getPlayer().teleport(new Location(Bukkit.getWorld(exitWorld), exitPosition.getX(), exitPosition.getY(), exitPosition.getZ()));
+ event.getPlayer().setGameMode(GameMode.ADVENTURE);
+ }
}
}
@EventHandler
public void onQuit(PlayerQuitEvent event) {
Main.plugin.board.remove(event.getPlayer());
+ if(Main.plugin.status.equals("Standby")) {
+ Main.plugin.board.reloadLobbyBoards();
+ } else {
+ Main.plugin.board.reloadGameBoards();
+ }
+ for(PotionEffect effect : event.getPlayer().getActivePotionEffects()){
+ event.getPlayer().removePotionEffect(effect.getType());
+ }
}
@EventHandler
public void onKick(PlayerKickEvent event) {
Main.plugin.board.remove(event.getPlayer());
+ if(Main.plugin.status.equals("Standby")) {
+ Main.plugin.board.reloadLobbyBoards();
+ } else {
+ Main.plugin.board.reloadGameBoards();
+ }
+ for(PotionEffect effect : event.getPlayer().getActivePotionEffects()){
+ event.getPlayer().removePotionEffect(effect.getType());
+ }
}
@EventHandler(priority = EventPriority.HIGHEST)
public void onEntityDamage(EntityDamageEvent event) {
- if(event.getEntity() instanceof Player) {
- Player p = (Player) event.getEntity();
- if(!Main.plugin.board.isPlayer(p)) return;
- if(!Main.plugin.status.equals("Playing")) {
- event.setCancelled(true);
- return;
- }
- Player attacker = null;
- if(event instanceof EntityDamageByEntityEvent) {
- Entity damager = ((EntityDamageByEntityEvent)event).getDamager();
- if(damager instanceof Player) {
- attacker = (Player) damager;
- if(Main.plugin.board.onSameTeam(p, attacker)) event.setCancelled(true);
- if(Main.plugin.board.isSpectator(p)) event.setCancelled(true);
- }
- }
- Player player = (Player) event.getEntity();
- if(player.getHealth()-event.getDamage() < 0) {
- if(spawnPosition == null) return;
- event.setCancelled(true);
- player.setHealth(player.getAttribute(Attribute.GENERIC_MAX_HEALTH).getValue());
- player.teleport(new Location(Bukkit.getWorld("hideandseek_"+spawnWorld), spawnPosition.getX(), spawnPosition.getY(), spawnPosition.getZ()));
- Packet.playSound(player, Sound.ENTITY_PLAYER_DEATH, 1, 1);
- if(Main.plugin.board.isSeeker(player)) {
- Bukkit.broadcastMessage(message("GAME_PLAYER_DEATH").addPlayer(event.getEntity()).toString());
+ try {
+ if (event.getEntity() instanceof Player) {
+ Player p = (Player) event.getEntity();
+ if (!Main.plugin.board.isPlayer(p)) return;
+ if (!Main.plugin.status.equals("Playing")) {
+ event.setCancelled(true);
+ return;
}
- if(Main.plugin.board.isHider(player)) {
- if(attacker == null) {
- Util.broadcastMessage(message("GAME_PLAYER_FOUND").addPlayer(event.getEntity()).toString());
- } else {
- Util.broadcastMessage(message("GAME_PLAYER_FOUND_BY").addPlayer(event.getEntity()).addPlayer(attacker).toString());
+ Player attacker = null;
+ if (event instanceof EntityDamageByEntityEvent) {
+ Entity damager = ((EntityDamageByEntityEvent) event).getDamager();
+ if (damager instanceof Player) {
+ attacker = (Player) damager;
+ if (Main.plugin.board.onSameTeam(p, attacker)) event.setCancelled(true);
+ if (Main.plugin.board.isSpectator(p)) event.setCancelled(true);
+ }
+ }
+ Player player = (Player) event.getEntity();
+ if (player.getHealth() - event.getDamage() < 0 || !pvpEnabled) {
+ if (spawnPosition == null) return;
+ event.setCancelled(true);
+ player.setHealth(player.getAttribute(Attribute.GENERIC_MAX_HEALTH).getValue());
+ player.teleport(new Location(Bukkit.getWorld("hideandseek_" + spawnWorld), spawnPosition.getX(), spawnPosition.getY(), spawnPosition.getZ()));
+ Packet.playSound(player, Sound.ENTITY_PLAYER_DEATH, 1, 1);
+ if (Main.plugin.board.isSeeker(player)) {
+ Bukkit.broadcastMessage(message("GAME_PLAYER_DEATH").addPlayer(event.getEntity()).toString());
+ }
+ if (Main.plugin.board.isHider(player)) {
+ if (attacker == null) {
+ Util.broadcastMessage(message("GAME_PLAYER_FOUND").addPlayer(event.getEntity()).toString());
+ } else {
+ Util.broadcastMessage(message("GAME_PLAYER_FOUND_BY").addPlayer(event.getEntity()).addPlayer(attacker).toString());
+ }
+ Main.plugin.board.addSeeker(player);
}
- Main.plugin.board.addSeeker(player);
+ Util.resetPlayer(player);
+ Main.plugin.board.reloadBoardTeams();
}
- Start.resetPlayer(player);
}
+ } catch (Exception e){
+ //Has shown to cause problems, so ignore if exception
}
}
@@ -98,6 +130,7 @@ public class EventListener implements Listener {
public void onProjectile(ProjectileLaunchEvent event) {
if(!Main.plugin.status.equals("Playing")) return;
if(event.getEntity() instanceof Snowball) {
+ if(!glowEnabled) return;
Snowball snowball = (Snowball) event.getEntity();
if(snowball.getShooter() instanceof Player) {
Player player = (Player) snowball.getShooter();
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/bukkit/Tick.java b/src/main/java/net/tylermurphy/hideAndSeek/bukkit/Tick.java
index eadcf14..8efbe80 100644
--- a/src/main/java/net/tylermurphy/hideAndSeek/bukkit/Tick.java
+++ b/src/main/java/net/tylermurphy/hideAndSeek/bukkit/Tick.java
@@ -40,9 +40,13 @@ public class Tick {
else tick = 1;
for(Player hider : Main.plugin.board.getHiders()) {
- int distance = 100;
+ int distance = 100, temp = 100;
for(Player seeker : Main.plugin.board.getSeekers()) {
- int temp = (int) hider.getLocation().distance(seeker.getLocation());
+ try {
+ temp = (int) hider.getLocation().distance(seeker.getLocation());
+ } catch (Exception e){
+ //Players in different worlds, NOT OK!!!
+ }
if(distance > temp) {
distance = temp;
}