diff options
| author | CraivMan <gamemaster370.carver@gmail.com> | 2022-12-05 21:09:50 -0600 | 
|---|---|---|
| committer | CraivMan <gamemaster370.carver@gmail.com> | 2022-12-05 21:09:50 -0600 | 
| commit | cc6e428517da5fe6acd3659bfbe4ebd4fa3ea5a5 (patch) | |
| tree | 1ca74a8f182f80d48343597e7c9859ea8d689b79 /src/main/java/com/MylesAndMore/tumble | |
| parent | 08d5fccac27fb1cb9cca3b3c69b07d916c37c195 (diff) | |
| download | Tumble-cc6e428517da5fe6acd3659bfbe4ebd4fa3ea5a5.tar.gz Tumble-cc6e428517da5fe6acd3659bfbe4ebd4fa3ea5a5.tar.bz2 Tumble-cc6e428517da5fe6acd3659bfbe4ebd4fa3ea5a5.zip  | |
Infinite snowballs (unfixed)
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 3f28e89..f870ed0 100644 --- a/src/main/java/com/MylesAndMore/tumble/EventListener.java +++ b/src/main/java/com/MylesAndMore/tumble/EventListener.java @@ -1,13 +1,22 @@  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.block.BlockBreakEvent;  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;  import java.util.Objects; @@ -63,7 +72,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 887c4ee..53a167c 100644 --- a/src/main/java/com/MylesAndMore/tumble/Game.java +++ b/src/main/java/com/MylesAndMore/tumble/Game.java @@ -90,14 +90,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 { @@ -116,7 +119,7 @@ public class Game {      private boolean generateLayers(String gameType) {          // Location layer = gameSpawn;          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); @@ -128,7 +131,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); @@ -142,10 +145,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 {  | 
