mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-15 07:01:36 +08:00
af480b8b95
Whilst the new behaviour was technically correct as it prevented the possibility of the chunk tick list actually increasing over time, it introduced a few issues, namely the fact that it slowed growth to unreasonable levels, and interfered with the values which server admins have finally tuned, and come to enjoy over the last few years. If it is absolutely essential that growth be halted and ticking reduced as much as possible, the config option is there for power users. If we wish to 'fix' this by default in the future, a new chunk ticking algorithm, which actually has meaningful config options should be designed.
49 lines
2.7 KiB
Diff
49 lines
2.7 KiB
Diff
From 5df9392ef7ee1760da1f9d62facd50b06cf7c4ec Mon Sep 17 00:00:00 2001
|
|
From: Dylan Xaldin <Puremin0rez515@gmail.com>
|
|
Date: Thu, 12 Dec 2013 18:05:03 -0600
|
|
Subject: [PATCH] Allow Disabling Zombie Villager Aggression
|
|
|
|
Ability to configure if Zombies will be aggressive towards Villagers.
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/EntityZombie.java b/src/main/java/net/minecraft/server/EntityZombie.java
|
|
index 6c6e03e..5c8b0a8 100644
|
|
--- a/src/main/java/net/minecraft/server/EntityZombie.java
|
|
+++ b/src/main/java/net/minecraft/server/EntityZombie.java
|
|
@@ -26,7 +26,7 @@ public class EntityZombie extends EntityMonster {
|
|
this.getNavigation().b(true);
|
|
this.goalSelector.a(0, new PathfinderGoalFloat(this));
|
|
this.goalSelector.a(2, new PathfinderGoalMeleeAttack(this, EntityHuman.class, 1.0D, false));
|
|
- this.goalSelector.a(4, new PathfinderGoalMeleeAttack(this, EntityVillager.class, 1.0D, true));
|
|
+ if ( world.spigotConfig.zombieAggressiveTowardsVillager ) { this.goalSelector.a(4, new PathfinderGoalMeleeAttack(this, EntityVillager.class, 1.0D, true)); } // Spigot
|
|
this.goalSelector.a(5, new PathfinderGoalMoveTowardsRestriction(this, 1.0D));
|
|
this.goalSelector.a(6, new PathfinderGoalMoveThroughVillage(this, 1.0D, false));
|
|
this.goalSelector.a(7, new PathfinderGoalRandomStroll(this, 1.0D));
|
|
@@ -34,7 +34,7 @@ public class EntityZombie extends EntityMonster {
|
|
this.goalSelector.a(8, new PathfinderGoalRandomLookaround(this));
|
|
this.targetSelector.a(1, new PathfinderGoalHurtByTarget(this, true));
|
|
this.targetSelector.a(2, new PathfinderGoalNearestAttackableTarget(this, EntityHuman.class, 0, true));
|
|
- this.targetSelector.a(2, new PathfinderGoalNearestAttackableTarget(this, EntityVillager.class, 0, false));
|
|
+ if ( world.spigotConfig.zombieAggressiveTowardsVillager ) { this.targetSelector.a(2, new PathfinderGoalNearestAttackableTarget(this, EntityVillager.class, 0, false)); } // Spigot
|
|
this.a(0.6F, 1.8F);
|
|
}
|
|
|
|
diff --git a/src/main/java/org/spigotmc/SpigotWorldConfig.java b/src/main/java/org/spigotmc/SpigotWorldConfig.java
|
|
index b9399ad..e7cb99d 100644
|
|
--- a/src/main/java/org/spigotmc/SpigotWorldConfig.java
|
|
+++ b/src/main/java/org/spigotmc/SpigotWorldConfig.java
|
|
@@ -243,4 +243,11 @@ public class SpigotWorldConfig
|
|
|
|
antiXrayInstance = new AntiXray( this );
|
|
}
|
|
+
|
|
+ public boolean zombieAggressiveTowardsVillager;
|
|
+ private void zombieAggressiveTowardsVillager()
|
|
+ {
|
|
+ zombieAggressiveTowardsVillager = getBoolean( "zombie-aggressive-towards-villager", true );
|
|
+ log( "Zombie Aggressive Towards Villager: " + zombieAggressiveTowardsVillager );
|
|
+ }
|
|
}
|
|
--
|
|
1.8.3.2
|
|
|