mirror of
https://github.com/exituser/Brewery.git
synced 2026-09-17 11:18:57 +00:00
Started api and events
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
package com.dre.brewery.api.events.barrel;
|
||||
|
||||
import com.dre.brewery.Barrel;
|
||||
import org.bukkit.block.Block;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.Cancellable;
|
||||
import org.bukkit.event.HandlerList;
|
||||
|
||||
/*
|
||||
* A Player opens a Barrel by rightclicking it
|
||||
* The PlayerInteractEvent on the Barrel may be cancelled. In that case this never gets called
|
||||
* Can be cancelled to silently deny opening the Barrel
|
||||
*/
|
||||
public class BarrelAccessEvent extends BarrelEvent implements Cancellable {
|
||||
private static final HandlerList handlers = new HandlerList();
|
||||
private final Player player;
|
||||
private final Block clickedBlock;
|
||||
private boolean isCancelled;
|
||||
|
||||
public BarrelAccessEvent(Barrel barrel, Player player, Block clickedBlock) {
|
||||
super(barrel);
|
||||
this.player = player;
|
||||
this.clickedBlock = clickedBlock;
|
||||
}
|
||||
|
||||
// Gets the Block that was actually clicked.
|
||||
// For access Permissions getSpigot() should be used
|
||||
public Block getClickedBlock() {
|
||||
return clickedBlock;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isCancelled() {
|
||||
return isCancelled;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setCancelled(boolean cancelled) {
|
||||
isCancelled = cancelled;
|
||||
}
|
||||
|
||||
public Player getPlayer() {
|
||||
return player;
|
||||
}
|
||||
|
||||
@Override
|
||||
public HandlerList getHandlers() {
|
||||
return handlers;
|
||||
}
|
||||
|
||||
public static HandlerList getHandlerList() {
|
||||
return handlers;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
package com.dre.brewery.api.events.barrel;
|
||||
|
||||
import com.dre.brewery.Barrel;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.Cancellable;
|
||||
import org.bukkit.event.HandlerList;
|
||||
|
||||
/*
|
||||
* Called when a Barrel is created by a Player by placing a Sign
|
||||
* Cancelling this will silently fail the Barrel creation
|
||||
*/
|
||||
public class BarrelCreateEvent extends BarrelEvent implements Cancellable {
|
||||
private static final HandlerList handlers = new HandlerList();
|
||||
private final Player player;
|
||||
private boolean cancelled;
|
||||
|
||||
public BarrelCreateEvent(Barrel barrel, Player player) {
|
||||
super(barrel);
|
||||
this.player = player;
|
||||
}
|
||||
|
||||
public Player getPlayer() {
|
||||
return player;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isCancelled() {
|
||||
return cancelled;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setCancelled(boolean cancelled) {
|
||||
this.cancelled = cancelled;
|
||||
}
|
||||
|
||||
@Override
|
||||
public HandlerList getHandlers() {
|
||||
return handlers;
|
||||
}
|
||||
|
||||
public static HandlerList getHandlerList() {
|
||||
return handlers;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,71 @@
|
||||
package com.dre.brewery.api.events.barrel;
|
||||
|
||||
import com.dre.brewery.Barrel;
|
||||
import org.bukkit.block.Block;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.Cancellable;
|
||||
import org.bukkit.event.HandlerList;
|
||||
|
||||
/*
|
||||
* A Barrel is being destroyed by something, may not be by a Player
|
||||
* A BarrelRemoveEvent will be called after this, if this is not cancelled
|
||||
* Use the BarrelRemoveEvent to monitor any and all barrels being removed in a non cancellable way
|
||||
*/
|
||||
public class BarrelDestroyEvent extends BarrelEvent implements Cancellable {
|
||||
private static final HandlerList handlers = new HandlerList();
|
||||
private final Block broken;
|
||||
private final Reason reason;
|
||||
private final Player player;
|
||||
private boolean cancelled;
|
||||
|
||||
public BarrelDestroyEvent(Barrel barrel, Block broken, Reason reason, Player player) {
|
||||
super(barrel);
|
||||
this.broken = broken;
|
||||
this.player = player;
|
||||
this.reason = reason;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isCancelled() {
|
||||
return cancelled;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setCancelled(boolean cancelled) {
|
||||
this.cancelled = cancelled;
|
||||
}
|
||||
|
||||
public Block getBroken() {
|
||||
return broken;
|
||||
}
|
||||
|
||||
public Reason getReason() {
|
||||
return reason;
|
||||
}
|
||||
|
||||
public boolean hasPlayer() {
|
||||
return player != null;
|
||||
}
|
||||
|
||||
// MAY BE NULL if no Player is involved
|
||||
public Player getPlayerOptional() {
|
||||
return player;
|
||||
}
|
||||
|
||||
@Override
|
||||
public HandlerList getHandlers() {
|
||||
return handlers;
|
||||
}
|
||||
|
||||
public static HandlerList getHandlerList() {
|
||||
return handlers;
|
||||
}
|
||||
|
||||
public enum Reason {
|
||||
PLAYER, // A Player Broke the Barrel
|
||||
BROKEN, // A Block was broken by something
|
||||
BURNED, // A Block burned away
|
||||
EXPLODED, // The Barrel exploded somehow
|
||||
UNKNOWN // The Barrel was broken somehow else
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
package com.dre.brewery.api.events.barrel;
|
||||
|
||||
import com.dre.brewery.Barrel;
|
||||
import org.bukkit.block.Block;
|
||||
import org.bukkit.event.Event;
|
||||
import org.bukkit.event.HandlerList;
|
||||
import org.bukkit.inventory.Inventory;
|
||||
|
||||
public abstract class BarrelEvent extends Event {
|
||||
protected final Barrel barrel;
|
||||
|
||||
public BarrelEvent(Barrel barrel) {
|
||||
this.barrel = barrel;
|
||||
}
|
||||
|
||||
public Barrel getBarrel() {
|
||||
return barrel;
|
||||
}
|
||||
|
||||
public Inventory getInventory() {
|
||||
return barrel.getInventory();
|
||||
}
|
||||
|
||||
public Block getSpigot() {
|
||||
return barrel.getSpigot();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
package com.dre.brewery.api.events.barrel;
|
||||
|
||||
import com.dre.brewery.Barrel;
|
||||
import org.bukkit.event.HandlerList;
|
||||
|
||||
/*
|
||||
* A Barrel is being removed. There may have been a BarrelDestroyEvent before
|
||||
* If not, Worldedit, other Plugins etc may be the cause for unexpected removal
|
||||
*/
|
||||
public class BarrelRemoveEvent extends BarrelEvent {
|
||||
private static final HandlerList handlers = new HandlerList();
|
||||
private boolean itemsDrop = true;
|
||||
|
||||
public BarrelRemoveEvent(Barrel barrel) {
|
||||
super(barrel);
|
||||
}
|
||||
|
||||
public boolean shouldItemsDrop() {
|
||||
return itemsDrop;
|
||||
}
|
||||
|
||||
public void setShouldItemsDrop(boolean itemsDrop) {
|
||||
this.itemsDrop = itemsDrop;
|
||||
}
|
||||
|
||||
@Override
|
||||
public HandlerList getHandlers() {
|
||||
return handlers;
|
||||
}
|
||||
|
||||
public static HandlerList getHandlerList() {
|
||||
return handlers;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user