mirror of
https://github.com/YouHaveTrouble/PreventStabby.git
synced 2026-05-12 13:26:56 +00:00
1aeb245666
The source of damage detection for PvP interactions has been updated to improve accuracy and flexibility. A 'Target' sub-class has been implemented in the PlayerManager class, removing the need for a separate DamageCheck class. The PlayerManager class was also moved to the 'data' package. Distribution of feedback messages has been simplified using the new DamageCheckResult class.
69 lines
1.8 KiB
Java
69 lines
1.8 KiB
Java
package me.youhavetrouble.preventstabby.api.event;
|
|
|
|
import me.youhavetrouble.preventstabby.PreventStabby;
|
|
import me.youhavetrouble.preventstabby.data.PlayerData;
|
|
import org.bukkit.OfflinePlayer;
|
|
import org.bukkit.event.Event;
|
|
import org.bukkit.event.HandlerList;
|
|
import org.jetbrains.annotations.NotNull;
|
|
|
|
/**
|
|
* Fired when player gets their personal pvp state toggled.
|
|
*/
|
|
public class PlayerTogglePvpEvent extends Event {
|
|
|
|
private static final HandlerList HANDLERS = new HandlerList();
|
|
private final OfflinePlayer player;
|
|
private final boolean newState;
|
|
private boolean sendMessage;
|
|
|
|
public PlayerTogglePvpEvent(OfflinePlayer player, boolean newState, boolean sendMessage) {
|
|
this.player = player;
|
|
this.newState = newState;
|
|
this.sendMessage = sendMessage;
|
|
}
|
|
|
|
public OfflinePlayer getPlayer() {
|
|
return player;
|
|
}
|
|
|
|
public PlayerData getPlayerData() {
|
|
return PreventStabby.getPlugin().getPlayerManager().getPlayer(player.getUniqueId());
|
|
}
|
|
|
|
/**
|
|
* Returns the state player's pvp state was toggled to.
|
|
* @return The state player's pvp state was toggled to.
|
|
*/
|
|
public boolean newState() {
|
|
return newState;
|
|
}
|
|
|
|
/**
|
|
* Returns true if the state message will be sent to the player, false otherwise
|
|
* @return True if the state message will be sent to the player, false otherwise
|
|
*/
|
|
public boolean isSendMessage() {
|
|
return sendMessage;
|
|
}
|
|
|
|
/**
|
|
* If this is true at the end of event pipeline, message with the current state will be sent to player.
|
|
*/
|
|
public void setSendMessage(boolean sendMessage) {
|
|
this.sendMessage = sendMessage;
|
|
}
|
|
|
|
@NotNull
|
|
@Override
|
|
public HandlerList getHandlers() {
|
|
return HANDLERS;
|
|
}
|
|
|
|
@NotNull
|
|
public static HandlerList getHandlerList() {
|
|
return HANDLERS;
|
|
}
|
|
|
|
}
|