extend event for future use
This commit is contained in:
parent
9e284c3edb
commit
7e69efa877
@ -88,7 +88,7 @@ public class OptVillagersRadius implements VillagerOptimizerCommand, TabComplete
|
||||
WrappedVillager wVillager = villagerCache.getOrAdd(villager);
|
||||
|
||||
if (player_has_cooldown_bypass || wVillager.canOptimize(cooldown)) {
|
||||
VillagerOptimizeEvent optimizeEvent = new VillagerOptimizeEvent(wVillager, OptimizationType.COMMAND);
|
||||
VillagerOptimizeEvent optimizeEvent = new VillagerOptimizeEvent(wVillager, OptimizationType.COMMAND, player);
|
||||
VillagerOptimizer.callEvent(optimizeEvent);
|
||||
if (!optimizeEvent.isCancelled()) {
|
||||
wVillager.setOptimization(optimizeEvent.getOptimizationType());
|
||||
|
@ -80,7 +80,7 @@ public class UnOptVillagersRadius implements VillagerOptimizerCommand, TabComple
|
||||
WrappedVillager wVillager = villagerCache.getOrAdd(villager);
|
||||
|
||||
if (wVillager.isOptimized()) {
|
||||
VillagerUnoptimizeEvent unOptimizeEvent = new VillagerUnoptimizeEvent(wVillager);
|
||||
VillagerUnoptimizeEvent unOptimizeEvent = new VillagerUnoptimizeEvent(wVillager, player, OptimizationType.COMMAND);
|
||||
VillagerOptimizer.callEvent(unOptimizeEvent);
|
||||
if (!unOptimizeEvent.isCancelled()) {
|
||||
wVillager.setOptimization(OptimizationType.NONE);
|
||||
|
@ -2,21 +2,25 @@ package me.xginko.villageroptimizer.events;
|
||||
|
||||
import me.xginko.villageroptimizer.WrappedVillager;
|
||||
import me.xginko.villageroptimizer.enums.OptimizationType;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.Cancellable;
|
||||
import org.bukkit.event.Event;
|
||||
import org.bukkit.event.HandlerList;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
public class VillagerOptimizeEvent extends Event implements Cancellable {
|
||||
|
||||
private static final @NotNull HandlerList handlers = new HandlerList();
|
||||
private final @NotNull WrappedVillager wrappedVillager;
|
||||
private @NotNull OptimizationType type;
|
||||
private final @Nullable Player whoOptimised;
|
||||
private boolean isCancelled = false;
|
||||
|
||||
public VillagerOptimizeEvent(@NotNull WrappedVillager wrappedVillager, @NotNull OptimizationType type, boolean isAsync) throws IllegalArgumentException {
|
||||
public VillagerOptimizeEvent(@NotNull WrappedVillager wrappedVillager, @NotNull OptimizationType type, @Nullable Player whoOptimised, boolean isAsync) throws IllegalArgumentException {
|
||||
super(isAsync);
|
||||
this.wrappedVillager = wrappedVillager;
|
||||
this.whoOptimised = whoOptimised;
|
||||
if (type.equals(OptimizationType.NONE)) {
|
||||
throw new IllegalArgumentException("OptimizationType can't be NONE.");
|
||||
} else {
|
||||
@ -24,8 +28,9 @@ public class VillagerOptimizeEvent extends Event implements Cancellable {
|
||||
}
|
||||
}
|
||||
|
||||
public VillagerOptimizeEvent(@NotNull WrappedVillager wrappedVillager, @NotNull OptimizationType type) throws IllegalArgumentException {
|
||||
public VillagerOptimizeEvent(@NotNull WrappedVillager wrappedVillager, @NotNull OptimizationType type, @Nullable Player whoOptimised) throws IllegalArgumentException {
|
||||
this.wrappedVillager = wrappedVillager;
|
||||
this.whoOptimised = whoOptimised;
|
||||
if (type.equals(OptimizationType.NONE)) {
|
||||
throw new IllegalArgumentException("OptimizationType can't be NONE.");
|
||||
} else {
|
||||
@ -49,6 +54,10 @@ public class VillagerOptimizeEvent extends Event implements Cancellable {
|
||||
}
|
||||
}
|
||||
|
||||
public @Nullable Player getWhoOptimised() {
|
||||
return whoOptimised;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setCancelled(boolean cancel) {
|
||||
isCancelled = cancel;
|
||||
|
@ -1,30 +1,47 @@
|
||||
package me.xginko.villageroptimizer.events;
|
||||
|
||||
import me.xginko.villageroptimizer.WrappedVillager;
|
||||
import me.xginko.villageroptimizer.enums.OptimizationType;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.Cancellable;
|
||||
import org.bukkit.event.Event;
|
||||
import org.bukkit.event.HandlerList;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
public class VillagerUnoptimizeEvent extends Event implements Cancellable {
|
||||
|
||||
private static final @NotNull HandlerList handlers = new HandlerList();
|
||||
private final @NotNull WrappedVillager wrappedVillager;
|
||||
private final @NotNull OptimizationType unoptimizeType;
|
||||
private final @Nullable Player whoUnoptimized;
|
||||
private boolean isCancelled = false;
|
||||
|
||||
public VillagerUnoptimizeEvent(@NotNull WrappedVillager wrappedVillager, boolean isAsync) {
|
||||
public VillagerUnoptimizeEvent(@NotNull WrappedVillager wrappedVillager, @Nullable Player whoUnoptimized, @NotNull OptimizationType unoptimizeType, boolean isAsync) {
|
||||
super(isAsync);
|
||||
this.wrappedVillager = wrappedVillager;
|
||||
this.whoUnoptimized = whoUnoptimized;
|
||||
this.unoptimizeType = unoptimizeType;
|
||||
}
|
||||
|
||||
public VillagerUnoptimizeEvent(@NotNull WrappedVillager wrappedVillager) {
|
||||
public VillagerUnoptimizeEvent(@NotNull WrappedVillager wrappedVillager, @Nullable Player whoUnoptimized, @NotNull OptimizationType unoptimizeType) {
|
||||
this.wrappedVillager = wrappedVillager;
|
||||
this.whoUnoptimized = whoUnoptimized;
|
||||
this.unoptimizeType = unoptimizeType;
|
||||
}
|
||||
|
||||
public @NotNull WrappedVillager getWrappedVillager() {
|
||||
return wrappedVillager;
|
||||
}
|
||||
|
||||
public @Nullable Player getWhoUnoptimized() {
|
||||
return whoUnoptimized;
|
||||
}
|
||||
|
||||
public @NotNull OptimizationType getWhichTypeUnoptimized() {
|
||||
return unoptimizeType;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isCancelled() {
|
||||
return isCancelled;
|
||||
|
@ -108,7 +108,7 @@ public class OptimizeByBlock implements VillagerOptimizerModule, Listener {
|
||||
if (closestOptimizableVillager == null) return;
|
||||
|
||||
if (closestOptimizableVillager.canOptimize(cooldown) || player.hasPermission(Permissions.Bypass.BLOCK_COOLDOWN.get())) {
|
||||
VillagerOptimizeEvent optimizeEvent = new VillagerOptimizeEvent(closestOptimizableVillager, OptimizationType.BLOCK, event.isAsynchronous());
|
||||
VillagerOptimizeEvent optimizeEvent = new VillagerOptimizeEvent(closestOptimizableVillager, OptimizationType.BLOCK, player, event.isAsynchronous());
|
||||
VillagerOptimizer.callEvent(optimizeEvent);
|
||||
if (optimizeEvent.isCancelled()) return;
|
||||
|
||||
@ -169,7 +169,7 @@ public class OptimizeByBlock implements VillagerOptimizerModule, Listener {
|
||||
|
||||
if (closestOptimizedVillager == null) return;
|
||||
|
||||
VillagerUnoptimizeEvent unOptimizeEvent = new VillagerUnoptimizeEvent(closestOptimizedVillager, event.isAsynchronous());
|
||||
VillagerUnoptimizeEvent unOptimizeEvent = new VillagerUnoptimizeEvent(closestOptimizedVillager, player, OptimizationType.BLOCK, event.isAsynchronous());
|
||||
VillagerOptimizer.callEvent(unOptimizeEvent);
|
||||
if (unOptimizeEvent.isCancelled()) return;
|
||||
|
||||
|
@ -84,7 +84,7 @@ public class OptimizeByNametag implements VillagerOptimizerModule, Listener {
|
||||
|
||||
if (nametags.contains(name.toLowerCase())) {
|
||||
if (wVillager.canOptimize(cooldown) || player.hasPermission(Permissions.Bypass.NAMETAG_COOLDOWN.get())) {
|
||||
VillagerOptimizeEvent optimizeEvent = new VillagerOptimizeEvent(wVillager, OptimizationType.NAMETAG, event.isAsynchronous());
|
||||
VillagerOptimizeEvent optimizeEvent = new VillagerOptimizeEvent(wVillager, OptimizationType.NAMETAG, player, event.isAsynchronous());
|
||||
VillagerOptimizer.callEvent(optimizeEvent);
|
||||
if (optimizeEvent.isCancelled()) return;
|
||||
|
||||
@ -112,7 +112,7 @@ public class OptimizeByNametag implements VillagerOptimizerModule, Listener {
|
||||
}
|
||||
} else {
|
||||
if (wVillager.isOptimized()) {
|
||||
VillagerUnoptimizeEvent unOptimizeEvent = new VillagerUnoptimizeEvent(wVillager, event.isAsynchronous());
|
||||
VillagerUnoptimizeEvent unOptimizeEvent = new VillagerUnoptimizeEvent(wVillager, player, OptimizationType.NAMETAG, event.isAsynchronous());
|
||||
VillagerOptimizer.callEvent(unOptimizeEvent);
|
||||
if (unOptimizeEvent.isCancelled()) return;
|
||||
|
||||
|
@ -92,7 +92,7 @@ public class OptimizeByWorkstation implements VillagerOptimizerModule, Listener
|
||||
if (closestOptimizableVillager == null) return;
|
||||
|
||||
if (closestOptimizableVillager.canOptimize(cooldown) || player.hasPermission(Permissions.Bypass.WORKSTATION_COOLDOWN.get())) {
|
||||
VillagerOptimizeEvent optimizeEvent = new VillagerOptimizeEvent(closestOptimizableVillager, OptimizationType.WORKSTATION, event.isAsynchronous());
|
||||
VillagerOptimizeEvent optimizeEvent = new VillagerOptimizeEvent(closestOptimizableVillager, OptimizationType.WORKSTATION, player, event.isAsynchronous());
|
||||
VillagerOptimizer.callEvent(optimizeEvent);
|
||||
if (optimizeEvent.isCancelled()) return;
|
||||
|
||||
@ -157,7 +157,7 @@ public class OptimizeByWorkstation implements VillagerOptimizerModule, Listener
|
||||
|
||||
if (closestOptimizedVillager == null) return;
|
||||
|
||||
VillagerUnoptimizeEvent unOptimizeEvent = new VillagerUnoptimizeEvent(closestOptimizedVillager, event.isAsynchronous());
|
||||
VillagerUnoptimizeEvent unOptimizeEvent = new VillagerUnoptimizeEvent(closestOptimizedVillager, player, OptimizationType.WORKSTATION, event.isAsynchronous());
|
||||
VillagerOptimizer.callEvent(unOptimizeEvent);
|
||||
if (unOptimizeEvent.isCancelled()) return;
|
||||
|
||||
|
@ -88,7 +88,7 @@ public class OptVillagersRadius implements VillagerOptimizerCommand, TabComplete
|
||||
WrappedVillager wVillager = villagerCache.getOrAdd(villager);
|
||||
|
||||
if (player_has_cooldown_bypass || wVillager.canOptimize(cooldown)) {
|
||||
VillagerOptimizeEvent optimizeEvent = new VillagerOptimizeEvent(wVillager, OptimizationType.COMMAND);
|
||||
VillagerOptimizeEvent optimizeEvent = new VillagerOptimizeEvent(wVillager, OptimizationType.COMMAND, player);
|
||||
VillagerOptimizer.callEvent(optimizeEvent);
|
||||
if (!optimizeEvent.isCancelled()) {
|
||||
wVillager.setOptimization(optimizeEvent.getOptimizationType());
|
||||
|
@ -80,7 +80,7 @@ public class UnOptVillagersRadius implements VillagerOptimizerCommand, TabComple
|
||||
WrappedVillager wVillager = villagerCache.getOrAdd(villager);
|
||||
|
||||
if (wVillager.isOptimized()) {
|
||||
VillagerUnoptimizeEvent unOptimizeEvent = new VillagerUnoptimizeEvent(wVillager);
|
||||
VillagerUnoptimizeEvent unOptimizeEvent = new VillagerUnoptimizeEvent(wVillager, player, OptimizationType.COMMAND);
|
||||
VillagerOptimizer.callEvent(unOptimizeEvent);
|
||||
if (!unOptimizeEvent.isCancelled()) {
|
||||
wVillager.setOptimization(OptimizationType.NONE);
|
||||
|
@ -2,21 +2,25 @@ package me.xginko.villageroptimizer.events;
|
||||
|
||||
import me.xginko.villageroptimizer.WrappedVillager;
|
||||
import me.xginko.villageroptimizer.enums.OptimizationType;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.Cancellable;
|
||||
import org.bukkit.event.Event;
|
||||
import org.bukkit.event.HandlerList;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
public class VillagerOptimizeEvent extends Event implements Cancellable {
|
||||
|
||||
private static final @NotNull HandlerList handlers = new HandlerList();
|
||||
private final @NotNull WrappedVillager wrappedVillager;
|
||||
private @NotNull OptimizationType type;
|
||||
private final @Nullable Player whoOptimised;
|
||||
private boolean isCancelled = false;
|
||||
|
||||
public VillagerOptimizeEvent(@NotNull WrappedVillager wrappedVillager, @NotNull OptimizationType type, boolean isAsync) throws IllegalArgumentException {
|
||||
public VillagerOptimizeEvent(@NotNull WrappedVillager wrappedVillager, @NotNull OptimizationType type, @Nullable Player whoOptimised, boolean isAsync) throws IllegalArgumentException {
|
||||
super(isAsync);
|
||||
this.wrappedVillager = wrappedVillager;
|
||||
this.whoOptimised = whoOptimised;
|
||||
if (type.equals(OptimizationType.NONE)) {
|
||||
throw new IllegalArgumentException("OptimizationType can't be NONE.");
|
||||
} else {
|
||||
@ -24,8 +28,9 @@ public class VillagerOptimizeEvent extends Event implements Cancellable {
|
||||
}
|
||||
}
|
||||
|
||||
public VillagerOptimizeEvent(@NotNull WrappedVillager wrappedVillager, @NotNull OptimizationType type) throws IllegalArgumentException {
|
||||
public VillagerOptimizeEvent(@NotNull WrappedVillager wrappedVillager, @NotNull OptimizationType type, @Nullable Player whoOptimised) throws IllegalArgumentException {
|
||||
this.wrappedVillager = wrappedVillager;
|
||||
this.whoOptimised = whoOptimised;
|
||||
if (type.equals(OptimizationType.NONE)) {
|
||||
throw new IllegalArgumentException("OptimizationType can't be NONE.");
|
||||
} else {
|
||||
@ -49,6 +54,10 @@ public class VillagerOptimizeEvent extends Event implements Cancellable {
|
||||
}
|
||||
}
|
||||
|
||||
public @Nullable Player getWhoOptimised() {
|
||||
return whoOptimised;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setCancelled(boolean cancel) {
|
||||
isCancelled = cancel;
|
||||
|
@ -1,30 +1,47 @@
|
||||
package me.xginko.villageroptimizer.events;
|
||||
|
||||
import me.xginko.villageroptimizer.WrappedVillager;
|
||||
import me.xginko.villageroptimizer.enums.OptimizationType;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.Cancellable;
|
||||
import org.bukkit.event.Event;
|
||||
import org.bukkit.event.HandlerList;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
public class VillagerUnoptimizeEvent extends Event implements Cancellable {
|
||||
|
||||
private static final @NotNull HandlerList handlers = new HandlerList();
|
||||
private final @NotNull WrappedVillager wrappedVillager;
|
||||
private final @NotNull OptimizationType unoptimizeType;
|
||||
private final @Nullable Player whoUnoptimized;
|
||||
private boolean isCancelled = false;
|
||||
|
||||
public VillagerUnoptimizeEvent(@NotNull WrappedVillager wrappedVillager, boolean isAsync) {
|
||||
public VillagerUnoptimizeEvent(@NotNull WrappedVillager wrappedVillager, @Nullable Player whoUnoptimized, @NotNull OptimizationType unoptimizeType, boolean isAsync) {
|
||||
super(isAsync);
|
||||
this.wrappedVillager = wrappedVillager;
|
||||
this.whoUnoptimized = whoUnoptimized;
|
||||
this.unoptimizeType = unoptimizeType;
|
||||
}
|
||||
|
||||
public VillagerUnoptimizeEvent(@NotNull WrappedVillager wrappedVillager) {
|
||||
public VillagerUnoptimizeEvent(@NotNull WrappedVillager wrappedVillager, @Nullable Player whoUnoptimized, @NotNull OptimizationType unoptimizeType) {
|
||||
this.wrappedVillager = wrappedVillager;
|
||||
this.whoUnoptimized = whoUnoptimized;
|
||||
this.unoptimizeType = unoptimizeType;
|
||||
}
|
||||
|
||||
public @NotNull WrappedVillager getWrappedVillager() {
|
||||
return wrappedVillager;
|
||||
}
|
||||
|
||||
public @Nullable Player getWhoUnoptimized() {
|
||||
return whoUnoptimized;
|
||||
}
|
||||
|
||||
public @NotNull OptimizationType getWhichTypeUnoptimized() {
|
||||
return unoptimizeType;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isCancelled() {
|
||||
return isCancelled;
|
||||
|
@ -114,7 +114,7 @@ public class OptimizeByBlock implements VillagerOptimizerModule, Listener {
|
||||
if (closestOptimizableVillager == null) return;
|
||||
|
||||
if (closestOptimizableVillager.canOptimize(cooldown) || player.hasPermission(Permissions.Bypass.BLOCK_COOLDOWN.get())) {
|
||||
VillagerOptimizeEvent optimizeEvent = new VillagerOptimizeEvent(closestOptimizableVillager, OptimizationType.BLOCK, event.isAsynchronous());
|
||||
VillagerOptimizeEvent optimizeEvent = new VillagerOptimizeEvent(closestOptimizableVillager, OptimizationType.BLOCK, player, event.isAsynchronous());
|
||||
VillagerOptimizer.callEvent(optimizeEvent);
|
||||
if (optimizeEvent.isCancelled()) return;
|
||||
|
||||
@ -176,7 +176,7 @@ public class OptimizeByBlock implements VillagerOptimizerModule, Listener {
|
||||
|
||||
if (closestOptimizedVillager == null) return;
|
||||
|
||||
VillagerUnoptimizeEvent unOptimizeEvent = new VillagerUnoptimizeEvent(closestOptimizedVillager, event.isAsynchronous());
|
||||
VillagerUnoptimizeEvent unOptimizeEvent = new VillagerUnoptimizeEvent(closestOptimizedVillager, player, OptimizationType.BLOCK, event.isAsynchronous());
|
||||
VillagerOptimizer.callEvent(unOptimizeEvent);
|
||||
if (unOptimizeEvent.isCancelled()) return;
|
||||
|
||||
|
@ -90,7 +90,7 @@ public class OptimizeByNametag implements VillagerOptimizerModule, Listener {
|
||||
|
||||
if (nametags.contains(name.toLowerCase())) {
|
||||
if (wVillager.canOptimize(cooldown) || player.hasPermission(Permissions.Bypass.NAMETAG_COOLDOWN.get())) {
|
||||
VillagerOptimizeEvent optimizeEvent = new VillagerOptimizeEvent(wVillager, OptimizationType.NAMETAG, event.isAsynchronous());
|
||||
VillagerOptimizeEvent optimizeEvent = new VillagerOptimizeEvent(wVillager, OptimizationType.NAMETAG, player, event.isAsynchronous());
|
||||
VillagerOptimizer.callEvent(optimizeEvent);
|
||||
if (optimizeEvent.isCancelled()) return;
|
||||
|
||||
@ -119,7 +119,7 @@ public class OptimizeByNametag implements VillagerOptimizerModule, Listener {
|
||||
}
|
||||
} else {
|
||||
if (wVillager.isOptimized()) {
|
||||
VillagerUnoptimizeEvent unOptimizeEvent = new VillagerUnoptimizeEvent(wVillager, event.isAsynchronous());
|
||||
VillagerUnoptimizeEvent unOptimizeEvent = new VillagerUnoptimizeEvent(wVillager, player, OptimizationType.NAMETAG, event.isAsynchronous());
|
||||
VillagerOptimizer.callEvent(unOptimizeEvent);
|
||||
if (unOptimizeEvent.isCancelled()) return;
|
||||
|
||||
|
@ -98,7 +98,7 @@ public class OptimizeByWorkstation implements VillagerOptimizerModule, Listener
|
||||
if (closestOptimizableVillager == null) return;
|
||||
|
||||
if (closestOptimizableVillager.canOptimize(cooldown) || player.hasPermission(Permissions.Bypass.WORKSTATION_COOLDOWN.get())) {
|
||||
VillagerOptimizeEvent optimizeEvent = new VillagerOptimizeEvent(closestOptimizableVillager, OptimizationType.WORKSTATION, event.isAsynchronous());
|
||||
VillagerOptimizeEvent optimizeEvent = new VillagerOptimizeEvent(closestOptimizableVillager, OptimizationType.WORKSTATION, player, event.isAsynchronous());
|
||||
VillagerOptimizer.callEvent(optimizeEvent);
|
||||
if (optimizeEvent.isCancelled()) return;
|
||||
|
||||
@ -164,7 +164,7 @@ public class OptimizeByWorkstation implements VillagerOptimizerModule, Listener
|
||||
|
||||
if (closestOptimizedVillager == null) return;
|
||||
|
||||
VillagerUnoptimizeEvent unOptimizeEvent = new VillagerUnoptimizeEvent(closestOptimizedVillager, event.isAsynchronous());
|
||||
VillagerUnoptimizeEvent unOptimizeEvent = new VillagerUnoptimizeEvent(closestOptimizedVillager, player, OptimizationType.WORKSTATION, event.isAsynchronous());
|
||||
VillagerOptimizer.callEvent(unOptimizeEvent);
|
||||
if (unOptimizeEvent.isCancelled()) return;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user