summaryrefslogtreewikicommitdiff
path: root/src/main/java/net/tylermurphy/hideAndSeek/game
diff options
context:
space:
mode:
authorTyler Murphy <tylermurphy534@gmail.com>2022-05-04 16:30:55 -0400
committerTyler Murphy <tylermurphy534@gmail.com>2022-05-04 16:30:55 -0400
commit1005d4a8d8eef7aae6598bd4a96eea49f902ea80 (patch)
tree4c0fc1f5e16a6dc2ae32b4e39cefe669b51edebc /src/main/java/net/tylermurphy/hideAndSeek/game
parentleaveOnEnd added to config file (diff)
downloadkenshinshideandseek-1005d4a8d8eef7aae6598bd4a96eea49f902ea80.tar.gz
kenshinshideandseek-1005d4a8d8eef7aae6598bd4a96eea49f902ea80.tar.bz2
kenshinshideandseek-1005d4a8d8eef7aae6598bd4a96eea49f902ea80.zip
custom model data, custom glow item, custom seeker ping
Diffstat (limited to 'src/main/java/net/tylermurphy/hideAndSeek/game')
-rw-r--r--src/main/java/net/tylermurphy/hideAndSeek/game/EventListener.java49
-rw-r--r--src/main/java/net/tylermurphy/hideAndSeek/game/Game.java25
2 files changed, 28 insertions, 46 deletions
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/game/EventListener.java b/src/main/java/net/tylermurphy/hideAndSeek/game/EventListener.java
index 5995dbc..e464fba 100644
--- a/src/main/java/net/tylermurphy/hideAndSeek/game/EventListener.java
+++ b/src/main/java/net/tylermurphy/hideAndSeek/game/EventListener.java
@@ -32,7 +32,6 @@ import org.bukkit.attribute.AttributeInstance;
import org.bukkit.entity.Arrow;
import org.bukkit.entity.Entity;
import org.bukkit.entity.Player;
-import org.bukkit.entity.Snowball;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
@@ -42,7 +41,6 @@ import org.bukkit.event.entity.EntityRegainHealthEvent.RegainReason;
import org.bukkit.event.inventory.InventoryClickEvent;
import org.bukkit.event.player.*;
-import org.bukkit.inventory.EquipmentSlot;
import org.bukkit.inventory.ItemStack;
import org.bukkit.potion.PotionEffect;
import org.bukkit.projectiles.ProjectileSource;
@@ -240,24 +238,6 @@ public class EventListener implements Listener {
}
@EventHandler(priority = EventPriority.HIGHEST)
- public void onProjectile(ProjectileLaunchEvent event) {
- if(Game.status != Status.PLAYING) return;
- if(event.getEntity() instanceof Snowball) {
- if(!glowEnabled) return;
- Snowball snowball = (Snowball) event.getEntity();
- if(snowball.getShooter() instanceof Player) {
- Player player = (Player) snowball.getShooter();
- if(Board.isHider(player)) {
- Game.glow.onProjectile();
- snowball.remove();
- assert XMaterial.SNOWBALL.parseMaterial() != null;
- player.getInventory().remove(XMaterial.SNOWBALL.parseMaterial());
- }
- }
- }
- }
-
- @EventHandler(priority = EventPriority.HIGHEST)
public void onFoodLevelChange(FoodLevelChangeEvent event) {
if(event.getEntity() instanceof Player) {
if(!Board.isPlayer((Player) event.getEntity())) return;
@@ -297,18 +277,19 @@ public class EventListener implements Listener {
@EventHandler(priority = EventPriority.HIGHEST)
public void onPlayerInteract(PlayerInteractEvent event) {
if(!Board.isPlayer(event.getPlayer())) return;
-
if(event.getAction() == Action.RIGHT_CLICK_BLOCK && event.getClickedBlock() != null && blockedInteracts.contains(event.getClickedBlock().getType().name())){
event.setCancelled(true);
return;
}
-
- if(Game.status != Status.STANDBY) return;
-
-
ItemStack temp = event.getItem();
if(temp == null) return;
+ if(Game.status == Status.STANDBY)
+ onPlayerInteractLobby(temp, event);
+ if(Game.status == Status.PLAYING)
+ onPlayerInteractGame(temp, event);
+ }
+ private void onPlayerInteractLobby(ItemStack temp, PlayerInteractEvent event){
if (temp.getItemMeta().getDisplayName().equalsIgnoreCase(lobbyLeaveItem.getItemMeta().getDisplayName()) && temp.getType() == lobbyLeaveItem.getType()) {
event.setCancelled(true);
Game.leave(event.getPlayer());
@@ -330,7 +311,20 @@ public class EventListener implements Listener {
}
Game.start();
}
+ }
+ private void onPlayerInteractGame(ItemStack temp, PlayerInteractEvent event){
+ if (temp.getItemMeta().getDisplayName().equalsIgnoreCase(glowPowerupItem.getItemMeta().getDisplayName()) && temp.getType() == glowPowerupItem.getType()) {
+ if(!glowEnabled) return;
+ Player player = event.getPlayer();
+ if(Board.isHider(player)) {
+ Game.glow.onProjectile();
+ player.getInventory().remove(glowPowerupItem);
+ assert XMaterial.SNOWBALL.parseMaterial() != null;
+ player.getInventory().remove(XMaterial.SNOWBALL.parseMaterial());
+ event.setCancelled(true);
+ }
+ }
}
@EventHandler(priority = EventPriority.HIGHEST)
@@ -344,9 +338,8 @@ public class EventListener implements Listener {
}
@EventHandler(priority = EventPriority.HIGHEST)
- public void onItemDrop(PlayerDropItemEvent event)
- {
- if(Board.isPlayer(event.getPlayer()) && Game.status == Status.STANDBY){
+ public void onItemDrop(PlayerDropItemEvent event) {
+ if(Board.isPlayer(event.getPlayer())){
event.setCancelled(true);
}
}
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/game/Game.java b/src/main/java/net/tylermurphy/hideAndSeek/game/Game.java
index c01682b..7488163 100644
--- a/src/main/java/net/tylermurphy/hideAndSeek/game/Game.java
+++ b/src/main/java/net/tylermurphy/hideAndSeek/game/Game.java
@@ -273,18 +273,7 @@ public class Game {
for(PotionEffect effect : Items.HIDER_EFFECTS)
player.addPotionEffect(effect);
if(glowEnabled) {
- assert XMaterial.SNOWBALL.parseMaterial() != null;
- ItemStack snowball = new ItemStack(XMaterial.SNOWBALL.parseMaterial(), 1);
- ItemMeta snowballMeta = snowball.getItemMeta();
- assert snowballMeta != null;
- snowballMeta.setDisplayName("Glow Powerup");
- List<String> snowballLore = new ArrayList<>();
- snowballLore.add("Throw to make all seekers glow");
- snowballLore.add("Last 30s, all hiders can see it");
- snowballLore.add("Time stacks on multi use");
- snowballMeta.setLore(snowballLore);
- snowball.setItemMeta(snowballMeta);
- player.getInventory().addItem(snowball);
+ player.getInventory().addItem(glowPowerupItem);
}
}
}
@@ -391,18 +380,18 @@ public class Game {
}
if(seekerPing) switch(tick%10) {
case 0:
- if(distance < seekerPingLevel1) XSound.BLOCK_NOTE_BLOCK_BASEDRUM.play(hider, .5f, 1f);
- if(distance < seekerPingLevel3) XSound.BLOCK_NOTE_BLOCK_PLING.play(hider, .3f, 1f);
+ if(distance < seekerPingLevel1) heartbeatSound.play(hider, seekerPingLeadingVolume, seekerPingPitch);
+ if(distance < seekerPingLevel3) ringingSound.play(hider, seekerPingVolume, seekerPingPitch);
break;
case 3:
- if(distance < seekerPingLevel1) XSound.BLOCK_NOTE_BLOCK_BASEDRUM.play(hider, .3f, 1f);
- if(distance < seekerPingLevel3) XSound.BLOCK_NOTE_BLOCK_PLING.play(hider, .3f, 1f);
+ if(distance < seekerPingLevel1) heartbeatSound.play(hider, seekerPingVolume, seekerPingPitch);
+ if(distance < seekerPingLevel3) ringingSound.play(hider, seekerPingVolume, seekerPingPitch);
break;
case 6:
- if(distance < seekerPingLevel3) XSound.BLOCK_NOTE_BLOCK_PLING.play(hider, .3f, 1f);
+ if(distance < seekerPingLevel3) ringingSound.play(hider, seekerPingVolume, seekerPingPitch);
break;
case 9:
- if(distance < seekerPingLevel2) XSound.BLOCK_NOTE_BLOCK_PLING.play(hider, .3f, 1f);
+ if(distance < seekerPingLevel2) ringingSound.play(hider, seekerPingVolume, seekerPingPitch);
break;
}
}