Skip to content

Commit 32df648

Browse files
Changes for 2.8.3
- /has vote if you are seeked
1 parent 40e7425 commit 32df648

File tree

10 files changed

+61
-7
lines changed

10 files changed

+61
-7
lines changed

src/main/java/de/vmoon/hasplugin/commands/HasCommand.java

Lines changed: 59 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,8 @@ public class HasCommand implements CommandExecutor, TabCompleter, Listener {
4343
private BukkitTask globalTask = null;
4444
private BukkitTask countdownTask = null;
4545
private long countAlivePlayers = 0;
46+
// Globale Map, um die Spieler zu tracken, die gevotet haben
47+
private final Set<Player> playersVoted = new HashSet<>();
4648

4749
public HasCommand() {
4850
this.teleportManager = new TeleportManager();
@@ -111,21 +113,73 @@ else if (args[0].equalsIgnoreCase("version")) {
111113
sender.sendMessage("§cDu hast keine Berechtigung um diesen Befehl auszuführen!");
112114
return true;
113115
}
114-
sender.sendMessage("§c[HASPlugin] §rHASPlugin Version 2.8.1");
116+
sender.sendMessage("§c[HASPlugin] §rHASPlugin Version 2.8.3");
115117
return true;
116118
}
119+
120+
117121
else if (args[0].equalsIgnoreCase("vote")) {
118-
if (!sender.hasPermission("has.vote")) {
119-
sender.sendMessage("§cDu hast keine Berechtigung um diesen Befehl auszuführen!");
122+
if (!(sender instanceof Player)) {
123+
sender.sendMessage("§cNur Spieler können diesen Befehl ausführen!");
124+
return true;
125+
}
126+
127+
Player player = (Player) sender;
128+
129+
if (!player.hasPermission("has.vote")) {
130+
player.sendMessage("§cDu hast keine Berechtigung, um diesen Befehl auszuführen!");
120131
return true;
121132
}
133+
122134
if (!moreThanOnePlayerOnline()) {
123-
sender.sendMessage("Es sind nicht genug Spieler online!");
135+
player.sendMessage("§cEs sind nicht genug Spieler online!");
136+
return true;
137+
}
138+
139+
// Überprüfe, ob der ausgewählte Spieler existiert
140+
if (selectedPlayer == null || !Bukkit.getOnlinePlayers().contains(selectedPlayer)) {
141+
player.sendMessage("§cDer ausgewählte Spieler ist nicht online!");
124142
return true;
125143
}
126-
sender.sendMessage("VOTE");
144+
145+
// Spieler hinzufügen, wenn sie gevotet haben
146+
if (playersVoted.contains(player)) {
147+
player.sendMessage("§cDu hast bereits gevotet!");
148+
return true;
149+
}
150+
151+
playersVoted.add(player);
152+
player.sendMessage("§aDanke für deinen Vote!");
153+
154+
// Überprüfen, ob alle Spieler (außer selectedPlayer) gevotet haben
155+
Set<Player> requiredPlayers = Bukkit.getOnlinePlayers().stream()
156+
.filter(p -> !p.equals(selectedPlayer))
157+
.collect(Collectors.toSet());
158+
159+
if (playersVoted.containsAll(requiredPlayers)) {
160+
// Alle Spieler haben gevotet, führe die Logik aus
161+
if (timerRunning) {
162+
if (time > 5) {
163+
time = 5;
164+
Bukkit.broadcastMessage("§a§lDer Timer wurde auf 5 Sekunden gesetzt!");
165+
} else if (time < 5) {
166+
player.sendMessage("§cDie Zeit ist bereits unter 5 Sekunden!");
167+
}
168+
} else {
169+
player.sendMessage("§cEs läuft kein Timer. Bitte starte erst einen, um ihn zu skippen!");
170+
}
171+
172+
// Liste zurücksetzen, da die Aktion abgeschlossen ist
173+
playersVoted.clear();
174+
} else {
175+
// Noch nicht alle haben gevotet
176+
Bukkit.broadcastMessage("§eNoch nicht alle Spieler haben gevotet!");
177+
}
178+
127179
return true;
128180
}
181+
182+
129183
else if (args[0].equalsIgnoreCase("add")) {
130184
if (!sender.hasPermission("has.addtime")) {
131185
sender.sendMessage("§cDu hast keine Berechtigung, um diesen Befehl auszuführen!");

src/main/resources/plugin.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name: HASPlugin
2-
version: 2.8.1
2+
version: 2.8.3
33
# '${project.version}'
44
main: de.vmoon.hasplugin.HASPlugin
55
api-version: '1.20'
559 Bytes
Binary file not shown.

target/HASPlugin-1.0-SNAPSHOT.jar

559 Bytes
Binary file not shown.
0 Bytes
Binary file not shown.
0 Bytes
Binary file not shown.
0 Bytes
Binary file not shown.
1.17 KB
Binary file not shown.

target/classes/plugin.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name: HASPlugin
2-
version: 2.8.1
2+
version: 2.8.3
33
# '1.0-SNAPSHOT'
44
main: de.vmoon.hasplugin.HASPlugin
55
api-version: '1.20'
559 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)