diff options
author | Tyler Murphy <tylermurphy534@gmail.com> | 2022-05-04 16:30:55 -0400 |
---|---|---|
committer | Tyler Murphy <tylermurphy534@gmail.com> | 2022-05-04 16:30:55 -0400 |
commit | 1005d4a8d8eef7aae6598bd4a96eea49f902ea80 (patch) | |
tree | 4c0fc1f5e16a6dc2ae32b4e39cefe669b51edebc /src/main/java/net/tylermurphy/hideAndSeek/game | |
parent | leaveOnEnd added to config file (diff) | |
download | kenshinshideandseek-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.java | 49 | ||||
-rw-r--r-- | src/main/java/net/tylermurphy/hideAndSeek/game/Game.java | 25 |
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; } } |