better messaging
This commit is contained in:
parent
eb9262991d
commit
ad6b6966e0
3 changed files with 38 additions and 16 deletions
|
@ -28,7 +28,7 @@ public class TeamScoreBoard {
|
||||||
}
|
}
|
||||||
daysAliveObjective = scoreboard.getObjective("days-alive");
|
daysAliveObjective = scoreboard.getObjective("days-alive");
|
||||||
if (daysAliveObjective == null) {
|
if (daysAliveObjective == null) {
|
||||||
daysAliveObjective = scoreboard.registerNewObjective("days-alive", Criteria.DUMMY, Component.text("Days alive"));
|
daysAliveObjective = scoreboard.registerNewObjective("days-alive", Criteria.DUMMY, Component.text("Team Days alive"));
|
||||||
}
|
}
|
||||||
objective.setDisplaySlot(DisplaySlot.SIDEBAR);
|
objective.setDisplaySlot(DisplaySlot.SIDEBAR);
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,6 +3,8 @@ package gent.zeus.mc13dtl.events;
|
||||||
import net.kyori.adventure.text.Component;
|
import net.kyori.adventure.text.Component;
|
||||||
import net.kyori.adventure.text.format.NamedTextColor;
|
import net.kyori.adventure.text.format.NamedTextColor;
|
||||||
import net.kyori.adventure.text.format.TextDecoration;
|
import net.kyori.adventure.text.format.TextDecoration;
|
||||||
|
import org.bukkit.Bukkit;
|
||||||
|
import org.bukkit.Server;
|
||||||
import org.bukkit.event.EventHandler;
|
import org.bukkit.event.EventHandler;
|
||||||
import org.bukkit.event.HandlerList;
|
import org.bukkit.event.HandlerList;
|
||||||
import org.bukkit.event.Listener;
|
import org.bukkit.event.Listener;
|
||||||
|
@ -48,8 +50,9 @@ public abstract class Event implements Listener, Runnable {
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void eventSuccess() {
|
protected void eventSuccess() {
|
||||||
MC13DTL.board.sendMessageToTeam(team, Component.text("Congratulations! You survived this event").color(NamedTextColor.GREEN));
|
|
||||||
MC13DTL.board.addScore(team, scoreOnSuccess);
|
MC13DTL.board.addScore(team, scoreOnSuccess);
|
||||||
|
MC13DTL.instance.getServer().broadcast(Component.text("Team " + team.getName()).color(team.color()).append(
|
||||||
|
Component.text(" successfully completed and survived the event!").color(NamedTextColor.WHITE)));
|
||||||
eventFinished();
|
eventFinished();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,8 @@
|
||||||
package gent.zeus.mc13dtl.group;
|
package gent.zeus.mc13dtl.group;
|
||||||
|
|
||||||
|
import com.mojang.datafixers.util.Pair;
|
||||||
|
import net.kyori.adventure.text.Component;
|
||||||
|
import net.kyori.adventure.text.format.NamedTextColor;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.NamespacedKey;
|
import org.bukkit.NamespacedKey;
|
||||||
import org.bukkit.World;
|
import org.bukkit.World;
|
||||||
|
@ -8,6 +11,10 @@ import org.bukkit.scoreboard.Team;
|
||||||
|
|
||||||
import gent.zeus.mc13dtl.MC13DTL;
|
import gent.zeus.mc13dtl.MC13DTL;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Comparator;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
public class SurvivalRunner implements Runnable {
|
public class SurvivalRunner implements Runnable {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
|
@ -16,10 +23,22 @@ public class SurvivalRunner implements Runnable {
|
||||||
long lastRunDay = world.getPersistentDataContainer().get(eventKey, PersistentDataType.LONG);
|
long lastRunDay = world.getPersistentDataContainer().get(eventKey, PersistentDataType.LONG);
|
||||||
long day = Bukkit.getWorld("world").getFullTime() / 24000;
|
long day = Bukkit.getWorld("world").getFullTime() / 24000;
|
||||||
if (day > lastRunDay) {
|
if (day > lastRunDay) {
|
||||||
|
List<Pair<Team, Integer>> grantedScores = new ArrayList<>();
|
||||||
for (Team team : MC13DTL.board.getTeams().stream().toList()) {
|
for (Team team : MC13DTL.board.getTeams().stream().toList()) {
|
||||||
int currentDays = MC13DTL.board.getDaysAlive(team) + 1;
|
int currentDays = MC13DTL.board.getDaysAlive(team) + 1;
|
||||||
|
int score = (int) Math.pow(2, currentDays);
|
||||||
MC13DTL.board.setDaysAlive(team, currentDays);
|
MC13DTL.board.setDaysAlive(team, currentDays);
|
||||||
MC13DTL.board.addScore(team, (int) Math.pow(2, currentDays));
|
MC13DTL.board.addScore(team, score);
|
||||||
|
grantedScores.add(new Pair<>(team, score));
|
||||||
|
}
|
||||||
|
|
||||||
|
grantedScores.sort(Comparator.comparing(p -> -p.getSecond()));
|
||||||
|
|
||||||
|
for (Pair<Team, Integer> p : grantedScores) {
|
||||||
|
MC13DTL.instance.getServer().broadcast(
|
||||||
|
Component.text("Team " + p.getFirst().getName()).color(p.getFirst().color()).append(
|
||||||
|
Component.text(" survived " + MC13DTL.board.getDaysAlive(p.getFirst()) + " days and was given " + p.getSecond() + " points").color(NamedTextColor.WHITE)
|
||||||
|
));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
world.getPersistentDataContainer().set(eventKey, PersistentDataType.LONG, day);
|
world.getPersistentDataContainer().set(eventKey, PersistentDataType.LONG, day);
|
||||||
|
|
Loading…
Reference in a new issue