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.FactionsEventLandClaim;
|
||||||
import com.massivecraft.factions.event.FactionsEventMembershipChange;
|
import com.massivecraft.factions.event.FactionsEventMembershipChange;
|
||||||
import com.massivecraft.factions.event.FactionsEventMembershipChange.MembershipChangeReason;
|
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.EconomyParticipator;
|
||||||
import com.massivecraft.factions.iface.RelationParticipator;
|
import com.massivecraft.factions.iface.RelationParticipator;
|
||||||
import com.massivecraft.factions.integration.Econ;
|
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);
|
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.Faction;
|
||||||
import com.massivecraft.factions.Factions;
|
import com.massivecraft.factions.Factions;
|
||||||
import com.massivecraft.factions.Rel;
|
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.factions.util.VisualizeUtil;
|
||||||
import com.massivecraft.mcore.ps.PS;
|
import com.massivecraft.mcore.ps.PS;
|
||||||
import com.massivecraft.mcore.util.MUtil;
|
import com.massivecraft.mcore.util.MUtil;
|
||||||
@ -105,13 +106,15 @@ public class FactionsListenerMain implements Listener
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// ... and our special event doesn't get cancelled ...
|
// ... Event ...
|
||||||
FactionsEventPowerLoss powerLossEvent = new FactionsEventPowerLoss(player);
|
double newPower = fplayer.getPower() + ConfServer.powerPerDeath;
|
||||||
powerLossEvent.run();
|
FactionsEventPowerChange powerChangeEvent = new FactionsEventPowerChange(null, fplayer, PowerChangeReason.DEATH, newPower);
|
||||||
if (powerLossEvent.isCancelled()) return;
|
powerChangeEvent.run();
|
||||||
|
if (powerChangeEvent.isCancelled()) return;
|
||||||
|
newPower = powerChangeEvent.getNewPower();
|
||||||
|
|
||||||
// ... alter the power ...
|
// ... alter the power ...
|
||||||
fplayer.setPower(fplayer.getPower() + ConfServer.powerPerDeath);
|
fplayer.setPower(newPower);
|
||||||
|
|
||||||
// ... and inform the player.
|
// ... and inform the player.
|
||||||
fplayer.msg("<i>Your power is now <h>%d / %d", fplayer.getPowerRounded(), fplayer.getPowerMaxRounded());
|
fplayer.msg("<i>Your power is now <h>%d / %d", fplayer.getPowerRounded(), fplayer.getPowerMaxRounded());
|
||||||
|
Loading…
Reference in New Issue
Block a user