Files
PreventStabby/src/main/java/me/youhavetrouble/preventstabby/api/event/PlayerTogglePvpEvent.java
T
YouHaveTrouble 1aeb245666 Refactor damage source checking and restructure player management
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.
2024-02-24 19:23:54 +01:00

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;
}
}