public abstract class AbstractFight extends java.lang.Object implements Fight
Modifier and Type | Field and Description |
---|---|
protected Arena |
arena |
protected boolean |
bed1Broken |
protected boolean |
bed2Broken |
protected java.util.Map<Location,DefaultCachedBlockChange> |
blockChanges |
protected boolean |
blockLimitReached |
static java.lang.String |
currentFight |
protected MatchDurationLimit |
durationLimit |
protected long |
ended |
protected BattleKit |
kit |
protected int |
maxBlockChanges |
protected long |
started |
protected java.util.Map<java.util.UUID,FightStatistics> |
statistics |
Constructor and Description |
---|
AbstractFight() |
Modifier and Type | Method and Description |
---|---|
boolean |
addBlockChange(DefaultCachedBlockChange change) |
void |
clearBlockChanges()
Clear the list of block changes.
|
Arena |
getArena()
Gets the current arena of the fight.
|
java.util.Set<DefaultCachedBlockChange> |
getBlockChanges() |
java.util.Map<Location,DefaultCachedBlockChange> |
getBlockChangesMap() |
static @Nullable Fight |
getCurrentFight(Player player) |
long |
getDuration() |
MatchDurationLimit |
getDurationLimit() |
long |
getEnded() |
static java.util.concurrent.ConcurrentMap<java.util.UUID,Fight> |
getFights() |
BattleKit |
getKit() |
protected int |
getMaxBlockChanges()
Max number of block changes (including water etc)
By default it's ~ 2000 + (numberOfPlayers * 250)
|
long |
getStarted() |
java.util.HashMap<java.util.UUID,FightStatistics> |
getStatistics() |
FightStatistics |
getStatistics(Player p) |
FightStatistics |
getStatistics(java.util.UUID uuid) |
protected void |
handleDisappear(CachedBlockChange change) |
boolean |
isBed1Broken() |
boolean |
isBed2Broken() |
static boolean |
isInFight(Player p) |
protected void |
sendSpectatorMessages(java.util.Collection<java.lang.String> winners,
java.util.Collection<java.lang.String> losers) |
protected void |
sendSpectatorMessages(java.util.Collection<java.lang.String> winners,
java.util.Collection<java.lang.String> losers,
java.lang.String matchLinkMessage) |
void |
setArena(Arena arena) |
void |
setBed1Broken(boolean bed1Broken) |
void |
setBed2Broken(boolean bed2Broken) |
static void |
setCurrentFight(Player player,
Fight fight)
Sets the player's current fight.
|
void |
setKit(BattleKit kit) |
void |
setMaxBlockChanges(int maxBlockChanges) |
void |
setStartedAfterCountdown() |
void |
start()
Starts the actual fight
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
allowSpectating, canStart, forceEnd, forceEndDelayed, getFightStatistics, getFightStatistics, getOpponents, getPlayerNames, getPlayersInFight, getSpectators, getTeammates, handleDeath, hasEnded, hasStarted, playersAreOpponents, playersAreTeammates, saveFight
public static final java.lang.String currentFight
protected java.util.Map<Location,DefaultCachedBlockChange> blockChanges
protected java.util.Map<java.util.UUID,FightStatistics> statistics
protected boolean bed1Broken
protected boolean bed2Broken
protected BattleKit kit
protected Arena arena
protected long started
protected long ended
protected boolean blockLimitReached
protected MatchDurationLimit durationLimit
protected int maxBlockChanges
protected int getMaxBlockChanges()
public static java.util.concurrent.ConcurrentMap<java.util.UUID,Fight> getFights()
public void start()
Fight
public Arena getArena()
Fight
public FightStatistics getStatistics(java.util.UUID uuid)
getStatistics
in interface Fight
public FightStatistics getStatistics(Player p)
getStatistics
in interface Fight
public java.util.HashMap<java.util.UUID,FightStatistics> getStatistics()
getStatistics
in interface Fight
public boolean isBed1Broken()
public boolean isBed2Broken()
public void setBed1Broken(boolean bed1Broken)
public void setBed2Broken(boolean bed2Broken)
public long getStarted()
getStarted
in interface Fight
public void setStartedAfterCountdown()
setStartedAfterCountdown
in interface Fight
public long getDuration()
getDuration
in interface Fight
public java.util.Set<DefaultCachedBlockChange> getBlockChanges()
getBlockChanges
in interface Fight
public java.util.Map<Location,DefaultCachedBlockChange> getBlockChangesMap()
getBlockChangesMap
in interface Fight
public MatchDurationLimit getDurationLimit()
getDurationLimit
in interface Fight
public boolean addBlockChange(DefaultCachedBlockChange change)
addBlockChange
in interface Fight
protected void handleDisappear(CachedBlockChange change)
public void clearBlockChanges()
Fight
clearBlockChanges
in interface Fight
public void setMaxBlockChanges(int maxBlockChanges)
protected void sendSpectatorMessages(java.util.Collection<java.lang.String> winners, java.util.Collection<java.lang.String> losers, java.lang.String matchLinkMessage)
protected void sendSpectatorMessages(java.util.Collection<java.lang.String> winners, java.util.Collection<java.lang.String> losers)
@Nullable public static @Nullable Fight getCurrentFight(Player player)
public static void setCurrentFight(Player player, Fight fight)
public static boolean isInFight(Player p)
p
- the player to check.