diff --git a/patches/api/Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch b/patches/api/Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch index 26b92f8cb4..6d3a34dfed 100644 --- a/patches/api/Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch +++ b/patches/api/Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch @@ -33,7 +33,7 @@ diff --git a/src/main/java/org/bukkit/entity/Skeleton.java b/src/main/java/org/b index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644 --- a/src/main/java/org/bukkit/entity/Skeleton.java +++ b/src/main/java/org/bukkit/entity/Skeleton.java -@@ -0,0 +0,0 @@ public interface Skeleton extends AbstractSkeleton, com.destroystokyo.paper.enti +@@ -0,0 +0,0 @@ public interface Skeleton extends AbstractSkeleton { */ STRAY; } diff --git a/patches/api/RangedEntity-API.patch b/patches/api/RangedEntity-API.patch index 1f1222a73f..26c021828f 100644 --- a/patches/api/RangedEntity-API.patch +++ b/patches/api/RangedEntity-API.patch @@ -43,6 +43,19 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 + return isHandRaised(); + } +} +diff --git a/src/main/java/org/bukkit/entity/AbstractSkeleton.java b/src/main/java/org/bukkit/entity/AbstractSkeleton.java +index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644 +--- a/src/main/java/org/bukkit/entity/AbstractSkeleton.java ++++ b/src/main/java/org/bukkit/entity/AbstractSkeleton.java +@@ -0,0 +0,0 @@ import org.jetbrains.annotations.NotNull; + * of this type, instanceOf checks against the specific subtypes listed prior + * are recommended. + */ +-public interface AbstractSkeleton extends Monster { ++public interface AbstractSkeleton extends Monster, com.destroystokyo.paper.entity.RangedEntity { // Paper + + /** + * Gets the current type of this skeleton. diff --git a/src/main/java/org/bukkit/entity/Drowned.java b/src/main/java/org/bukkit/entity/Drowned.java index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644 --- a/src/main/java/org/bukkit/entity/Drowned.java @@ -121,19 +134,6 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 */ -public interface Pillager extends Illager, InventoryHolder { } +public interface Pillager extends Illager, InventoryHolder, RangedEntity { } // Paper -diff --git a/src/main/java/org/bukkit/entity/Skeleton.java b/src/main/java/org/bukkit/entity/Skeleton.java -index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644 ---- a/src/main/java/org/bukkit/entity/Skeleton.java -+++ b/src/main/java/org/bukkit/entity/Skeleton.java -@@ -0,0 +0,0 @@ package org.bukkit.entity; - * Other skeleton-like entities, such as the {@link WitherSkeleton} or the - * {@link Stray} are not related to this type. - */ --public interface Skeleton extends AbstractSkeleton { -+public interface Skeleton extends AbstractSkeleton, com.destroystokyo.paper.entity.RangedEntity { // Paper - - /** - * Computes whether or not this skeleton is currently in the process of diff --git a/src/main/java/org/bukkit/entity/Snowman.java b/src/main/java/org/bukkit/entity/Snowman.java index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644 --- a/src/main/java/org/bukkit/entity/Snowman.java diff --git a/patches/server/Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch b/patches/server/Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch index 5b4bf3815d..d77e0b1d40 100644 --- a/patches/server/Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch +++ b/patches/server/Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch @@ -113,7 +113,7 @@ diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftSkeleton.java b/sr index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftSkeleton.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftSkeleton.java -@@ -0,0 +0,0 @@ public class CraftSkeleton extends CraftAbstractSkeleton implements Skeleton, co +@@ -0,0 +0,0 @@ public class CraftSkeleton extends CraftAbstractSkeleton implements Skeleton { public SkeletonType getSkeletonType() { return SkeletonType.NORMAL; } diff --git a/patches/server/RangedEntity-API.patch b/patches/server/RangedEntity-API.patch index d304517f18..c8a407fee2 100644 --- a/patches/server/RangedEntity-API.patch +++ b/patches/server/RangedEntity-API.patch @@ -45,6 +45,30 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 + // - see EntitySkeletonAbstract melee goal + void setAggressive(boolean flag); default void setChargingAttack(boolean charging) { setAggressive(charging); }; // Paper } +diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftAbstractSkeleton.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftAbstractSkeleton.java +index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644 +--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftAbstractSkeleton.java ++++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftAbstractSkeleton.java +@@ -0,0 +0,0 @@ import org.bukkit.craftbukkit.CraftServer; + import org.bukkit.entity.AbstractSkeleton; + import org.bukkit.entity.Skeleton; + +-public abstract class CraftAbstractSkeleton extends CraftMonster implements AbstractSkeleton { ++public abstract class CraftAbstractSkeleton extends CraftMonster implements AbstractSkeleton, com.destroystokyo.paper.entity.CraftRangedEntity { // Paper + + public CraftAbstractSkeleton(CraftServer server, net.minecraft.world.entity.monster.AbstractSkeleton entity) { + super(server, entity); +@@ -0,0 +0,0 @@ public abstract class CraftAbstractSkeleton extends CraftMonster implements Abst + public void setSkeletonType(Skeleton.SkeletonType type) { + throw new UnsupportedOperationException("Not supported."); + } ++ // Paper start ++ @Override ++ public net.minecraft.world.entity.monster.AbstractSkeleton getHandle() { ++ return (net.minecraft.world.entity.monster.AbstractSkeleton) super.getHandle(); ++ } ++ // Paper end + } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftDrowned.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftDrowned.java index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftDrowned.java @@ -110,19 +134,6 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 public CraftPillager(CraftServer server, net.minecraft.world.entity.monster.Pillager entity) { super(server, entity); -diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftSkeleton.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftSkeleton.java -index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644 ---- a/src/main/java/org/bukkit/craftbukkit/entity/CraftSkeleton.java -+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftSkeleton.java -@@ -0,0 +0,0 @@ import org.bukkit.craftbukkit.CraftServer; - import org.bukkit.entity.EntityType; - import org.bukkit.entity.Skeleton; - --public class CraftSkeleton extends CraftAbstractSkeleton implements Skeleton { -+public class CraftSkeleton extends CraftAbstractSkeleton implements Skeleton, com.destroystokyo.paper.entity.CraftRangedEntity { // Paper - - public CraftSkeleton(CraftServer server, net.minecraft.world.entity.monster.Skeleton entity) { - super(server, entity); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftSnowman.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftSnowman.java index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftSnowman.java