mirror of
https://github.com/PaperMC/Paper.git
synced 2024-11-23 02:55:47 +01:00
70ce6ce831
This makes it easier for downstream projects (forks) to replace the version fetching system with their own. It is as simple as implementing an interface and overriding the default implementation of org.bukkit.UnsafeValues#getVersionFetcher() It also makes it easier for us to organize things like the version history feature. Lastly I have updated the paper implementation to check against the site API rather than against jenkins.
97 lines
2.7 KiB
Diff
97 lines
2.7 KiB
Diff
From 5183d6aa6a230ae1cad69fd2a54589f6b82dfee0 Mon Sep 17 00:00:00 2001
|
|
From: Aikar <aikar@aikar.co>
|
|
Date: Wed, 16 May 2018 20:39:09 -0400
|
|
Subject: [PATCH] WitchThrowPotionEvent
|
|
|
|
Fired when a witch throws a potion at a player
|
|
|
|
diff --git a/src/main/java/com/destroystokyo/paper/event/entity/WitchThrowPotionEvent.java b/src/main/java/com/destroystokyo/paper/event/entity/WitchThrowPotionEvent.java
|
|
index 6ef6367b..688a596a 100644
|
|
--- a/src/main/java/com/destroystokyo/paper/event/entity/WitchThrowPotionEvent.java
|
|
+++ b/src/main/java/com/destroystokyo/paper/event/entity/WitchThrowPotionEvent.java
|
|
@@ -1,29 +1,77 @@
|
|
package com.destroystokyo.paper.event.entity;
|
|
|
|
+import org.bukkit.entity.LivingEntity;
|
|
+import org.bukkit.entity.Witch;
|
|
import org.bukkit.event.Cancellable;
|
|
-import org.bukkit.event.Event;
|
|
import org.bukkit.event.HandlerList;
|
|
+import org.bukkit.event.entity.EntityEvent;
|
|
+import org.bukkit.inventory.ItemStack;
|
|
+import org.jetbrains.annotations.NotNull;
|
|
+import org.jetbrains.annotations.Nullable;
|
|
|
|
-public class WitchThrowPotionEvent extends Event implements Cancellable {
|
|
- public WitchThrowPotionEvent() {
|
|
+/**
|
|
+ * Fired when a witch throws a potion at a player
|
|
+ */
|
|
+public class WitchThrowPotionEvent extends EntityEvent implements Cancellable {
|
|
+ @NotNull private final LivingEntity target;
|
|
+ @Nullable private ItemStack potion;
|
|
+
|
|
+ public WitchThrowPotionEvent(@NotNull Witch witch, @NotNull LivingEntity target, @Nullable ItemStack potion) {
|
|
+ super(witch);
|
|
+ this.target = target;
|
|
+ this.potion = potion;
|
|
}
|
|
|
|
+ @NotNull
|
|
+ @Override
|
|
+ public Witch getEntity() {
|
|
+ return (Witch) super.getEntity();
|
|
+ }
|
|
+
|
|
+ /**
|
|
+ * @return The target of the potion
|
|
+ */
|
|
+ @NotNull
|
|
+ public LivingEntity getTarget() {
|
|
+ return target;
|
|
+ }
|
|
+
|
|
+ /**
|
|
+ * @return The potion the witch will throw at a player
|
|
+ */
|
|
+ @Nullable
|
|
+ public ItemStack getPotion() {
|
|
+ return potion;
|
|
+ }
|
|
+
|
|
+ /**
|
|
+ * Sets the potion to be thrown at a player
|
|
+ * @param potion The potion
|
|
+ */
|
|
+ public void setPotion(@Nullable ItemStack potion) {
|
|
+ this.potion = potion != null ? potion.clone() : null;
|
|
+ }
|
|
|
|
private static final HandlerList handlers = new HandlerList();
|
|
|
|
+ @NotNull
|
|
public HandlerList getHandlers() {
|
|
return handlers;
|
|
}
|
|
|
|
+ @NotNull
|
|
public static HandlerList getHandlerList() {
|
|
return handlers;
|
|
}
|
|
|
|
private boolean cancelled = false;
|
|
|
|
+ /**
|
|
+ * @return Event was cancelled or potion was null
|
|
+ */
|
|
@Override
|
|
public boolean isCancelled() {
|
|
- return cancelled;
|
|
+ return cancelled || potion == null;
|
|
}
|
|
|
|
@Override
|
|
--
|
|
2.21.0
|
|
|