Skip to content
This repository was archived by the owner on Apr 13, 2025. It is now read-only.

Commit 16cfd04

Browse files
committed
feat(mobs/bee): Add can-instantly-start-drowning option, defaults to true
If enabled, this will stop bees from instantly taking damage the moment they begin touching water. Bees can still "drown" with this option disabled when they run out of air. Relevant: PurpurMC#1639
1 parent 65637fa commit 16cfd04

4 files changed

Lines changed: 49 additions & 27 deletions

File tree

purpur-server/minecraft-patches/features/0018-Toggle-for-water-sensitive-mob-damage.patch

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -41,26 +41,28 @@ index ecbec552e5cd1935f57872d2fb502d3e9743e3d8..4fa526496265a85b637136f0fd0692ef
4141
public boolean isFlapping() {
4242
return !this.isResting() && this.tickCount % 10.0F == 0.0F;
4343
diff --git a/net/minecraft/world/entity/animal/Bee.java b/net/minecraft/world/entity/animal/Bee.java
44-
index 6f0b927101f9b5a07a0b6749557f6b0ebf35ae64..d4025093d82cca0c5923058dc0e35c91ae7b40e3 100644
44+
index 31854506641874bed3306b9688d71e5c47fd9e35..950988bf89f36e8555605d370bb039fe89c66fc7 100644
4545
--- a/net/minecraft/world/entity/animal/Bee.java
4646
+++ b/net/minecraft/world/entity/animal/Bee.java
4747
@@ -177,7 +177,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
4848
// Paper end - Fix MC-167279
4949
this.lookControl = new Bee.BeeLookControl(this);
5050
this.setPathfindingMalus(PathType.DANGER_FIRE, -1.0F);
51-
- this.setPathfindingMalus(PathType.WATER, -1.0F);
52-
+ if (isSensitiveToWater()) this.setPathfindingMalus(PathType.WATER, -1.0F); // Purpur - Toggle for water sensitive mob damage
51+
- if (this.level().purpurConfig.beeCanInstantlyStartDrowning) this.setPathfindingMalus(PathType.WATER, -1.0F); // Purpur - bee can instantly start drowning in water option
52+
+ if (this.level().purpurConfig.beeCanInstantlyStartDrowning || isSensitiveToWater()) this.setPathfindingMalus(PathType.WATER, -1.0F); // Purpur - bee can instantly start drowning in water option // Purpur - Toggle for water sensitive mob damage
5353
this.setPathfindingMalus(PathType.WATER_BORDER, 16.0F);
5454
this.setPathfindingMalus(PathType.COCOA, -1.0F);
5555
this.setPathfindingMalus(PathType.FENCE, -1.0F);
56-
@@ -487,6 +487,11 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
56+
@@ -487,6 +487,13 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
5757
}
5858
// Purpur end - Make entity breeding times configurable
5959

60+
+ // Purpur start - Toggle for water sensitive mob damage
6061
+ @Override
6162
+ public boolean isSensitiveToWater() {
6263
+ return this.level().purpurConfig.beeTakeDamageFromWater;
6364
+ }
65+
+ // Purpur end - Toggle for water sensitive mob damage
6466
+
6567
@Override
6668
public int getRemainingPersistentAngerTime() {
@@ -210,7 +212,7 @@ index a64b609bf5ce38a252bfa1bcff869f88e14389b5..5e9795f447e88a42909730d383eaa36a
210212
public float getWalkTargetValue(BlockPos pos, LevelReader level) {
211213
return level.getBlockState(pos.below()).is(Blocks.MYCELIUM) ? 10.0F : level.getPathfindingCostFromLightLevels(pos);
212214
diff --git a/net/minecraft/world/entity/animal/Ocelot.java b/net/minecraft/world/entity/animal/Ocelot.java
213-
index c76dff55f28f63be407c438f0c6ed634185d7b6b..4a95ec11da4399282f69630ac933b7e22b4ca550 100644
215+
index b06697fd64a8962133f0324b2c03b9e9b4f32086..91677415ba66c8de448a26ac4e6afe6bbbad4fa8 100644
214216
--- a/net/minecraft/world/entity/animal/Ocelot.java
215217
+++ b/net/minecraft/world/entity/animal/Ocelot.java
216218
@@ -94,6 +94,13 @@ public class Ocelot extends Animal {
@@ -385,7 +387,7 @@ index 6ee73b798ab306f7c828c9f06ca5b1a96bd96139..dbf3e4db27477afada86e02063a486f7
385387

386388
@Override
387389
diff --git a/net/minecraft/world/entity/animal/Squid.java b/net/minecraft/world/entity/animal/Squid.java
388-
index 739b9df3c1c39a3207caa42d6aed7f4ff1741d42..a43cf8ba7a4d5afb23401ccd07d451b35ed80d58 100644
390+
index 0391ff403391bfe13b907a8b1aae9057474f695b..e9ba9d84177e9c27b9c7c5e6274dfb031f6643c7 100644
389391
--- a/net/minecraft/world/entity/animal/Squid.java
390392
+++ b/net/minecraft/world/entity/animal/Squid.java
391393
@@ -99,6 +99,13 @@ public class Squid extends AgeableWaterCreature {
@@ -439,7 +441,7 @@ index edbccb7ca27aa8a1917eb8b35b3ba8600c91111a..cf297f766340b4ff8ecaf80a9a13b289
439441
this.entityData.set(HOME_POS, homePos);
440442
}
441443
diff --git a/net/minecraft/world/entity/animal/Wolf.java b/net/minecraft/world/entity/animal/Wolf.java
442-
index 136f2c43272e5a45e473b66656818ed88de1cff3..f2e2cee3fd4a8bdec0c8922170930f81c14dfb32 100644
444+
index 9d79946497cfc92ff11160b86d5064d86916af36..8b5eaabe77dcf8851b874b82a2d7f64180ac613b 100644
443445
--- a/net/minecraft/world/entity/animal/Wolf.java
444446
+++ b/net/minecraft/world/entity/animal/Wolf.java
445447
@@ -217,6 +217,13 @@ public class Wolf extends TamableAnimal implements NeutralMob, VariantHolder<Hol
@@ -475,7 +477,7 @@ index 07eee1f82331a2172aede02219a7eae8e82c7b59..ee426f8a52c9ff5519641ace0f36a38a
475477
public float getWalkTargetValue(BlockPos pos, LevelReader level) {
476478
return 0.0F;
477479
diff --git a/net/minecraft/world/entity/animal/goat/Goat.java b/net/minecraft/world/entity/animal/goat/Goat.java
478-
index 16fe9367466372eb7cd0ecf24ba5b7cbc64a820c..b95570519301bb9e260ce3c20f3231c79ff22fac 100644
480+
index 0a018dbfe3750cf91892d8cfb5c0eac18e83d587..0c357ffacfe4dd982a58e6cf2338c7e6b24610f5 100644
479481
--- a/net/minecraft/world/entity/animal/goat/Goat.java
480482
+++ b/net/minecraft/world/entity/animal/goat/Goat.java
481483
@@ -135,6 +135,13 @@ public class Goat extends Animal {
@@ -951,7 +953,7 @@ index 9586aa3f3eb61fb0c1224df9d0104da69d7fa6bb..869a1007de13f3f5d757968d0f84cbf4
951953
protected void registerGoals() {
952954
super.registerGoals();
953955
diff --git a/net/minecraft/world/entity/monster/Ravager.java b/net/minecraft/world/entity/monster/Ravager.java
954-
index b83886f2533026550759c823e1e11930665fc5bd..2844846811398350832a0f88a72772831e3e43d5 100644
956+
index 3449628fb87fd760abd730d84699c3a09c6ec761..3d9eae0403875a99c25ccb47888dc591f051e744 100644
955957
--- a/net/minecraft/world/entity/monster/Ravager.java
956958
+++ b/net/minecraft/world/entity/monster/Ravager.java
957959
@@ -97,6 +97,13 @@ public class Ravager extends Raider {
@@ -1005,7 +1007,7 @@ index 0d3b8b64a23a19d67a1a4a01faaf6649a59f54ad..52f18edfe4525b2626f86a5b5847c74f
10051007
protected void registerGoals() {
10061008
this.friendsGoal = new Silverfish.SilverfishWakeUpFriendsGoal(this);
10071009
diff --git a/net/minecraft/world/entity/monster/Skeleton.java b/net/minecraft/world/entity/monster/Skeleton.java
1008-
index e33c998233dbe366dfab3d7571e6ae879cd30ed0..429649d9173a79e1a69599426c63ce67c3a77009 100644
1010+
index ccd8a9867acd76e5a00d43e55e1fe64d8259de10..29ef7a09c42590df7a8cd7f0874a8eb995b77cc8 100644
10091011
--- a/net/minecraft/world/entity/monster/Skeleton.java
10101012
+++ b/net/minecraft/world/entity/monster/Skeleton.java
10111013
@@ -49,6 +49,13 @@ public class Skeleton extends AbstractSkeleton {
@@ -1189,7 +1191,7 @@ index 132b38d717ac3c5acc64a5ec519f345ac57021d8..79a4a3f4e10e1f9c1a6100060a956360
11891191
protected Brain.Provider<Zoglin> brainProvider() {
11901192
return Brain.provider(MEMORY_TYPES, SENSOR_TYPES);
11911193
diff --git a/net/minecraft/world/entity/monster/Zombie.java b/net/minecraft/world/entity/monster/Zombie.java
1192-
index 98732a5014a1c8a91dbe79d070ce0b58daf1ba1c..5d12bc139c81ca342074c7c745635669020d0300 100644
1194+
index 63446c874e7153dcfb99133145c8b5311d7d86cd..bb8c37c8348172947efe14d48ed9ae203409affa 100644
11931195
--- a/net/minecraft/world/entity/monster/Zombie.java
11941196
+++ b/net/minecraft/world/entity/monster/Zombie.java
11951197
@@ -139,6 +139,13 @@ public class Zombie extends Monster {
@@ -1297,7 +1299,7 @@ index eb82252cd87797927e153974b9280b5eaa251080..2237681f298113bda0556699e19e880f
12971299
return Monster.createMonsterAttributes()
12981300
.add(Attributes.MAX_HEALTH, 50.0)
12991301
diff --git a/net/minecraft/world/entity/npc/Villager.java b/net/minecraft/world/entity/npc/Villager.java
1300-
index c301a89f032746487a4e993d920060450433f238..af6ae76248a9894efbecf9e94160f8d215f6ad85 100644
1302+
index 017b54e0b8dec8996c90a3c6651867277dd516df..97e5bb0cc335b23211e78044919282bfabad26a5 100644
13011303
--- a/net/minecraft/world/entity/npc/Villager.java
13021304
+++ b/net/minecraft/world/entity/npc/Villager.java
13031305
@@ -278,6 +278,13 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
@@ -1315,7 +1317,7 @@ index c301a89f032746487a4e993d920060450433f238..af6ae76248a9894efbecf9e94160f8d2
13151317
public Brain<Villager> getBrain() {
13161318
return (Brain<Villager>)super.getBrain();
13171319
diff --git a/net/minecraft/world/entity/npc/WanderingTrader.java b/net/minecraft/world/entity/npc/WanderingTrader.java
1318-
index f9755f36f7863b9742fe5b840a8130891ddff7c7..5a87c3c7aca38f3fe4a003b2075f43b0ae1cddea 100644
1320+
index 4ba2921dd99f674344fe3371332c9b23365d3aa2..8046a2d640e7c4d59cb5b9c6dff3bf5f026c7153 100644
13191321
--- a/net/minecraft/world/entity/npc/WanderingTrader.java
13201322
+++ b/net/minecraft/world/entity/npc/WanderingTrader.java
13211323
@@ -107,6 +107,13 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill

purpur-server/minecraft-patches/features/0021-Mobs-always-drop-experience.patch

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -41,12 +41,12 @@ index 4fa526496265a85b637136f0fd0692ef4f570ad6..4ac052a78841939a53dac2afb575cb11
4141
public boolean isFlapping() {
4242
return !this.isResting() && this.tickCount % 10.0F == 0.0F;
4343
diff --git a/net/minecraft/world/entity/animal/Bee.java b/net/minecraft/world/entity/animal/Bee.java
44-
index d4025093d82cca0c5923058dc0e35c91ae7b40e3..38c95287da10247b0627ce16ad4914232b5a6f06 100644
44+
index 950988bf89f36e8555605d370bb039fe89c66fc7..d5727999eb67ff30dbf47865d59452483338e170 100644
4545
--- a/net/minecraft/world/entity/animal/Bee.java
4646
+++ b/net/minecraft/world/entity/animal/Bee.java
47-
@@ -487,6 +487,13 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
47+
@@ -494,6 +494,13 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
4848
}
49-
// Purpur end - Make entity breeding times configurable
49+
// Purpur end - Toggle for water sensitive mob damage
5050

5151
+ // Purpur start - Mobs always drop experience
5252
+ @Override
@@ -56,8 +56,8 @@ index d4025093d82cca0c5923058dc0e35c91ae7b40e3..38c95287da10247b0627ce16ad491423
5656
+ // Purpur end - Mobs always drop experience
5757
+
5858
@Override
59-
public boolean isSensitiveToWater() {
60-
return this.level().purpurConfig.beeTakeDamageFromWater;
59+
public int getRemainingPersistentAngerTime() {
60+
return this.entityData.get(DATA_REMAINING_ANGER_TIME);
6161
diff --git a/net/minecraft/world/entity/animal/Cat.java b/net/minecraft/world/entity/animal/Cat.java
6262
index b41ca04043e65f107edaebc49d398650898e35fb..edd796fd34e43d66a48104201d885756fdd968c3 100644
6363
--- a/net/minecraft/world/entity/animal/Cat.java
@@ -203,7 +203,7 @@ index 5e9795f447e88a42909730d383eaa36acfaf18f5..3bcd119757dfc579df790fcc8919a363
203203
public float getWalkTargetValue(BlockPos pos, LevelReader level) {
204204
return level.getBlockState(pos.below()).is(Blocks.MYCELIUM) ? 10.0F : level.getPathfindingCostFromLightLevels(pos);
205205
diff --git a/net/minecraft/world/entity/animal/Ocelot.java b/net/minecraft/world/entity/animal/Ocelot.java
206-
index 4a95ec11da4399282f69630ac933b7e22b4ca550..797b2311d432b1f06f55956d1cc22283090c1e4f 100644
206+
index 91677415ba66c8de448a26ac4e6afe6bbbad4fa8..681f1256d8bbedc7731fd2906a7f439da4333552 100644
207207
--- a/net/minecraft/world/entity/animal/Ocelot.java
208208
+++ b/net/minecraft/world/entity/animal/Ocelot.java
209209
@@ -101,6 +101,13 @@ public class Ocelot extends Animal {
@@ -383,7 +383,7 @@ index dbf3e4db27477afada86e02063a486f7cec573b5..1b9d4562b73ecdf783ecdaf4f4eff903
383383
protected void registerGoals() {
384384
this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur - Ridables
385385
diff --git a/net/minecraft/world/entity/animal/Squid.java b/net/minecraft/world/entity/animal/Squid.java
386-
index a43cf8ba7a4d5afb23401ccd07d451b35ed80d58..b384e4973e4986480a41dfe128b944d5b70e71c4 100644
386+
index e9ba9d84177e9c27b9c7c5e6274dfb031f6643c7..0a103e6f3f6b0ec05c5d22b1258eb6e2f776e7dd 100644
387387
--- a/net/minecraft/world/entity/animal/Squid.java
388388
+++ b/net/minecraft/world/entity/animal/Squid.java
389389
@@ -106,6 +106,13 @@ public class Squid extends AgeableWaterCreature {
@@ -437,7 +437,7 @@ index cf297f766340b4ff8ecaf80a9a13b2899a9870e6..bc6acbc801e5b371859e731b84197363
437437
this.entityData.set(HOME_POS, homePos);
438438
}
439439
diff --git a/net/minecraft/world/entity/animal/Wolf.java b/net/minecraft/world/entity/animal/Wolf.java
440-
index f2e2cee3fd4a8bdec0c8922170930f81c14dfb32..59ffa6c246cc7f74b79b69bab4d5581f2f42448f 100644
440+
index 8b5eaabe77dcf8851b874b82a2d7f64180ac613b..ef6c0bf20ad18c050cdeb02ddd6c007dfcf1d6b3 100644
441441
--- a/net/minecraft/world/entity/animal/Wolf.java
442442
+++ b/net/minecraft/world/entity/animal/Wolf.java
443443
@@ -224,6 +224,13 @@ public class Wolf extends TamableAnimal implements NeutralMob, VariantHolder<Hol
@@ -473,7 +473,7 @@ index ee426f8a52c9ff5519641ace0f36a38a36ecd24b..eb74d8313fd3cc15a33330fe7bafaca4
473473
public float getWalkTargetValue(BlockPos pos, LevelReader level) {
474474
return 0.0F;
475475
diff --git a/net/minecraft/world/entity/animal/goat/Goat.java b/net/minecraft/world/entity/animal/goat/Goat.java
476-
index b95570519301bb9e260ce3c20f3231c79ff22fac..5603b13e7f8a4f61e63900c93f9524347e288efa 100644
476+
index 0c357ffacfe4dd982a58e6cf2338c7e6b24610f5..6f106f10466440f8e65e04511f67d48f082d703f 100644
477477
--- a/net/minecraft/world/entity/animal/goat/Goat.java
478478
+++ b/net/minecraft/world/entity/animal/goat/Goat.java
479479
@@ -142,6 +142,13 @@ public class Goat extends Animal {
@@ -923,7 +923,7 @@ index 869a1007de13f3f5d757968d0f84cbf43786c870..a57d869cdc6a05124237933437aa2d26
923923
protected void registerGoals() {
924924
super.registerGoals();
925925
diff --git a/net/minecraft/world/entity/monster/Ravager.java b/net/minecraft/world/entity/monster/Ravager.java
926-
index 2844846811398350832a0f88a72772831e3e43d5..4dc2b324183254753b6b3269a6ef3ec2f5c2ee2d 100644
926+
index 3d9eae0403875a99c25ccb47888dc591f051e744..ce5cd032203839887a29008c2a1420c6bb6f4fee 100644
927927
--- a/net/minecraft/world/entity/monster/Ravager.java
928928
+++ b/net/minecraft/world/entity/monster/Ravager.java
929929
@@ -104,6 +104,13 @@ public class Ravager extends Raider {
@@ -977,7 +977,7 @@ index 52f18edfe4525b2626f86a5b5847c74feb96e519..465b0578435ff3fb028f860e84ba934f
977977
protected void registerGoals() {
978978
this.friendsGoal = new Silverfish.SilverfishWakeUpFriendsGoal(this);
979979
diff --git a/net/minecraft/world/entity/monster/Skeleton.java b/net/minecraft/world/entity/monster/Skeleton.java
980-
index 429649d9173a79e1a69599426c63ce67c3a77009..af85a4bd0bbc67a3a9ecc1008f44ce4764ff9050 100644
980+
index 29ef7a09c42590df7a8cd7f0874a8eb995b77cc8..7018471a465724e4a1d67fe18bb602176cddd522 100644
981981
--- a/net/minecraft/world/entity/monster/Skeleton.java
982982
+++ b/net/minecraft/world/entity/monster/Skeleton.java
983983
@@ -56,6 +56,13 @@ public class Skeleton extends AbstractSkeleton {
@@ -1157,7 +1157,7 @@ index 79a4a3f4e10e1f9c1a6100060a95636075fc8236..d2a67f3e1c971f737e58567dae23fa70
11571157
protected Brain.Provider<Zoglin> brainProvider() {
11581158
return Brain.provider(MEMORY_TYPES, SENSOR_TYPES);
11591159
diff --git a/net/minecraft/world/entity/monster/Zombie.java b/net/minecraft/world/entity/monster/Zombie.java
1160-
index f8d41ce860c5f48ab9b5e4b79a554dab85d2ba9b..26b57ffdc08a851e4e5cbdeebcc19d62517ba9fa 100644
1160+
index b1da45df27f02395d793e7eafe576f5f92aa3a7b..7af71c777dca26cd94b1807a2a77ea0d30e92976 100644
11611161
--- a/net/minecraft/world/entity/monster/Zombie.java
11621162
+++ b/net/minecraft/world/entity/monster/Zombie.java
11631163
@@ -147,6 +147,13 @@ public class Zombie extends Monster {
@@ -1265,7 +1265,7 @@ index 2237681f298113bda0556699e19e880f4b04a853..4984b9864b63f92bc939b530253e871c
12651265
return Monster.createMonsterAttributes()
12661266
.add(Attributes.MAX_HEALTH, 50.0)
12671267
diff --git a/net/minecraft/world/entity/npc/Villager.java b/net/minecraft/world/entity/npc/Villager.java
1268-
index af6ae76248a9894efbecf9e94160f8d215f6ad85..92261f502de7b832845b6e6a12a091801096dc4d 100644
1268+
index 97e5bb0cc335b23211e78044919282bfabad26a5..16fbe4e6521cd4f6baa8f5dd590da0fc749f6585 100644
12691269
--- a/net/minecraft/world/entity/npc/Villager.java
12701270
+++ b/net/minecraft/world/entity/npc/Villager.java
12711271
@@ -285,6 +285,13 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
@@ -1283,7 +1283,7 @@ index af6ae76248a9894efbecf9e94160f8d215f6ad85..92261f502de7b832845b6e6a12a09180
12831283
public Brain<Villager> getBrain() {
12841284
return (Brain<Villager>)super.getBrain();
12851285
diff --git a/net/minecraft/world/entity/npc/WanderingTrader.java b/net/minecraft/world/entity/npc/WanderingTrader.java
1286-
index 5a87c3c7aca38f3fe4a003b2075f43b0ae1cddea..63a83fb3b103b81dad26c353babfde2e35636f53 100644
1286+
index 8046a2d640e7c4d59cb5b9c6dff3bf5f026c7153..c3fbcc7956a64d49466874776f257ba27f55f2a4 100644
12871287
--- a/net/minecraft/world/entity/npc/WanderingTrader.java
12881288
+++ b/net/minecraft/world/entity/npc/WanderingTrader.java
12891289
@@ -114,6 +114,13 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill

purpur-server/minecraft-patches/sources/net/minecraft/world/entity/animal/Bee.java.patch

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,14 @@
11
--- a/net/minecraft/world/entity/animal/Bee.java
22
+++ b/net/minecraft/world/entity/animal/Bee.java
3+
@@ -163,7 +_,7 @@
4+
// Paper end - Fix MC-167279
5+
this.lookControl = new Bee.BeeLookControl(this);
6+
this.setPathfindingMalus(PathType.DANGER_FIRE, -1.0F);
7+
- this.setPathfindingMalus(PathType.WATER, -1.0F);
8+
+ if (this.level().purpurConfig.beeCanInstantlyStartDrowning) this.setPathfindingMalus(PathType.WATER, -1.0F); // Purpur - bee can instantly start drowning in water option
9+
this.setPathfindingMalus(PathType.WATER_BORDER, 16.0F);
10+
this.setPathfindingMalus(PathType.COCOA, -1.0F);
11+
this.setPathfindingMalus(PathType.FENCE, -1.0F);
312
@@ -365,7 +_,7 @@
413
}
514

@@ -9,6 +18,15 @@
918
}
1019

1120
public void setStayOutOfHiveCountdown(int stayOutOfHiveCountdown) {
21+
@@ -388,7 +_,7 @@
22+
@Override
23+
protected void customServerAiStep(ServerLevel level) {
24+
boolean hasStung = this.hasStung();
25+
- if (this.isInWaterOrBubble()) {
26+
+ if (this.level().purpurConfig.beeCanInstantlyStartDrowning && this.isInWaterOrBubble()) { // Purpur - bee can instantly start drowning in water option
27+
this.underWaterTicks++;
28+
} else {
29+
this.underWaterTicks = 0;
1230
@@ -398,6 +_,7 @@
1331
this.hurtServer(level, this.damageSources().drown(), 1.0F);
1432
}

purpur-server/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1230,6 +1230,7 @@ private void batSettings() {
12301230
public double beeScale = 1.0D;
12311231
public int beeBreedingTicks = 6000;
12321232
public boolean beeTakeDamageFromWater = false;
1233+
public boolean beeCanInstantlyStartDrowning = true;
12331234
public boolean beeCanWorkAtNight = false;
12341235
public boolean beeCanWorkInRain = false;
12351236
public boolean beeAlwaysDropExp = false;
@@ -1253,6 +1254,7 @@ private void beeSettings() {
12531254
beeTakeDamageFromWater = getBoolean("mobs.bee.takes-damage-from-water", beeTakeDamageFromWater);
12541255
beeCanWorkAtNight = getBoolean("mobs.bee.can-work-at-night", beeCanWorkAtNight);
12551256
beeCanWorkInRain = getBoolean("mobs.bee.can-work-in-rain", beeCanWorkInRain);
1257+
beeCanInstantlyStartDrowning = getBoolean("mobs.bee.can-instantly-start-drowning", beeCanInstantlyStartDrowning);
12561258
beeAlwaysDropExp = getBoolean("mobs.bee.always-drop-exp", beeAlwaysDropExp);
12571259
beeDiesAfterSting = getBoolean("mobs.bee.dies-after-sting", beeDiesAfterSting);
12581260
}

0 commit comments

Comments
 (0)