summaryrefslogtreewikicommitdiff
path: root/src/main/java/net/tylermurphy/hideAndSeek/events
diff options
context:
space:
mode:
authorTyler Murphy <tylermurphy534@gmail.com>2021-08-26 09:38:12 -0400
committerTyler Murphy <tylermurphy534@gmail.com>2021-08-26 09:38:12 -0400
commit4995dc3544be37dfb02cde54442c72b4664499e2 (patch)
treeac0caf72bbda142b9263d20284f60fc2873d3a12 /src/main/java/net/tylermurphy/hideAndSeek/events
parentmoved encoding fix to chat defenition (diff)
downloadkenshinshideandseek-4995dc3544be37dfb02cde54442c72b4664499e2.tar.gz
kenshinshideandseek-4995dc3544be37dfb02cde54442c72b4664499e2.tar.bz2
kenshinshideandseek-4995dc3544be37dfb02cde54442c72b4664499e2.zip
1.3.0 beta 2, bug fixes, added more block settings, added more config options
Diffstat (limited to 'src/main/java/net/tylermurphy/hideAndSeek/events')
-rw-r--r--src/main/java/net/tylermurphy/hideAndSeek/events/EventListener.java127
1 files changed, 126 insertions, 1 deletions
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/events/EventListener.java b/src/main/java/net/tylermurphy/hideAndSeek/events/EventListener.java
index 8ac7d29..541dc68 100644
--- a/src/main/java/net/tylermurphy/hideAndSeek/events/EventListener.java
+++ b/src/main/java/net/tylermurphy/hideAndSeek/events/EventListener.java
@@ -8,16 +8,23 @@ import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.Sound;
import org.bukkit.attribute.Attribute;
+import org.bukkit.entity.ArmorStand;
+import org.bukkit.entity.ItemFrame;
+import org.bukkit.entity.Painting;
import org.bukkit.entity.Player;
import org.bukkit.entity.Snowball;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
+import org.bukkit.event.entity.EntityDamageByEntityEvent;
import org.bukkit.event.entity.EntityDamageEvent;
import org.bukkit.event.entity.EntityRegainHealthEvent;
import org.bukkit.event.entity.EntityRegainHealthEvent.RegainReason;
import org.bukkit.event.entity.FoodLevelChangeEvent;
import org.bukkit.event.entity.ProjectileLaunchEvent;
+import org.bukkit.event.hanging.HangingBreakByEntityEvent;
import org.bukkit.event.player.PlayerCommandPreprocessEvent;
+import org.bukkit.event.player.PlayerInteractEntityEvent;
+import org.bukkit.event.player.PlayerInteractEvent;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.event.player.PlayerQuitEvent;
import org.bukkit.potion.PotionEffect;
@@ -54,7 +61,7 @@ public class EventListener implements Listener {
}
@EventHandler
- public void onPlayerDamage(EntityDamageEvent event) {
+ public void onEntityDamage(EntityDamageEvent event) {
if(event.getEntity() instanceof Player) {
if(!status.equals("Playing")) {
event.setCancelled(true);
@@ -81,6 +88,124 @@ public class EventListener implements Listener {
}
@EventHandler
+ public void onEntityDamageByEntity(EntityDamageByEntityEvent event) {
+ if(event.getEntity() instanceof ArmorStand) {
+ if(unbreakableArmorstands) {
+ if(event.getDamager() instanceof Player) {
+ Player player = (Player) event.getDamager();
+ if(status.equals("Playing") || status.equals("Starting") || !player.hasPermission("hideandseek.blockbypass")) {
+ System.out.println('t');
+ event.setCancelled(true);
+ }
+ } else {
+ event.setCancelled(true);
+ }
+ }
+ }
+ }
+
+ @EventHandler
+ public void onPlayerInteractEntity(PlayerInteractEntityEvent event) {
+ if(!interactableArmorstands) {
+ if(event.getRightClicked() instanceof ArmorStand) {
+ if(status.equals("Playing") || status.equals("Starting") || !event.getPlayer().hasPermission("hideandseek.blockbypass")) {
+ event.setCancelled(true);
+ }
+ }
+ }
+ if(!interactableItemframes) {
+ if(event.getRightClicked() instanceof ItemFrame) {
+ if(status.equals("Playing") || status.equals("Starting") || !event.getPlayer().hasPermission("hideandseek.blockbypass")) {
+ event.setCancelled(true);
+ }
+ }
+ }
+ }
+
+ @EventHandler
+ public void onPlayerInteractBlock(PlayerInteractEvent event) {
+ if(!interactableDoors) {
+ if(
+ event.getClickedBlock().getType() == Material.ACACIA_DOOR ||
+ event.getClickedBlock().getType() == Material.BIRCH_DOOR ||
+ event.getClickedBlock().getType() == Material.CRIMSON_DOOR ||
+ event.getClickedBlock().getType() == Material.DARK_OAK_DOOR ||
+ event.getClickedBlock().getType() == Material.IRON_DOOR ||
+ event.getClickedBlock().getType() == Material.JUNGLE_DOOR ||
+ event.getClickedBlock().getType() == Material.OAK_DOOR ||
+ event.getClickedBlock().getType() == Material.SPRUCE_DOOR ||
+ event.getClickedBlock().getType() == Material.WARPED_DOOR
+ ) {
+ if(status.equals("Playing") || status.equals("Starting") || !event.getPlayer().hasPermission("hideandseek.blockbypass")) {
+ event.setCancelled(true);
+ }
+ }
+ }
+ if(!interactableTrapdoors) {
+ if(
+ event.getClickedBlock().getType() == Material.ACACIA_TRAPDOOR ||
+ event.getClickedBlock().getType() == Material.BIRCH_TRAPDOOR ||
+ event.getClickedBlock().getType() == Material.CRIMSON_TRAPDOOR ||
+ event.getClickedBlock().getType() == Material.DARK_OAK_TRAPDOOR ||
+ event.getClickedBlock().getType() == Material.IRON_TRAPDOOR ||
+ event.getClickedBlock().getType() == Material.JUNGLE_TRAPDOOR ||
+ event.getClickedBlock().getType() == Material.OAK_TRAPDOOR ||
+ event.getClickedBlock().getType() == Material.SPRUCE_TRAPDOOR ||
+ event.getClickedBlock().getType() == Material.WARPED_TRAPDOOR
+ ) {
+ if(status.equals("Playing") || status.equals("Starting") || !event.getPlayer().hasPermission("hideandseek.blockbypass")) {
+ event.setCancelled(true);
+ }
+ }
+ }
+ if(!interactableFencegate) {
+ if(
+ event.getClickedBlock().getType() == Material.ACACIA_FENCE_GATE ||
+ event.getClickedBlock().getType() == Material.BIRCH_FENCE_GATE ||
+ event.getClickedBlock().getType() == Material.CRIMSON_FENCE_GATE ||
+ event.getClickedBlock().getType() == Material.DARK_OAK_FENCE_GATE ||
+ event.getClickedBlock().getType() == Material.JUNGLE_FENCE_GATE ||
+ event.getClickedBlock().getType() == Material.OAK_FENCE_GATE ||
+ event.getClickedBlock().getType() == Material.SPRUCE_FENCE_GATE ||
+ event.getClickedBlock().getType() == Material.WARPED_FENCE_GATE
+ ) {
+ if(status.equals("Playing") || status.equals("Starting") || !event.getPlayer().hasPermission("hideandseek.blockbypass")) {
+ event.setCancelled(true);
+ }
+ }
+ }
+ }
+
+ @EventHandler
+ public void onHangingBreakByEntity(HangingBreakByEntityEvent event) {
+ if(event.getEntity() instanceof ItemFrame) {
+ if(unbreakableItemframes) {
+ if(event.getRemover() instanceof Player) {
+ Player player = (Player) event.getRemover();
+ if(status.equals("Playing") || status.equals("Starting") || !player.hasPermission("hideandseek.blockbypass")) {
+ event.setCancelled(true);
+ }
+ } else {
+ event.setCancelled(true);
+ }
+
+ }
+ }
+ if(event.getEntity() instanceof Painting) {
+ if(unbreakableArmorstands) {
+ if(event.getRemover() instanceof Player) {
+ Player player = (Player) event.getRemover();
+ if(status.equals("Playing") || status.equals("Starting") || !player.hasPermission("hideandseek.blockbypass")) {
+ event.setCancelled(true);
+ }
+ } else {
+ event.setCancelled(true);
+ }
+ }
+ }
+ }
+
+ @EventHandler
public void onProjectile(ProjectileLaunchEvent event) {
if(!status.equals("Playing")) return;
if(event.getEntity() instanceof Snowball) {