Here's Johnny! (#1563)

Adds Johnny API to Vindicator
This commit is contained in:
BillyGalbreath 2018-10-12 02:09:53 -05:00 committed by Daniel Ennis
parent 04b8268cf1
commit 3b580e8aa9
2 changed files with 86 additions and 0 deletions

View file

@ -0,0 +1,45 @@
From 11cd00a4ed9f1c168842b3fe90c2a16c07241e1f Mon Sep 17 00:00:00 2001
From: BillyGalbreath <Blake.Galbreath@GMail.com>
Date: Fri, 12 Oct 2018 01:37:16 -0500
Subject: [PATCH] Here's Johnny!
diff --git a/src/main/java/org/bukkit/entity/Vindicator.java b/src/main/java/org/bukkit/entity/Vindicator.java
index b8ea68a8..c5d9e76a 100644
--- a/src/main/java/org/bukkit/entity/Vindicator.java
+++ b/src/main/java/org/bukkit/entity/Vindicator.java
@@ -3,4 +3,30 @@ package org.bukkit.entity;
/**
* Represents a Vindicator.
*/
-public interface Vindicator extends Illager { }
+public interface Vindicator extends Illager {
+ // Paper start
+ /**
+ * Check if this Vindicator is set to Johnny mode.
+ * <p>
+ * When in Johnny mode the Vindicator will be hostile to any kind of mob, except
+ * for evokers, ghasts, illusioners and other vindicators. It will even be hostile
+ * to vexes. All mobs, except for endermites, phantoms, guardians, slimes and
+ * magma cubes, will try to attack the vindicator in return.
+ *
+ * @return True if in Johnny mode
+ */
+ boolean isJohnny();
+
+ /**
+ * Set this Vindicator's Johnny mode.
+ * <p>
+ * When in Johnny mode the Vindicator will be hostile to any kind of mob, except
+ * for evokers, ghasts, illusioners and other vindicators. It will even be hostile
+ * to vexes. All mobs, except for endermites, phantoms, guardians, slimes and
+ * magma cubes, will try to attack the vindicator in return.
+ *
+ * @param johnny True to enable Johnny mode
+ */
+ void setJohnny(boolean johnny);
+ // Paper end
+}
--
2.19.1

View file

@ -0,0 +1,41 @@
From db673c8f4f7236d6433caf60ba77cd7bd65b5db7 Mon Sep 17 00:00:00 2001
From: BillyGalbreath <Blake.Galbreath@GMail.com>
Date: Fri, 12 Oct 2018 01:37:22 -0500
Subject: [PATCH] Here's Johnny!
diff --git a/src/main/java/net/minecraft/server/EntityVindicator.java b/src/main/java/net/minecraft/server/EntityVindicator.java
index 597878e2c..4e59df891 100644
--- a/src/main/java/net/minecraft/server/EntityVindicator.java
+++ b/src/main/java/net/minecraft/server/EntityVindicator.java
@@ -4,7 +4,7 @@ import java.util.function.Predicate;
import javax.annotation.Nullable;
public class EntityVindicator extends EntityIllagerAbstract {
- private boolean b;
+ private boolean b; public boolean isJohnny() { return b; } public void setJohnny(boolean johnny) { b = johnny; } // Paper - OBFHELPER
private static final Predicate<Entity> c = (entity) -> {
return entity instanceof EntityLiving && ((EntityLiving)entity).df();
};
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftVindicator.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftVindicator.java
index 951d47929..5ff957ced 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftVindicator.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftVindicator.java
@@ -25,4 +25,14 @@ public class CraftVindicator extends CraftIllager implements Vindicator {
public EntityType getType() {
return EntityType.VINDICATOR;
}
+
+ // Paper start
+ public boolean isJohnny() {
+ return getHandle().isJohnny();
+ }
+
+ public void setJohnny(boolean johnny) {
+ getHandle().setJohnny(johnny);
+ }
+ // Paper end
}
--
2.19.1