mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-19 09:27:43 +01:00
53 lines
3.0 KiB
Diff
53 lines
3.0 KiB
Diff
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 | 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 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;
|
|
|
|
public class EntityVillager extends EntityVillagerAbstract implements ReputationHandler, VillagerDataHolder {
|
|
|
|
+ private static final RecipeItemStack TEMPT_ITEMS = RecipeItemStack.a(Blocks.EMERALD_BLOCK.getItem()); // Purpur
|
|
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});
|
|
@@ -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
|
|
|
|
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
|
|
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
|
@@ -255,10 +255,12 @@ public class PurpurConfig {
|
|
public static boolean useVillagerBrainTicksOnlyWhenLagging = true;
|
|
public static int villagerBrainTicks = 20;
|
|
public static boolean allowLeashingVillagers = false;
|
|
+ public static boolean villagersFollowEmeraldBlocks = false;
|
|
private static void villagerSettings() {
|
|
useVillagerBrainTicksOnlyWhenLagging = getBoolean("settings.mobs.villager.use-brain-ticks-only-when-lagging", useVillagerBrainTicksOnlyWhenLagging);
|
|
villagerBrainTicks = getInt("settings.mobs.villager.brain-ticks", villagerBrainTicks);
|
|
allowLeashingVillagers = getBoolean("settings.mobs.villager.allow-leashing", allowLeashingVillagers);
|
|
+ villagersFollowEmeraldBlocks = getBoolean("settings.mobs.villager.follow-emerald-blocks", villagersFollowEmeraldBlocks);
|
|
}
|
|
|
|
public static boolean largeEnderChests = true;
|
|
--
|
|
2.24.0
|
|
|