mirror of
https://github.com/mcMMO-Dev/mcMMO.git
synced 2025-06-27 11:14:44 +02:00
I guess I'm bad at git
This commit is contained in:
@ -1,4 +1,90 @@
|
||||
package com.gmail.nossr50.events.scoreboard;
|
||||
|
||||
public class McMMOScoreboardEvent {
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.Event;
|
||||
import org.bukkit.event.HandlerList;
|
||||
import org.bukkit.scoreboard.Scoreboard;
|
||||
|
||||
/**
|
||||
* The parent class of all mcMMO scoreboard events
|
||||
* All scoreboard events will extend from this
|
||||
*/
|
||||
abstract public class McMMOScoreboardEvent extends Event {
|
||||
|
||||
protected Scoreboard targetBoard; //Scoreboard involved in this event
|
||||
final Scoreboard currentBoard; //Can be null
|
||||
protected Player targetPlayer;
|
||||
|
||||
private final ScoreboardEventReason scoreboardEventReason;
|
||||
|
||||
public McMMOScoreboardEvent(Scoreboard targetBoard, Scoreboard currentBoard, Player targetPlayer, ScoreboardEventReason scoreboardEventReason)
|
||||
{
|
||||
this.scoreboardEventReason = scoreboardEventReason;
|
||||
this.targetBoard = targetBoard;
|
||||
this.currentBoard = currentBoard;
|
||||
this.targetPlayer = targetPlayer;
|
||||
}
|
||||
|
||||
/** GETTER & SETTER BOILERPLATE **/
|
||||
|
||||
/**
|
||||
* This is the scoreboard the player will be assigned to after this event
|
||||
* @return the target board to assign the player after this event fires
|
||||
*/
|
||||
public Scoreboard getTargetBoard() {
|
||||
return targetBoard;
|
||||
}
|
||||
|
||||
/**
|
||||
* Change the scoreboard that the player will be assigned to after this event fires
|
||||
* @param targetBoard the new board to assign the player to
|
||||
*/
|
||||
public void setTargetBoard(Scoreboard targetBoard) {
|
||||
this.targetBoard = targetBoard;
|
||||
}
|
||||
|
||||
/**
|
||||
* The player involved in this event (this can be changed)
|
||||
* @return the player involved in this event
|
||||
*/
|
||||
public Player getTargetPlayer() {
|
||||
return targetPlayer;
|
||||
}
|
||||
|
||||
/**
|
||||
* This is the scoreboard the player is currently assigned to at the time the event was fired
|
||||
* Grabbed via player.getScoreboard()
|
||||
* @return players current scoreboard
|
||||
*/
|
||||
public Scoreboard getCurrentBoard() {
|
||||
return currentBoard;
|
||||
}
|
||||
|
||||
/**
|
||||
* The ENUM defining the reason for this event
|
||||
* @return the reason for this event
|
||||
*/
|
||||
public ScoreboardEventReason getScoreboardEventReason() {
|
||||
return scoreboardEventReason;
|
||||
}
|
||||
|
||||
/**
|
||||
* Change the target player for this event
|
||||
* @param targetPlayer the new target for this event
|
||||
*/
|
||||
public void setTargetPlayer(Player targetPlayer) {
|
||||
this.targetPlayer = targetPlayer;
|
||||
}
|
||||
|
||||
/** Rest of file is required boilerplate for custom events **/
|
||||
private static final HandlerList handlers = new HandlerList();
|
||||
|
||||
@Override
|
||||
public HandlerList getHandlers() {
|
||||
return handlers;
|
||||
}
|
||||
|
||||
public static HandlerList getHandlerList() {
|
||||
return handlers;
|
||||
}
|
||||
}
|
||||
|
@ -1,4 +1,15 @@
|
||||
package com.gmail.nossr50.events.scoreboard;
|
||||
|
||||
public class McMMOScoreboardMakeboardEvent {
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.scoreboard.Scoreboard;
|
||||
|
||||
/**
|
||||
* This event is called when mcMMO creates its custom boards
|
||||
* You should not interfere with this event unless you understand our board code thoroughly
|
||||
* mcMMO relies on using new scoreboards to show players individually catered boards with stats specific to them
|
||||
*/
|
||||
public class McMMOScoreboardMakeboardEvent extends McMMOScoreboardEvent {
|
||||
public McMMOScoreboardMakeboardEvent(Scoreboard targetBoard, Scoreboard currentBoard, Player targetPlayer, ScoreboardEventReason scoreboardEventReason) {
|
||||
super(targetBoard, currentBoard, targetPlayer, scoreboardEventReason);
|
||||
}
|
||||
}
|
||||
|
@ -1,4 +1,52 @@
|
||||
package com.gmail.nossr50.events.scoreboard;
|
||||
|
||||
public class McMMOScoreboardObjectiveEvent {
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.Cancellable;
|
||||
import org.bukkit.scoreboard.Objective;
|
||||
import org.bukkit.scoreboard.Scoreboard;
|
||||
|
||||
public class McMMOScoreboardObjectiveEvent extends McMMOScoreboardEvent implements Cancellable {
|
||||
protected boolean cancelled;
|
||||
|
||||
protected Objective targetObjective;
|
||||
protected final ScoreboardObjectiveEventReason objectiveEventReason;
|
||||
|
||||
public McMMOScoreboardObjectiveEvent(Objective targetObjective, ScoreboardObjectiveEventReason objectiveEventReason, Scoreboard scoreboard, Scoreboard oldboard, Player targetPlayer, ScoreboardEventReason scoreboardEventReason) {
|
||||
super(scoreboard, oldboard, targetPlayer, scoreboardEventReason);
|
||||
this.objectiveEventReason = objectiveEventReason;
|
||||
this.targetObjective = targetObjective;
|
||||
cancelled = false;
|
||||
}
|
||||
|
||||
/**
|
||||
* The objective that will be modified by this event
|
||||
* @return
|
||||
*/
|
||||
public Objective getTargetObjective() {
|
||||
return targetObjective;
|
||||
}
|
||||
|
||||
/**
|
||||
* Change the target objective for this event
|
||||
* @param newObjective new target objective
|
||||
*/
|
||||
public void setTargetObjective(Objective newObjective) {
|
||||
this.targetObjective = newObjective;
|
||||
}
|
||||
|
||||
public ScoreboardObjectiveEventReason getObjectiveEventReason() {
|
||||
return objectiveEventReason;
|
||||
}
|
||||
|
||||
/* BOILERPLATE FROM INTERFACES */
|
||||
|
||||
@Override
|
||||
public boolean isCancelled() {
|
||||
return cancelled;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setCancelled(boolean b) {
|
||||
cancelled = b;
|
||||
}
|
||||
}
|
||||
|
@ -1,4 +1,14 @@
|
||||
package com.gmail.nossr50.events.scoreboard;
|
||||
|
||||
public class McMMOScoreboardRevertEvent {
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.scoreboard.Scoreboard;
|
||||
|
||||
/**
|
||||
* This event is called when mcMMO is attempting to change a players targetBoard back to their previous board
|
||||
* This is used when an mcMMO board is cleared (removed from the screen), changing back from a temporary board (usually from a delayed scheduled task or our mcscoreboard time command)
|
||||
*/
|
||||
public class McMMOScoreboardRevertEvent extends McMMOScoreboardEvent {
|
||||
public McMMOScoreboardRevertEvent(Scoreboard targetBoard, Scoreboard currentBoard, Player targetPlayer, ScoreboardEventReason scoreboardEventReason) {
|
||||
super(targetBoard, currentBoard, targetPlayer, scoreboardEventReason);
|
||||
}
|
||||
}
|
||||
|
@ -1,4 +1,6 @@
|
||||
package com.gmail.nossr50.events.scoreboard;
|
||||
|
||||
public enum ScoreboardObjectiveEventReason {
|
||||
UNREGISTER_THIS_OBJECTIVE,
|
||||
REGISTER_NEW_OBJECTIVE,
|
||||
}
|
||||
|
Reference in New Issue
Block a user