Fix entities targetting while being ridden

This commit is contained in:
William Blake Galbreath
2020-02-02 01:01:03 -06:00
parent 034b14495c
commit 7839152785
15 changed files with 583 additions and 294 deletions

View File

@@ -1,15 +1,15 @@
From 48a7b50eaee27e05f1684414d1d21302d5fafa4c Mon Sep 17 00:00:00 2001
From 37e66685cf13319e5f40f54c06b1ea4a6eea868e Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
Date: Fri, 29 Nov 2019 22:10:12 -0600
Subject: [PATCH] Villagers follow emerald blocks
---
src/main/java/net/minecraft/server/EntityVillager.java | 10 ++++++++++
src/main/java/net/pl3x/purpur/PurpurConfig.java | 2 ++
2 files changed, 12 insertions(+)
src/main/java/net/minecraft/server/EntityVillager.java | 4 ++++
src/main/java/net/pl3x/purpur/PurpurConfig.java | 2 ++
2 files changed, 6 insertions(+)
diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java
index cd8da30a1..9415abeab 100644
index a53decb2c..c3d805d07 100644
--- a/src/main/java/net/minecraft/server/EntityVillager.java
+++ b/src/main/java/net/minecraft/server/EntityVillager.java
@@ -25,6 +25,7 @@ import org.bukkit.event.entity.VillagerReplenishTradeEvent;
@@ -20,22 +20,16 @@ index cd8da30a1..9415abeab 100644
private static final DataWatcherObject<VillagerData> bz = DataWatcher.a(EntityVillager.class, DataWatcherRegistry.q);
public static final Map<Item, Integer> bx = ImmutableMap.of(Items.BREAD, 4, Items.POTATO, 1, Items.CARROT, 1, Items.BEETROOT, 1);
private static final Set<Item> bA = ImmutableSet.of(Items.BREAD, Items.POTATO, Items.CARROT, Items.WHEAT, Items.WHEAT_SEEDS, Items.BEETROOT, new Item[]{Items.BEETROOT_SEEDS});
@@ -66,6 +67,15 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
brainTickOffset = getRandom().nextInt(100); // Purpur
}
+ // Purpur start
+ @Override
+ protected void initPathfinder() {
@@ -70,6 +71,9 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
@Override
protected void initPathfinder() {
this.goalSelector.a(0, new net.pl3x.purpur.pathfinder.PathfinderGoalHasRider(this)); // Purpur
+ if (net.pl3x.purpur.PurpurConfig.villagersFollowEmeraldBlocks) {
+ this.goalSelector.a(3, new PathfinderGoalTempt(this, 1.0D, false, TEMPT_ITEMS));
+ }
+ }
+ // Purpur end
+
@Override
public BehaviorController<EntityVillager> getBehaviorController() {
return (BehaviorController<EntityVillager>) super.getBehaviorController(); // CraftBukkit - decompile error
}
// Purpur end
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index 46dc8cf79..81f41ccc7 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java