Compare commits
3 Commits
8718ca0918
...
4f8a7a0416
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4f8a7a0416 | ||
|
|
55b88a950d | ||
|
|
172f9a29a2 |
|
|
@ -48,7 +48,7 @@ public class SnowballEvent implements Listener {
|
|||
}
|
||||
|
||||
@EventHandler
|
||||
public void onSnowballHitBySnowball(ProjectileLaunchEvent event) {
|
||||
public void onSnowballThrown(ProjectileLaunchEvent event) {
|
||||
handleSnowballThrown(event, (shooter, shooterTeamPlayer) -> {
|
||||
GameClass shooterClass = shooterTeamPlayer.getGameClass();
|
||||
shooter.setCooldown(Material.SNOWBALL, shooterClass.getThrowTickSpeed());
|
||||
|
|
@ -105,11 +105,22 @@ public class SnowballEvent implements Listener {
|
|||
return;
|
||||
}
|
||||
|
||||
Optional<TeamPlayer> teamPlayer = gameManager.getTeamPlayer(shooter.getUniqueId());
|
||||
if (teamPlayer.isEmpty()) {
|
||||
Optional<TeamPlayer> teamPlayerShooter = gameManager.getTeamPlayer(shooter.getUniqueId());
|
||||
if (teamPlayerShooter.isEmpty()) {
|
||||
log.debug("The shooter that hit a player with a snowball was not a team player");
|
||||
return;
|
||||
}
|
||||
consumer.apply(hitPlayer, shooter, teamPlayer.get());
|
||||
|
||||
Optional<TeamPlayer> teamPlayerHit = gameManager.getTeamPlayer(hitPlayer.getUniqueId());
|
||||
if (teamPlayerHit.isEmpty()) {
|
||||
log.debug("The shooter that hit a player with a snowball was not a team player");
|
||||
return;
|
||||
}
|
||||
|
||||
if (teamPlayerHit.get().getTeam().getId() == teamPlayerShooter.get().getTeam().getId()) {
|
||||
log.debug("The shooter hit a member of their own team");
|
||||
return;
|
||||
}
|
||||
consumer.apply(hitPlayer, shooter, teamPlayerHit.get());
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -62,9 +62,10 @@ public abstract class GameClass {
|
|||
throw new IllegalArgumentException("Display item has no lore");
|
||||
}
|
||||
ArrayList<Component> loreList = new ArrayList<>(lore);
|
||||
loreList.add(miniMessage.deserialize("<gold>Health: <health>, Damage: <damage></gold>",
|
||||
loreList.add(miniMessage.deserialize("<gold>Health: <health>, Damage: <damage> Throw speed: <throw_speed></gold>",
|
||||
Placeholder.parsed("health", String.valueOf(health)),
|
||||
Placeholder.parsed("damage", String.valueOf(damage))
|
||||
Placeholder.parsed("damage", String.valueOf(damage)),
|
||||
Placeholder.parsed("throw_speed", String.valueOf(throwTickSpeed))
|
||||
));
|
||||
itemMeta.lore(loreList);
|
||||
displayItem.setItemMeta(itemMeta);
|
||||
|
|
@ -85,6 +86,7 @@ public abstract class GameClass {
|
|||
player.setHealth(health);
|
||||
//Always reset the player inventory since other classes might have had them get items
|
||||
player.getInventory().clear();
|
||||
player.clearActivePotionEffects();
|
||||
|
||||
player.getInventory().setContents(tools.toArray(ItemStack[]::new));
|
||||
TeamColor color = teamPlayer.getTeam().getColor();
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user