Added method getFightPlayer() to Fight class;
Code Cleanup PlayerDeathListener; Added WinConditions; Added Win/Lose/Undecided and give money to FightPlayers; Added money variables to config.yml; Signed-off-by: Yaruma3341 <yaruma3341@gmail.com>
Dieser Commit ist enthalten in:
Ursprung
6b4b993590
Commit
2d03c39883
12
config.yml
12
config.yml
@ -32,12 +32,20 @@ Output:
|
||||
GameName: AirWargear
|
||||
TeamChatDetection: +
|
||||
|
||||
ActiveWinConditions:
|
||||
WinConditions:
|
||||
Timeout: boolean
|
||||
AllDead: boolean
|
||||
CaptainDead: boolean
|
||||
Entern: boolean
|
||||
|
||||
WinConditionParams:
|
||||
TimeoutTime: 0
|
||||
EnterPhaseBegin: 0
|
||||
|
||||
Fight:
|
||||
Entern: boolean
|
||||
OnlyPublicSchematics: boolean
|
||||
|
||||
Money:
|
||||
Win: 0
|
||||
Lose: 0
|
||||
Undecided: 0
|
||||
|
@ -1,10 +1,9 @@
|
||||
package me.yaruma.fightsystem;
|
||||
|
||||
import com.sk89q.worldedit.bukkit.WorldEditPlugin;
|
||||
import de.diamant.hunjy.CoinSystem.CoinSystem;
|
||||
import me.yaruma.fightsystem.commands.AkCommand;
|
||||
import me.yaruma.fightsystem.fight.FightManager;
|
||||
import me.yaruma.fightsystem.fight.FightState;
|
||||
import me.yaruma.fightsystem.fight.FightTeam;
|
||||
import me.yaruma.fightsystem.fight.*;
|
||||
import me.yaruma.fightsystem.listener.*;
|
||||
import me.yaruma.fightsystem.manager.FileManager;
|
||||
import me.yaruma.fightsystem.utils.countdown.Countdown;
|
||||
@ -25,7 +24,6 @@ public class FightSystem extends JavaPlugin {
|
||||
private static FightSystem plugin;
|
||||
private FileManager fileManager;
|
||||
private FightManager fightManager;
|
||||
private Coordinates coordinates;
|
||||
|
||||
private FightState fightState;
|
||||
|
||||
@ -211,9 +209,34 @@ public class FightSystem extends JavaPlugin {
|
||||
this.fightState = FightState.SPECTATE;
|
||||
|
||||
Bukkit.broadcastMessage(" ");
|
||||
Bukkit.broadcastMessage(FightSystem.PREFIX + "§aDas Team von §6" + winFightTeam.getLeader().getPlayer().getName() + " §ahat gewonnen!");
|
||||
|
||||
if(winFightTeam != null) {
|
||||
|
||||
Bukkit.broadcastMessage(PREFIX + "§aDas Team von §6" + winFightTeam.getLeader().getPlayer().getName() + " §ahat gewonnen!");
|
||||
plugin.getFightManager().teleportAllToFightSpawn();
|
||||
|
||||
for(FightPlayer fightPlayer : winFightTeam.getPlayers()) {
|
||||
CoinSystem.getCoinsManager(fightPlayer.getPlayer()).addCoins(getMoneyToPay("Money.Win"));
|
||||
}
|
||||
|
||||
for(FightPlayer fightPlayer : Fight.getOpposite(winFightTeam).getPlayers()) {
|
||||
CoinSystem.getCoinsManager(fightPlayer.getPlayer()).addCoins(getMoneyToPay("Money.Lose"));
|
||||
}
|
||||
} else {
|
||||
//Keine Message! Wird in FinishTimeOver gesendet!
|
||||
for(FightPlayer fightPlayer : winFightTeam.getPlayers()) {
|
||||
CoinSystem.getCoinsManager(fightPlayer.getPlayer()).addCoins(getMoneyToPay("Money.Undecided"));
|
||||
}
|
||||
|
||||
for(FightPlayer fightPlayer : Fight.getOpposite(winFightTeam).getPlayers()) {
|
||||
CoinSystem.getCoinsManager(fightPlayer.getPlayer()).addCoins(getMoneyToPay("Money.Undecided"));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public int getMoneyToPay(String moneyPath) {
|
||||
return fileManager.getIntegerFromConfig(moneyPath);
|
||||
}
|
||||
|
||||
public static WorldEditPlugin getWorldEditPlugin() {
|
||||
|
@ -42,6 +42,18 @@ public class Fight {
|
||||
redTeam.broadcast(message);
|
||||
}
|
||||
|
||||
public static FightPlayer getFightPlayer(Player player) {
|
||||
if(redTeam.isPlayerInTeam(player)) {
|
||||
FightPlayer fightPlayer = redTeam.getFightPlayer(player);
|
||||
return fightPlayer;
|
||||
}
|
||||
if(blueTeam.isPlayerInTeam(player)) {
|
||||
FightPlayer fightPlayer = blueTeam.getFightPlayer(player);
|
||||
return fightPlayer;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public static FightTeam getRedTeam() {
|
||||
return redTeam;
|
||||
}
|
||||
|
@ -15,7 +15,7 @@ public class PlayerDeathListener implements Listener {
|
||||
|
||||
@EventHandler
|
||||
public void handlePlayerDeath(PlayerDeathEvent event) {
|
||||
Player player = event.getEntity();
|
||||
Player player = event.getEntity().getPlayer();
|
||||
if(Fight.getPlayerTeam(player) == null) return;
|
||||
FightTeam fightTeam = Fight.getPlayerTeam(player);
|
||||
FightTeam oppositeFightTeam = Fight.getOpposite(fightTeam);
|
||||
|
12
src/me/yaruma/fightsystem/winconditions/Methods.java
Normale Datei
12
src/me/yaruma/fightsystem/winconditions/Methods.java
Normale Datei
@ -0,0 +1,12 @@
|
||||
package me.yaruma.fightsystem.winconditions;
|
||||
|
||||
import me.yaruma.fightsystem.FightSystem;
|
||||
|
||||
public class Methods {
|
||||
|
||||
public static boolean isEnabled(String conditionPath) {
|
||||
return FightSystem.getPlugin().getFileManager().getBooleanFromConfig(conditionPath) ? true : false;
|
||||
}
|
||||
|
||||
|
||||
}
|
33
src/me/yaruma/fightsystem/winconditions/WinconditionAllDead.java
Normale Datei
33
src/me/yaruma/fightsystem/winconditions/WinconditionAllDead.java
Normale Datei
@ -0,0 +1,33 @@
|
||||
package me.yaruma.fightsystem.winconditions;
|
||||
|
||||
import me.yaruma.fightsystem.FightSystem;
|
||||
import me.yaruma.fightsystem.fight.Fight;
|
||||
import me.yaruma.fightsystem.fight.FightPlayer;
|
||||
import me.yaruma.fightsystem.fight.FightTeam;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.entity.PlayerDeathEvent;
|
||||
|
||||
public class WinconditionAllDead implements Listener {
|
||||
|
||||
FightSystem instance = FightSystem.getPlugin();
|
||||
|
||||
@EventHandler
|
||||
public void handlePlayerDeath(PlayerDeathEvent event) {
|
||||
if(!Methods.isEnabled("WinConditions.AllDead")) return;
|
||||
Player player = event.getEntity().getPlayer();
|
||||
if(Fight.getPlayerTeam(player) == null) return;
|
||||
FightTeam fightTeam = Fight.getPlayerTeam(player);
|
||||
FightTeam oppositeFightTeam = Fight.getOpposite(fightTeam);
|
||||
|
||||
if(fightTeam.allPlayersOut()) {
|
||||
Bukkit.broadcastMessage(FightSystem.PREFIX + "§cAlle Spieler aus dem Team von " + fightTeam.getLeader().getPlayer().getName() + " §csind gestorben!");
|
||||
instance.setSpectateState(oppositeFightTeam);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
36
src/me/yaruma/fightsystem/winconditions/WinconditionCaptainDead.java
Normale Datei
36
src/me/yaruma/fightsystem/winconditions/WinconditionCaptainDead.java
Normale Datei
@ -0,0 +1,36 @@
|
||||
package me.yaruma.fightsystem.winconditions;
|
||||
|
||||
import me.yaruma.fightsystem.FightSystem;
|
||||
import me.yaruma.fightsystem.fight.Fight;
|
||||
import me.yaruma.fightsystem.fight.FightTeam;
|
||||
import me.yaruma.fightsystem.manager.FileManager;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.entity.PlayerDeathEvent;
|
||||
|
||||
public class WinconditionCaptainDead implements Listener {
|
||||
|
||||
FightSystem instance = FightSystem.getPlugin();
|
||||
FileManager fileManager = instance.getFileManager();
|
||||
|
||||
@EventHandler
|
||||
public void handlePlayerDeath(PlayerDeathEvent event) {
|
||||
if(!Methods.isEnabled("WinConditions.CaptainDead")) return;
|
||||
Player player = event.getEntity().getPlayer();
|
||||
if(Fight.getPlayerTeam(player) == null) return;
|
||||
FightTeam fightTeam = Fight.getPlayerTeam(player);
|
||||
FightTeam oppositeFightTeam = Fight.getOpposite(fightTeam);
|
||||
|
||||
String team = Fight.getRedTeam().isPlayerLeader(player) ? "Red" : "Blue";
|
||||
|
||||
if(fightTeam.isPlayerLeader(player)) {
|
||||
Bukkit.broadcastMessage(FightSystem.PREFIX + "§cDer Leader von Team " + fileManager.getStringFromConfig("Output.Team" + team + "Color") + fileManager.getStringFromConfig("Output.Team" + team + "Name") + " §cist gestorben!");
|
||||
instance.setSpectateState(oppositeFightTeam);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
6
src/me/yaruma/fightsystem/winconditions/WinconditionTimeout.java
Normale Datei
6
src/me/yaruma/fightsystem/winconditions/WinconditionTimeout.java
Normale Datei
@ -0,0 +1,6 @@
|
||||
package me.yaruma.fightsystem.winconditions;
|
||||
|
||||
public class WinconditionTimeout {
|
||||
|
||||
|
||||
}
|
In neuem Issue referenzieren
Einen Benutzer sperren