-
Notifications
You must be signed in to change notification settings - Fork 83
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Browse the repository at this point in the history
New event API
- Loading branch information
Showing
76 changed files
with
2,018 additions
and
2,190 deletions.
There are no files selected for viewing
24 changes: 12 additions & 12 deletions
24
...hon/dungeonsxl/event/DataReloadEvent.java → ...dungeonsxl/api/event/DataReloadEvent.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
92 changes: 92 additions & 0 deletions
92
api/src/main/java/de/erethon/dungeonsxl/api/event/group/GroupCollectRewardEvent.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,92 @@ | ||
/* | ||
* Copyright (C) 2014-2020 Daniel Saukel | ||
* | ||
* This library is free software: you can redistribute it and/or modify it under the | ||
* terms of the GNU Lesser General Public License as published by the Free Software | ||
* Foundation, either version 3 of the License, or (at your option) any later version. | ||
* | ||
* This program is distributed in the hope that it will be useful, but WITHOUT ANY | ||
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A | ||
* PARTICULAR PURPOSE. See the GNULesser General Public License for more details. | ||
* | ||
* You should have received a copy of the GNU Lesser General Public License along with | ||
* this program. If not, see <http://www.gnu.org/licenses/>. | ||
*/ | ||
package de.erethon.dungeonsxl.api.event.group; | ||
|
||
import de.erethon.dungeonsxl.api.Reward; | ||
import de.erethon.dungeonsxl.api.player.GamePlayer; | ||
import de.erethon.dungeonsxl.api.player.PlayerGroup; | ||
import org.bukkit.event.Cancellable; | ||
import org.bukkit.event.HandlerList; | ||
|
||
/** | ||
* Fired when a group collects a reward. | ||
* <p> | ||
* In the default implementation, this happens when a player opens a reward chest. | ||
* | ||
* @author Daniel Saukel | ||
*/ | ||
public class GroupCollectRewardEvent extends GroupEvent implements Cancellable { | ||
|
||
private static final HandlerList handlers = new HandlerList(); | ||
private boolean cancelled; | ||
|
||
private GamePlayer collector; | ||
private Reward reward; | ||
|
||
public GroupCollectRewardEvent(PlayerGroup group, GamePlayer collector, Reward reward) { | ||
super(group); | ||
this.collector = collector; | ||
this.reward = reward; | ||
} | ||
|
||
/** | ||
* Returns the player who collected the reward. | ||
* <p> | ||
* Note that this may be null if addons add a way to give rewards that cannot be attributed to one collector. | ||
* | ||
* @return the player who collected the reward | ||
*/ | ||
public GamePlayer getCollector() { | ||
return collector; | ||
} | ||
|
||
/** | ||
* Returns the reward the group collected. | ||
* | ||
* @return the reward the group collected | ||
*/ | ||
public Reward getReward() { | ||
return reward; | ||
} | ||
|
||
/** | ||
* Sets the reward the group collected. | ||
* | ||
* @param reward the reward | ||
*/ | ||
public void setReward(Reward reward) { | ||
this.reward = reward; | ||
} | ||
|
||
@Override | ||
public HandlerList getHandlers() { | ||
return handlers; | ||
} | ||
|
||
public static HandlerList getHandlerList() { | ||
return handlers; | ||
} | ||
|
||
@Override | ||
public boolean isCancelled() { | ||
return cancelled; | ||
} | ||
|
||
@Override | ||
public void setCancelled(boolean cancelled) { | ||
this.cancelled = cancelled; | ||
} | ||
|
||
} |
99 changes: 99 additions & 0 deletions
99
api/src/main/java/de/erethon/dungeonsxl/api/event/group/GroupCreateEvent.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,99 @@ | ||
/* | ||
* Copyright (C) 2014-2020 Daniel Saukel | ||
* | ||
* This library is free software: you can redistribute it and/or modify it under the | ||
* terms of the GNU Lesser General Public License as published by the Free Software | ||
* Foundation, either version 3 of the License, or (at your option) any later version. | ||
* | ||
* This program is distributed in the hope that it will be useful, but WITHOUT ANY | ||
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A | ||
* PARTICULAR PURPOSE. See the GNULesser General Public License for more details. | ||
* | ||
* You should have received a copy of the GNU Lesser General Public License along with | ||
* this program. If not, see <http://www.gnu.org/licenses/>. | ||
*/ | ||
package de.erethon.dungeonsxl.api.event.group; | ||
|
||
import de.erethon.dungeonsxl.api.player.GlobalPlayer; | ||
import de.erethon.dungeonsxl.api.player.PlayerGroup; | ||
import org.bukkit.event.Cancellable; | ||
import org.bukkit.event.HandlerList; | ||
|
||
/** | ||
* Fired when a group is created explicitly or implicitly. | ||
* | ||
* @author Daniel Saukel | ||
*/ | ||
public class GroupCreateEvent extends GroupEvent implements Cancellable { | ||
|
||
/** | ||
* The reason why the group is created. | ||
*/ | ||
public enum Cause { | ||
|
||
ANNOUNCER, | ||
COMMAND, | ||
/** | ||
* When a group is created to mirror the state of a party plugin. | ||
* | ||
* @see de.erethon.dungeonsxl.api.player.GroupAdapter | ||
*/ | ||
GROUP_ADAPTER, | ||
GROUP_SIGN, | ||
/** | ||
* When a group is created by an addon. | ||
*/ | ||
CUSTOM | ||
|
||
} | ||
|
||
private static final HandlerList handlers = new HandlerList(); | ||
private boolean cancelled; | ||
|
||
private GlobalPlayer creator; | ||
private Cause cause; | ||
|
||
public GroupCreateEvent(PlayerGroup group, GlobalPlayer creator, Cause cause) { | ||
super(group); | ||
this.creator = creator; | ||
this.cause = cause; | ||
} | ||
|
||
/** | ||
* Returns the player who created the group. | ||
* | ||
* @return the player who created the group | ||
*/ | ||
public GlobalPlayer getCreator() { | ||
return creator; | ||
} | ||
|
||
/** | ||
* Returns the cause for the group creation. | ||
* | ||
* @return the cause for the group creation | ||
*/ | ||
public Cause getCause() { | ||
return cause; | ||
} | ||
|
||
@Override | ||
public HandlerList getHandlers() { | ||
return handlers; | ||
} | ||
|
||
public static HandlerList getHandlerList() { | ||
return handlers; | ||
} | ||
|
||
@Override | ||
public boolean isCancelled() { | ||
return cancelled; | ||
} | ||
|
||
@Override | ||
public void setCancelled(boolean cancelled) { | ||
this.cancelled = cancelled; | ||
} | ||
|
||
} |
96 changes: 96 additions & 0 deletions
96
api/src/main/java/de/erethon/dungeonsxl/api/event/group/GroupDisbandEvent.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,96 @@ | ||
/* | ||
* Copyright (C) 2014-2020 Daniel Saukel | ||
* | ||
* This library is free software: you can redistribute it and/or modify it under the | ||
* terms of the GNU Lesser General Public License as published by the Free Software | ||
* Foundation, either version 3 of the License, or (at your option) any later version. | ||
* | ||
* This program is distributed in the hope that it will be useful, but WITHOUT ANY | ||
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A | ||
* PARTICULAR PURPOSE. See the GNULesser General Public License for more details. | ||
* | ||
* You should have received a copy of the GNU Lesser General Public License along with | ||
* this program. If not, see <http://www.gnu.org/licenses/>. | ||
*/ | ||
package de.erethon.dungeonsxl.api.event.group; | ||
|
||
import de.erethon.dungeonsxl.api.player.GlobalPlayer; | ||
import de.erethon.dungeonsxl.api.player.PlayerGroup; | ||
import org.bukkit.event.Cancellable; | ||
import org.bukkit.event.HandlerList; | ||
|
||
/** | ||
* Fired when a group is disbanded. | ||
* | ||
* @author Daniel Saukel | ||
*/ | ||
public class GroupDisbandEvent extends GroupEvent implements Cancellable { | ||
|
||
public enum Cause { | ||
|
||
COMMAND, | ||
DUNGEON_FINISHED, | ||
GROUP_ADAPTER, | ||
GROUP_IS_EMPTY, | ||
LOST, | ||
CUSTOM | ||
|
||
} | ||
|
||
private static final HandlerList handlers = new HandlerList(); | ||
private boolean cancelled; | ||
|
||
private GlobalPlayer disbander; | ||
private Cause cause; | ||
|
||
public GroupDisbandEvent(PlayerGroup group, Cause cause) { | ||
super(group); | ||
this.cause = cause; | ||
} | ||
|
||
public GroupDisbandEvent(PlayerGroup group, GlobalPlayer disbander, Cause cause) { | ||
super(group); | ||
this.disbander = disbander; | ||
this.cause = cause; | ||
} | ||
|
||
/** | ||
* The player who disbanded the group. | ||
* <p> | ||
* This is null if the cause is {@link Cause#DUNGEON_FINISHED}, {@link Cause#GROUP_ADAPTER}, {@link Cause#LOST} or {@link Cause#CUSTOM}. | ||
* | ||
* @return the player who disbanded the group | ||
*/ | ||
public GlobalPlayer getDisbander() { | ||
return disbander; | ||
} | ||
|
||
/** | ||
* Returns the cause for the group deletion. | ||
* | ||
* @return the cause for the group deletion | ||
*/ | ||
public Cause getCause() { | ||
return cause; | ||
} | ||
|
||
@Override | ||
public HandlerList getHandlers() { | ||
return handlers; | ||
} | ||
|
||
public static HandlerList getHandlerList() { | ||
return handlers; | ||
} | ||
|
||
@Override | ||
public boolean isCancelled() { | ||
return cancelled; | ||
} | ||
|
||
@Override | ||
public void setCancelled(boolean cancelled) { | ||
this.cancelled = cancelled; | ||
} | ||
|
||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.