diff options
Diffstat (limited to '')
| -rw-r--r-- | src/main/java/com/MylesAndMore/tumble/EventListener.java | 25 | ||||
| -rw-r--r-- | src/main/java/com/MylesAndMore/tumble/Game.java | 9 | 
2 files changed, 30 insertions, 4 deletions
diff --git a/src/main/java/com/MylesAndMore/tumble/EventListener.java b/src/main/java/com/MylesAndMore/tumble/EventListener.java index 1a8be98..f40430d 100644 --- a/src/main/java/com/MylesAndMore/tumble/EventListener.java +++ b/src/main/java/com/MylesAndMore/tumble/EventListener.java @@ -1,12 +1,21 @@  package com.MylesAndMore.tumble;  import org.bukkit.Bukkit; +import org.bukkit.Material; +import org.bukkit.entity.Player; +import org.bukkit.entity.Projectile; +import org.bukkit.entity.Snowball;  import org.bukkit.event.EventHandler;  import org.bukkit.event.Listener;  import org.bukkit.event.entity.PlayerDeathEvent; +import org.bukkit.event.entity.ProjectileLaunchEvent; +import org.bukkit.event.player.PlayerItemConsumeEvent;  import org.bukkit.event.player.PlayerItemDamageEvent;  import org.bukkit.event.player.PlayerJoinEvent;  import org.bukkit.event.player.PlayerQuitEvent; +import org.bukkit.inventory.EquipmentSlot; +import org.bukkit.inventory.ItemStack; +import org.bukkit.projectiles.ProjectileSource;  public class EventListener implements Listener{      @EventHandler @@ -60,7 +69,23 @@ public class EventListener implements Listener{              }          }      } + +    @EventHandler +    public void ProjectileLaunchEvent(ProjectileLaunchEvent event) { +        // When A projectile is launched, check to make sure there is a defined gameWorld +        if (TumbleManager.getGameWorld() != null) { +            // Then check to see if projectile was thrown in the gameWorld. +            if (event.getEntity().getWorld() == Bukkit.getWorld(TumbleManager.getGameWorld())) { +                if (event.getEntity() instanceof Snowball) { +                    if (event.getEntity().getShooter() instanceof Player player) { +                        player.getInventory().addItem(new ItemStack(Material.SNOWBALL)); +                    } +                } +            } +        } +    }  } + diff --git a/src/main/java/com/MylesAndMore/tumble/Game.java b/src/main/java/com/MylesAndMore/tumble/Game.java index 63c68df..b08dfd3 100644 --- a/src/main/java/com/MylesAndMore/tumble/Game.java +++ b/src/main/java/com/MylesAndMore/tumble/Game.java @@ -86,14 +86,17 @@ public class Game {              gameType = "mixed";              // Mixed gamemode (choose random shovels or snowballs)              if (Random.nextInt(2) == 0) { +                roundType = "shovels";                  generateLayers("shovels");                  giveItems(new ItemStack(Material.DIAMOND_SHOVEL));                  sendPlayers();              }              else { +                roundType = "snowballs";                  generateLayers("snowballs");                  giveItems(new ItemStack(Material.SNOWBALL));                  sendPlayers(); +              }          }          else { @@ -111,7 +114,7 @@ public class Game {      private boolean generateLayers(String gameType) {          Location layer = new Location(gameSpawn.getWorld(), gameSpawn.getX(), gameSpawn.getY(), gameSpawn.getZ(), gameSpawn.getYaw(), gameSpawn.getPitch()); -        if (Objects.equals(gameType, "shovels")) { +        if (Objects.equals(roundType, "shovels")) {              layer.setY(layer.getY() - 1);              Generator.generateLayer(layer, 17, 1, Material.SNOW_BLOCK);              Generator.generateLayer(layer, 13, 1, Material.AIR); @@ -123,7 +126,7 @@ public class Game {              Generator.generateLayer(layer, 4, 2, Material.TALL_GRASS);              roundType = "shovels";          } -        else if (Objects.equals(gameType, "snowballs")) { +        else if (Objects.equals(roundType, "snowballs")) {              layer.setY(layer.getY() - 1);              Generator.generateLayer(layer, 17, 1, Material.COAL_ORE);              Generator.generateLayer(layer, 13, 1, Material.AIR); @@ -137,10 +140,8 @@ public class Game {          else if (Objects.equals(gameType, "mixed")) {              if (Random.nextInt(2) == 0) {                  generateLayers("shovels"); -                roundType = "shovels";              } else {                  generateLayers("snowballs"); -                roundType = "snowballs";              }          }          else {  | 
