fixed playtimer
This commit is contained in:
@ -16,7 +16,8 @@ public class TeamTasks extends Appliance {
|
|||||||
/**
|
/**
|
||||||
* Task for kicking Team after the desired Playtime
|
* Task for kicking Team after the desired Playtime
|
||||||
*/
|
*/
|
||||||
TIME_KICK
|
TIME_KICK,
|
||||||
|
JOIN_PAIR
|
||||||
}
|
}
|
||||||
|
|
||||||
private final Map<VaroTeam, Map<Type, Task>> tasks = new HashMap<>();
|
private final Map<VaroTeam, Map<Type, Task>> tasks = new HashMap<>();
|
||||||
|
@ -7,6 +7,8 @@ import eu.mhsl.craftattack.spawn.core.api.server.HttpServer;
|
|||||||
import eu.mhsl.craftattack.spawn.core.appliance.Appliance;
|
import eu.mhsl.craftattack.spawn.core.appliance.Appliance;
|
||||||
import eu.mhsl.craftattack.spawn.core.appliance.ApplianceCommand;
|
import eu.mhsl.craftattack.spawn.core.appliance.ApplianceCommand;
|
||||||
import eu.mhsl.craftattack.spawn.core.config.Configuration;
|
import eu.mhsl.craftattack.spawn.core.config.Configuration;
|
||||||
|
import eu.mhsl.craftattack.spawn.varo.appliances.internal.teamTasks.TeamTasks;
|
||||||
|
import eu.mhsl.craftattack.spawn.varo.appliances.internal.teamTasks.tasks.CountdownTeamTask;
|
||||||
import eu.mhsl.craftattack.spawn.varo.appliances.metaGameplay.teams.Teams;
|
import eu.mhsl.craftattack.spawn.varo.appliances.metaGameplay.teams.Teams;
|
||||||
import eu.mhsl.craftattack.spawn.varo.appliances.metaGameplay.teams.VaroTeam;
|
import eu.mhsl.craftattack.spawn.varo.appliances.metaGameplay.teams.VaroTeam;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
@ -86,11 +88,19 @@ public class PlayTimer extends Appliance {
|
|||||||
|
|
||||||
public boolean tryConsumeTicket(VaroTeam team) {
|
public boolean tryConsumeTicket(VaroTeam team) {
|
||||||
String teamName = team.name;
|
String teamName = team.name;
|
||||||
int current = this.joinTickets.getOrDefault(teamName, 1);
|
|
||||||
|
|
||||||
if (current <= 0) return false;
|
var teamTasks = Main.instance().getAppliance(TeamTasks.class);
|
||||||
|
boolean isSecond = teamTasks.getRunningTeamTasks(team).containsKey(TeamTasks.Type.JOIN_PAIR);
|
||||||
|
if(!isSecond) {
|
||||||
|
int current = this.joinTickets.getOrDefault(teamName, 1);
|
||||||
|
if (current <= 0) return false;
|
||||||
|
this.joinTickets.put(teamName, current - 1);
|
||||||
|
|
||||||
|
var task = new CountdownTeamTask(10, announcementData -> null, component -> {}, () -> {});
|
||||||
|
task.start();
|
||||||
|
teamTasks.addTask(team, TeamTasks.Type.JOIN_PAIR, task);
|
||||||
|
}
|
||||||
|
|
||||||
this.joinTickets.put(teamName, current - 1);
|
|
||||||
this.save();
|
this.save();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user