diff options
author | Myles <mylesandmore9@gmail.com> | 2022-12-07 19:36:12 -0600 |
---|---|---|
committer | Myles <mylesandmore9@gmail.com> | 2022-12-07 19:36:12 -0600 |
commit | e8e547d0f559f330157eda2d44596c13932400cf (patch) | |
tree | ff167f889e153302f7b27599d8908a14601132d0 /src/main/java | |
parent | 0860c7913225943cd16f8a149ec9cf0b407ce359 (diff) | |
download | Tumble-e8e547d0f559f330157eda2d44596c13932400cf.tar.gz Tumble-e8e547d0f559f330157eda2d44596c13932400cf.tar.bz2 Tumble-e8e547d0f559f330157eda2d44596c13932400cf.zip |
wow I finally added a *core game mechanic*!11!!
(blocks break when a snowball impacts them in the gameWorld)
Diffstat (limited to '')
-rw-r--r-- | src/main/java/com/MylesAndMore/tumble/EventListener.java | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/src/main/java/com/MylesAndMore/tumble/EventListener.java b/src/main/java/com/MylesAndMore/tumble/EventListener.java index d1a60ad..00dbe07 100644 --- a/src/main/java/com/MylesAndMore/tumble/EventListener.java +++ b/src/main/java/com/MylesAndMore/tumble/EventListener.java @@ -8,7 +8,9 @@ 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.FoodLevelChangeEvent; import org.bukkit.event.entity.PlayerDeathEvent; +import org.bukkit.event.entity.ProjectileHitEvent; import org.bukkit.event.entity.ProjectileLaunchEvent; import org.bukkit.event.player.PlayerDropItemEvent; import org.bukkit.event.player.PlayerItemDamageEvent; @@ -88,6 +90,27 @@ public class EventListener implements Listener{ } @EventHandler + public void ProjectileHitEvent(ProjectileHitEvent event) { + // When a projectile hits, check to see if the gameWorld is null, + if (TumbleManager.getGameWorld() != null) { + // then check to see if the projectile hit in the gameWorld, + if (event.getHitBlock().getWorld() == Bukkit.getWorld(TumbleManager.getGameWorld())) { + // then check if the projectile was a snowball, + if (event.getEntity() instanceof Snowball) { + // then check if a player threw it, + if (event.getEntity().getShooter() instanceof Player player) { + // then check if that block is within the game area, + if (event.getHitBlock().getLocation().distanceSquared(Bukkit.getWorld(TumbleManager.getGameWorld()).getSpawnLocation()) < 402) { + // then remove that block. + event.getHitBlock().setType(Material.AIR); + } + } + } + } + } + } + + @EventHandler public void PlayerDropItemEvent(PlayerDropItemEvent event) { // When an item is dropped, make sure there is a defined gameWorld if (TumbleManager.getGameWorld() != null) { @@ -106,6 +129,17 @@ public class EventListener implements Listener{ event.setCancelled(true); } } + + @EventHandler + public void FoodLevelChangeEvent(FoodLevelChangeEvent event) { + // When someone's food level changes, check if the gameWorld is null, + if (TumbleManager.getGameWorld() != null) { + // then check if that happened in the gameWorld + if (event.getEntity().getWorld() == Bukkit.getWorld(TumbleManager.getGameWorld())) { + event.setCancelled(true); + } + } + } } |