From fedb9a56a310ed17ecc32ede6a676e8d8bb145ff Mon Sep 17 00:00:00 2001 From: Mathieu Strypsteen Date: Sun, 15 Sep 2024 09:20:09 +0200 Subject: [PATCH] Award score on event finish --- .../java/gent/zeus/mc13dtl/TeamScoreBoard.java | 7 ++++++- src/main/java/gent/zeus/mc13dtl/events/Event.java | 3 +++ .../zeus/mc13dtl/events/catalog/TestEvent.java | 15 +++++++++++++++ .../zeus/mc13dtl/group/GroupRemoveCommand.java | 2 +- 4 files changed, 25 insertions(+), 2 deletions(-) diff --git a/src/main/java/gent/zeus/mc13dtl/TeamScoreBoard.java b/src/main/java/gent/zeus/mc13dtl/TeamScoreBoard.java index 80d5ebc..1a64f2a 100644 --- a/src/main/java/gent/zeus/mc13dtl/TeamScoreBoard.java +++ b/src/main/java/gent/zeus/mc13dtl/TeamScoreBoard.java @@ -41,6 +41,11 @@ public class TeamScoreBoard { return objective.getScore(team.getName()).getScore(); } + public void addScore(Team team, int score) { + int current_score = getScore(team); + setScore(team, current_score + score); + } + public Team getTeam(Integer team_index) { Team team = scoreboard.getTeam(team_index.toString()); @@ -50,6 +55,7 @@ public class TeamScoreBoard { team.color(colors.get(team_index % colors.size())); team.prefix(Component.text("Team " + team_index.toString() + " ")); team.setAllowFriendlyFire(false); + setScore(team, 0); } return team; @@ -67,7 +73,6 @@ public class TeamScoreBoard { team.addPlayer(player); team.addEntry(player.getUniqueId().toString()); player.sendRichMessage("You have been added to team " + team.getName()); - this.setScore(team, 0); player.setGlowing(true); } diff --git a/src/main/java/gent/zeus/mc13dtl/events/Event.java b/src/main/java/gent/zeus/mc13dtl/events/Event.java index 69ffb60..429c1a2 100644 --- a/src/main/java/gent/zeus/mc13dtl/events/Event.java +++ b/src/main/java/gent/zeus/mc13dtl/events/Event.java @@ -30,6 +30,7 @@ public abstract class Event implements Listener { protected void eventSuccess() { MC13DTL.board.sendMessageToTeam(team, Component.text("Congratulations! You survived this event").color(NamedTextColor.GREEN)); + MC13DTL.board.addScore(team, scoreAwarded()); eventFinished(); } @@ -53,4 +54,6 @@ public abstract class Event implements Listener { } protected abstract String getMessage(); + + protected abstract int scoreAwarded(); } diff --git a/src/main/java/gent/zeus/mc13dtl/events/catalog/TestEvent.java b/src/main/java/gent/zeus/mc13dtl/events/catalog/TestEvent.java index 8b9af84..1d7a8f5 100644 --- a/src/main/java/gent/zeus/mc13dtl/events/catalog/TestEvent.java +++ b/src/main/java/gent/zeus/mc13dtl/events/catalog/TestEvent.java @@ -1,5 +1,7 @@ package gent.zeus.mc13dtl.events.catalog; +import org.bukkit.event.EventHandler; +import org.bukkit.event.player.PlayerInteractEvent; import org.bukkit.scoreboard.Team; import gent.zeus.mc13dtl.events.Event; @@ -13,4 +15,17 @@ public class TestEvent extends Event { protected String getMessage() { return "test"; } + + @EventHandler + public void onPlayerInteract(PlayerInteractEvent event) { + if (event.getPlayer() == null) { + return; + } + eventSuccess(); + } + + @Override + protected int scoreAwarded() { + return 5; + } } diff --git a/src/main/java/gent/zeus/mc13dtl/group/GroupRemoveCommand.java b/src/main/java/gent/zeus/mc13dtl/group/GroupRemoveCommand.java index 1756c79..557917e 100644 --- a/src/main/java/gent/zeus/mc13dtl/group/GroupRemoveCommand.java +++ b/src/main/java/gent/zeus/mc13dtl/group/GroupRemoveCommand.java @@ -20,7 +20,7 @@ public class GroupRemoveCommand implements BasicCommand { team.removeEntry(player.getName()); player.sendMessage("You have been removed from your team"); } else { - commandSourceStack.getSender().sendMessage("Player not a team!"); + commandSourceStack.getSender().sendMessage("Player not in a team!"); } } else { commandSourceStack.getSender().sendMessage("Player " + args[0] + " does not exist.");