Skip to content

Commit d6562a5

Browse files
committed
make happy ghast takes-damage-from-water and always-drop-exp options work
1 parent b228e31 commit d6562a5

2 files changed

Lines changed: 40 additions & 4 deletions

File tree

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

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -175,6 +175,24 @@ index 07767c9d649e7ef2b8fd8e3ac62d99ce13271fe4..23e119ce82c3a0541b40249b20f133e3
175175
@Override
176176
protected void defineSynchedData(SynchedEntityData.Builder builder) {
177177
super.defineSynchedData(builder);
178+
diff --git a/net/minecraft/world/entity/animal/HappyGhast.java b/net/minecraft/world/entity/animal/HappyGhast.java
179+
index 136b918f053cacbc4fa60b0ed434619c5e07adf5..60073e503d6e52160e6d4e037b128bdeb6d56073 100644
180+
--- a/net/minecraft/world/entity/animal/HappyGhast.java
181+
+++ b/net/minecraft/world/entity/animal/HappyGhast.java
182+
@@ -147,6 +147,13 @@ public class HappyGhast extends Animal {
183+
}
184+
// Purpur end - Make entity breeding times configurable
185+
186+
+ // Purpur start - Toggle for water sensitive mob damage
187+
+ @Override
188+
+ public boolean isSensitiveToWater() {
189+
+ return this.level().purpurConfig.happyGhastTakeDamageFromWater;
190+
+ }
191+
+ // Purpur end - Toggle for water sensitive mob damage
192+
+
193+
@Override
194+
protected void ageBoundaryReached() {
195+
if (this.isBaby()) {
178196
diff --git a/net/minecraft/world/entity/animal/IronGolem.java b/net/minecraft/world/entity/animal/IronGolem.java
179197
index 1cb7e0985a59e83f118d4656e94a79f4d81836ff..006df1758bdaeb55a7db938afd9e00c575a62e60 100644
180198
--- a/net/minecraft/world/entity/animal/IronGolem.java
@@ -1101,7 +1119,7 @@ index 4e300141b0c7fa967e3d0b9ef952097efeb2bef6..533801988cb4f8a916ef002a179990ca
11011119

11021120
@Override
11031121
diff --git a/net/minecraft/world/entity/monster/Vex.java b/net/minecraft/world/entity/monster/Vex.java
1104-
index b5e0f1a2c3ca138cfa1cc4138cf1c5e76dcb9436..193994476a78d68d2ef45f7a354648ce347b0f55 100644
1122+
index 48e193182861d5e5b5364b226493c665957bcc2f..30bd8a1b75376e6c74847ec338cc7f8988d6ca8a 100644
11051123
--- a/net/minecraft/world/entity/monster/Vex.java
11061124
+++ b/net/minecraft/world/entity/monster/Vex.java
11071125
@@ -112,6 +112,13 @@ public class Vex extends Monster implements TraceableEntity {
@@ -1299,7 +1317,7 @@ index f52aba35ee7e202074cda8fb4dfd6a7d9ded1f09..f4893cc54d7f144025da0057beedb3a9
12991317
return Monster.createMonsterAttributes()
13001318
.add(Attributes.MAX_HEALTH, 50.0)
13011319
diff --git a/net/minecraft/world/entity/npc/Villager.java b/net/minecraft/world/entity/npc/Villager.java
1302-
index 3b78e25de462a6fc393175f7992b9a1d4d08c64b..6490b3791648f0680d44d6ca1e0d3b67df180997 100644
1320+
index f46a105ac032d3c5a749e92cf004f6d74d0fb957..b71954a47e930bfc0c501c325697cd88166a190c 100644
13031321
--- a/net/minecraft/world/entity/npc/Villager.java
13041322
+++ b/net/minecraft/world/entity/npc/Villager.java
13051323
@@ -282,6 +282,13 @@ public class Villager extends AbstractVillager implements ReputationEventHandler

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

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,24 @@ index 23e119ce82c3a0541b40249b20f133e39fac6858..8964bb5098c0dc36741af3656af6bc0b
166166
@Override
167167
protected void defineSynchedData(SynchedEntityData.Builder builder) {
168168
super.defineSynchedData(builder);
169+
diff --git a/net/minecraft/world/entity/animal/HappyGhast.java b/net/minecraft/world/entity/animal/HappyGhast.java
170+
index 60073e503d6e52160e6d4e037b128bdeb6d56073..b187c9db564e8fabc34aa1bfe428a00fafb27fec 100644
171+
--- a/net/minecraft/world/entity/animal/HappyGhast.java
172+
+++ b/net/minecraft/world/entity/animal/HappyGhast.java
173+
@@ -154,6 +154,13 @@ public class HappyGhast extends Animal {
174+
}
175+
// Purpur end - Toggle for water sensitive mob damage
176+
177+
+ // Purpur start - Mobs always drop experience
178+
+ @Override
179+
+ protected boolean isAlwaysExperienceDropper() {
180+
+ return this.level().purpurConfig.happyGhastAlwaysDropExp;
181+
+ }
182+
+ // Purpur end - Mobs always drop experience
183+
+
184+
@Override
185+
protected void ageBoundaryReached() {
186+
if (this.isBaby()) {
169187
diff --git a/net/minecraft/world/entity/animal/IronGolem.java b/net/minecraft/world/entity/animal/IronGolem.java
170188
index 006df1758bdaeb55a7db938afd9e00c575a62e60..8885ab56eb72c0106ef57359ca11f70c012fc348 100644
171189
--- a/net/minecraft/world/entity/animal/IronGolem.java
@@ -1067,7 +1085,7 @@ index 533801988cb4f8a916ef002a179990ca913b2f32..fe31c4a45afd61be8b74efe9d0858ccd
10671085
EntityType<Strider> entityType, LevelAccessor level, EntitySpawnReason spawnReason, BlockPos pos, RandomSource random
10681086
) {
10691087
diff --git a/net/minecraft/world/entity/monster/Vex.java b/net/minecraft/world/entity/monster/Vex.java
1070-
index 193994476a78d68d2ef45f7a354648ce347b0f55..7502f447610cd43dde465d3dc94d3a9682133a14 100644
1088+
index 30bd8a1b75376e6c74847ec338cc7f8988d6ca8a..ab320cf5a8c68fd239e81172a2f3909a67931105 100644
10711089
--- a/net/minecraft/world/entity/monster/Vex.java
10721090
+++ b/net/minecraft/world/entity/monster/Vex.java
10731091
@@ -119,6 +119,13 @@ public class Vex extends Monster implements TraceableEntity {
@@ -1265,7 +1283,7 @@ index f4893cc54d7f144025da0057beedb3a974c80dc1..70ee15527fa6f30783d6a58bb767b181
12651283
return Monster.createMonsterAttributes()
12661284
.add(Attributes.MAX_HEALTH, 50.0)
12671285
diff --git a/net/minecraft/world/entity/npc/Villager.java b/net/minecraft/world/entity/npc/Villager.java
1268-
index 6490b3791648f0680d44d6ca1e0d3b67df180997..baf72d0e5701cd234752988284e7fefba4c56380 100644
1286+
index b71954a47e930bfc0c501c325697cd88166a190c..630ef56b5543b1d7a3d0526c132c19b93b217b16 100644
12691287
--- a/net/minecraft/world/entity/npc/Villager.java
12701288
+++ b/net/minecraft/world/entity/npc/Villager.java
12711289
@@ -289,6 +289,13 @@ public class Villager extends AbstractVillager implements ReputationEventHandler

0 commit comments

Comments
 (0)