aboutsummaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
authorCraivMan <gamemaster370.carver@gmail.com>2022-12-05 21:09:50 -0600
committerCraivMan <gamemaster370.carver@gmail.com>2022-12-05 21:09:50 -0600
commitcc6e428517da5fe6acd3659bfbe4ebd4fa3ea5a5 (patch)
tree1ca74a8f182f80d48343597e7c9859ea8d689b79 /src/main
parent08d5fccac27fb1cb9cca3b3c69b07d916c37c195 (diff)
downloadTumble-cc6e428517da5fe6acd3659bfbe4ebd4fa3ea5a5.tar.gz
Tumble-cc6e428517da5fe6acd3659bfbe4ebd4fa3ea5a5.tar.bz2
Tumble-cc6e428517da5fe6acd3659bfbe4ebd4fa3ea5a5.zip
Infinite snowballs (unfixed)
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/com/MylesAndMore/tumble/EventListener.java25
-rw-r--r--src/main/java/com/MylesAndMore/tumble/Game.java9
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 {