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