Skip to content

Commit f7801bd

Browse files
committed
add "use-dismounts-underwater-tag" to fix ridables in water
1 parent 7c44967 commit f7801bd

83 files changed

Lines changed: 1172 additions & 1168 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

TODO.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
- [x] make Sniffer ridable
22
- [x] give Sniffer entity attributes config
3-
- [ ] fix ridables around water
3+
- [x] fix ridables around water
44
- [ ] test player ridable underwater
55
- [ ] OPTIONAL: custom damage type instead of magic for scissors & stone cutter patch
66
- [x] flip the boolean in the "display names from item forms of entities to entities" patch to keep feature parity with vanilla
@@ -16,4 +16,6 @@
1616
- [ ] re-implement options for zombie horse
1717

1818
### once above is complete:
19-
- [ ] make announcement about flipped defaults ("persistent-droppable-entity-display-names", "set-name-visible-when-placing-with-custom-name")
19+
- [ ] make announcement about changes
20+
- flipped defaults ("persistent-droppable-entity-display-names", "set-name-visible-when-placing-with-custom-name")
21+
- must disable `ridable-settings.use-dismounts-underwater-tag` for `<Mob>RidableInWater` options to work, updated default values to reflect `DismountsUnderwaterTag`.

patches/server/0006-Ridables.patch

Lines changed: 194 additions & 192 deletions
Large diffs are not rendered by default.

patches/server/0007-Configurable-entity-base-attributes.patch

Lines changed: 115 additions & 115 deletions
Large diffs are not rendered by default.

patches/server/0024-Giants-AI-settings.patch

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ Subject: [PATCH] Giants AI settings
55

66

77
diff --git a/src/main/java/net/minecraft/world/entity/monster/Giant.java b/src/main/java/net/minecraft/world/entity/monster/Giant.java
8-
index c1e5447a11b5bcdbd34e3d6538f977efd5b4692b..fcdf1b04e3dde0562b993794165c2fb649a634bf 100644
8+
index 2050230df7949e21f2158d2be5be885461afb66d..14b393c8b70a1aa950df9dcaef648a90469bde65 100644
99
--- a/src/main/java/net/minecraft/world/entity/monster/Giant.java
1010
+++ b/src/main/java/net/minecraft/world/entity/monster/Giant.java
1111
@@ -1,13 +1,36 @@
@@ -120,10 +120,10 @@ index c1e5447a11b5bcdbd34e3d6538f977efd5b4692b..fcdf1b04e3dde0562b993794165c2fb6
120120
}
121121
}
122122
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
123-
index d019d11be86bacf04a13c2db31b632ac6b6b923a..39e8c47af17dadce6e253a803954b50341dcba9c 100644
123+
index 1046f6de8a04c4368870596f90236fe01671173d..db811ee761ffd92a7eba4d0209894be54834387f 100644
124124
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
125125
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
126-
@@ -549,6 +549,10 @@ public class PurpurWorldConfig {
126+
@@ -551,6 +551,10 @@ public class PurpurWorldConfig {
127127
public double giantMovementSpeed = 0.5D;
128128
public double giantAttackDamage = 50.0D;
129129
public double giantMaxHealth = 100.0D;
@@ -134,7 +134,7 @@ index d019d11be86bacf04a13c2db31b632ac6b6b923a..39e8c47af17dadce6e253a803954b503
134134
private void giantSettings() {
135135
giantRidable = getBoolean("mobs.giant.ridable", giantRidable);
136136
giantRidableInWater = getBoolean("mobs.giant.ridable-in-water", giantRidableInWater);
137-
@@ -565,6 +569,10 @@ public class PurpurWorldConfig {
137+
@@ -567,6 +571,10 @@ public class PurpurWorldConfig {
138138
set("mobs.giant.attributes.max_health", oldValue);
139139
}
140140
giantMaxHealth = getDouble("mobs.giant.attributes.max_health", giantMaxHealth);

patches/server/0025-Zombie-horse-naturally-spawn.patch

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,18 +30,18 @@ index ffde1d129c5434e7748cbdaac9109cbd3d0d29bc..057f4b71ff295cf6fed9cc5b86aa4034
3030
entityhorseskeleton.setPos((double) blockposition.getX(), (double) blockposition.getY(), (double) blockposition.getZ());
3131
this.addFreshEntity(entityhorseskeleton, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.LIGHTNING); // CraftBukkit
3232
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
33-
index 6dd4777739ee284f251c844c7c54cb1114488e6f..47f8839902463214d9e171f676fafd7ce4e55632 100644
33+
index db811ee761ffd92a7eba4d0209894be54834387f..c9a38cf24041df4cdcbea59d9b1e09aa45d29e55 100644
3434
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
3535
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
36-
@@ -1479,6 +1479,7 @@ public class PurpurWorldConfig {
36+
@@ -1481,6 +1481,7 @@ public class PurpurWorldConfig {
3737
public double zombieHorseJumpStrengthMax = 1.0D;
3838
public double zombieHorseMovementSpeedMin = 0.2D;
3939
public double zombieHorseMovementSpeedMax = 0.2D;
4040
+ public double zombieHorseSpawnChance = 0.0D;
4141
private void zombieHorseSettings() {
4242
zombieHorseRidableInWater = getBoolean("mobs.zombie_horse.ridable-in-water", zombieHorseRidableInWater);
4343
zombieHorseCanSwim = getBoolean("mobs.zombie_horse.can-swim", zombieHorseCanSwim);
44-
@@ -1494,6 +1495,7 @@ public class PurpurWorldConfig {
44+
@@ -1496,6 +1497,7 @@ public class PurpurWorldConfig {
4545
zombieHorseJumpStrengthMax = getDouble("mobs.zombie_horse.attributes.jump_strength.max", zombieHorseJumpStrengthMax);
4646
zombieHorseMovementSpeedMin = getDouble("mobs.zombie_horse.attributes.movement_speed.min", zombieHorseMovementSpeedMin);
4747
zombieHorseMovementSpeedMax = getDouble("mobs.zombie_horse.attributes.movement_speed.max", zombieHorseMovementSpeedMax);

patches/server/0026-Charged-creeper-naturally-spawn.patch

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ Subject: [PATCH] Charged creeper naturally spawn
55

66

77
diff --git a/src/main/java/net/minecraft/world/entity/monster/Creeper.java b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
8-
index b128c8bf3c655464d0c279f32eb9a1968fcccc71..c368ac6f35ff4b309079b4895dcd3792f3b6b69e 100644
8+
index 50fa28f8348625be15e93800e2c071e243afd39a..76d796600411144b73d1e7e67f70bb032055d02a 100644
99
--- a/src/main/java/net/minecraft/world/entity/monster/Creeper.java
1010
+++ b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
1111
@@ -142,6 +142,14 @@ public class Creeper extends Monster implements PowerableMob {
@@ -24,18 +24,18 @@ index b128c8bf3c655464d0c279f32eb9a1968fcccc71..c368ac6f35ff4b309079b4895dcd3792
2424

2525
@Override
2626
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
27-
index fd9f7d6c52454e520411ab76142c7b93c04b6205..c466f442711ac2b8956e67f0cddca349e635a6f9 100644
27+
index c9a38cf24041df4cdcbea59d9b1e09aa45d29e55..f4a8e143ba35e36e6d5fb417e249feb3d4e5a7da 100644
2828
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
2929
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
30-
@@ -340,6 +340,7 @@ public class PurpurWorldConfig {
31-
public boolean creeperRidableInWater = false;
30+
@@ -342,6 +342,7 @@ public class PurpurWorldConfig {
31+
public boolean creeperRidableInWater = true;
3232
public boolean creeperControllable = true;
3333
public double creeperMaxHealth = 20.0D;
3434
+ public double creeperChargedChance = 0.0D;
3535
private void creeperSettings() {
3636
creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable);
3737
creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater);
38-
@@ -350,6 +351,7 @@ public class PurpurWorldConfig {
38+
@@ -352,6 +353,7 @@ public class PurpurWorldConfig {
3939
set("mobs.creeper.attributes.max_health", oldValue);
4040
}
4141
creeperMaxHealth = getDouble("mobs.creeper.attributes.max_health", creeperMaxHealth);

patches/server/0027-Rabbit-naturally-spawn-toast-and-killer.patch

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ Subject: [PATCH] Rabbit naturally spawn toast and killer
55

66

77
diff --git a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
8-
index 76dcd7430dbadc6b925f58b670a9eb59078b2882..92da91319f59745f43529b9ddae032a8f60f693d 100644
8+
index ebb85ac5b77450a1ae91c986512125814fa0907f..620cf2c9927648804155495a908df1d36d9832af 100644
99
--- a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
1010
+++ b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
1111
@@ -465,10 +465,23 @@ public class Rabbit extends Animal implements VariantHolder<Rabbit.Variant> {
@@ -33,19 +33,19 @@ index 76dcd7430dbadc6b925f58b670a9eb59078b2882..92da91319f59745f43529b9ddae032a8
3333
int i = world.getRandom().nextInt(100);
3434

3535
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
36-
index c466f442711ac2b8956e67f0cddca349e635a6f9..15ec6db30230a6b3ce20c9d4dd2128c056a9f475 100644
36+
index f4a8e143ba35e36e6d5fb417e249feb3d4e5a7da..238f1a5bb2f2c826f71c11b7718cd4b64930565d 100644
3737
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
3838
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
39-
@@ -983,6 +983,8 @@ public class PurpurWorldConfig {
40-
public boolean rabbitRidableInWater = false;
39+
@@ -985,6 +985,8 @@ public class PurpurWorldConfig {
40+
public boolean rabbitRidableInWater = true;
4141
public boolean rabbitControllable = true;
4242
public double rabbitMaxHealth = 3.0D;
4343
+ public double rabbitNaturalToast = 0.0D;
4444
+ public double rabbitNaturalKiller = 0.0D;
4545
private void rabbitSettings() {
4646
rabbitRidable = getBoolean("mobs.rabbit.ridable", rabbitRidable);
4747
rabbitRidableInWater = getBoolean("mobs.rabbit.ridable-in-water", rabbitRidableInWater);
48-
@@ -993,6 +995,8 @@ public class PurpurWorldConfig {
48+
@@ -995,6 +997,8 @@ public class PurpurWorldConfig {
4949
set("mobs.rabbit.attributes.max_health", oldValue);
5050
}
5151
rabbitMaxHealth = getDouble("mobs.rabbit.attributes.max_health", rabbitMaxHealth);

patches/server/0029-Tulips-change-fox-type.patch

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ Subject: [PATCH] Tulips change fox type
55

66

77
diff --git a/src/main/java/net/minecraft/world/entity/animal/Fox.java b/src/main/java/net/minecraft/world/entity/animal/Fox.java
8-
index 7a6239897d03a0502addc42853414e6d0caa42c3..2119cdd90228f9034781b9496640b159343afbd8 100644
8+
index 5de86c59bf857e6697bb768e3dd71a05739fb3d2..d5f536eb87163c946815ace610ba99ad2a0b16c5 100644
99
--- a/src/main/java/net/minecraft/world/entity/animal/Fox.java
1010
+++ b/src/main/java/net/minecraft/world/entity/animal/Fox.java
1111
@@ -35,6 +35,7 @@ import net.minecraft.util.RandomSource;
@@ -75,18 +75,18 @@ index 7a6239897d03a0502addc42853414e6d0caa42c3..2119cdd90228f9034781b9496640b159
7575
// Paper start - Cancellable death event
7676
protected org.bukkit.event.entity.EntityDeathEvent dropAllDeathLoot(DamageSource source) {
7777
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
78-
index 15ec6db30230a6b3ce20c9d4dd2128c056a9f475..0ddb21b3f4735082206341bb7e8a7e1bbe318021 100644
78+
index 238f1a5bb2f2c826f71c11b7718cd4b64930565d..93bdefe8ec286f24df65f72c246673a8833d3050 100644
7979
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
8080
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
81-
@@ -504,6 +504,7 @@ public class PurpurWorldConfig {
82-
public boolean foxRidableInWater = false;
81+
@@ -506,6 +506,7 @@ public class PurpurWorldConfig {
82+
public boolean foxRidableInWater = true;
8383
public boolean foxControllable = true;
8484
public double foxMaxHealth = 10.0D;
8585
+ public boolean foxTypeChangesWithTulips = false;
8686
private void foxSettings() {
8787
foxRidable = getBoolean("mobs.fox.ridable", foxRidable);
8888
foxRidableInWater = getBoolean("mobs.fox.ridable-in-water", foxRidableInWater);
89-
@@ -514,6 +515,7 @@ public class PurpurWorldConfig {
89+
@@ -516,6 +517,7 @@ public class PurpurWorldConfig {
9090
set("mobs.fox.attributes.max_health", oldValue);
9191
}
9292
foxMaxHealth = getDouble("mobs.fox.attributes.max_health", foxMaxHealth);

patches/server/0030-Breedable-Polar-Bears.patch

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ Subject: [PATCH] Breedable Polar Bears
55

66

77
diff --git a/src/main/java/net/minecraft/world/entity/animal/PolarBear.java b/src/main/java/net/minecraft/world/entity/animal/PolarBear.java
8-
index e7b6e42aabe30b7804bf2d98d2b4d393621e1d7b..e439ce2c0752ee772df888ccccf9d97e45a83b1c 100644
8+
index 90e5114a5c1a341d0ac64d72d6306ddeb09cb728..69a0e50a4f136a3e799f8fc079bd931a83235bd0 100644
99
--- a/src/main/java/net/minecraft/world/entity/animal/PolarBear.java
1010
+++ b/src/main/java/net/minecraft/world/entity/animal/PolarBear.java
1111
@@ -97,6 +97,27 @@ public class PolarBear extends Animal implements NeutralMob {
@@ -59,19 +59,19 @@ index e7b6e42aabe30b7804bf2d98d2b4d393621e1d7b..e439ce2c0752ee772df888ccccf9d97e
5959
this.goalSelector.addGoal(5, new RandomStrollGoal(this, 1.0D));
6060
this.goalSelector.addGoal(6, new LookAtPlayerGoal(this, Player.class, 6.0F));
6161
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
62-
index 0ddb21b3f4735082206341bb7e8a7e1bbe318021..8e60360c55b156bfeea4a0f87621e34ce07a2149 100644
62+
index 93bdefe8ec286f24df65f72c246673a8833d3050..63d0bd7b55d57b1dbdc8a319709e5d8ba2c1c8d5 100644
6363
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
6464
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
65-
@@ -955,6 +955,8 @@ public class PurpurWorldConfig {
66-
public boolean polarBearRidableInWater = false;
65+
@@ -957,6 +957,8 @@ public class PurpurWorldConfig {
66+
public boolean polarBearRidableInWater = true;
6767
public boolean polarBearControllable = true;
6868
public double polarBearMaxHealth = 30.0D;
6969
+ public String polarBearBreedableItemString = "";
7070
+ public Item polarBearBreedableItem = null;
7171
private void polarBearSettings() {
7272
polarBearRidable = getBoolean("mobs.polar_bear.ridable", polarBearRidable);
7373
polarBearRidableInWater = getBoolean("mobs.polar_bear.ridable-in-water", polarBearRidableInWater);
74-
@@ -965,6 +967,9 @@ public class PurpurWorldConfig {
74+
@@ -967,6 +969,9 @@ public class PurpurWorldConfig {
7575
set("mobs.polar_bear.attributes.max_health", oldValue);
7676
}
7777
polarBearMaxHealth = getDouble("mobs.polar_bear.attributes.max_health", polarBearMaxHealth);

patches/server/0031-Chickens-can-retaliate.patch

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ Subject: [PATCH] Chickens can retaliate
55

66

77
diff --git a/src/main/java/net/minecraft/world/entity/animal/Chicken.java b/src/main/java/net/minecraft/world/entity/animal/Chicken.java
8-
index f28e6daa41e99f1279c79e2392a76ca6f51c1b4b..4b66412d04a28e3ee0a6e6c5fa0f3f4bf633d2d8 100644
8+
index 5207a2a8c06cd413e1d62c5eec7a232dce952b8b..da281eb1355fd753dfdb69cee13661818b5d0fc8 100644
99
--- a/src/main/java/net/minecraft/world/entity/animal/Chicken.java
1010
+++ b/src/main/java/net/minecraft/world/entity/animal/Chicken.java
1111
@@ -73,6 +73,9 @@ public class Chicken extends Animal {
@@ -51,18 +51,18 @@ index f28e6daa41e99f1279c79e2392a76ca6f51c1b4b..4b66412d04a28e3ee0a6e6c5fa0f3f4b
5151

5252
@Override
5353
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
54-
index 8e60360c55b156bfeea4a0f87621e34ce07a2149..b2f115a84c02f33e0bf3bd4270868cff613e3f1e 100644
54+
index 63d0bd7b55d57b1dbdc8a319709e5d8ba2c1c8d5..47bd9c45b4a560b1fcc01eee9606afef7416f70d 100644
5555
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
5656
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
57-
@@ -294,6 +294,7 @@ public class PurpurWorldConfig {
57+
@@ -296,6 +296,7 @@ public class PurpurWorldConfig {
5858
public boolean chickenRidableInWater = false;
5959
public boolean chickenControllable = true;
6060
public double chickenMaxHealth = 4.0D;
6161
+ public boolean chickenRetaliate = false;
6262
private void chickenSettings() {
6363
chickenRidable = getBoolean("mobs.chicken.ridable", chickenRidable);
6464
chickenRidableInWater = getBoolean("mobs.chicken.ridable-in-water", chickenRidableInWater);
65-
@@ -304,6 +305,7 @@ public class PurpurWorldConfig {
65+
@@ -306,6 +307,7 @@ public class PurpurWorldConfig {
6666
set("mobs.chicken.attributes.max_health", oldValue);
6767
}
6868
chickenMaxHealth = getDouble("mobs.chicken.attributes.max_health", chickenMaxHealth);

0 commit comments

Comments
 (0)