mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-21 02:17:42 +01:00
Separate ridable and controllable configs
This commit is contained in:
@@ -5,7 +5,7 @@ Subject: [PATCH] Configurable villager brain ticks
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
index 0f466c9301c38e3747a22f116b98d47d1d912601..783cdc4949549725c884cdc0edff485936c77de3 100644
|
||||
index e413888ee04d6b236d2f7b8323e36d02dfe6b854..3ec933905f247e23c4c13b21dbf6fe4018583c5d 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
@@ -137,6 +137,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
@@ -24,7 +24,7 @@ index 0f466c9301c38e3747a22f116b98d47d1d912601..783cdc4949549725c884cdc0edff4859
|
||||
}
|
||||
|
||||
// Purpur start
|
||||
@@ -272,6 +274,10 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
@@ -277,6 +279,10 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
this.level.getProfiler().push("villagerBrain");
|
||||
// Pufferfish start
|
||||
if (!inactive) {
|
||||
@@ -32,23 +32,23 @@ index 0f466c9301c38e3747a22f116b98d47d1d912601..783cdc4949549725c884cdc0edff4859
|
||||
+ boolean tick = (level.getGameTime() + brainTickOffset) % level.purpurConfig.villagerBrainTicks == 0;
|
||||
+ if (((ServerLevel) level).getServer().lagging ? tick : level.purpurConfig.villagerUseBrainTicksOnlyWhenLagging || tick)
|
||||
+ // Purpur end
|
||||
if (getRider() == null && this.behaviorTick++ % this.activatedPriority == 0) // Pufferfish // Purpur - only use brain if no rider
|
||||
if ((getRider() == null || !this.isControllable()) && this.behaviorTick++ % this.activatedPriority == 0) // Pufferfish // Purpur - only use brain if no rider
|
||||
this.getBrain().tick((ServerLevel) this.level, this); // Paper
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 83f2729035d42674d480bb508737497a7bffb4c7..a4111896ba007d252cb6fed8824cb99d78727991 100644
|
||||
index 81524c4f676766c09125187876b46e0704294880..93d89fb27044e5e97574122b0e7863694d245bf0 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -1092,6 +1092,8 @@ public class PurpurWorldConfig {
|
||||
public boolean villagerRidable = false;
|
||||
@@ -1207,6 +1207,8 @@ public class PurpurWorldConfig {
|
||||
public boolean villagerRidableInWater = false;
|
||||
public boolean villagerControllable = true;
|
||||
public double villagerMaxHealth = 20.0D;
|
||||
+ public int villagerBrainTicks = 1;
|
||||
+ public boolean villagerUseBrainTicksOnlyWhenLagging = true;
|
||||
private void villagerSettings() {
|
||||
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
|
||||
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
|
||||
@@ -1101,6 +1103,8 @@ public class PurpurWorldConfig {
|
||||
@@ -1217,6 +1219,8 @@ public class PurpurWorldConfig {
|
||||
set("mobs.villager.attributes.max_health", oldValue);
|
||||
}
|
||||
villagerMaxHealth = getDouble("mobs.villager.attributes.max_health", villagerMaxHealth);
|
||||
|
||||
Reference in New Issue
Block a user