SteamWar/MissileWars
Archiviert
13
0

Add RandomPlayerScript
Alle Prüfungen waren erfolgreich
SteamWarCI Build successful

Dieser Commit ist enthalten in:
yoyosource 2022-11-14 17:32:14 +01:00
Ursprung 67847c8ff9
Commit 415ec61f7b

Datei anzeigen

@ -22,13 +22,11 @@
package de.steamwar.misslewars.scripts.implemented; package de.steamwar.misslewars.scripts.implemented;
import com.google.gson.JsonObject; import com.google.gson.JsonObject;
import de.steamwar.misslewars.MWTeam;
import de.steamwar.misslewars.MissileWars; import de.steamwar.misslewars.MissileWars;
import de.steamwar.misslewars.scripts.RunnableScript; import de.steamwar.misslewars.scripts.RunnableScript;
import de.steamwar.misslewars.scripts.RunnableScriptEvent; import de.steamwar.misslewars.scripts.RunnableScriptEvent;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import java.util.LinkedList;
import java.util.Random; import java.util.Random;
public class RandomPlayerScript implements RunnableScript { public class RandomPlayerScript implements RunnableScript {
@ -40,10 +38,15 @@ public class RandomPlayerScript implements RunnableScript {
@Override @Override
public boolean execute(RunnableScriptEvent runnableScriptEvent) { public boolean execute(RunnableScriptEvent runnableScriptEvent) {
MWTeam mwTeam = MissileWars.getBlueTeam(); int size = MissileWars.getBlueTeam().getPlayers().size() + MissileWars.getRedTeam().getPlayers().size();
if (Math.random() > 0.5) mwTeam = MissileWars.getRedTeam(); if (size == 0) return true;
LinkedList<Player> players = mwTeam.getPlayers(); int index = random.nextInt(size);
Player player = players.get(random.nextInt(players.size())); Player player;
if (index > MissileWars.getBlueTeam().getPlayers().size()) {
player = MissileWars.getRedTeam().getPlayers().get(index - MissileWars.getBlueTeam().getPlayers().size());
} else {
player = MissileWars.getBlueTeam().getPlayers().get(index);
}
runnableScriptEvent.setLocationType(RunnableScriptEvent.LocationType.CUSTOM); runnableScriptEvent.setLocationType(RunnableScriptEvent.LocationType.CUSTOM);
runnableScriptEvent.setCustomLocation(player.getLocation().getX(), player.getLocation().getY(), player.getLocation().getZ(), player.getLocation().getPitch(), player.getLocation().getYaw()); runnableScriptEvent.setCustomLocation(player.getLocation().getX(), player.getLocation().getY(), player.getLocation().getZ(), player.getLocation().getPitch(), player.getLocation().getYaw());
return true; return true;