For some reason I like ...Change events. The power loss event is now converted to a power change event.
This commit is contained in:
parent
9770cb8983
commit
afe944d3c4
@ -9,6 +9,8 @@ import org.bukkit.entity.Player;
|
||||
import com.massivecraft.factions.event.FactionsEventLandClaim;
|
||||
import com.massivecraft.factions.event.FactionsEventMembershipChange;
|
||||
import com.massivecraft.factions.event.FactionsEventMembershipChange.MembershipChangeReason;
|
||||
import com.massivecraft.factions.event.FactionsEventPowerChange;
|
||||
import com.massivecraft.factions.event.FactionsEventPowerChange.PowerChangeReason;
|
||||
import com.massivecraft.factions.iface.EconomyParticipator;
|
||||
import com.massivecraft.factions.iface.RelationParticipator;
|
||||
import com.massivecraft.factions.integration.Econ;
|
||||
@ -470,6 +472,11 @@ public class FPlayer extends SenderEntity<FPlayer> implements EconomyParticipato
|
||||
}
|
||||
}
|
||||
|
||||
FactionsEventPowerChange event = new FactionsEventPowerChange(null, this, PowerChangeReason.TIME, powerTarget);
|
||||
event.run();
|
||||
if (event.isCancelled()) return;
|
||||
powerTarget = event.getNewPower();
|
||||
|
||||
this.setPower(powerTarget, now);
|
||||
}
|
||||
|
||||
|
@ -0,0 +1,56 @@
|
||||
package com.massivecraft.factions.event;
|
||||
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.event.HandlerList;
|
||||
|
||||
import com.massivecraft.factions.FPlayer;
|
||||
|
||||
public class FactionsEventPowerChange extends FactionsEventAbstractSender
|
||||
{
|
||||
// -------------------------------------------- //
|
||||
// REQUIRED EVENT CODE
|
||||
// -------------------------------------------- //
|
||||
|
||||
private static final HandlerList handlers = new HandlerList();
|
||||
@Override public HandlerList getHandlers() { return handlers; }
|
||||
public static HandlerList getHandlerList() { return handlers; }
|
||||
|
||||
// -------------------------------------------- //
|
||||
// FIELDS
|
||||
// -------------------------------------------- //
|
||||
|
||||
private final FPlayer fplayer;
|
||||
public FPlayer getFPlayer() { return this.fplayer; }
|
||||
|
||||
private final PowerChangeReason reason;
|
||||
public PowerChangeReason getReason() { return this.reason; }
|
||||
|
||||
private double newPower;
|
||||
public double getNewPower() { return this.newPower; }
|
||||
public void setNewPower(double newPower) { this.newPower = newPower; }
|
||||
|
||||
// -------------------------------------------- //
|
||||
// CONSTRUCT
|
||||
// -------------------------------------------- //
|
||||
|
||||
public FactionsEventPowerChange(CommandSender sender, FPlayer fplayer, PowerChangeReason reason, double newPower)
|
||||
{
|
||||
super(sender);
|
||||
this.fplayer = fplayer;
|
||||
this.reason = reason;
|
||||
this.newPower = newPower;
|
||||
}
|
||||
|
||||
// -------------------------------------------- //
|
||||
// REASON ENUM
|
||||
// -------------------------------------------- //
|
||||
|
||||
public enum PowerChangeReason
|
||||
{
|
||||
TIME,
|
||||
DEATH,
|
||||
UNDEFINED,
|
||||
;
|
||||
}
|
||||
|
||||
}
|
@ -1,27 +0,0 @@
|
||||
package com.massivecraft.factions.event;
|
||||
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.event.HandlerList;
|
||||
|
||||
public class FactionsEventPowerLoss extends FactionsEventAbstractSender
|
||||
{
|
||||
// -------------------------------------------- //
|
||||
// REQUIRED EVENT CODE
|
||||
// -------------------------------------------- //
|
||||
|
||||
private static final HandlerList handlers = new HandlerList();
|
||||
@Override public HandlerList getHandlers() { return handlers; }
|
||||
public static HandlerList getHandlerList() { return handlers; }
|
||||
|
||||
// -------------------------------------------- //
|
||||
// CONSTRUCT
|
||||
// -------------------------------------------- //
|
||||
|
||||
// TODO: Replace this event with a power change event?
|
||||
|
||||
public FactionsEventPowerLoss(CommandSender sender)
|
||||
{
|
||||
super(sender);
|
||||
}
|
||||
|
||||
}
|
@ -54,7 +54,8 @@ import com.massivecraft.factions.FPlayerColl;
|
||||
import com.massivecraft.factions.Faction;
|
||||
import com.massivecraft.factions.Factions;
|
||||
import com.massivecraft.factions.Rel;
|
||||
import com.massivecraft.factions.event.FactionsEventPowerLoss;
|
||||
import com.massivecraft.factions.event.FactionsEventPowerChange;
|
||||
import com.massivecraft.factions.event.FactionsEventPowerChange.PowerChangeReason;
|
||||
import com.massivecraft.factions.util.VisualizeUtil;
|
||||
import com.massivecraft.mcore.ps.PS;
|
||||
import com.massivecraft.mcore.util.MUtil;
|
||||
@ -105,13 +106,15 @@ public class FactionsListenerMain implements Listener
|
||||
return;
|
||||
}
|
||||
|
||||
// ... and our special event doesn't get cancelled ...
|
||||
FactionsEventPowerLoss powerLossEvent = new FactionsEventPowerLoss(player);
|
||||
powerLossEvent.run();
|
||||
if (powerLossEvent.isCancelled()) return;
|
||||
// ... Event ...
|
||||
double newPower = fplayer.getPower() + ConfServer.powerPerDeath;
|
||||
FactionsEventPowerChange powerChangeEvent = new FactionsEventPowerChange(null, fplayer, PowerChangeReason.DEATH, newPower);
|
||||
powerChangeEvent.run();
|
||||
if (powerChangeEvent.isCancelled()) return;
|
||||
newPower = powerChangeEvent.getNewPower();
|
||||
|
||||
// ... alter the power ...
|
||||
fplayer.setPower(fplayer.getPower() + ConfServer.powerPerDeath);
|
||||
fplayer.setPower(newPower);
|
||||
|
||||
// ... and inform the player.
|
||||
fplayer.msg("<i>Your power is now <h>%d / %d", fplayer.getPowerRounded(), fplayer.getPowerMaxRounded());
|
||||
|
Loading…
Reference in New Issue
Block a user