From dfb25a8ebbc77cc96c5f8b3a7efb69c887e13669 Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Sat, 19 Oct 2019 00:29:02 -0500 Subject: [PATCH] Evoker API --- .../java/net/minecraft/server/EntityEvoker.java | 5 +++-- .../bukkit/craftbukkit/entity/CraftEvoker.java | 17 +++++++++++++++++ 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/src/main/java/net/minecraft/server/EntityEvoker.java b/src/main/java/net/minecraft/server/EntityEvoker.java index dd55e5e5b..c37c2930e 100644 --- a/src/main/java/net/minecraft/server/EntityEvoker.java +++ b/src/main/java/net/minecraft/server/EntityEvoker.java @@ -24,7 +24,7 @@ public class EntityEvoker extends EntityIllagerWizard { this.goalSelector.a(8, new PathfinderGoalRandomStroll(this, 0.6D)); this.goalSelector.a(9, new PathfinderGoalLookAtPlayer(this, EntityHuman.class, 3.0F, 1.0F)); this.goalSelector.a(10, new PathfinderGoalLookAtPlayer(this, EntityInsentient.class, 8.0F)); - this.targetSelector.a(1, (new PathfinderGoalHurtByTarget(this, new Class[]{EntityRaider.class})).a()); + this.targetSelector.a(1, (new PathfinderGoalHurtByTarget(this, new Class[]{EntityRaider.class})).a(new Class[0])); // Purpur - decompile error this.targetSelector.a(2, (new PathfinderGoalNearestAttackableTarget<>(this, EntityHuman.class, true)).a(300)); this.targetSelector.a(3, (new PathfinderGoalNearestAttackableTarget<>(this, EntityVillagerAbstract.class, false)).a(300)); this.targetSelector.a(3, new PathfinderGoalNearestAttackableTarget<>(this, EntityIronGolem.class, false)); @@ -79,12 +79,13 @@ public class EntityEvoker extends EntityIllagerWizard { return SoundEffects.ENTITY_EVOKER_HURT; } + public void setWololoTarget(@Nullable EntitySheep sheep) { a(sheep); } // Purpur - OBFHELPER private void a(@Nullable EntitySheep entitysheep) { this.bv = entitysheep; } @Nullable - private EntitySheep fh() { + private EntitySheep fh() { return getWololoTarget(); } public EntitySheep getWololoTarget() { // Purpur - OBFHELPER return this.bv; } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEvoker.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEvoker.java index 0636d2647..a7a548421 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEvoker.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEvoker.java @@ -5,6 +5,10 @@ import net.minecraft.server.EntityIllagerWizard; import org.bukkit.craftbukkit.CraftServer; import org.bukkit.entity.EntityType; import org.bukkit.entity.Evoker; +// Purpur start +import net.minecraft.server.EntitySheep; +import javax.annotation.Nullable; +// Purpur end public class CraftEvoker extends CraftSpellcaster implements Evoker { @@ -36,4 +40,17 @@ public class CraftEvoker extends CraftSpellcaster implements Evoker { public void setCurrentSpell(Evoker.Spell spell) { getHandle().setSpell(spell == null ? EntityIllagerWizard.Spell.NONE : EntityIllagerWizard.Spell.a(spell.ordinal())); } + + // Purpur start + @Nullable + public org.bukkit.entity.Sheep getWololoTarget() { + EntitySheep target = getHandle().getWololoTarget(); + return target == null ? null : (org.bukkit.entity.Sheep) target.getBukkitEntity(); + } + + @Override + public void setWololoTarget(@Nullable org.bukkit.entity.Sheep sheep) { + getHandle().setWololoTarget(sheep == null ? null : (EntitySheep) ((CraftEntity) sheep).getHandle()); + } + // Purpur end } -- 2.26.2