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 | |
parent | 08d5fccac27fb1cb9cca3b3c69b07d916c37c195 (diff) | |
download | Tumble-cc6e428517da5fe6acd3659bfbe4ebd4fa3ea5a5.tar.gz Tumble-cc6e428517da5fe6acd3659bfbe4ebd4fa3ea5a5.tar.bz2 Tumble-cc6e428517da5fe6acd3659bfbe4ebd4fa3ea5a5.zip |
Infinite snowballs (unfixed)
Diffstat (limited to 'src/main/java')
-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 { |