From d22455b2a308176ebcb6a73e64badf98b7f8b5c7 Mon Sep 17 00:00:00 2001 From: granny Date: Tue, 20 Jun 2023 17:08:25 -0700 Subject: [PATCH] move anonymous overrides into witherskull class --- patches/server/0008-Ridables.patch | 33 ++++++++++++------- ...-Configurable-entity-base-attributes.patch | 10 +++--- .../0056-Add-canSaveToDisk-to-Entity.patch | 30 ++++++++--------- ...stomizable-wither-health-and-healing.patch | 4 +-- ...iefing-bypass-to-everything-affected.patch | 6 ++-- ...ither-Ender-Dragon-can-ride-vehicles.patch | 4 +-- patches/server/0194-Summoner-API.patch | 6 ++-- ...0205-Toggle-for-Wither-s-spawn-sound.patch | 4 +-- 8 files changed, 54 insertions(+), 43 deletions(-) diff --git a/patches/server/0008-Ridables.patch b/patches/server/0008-Ridables.patch index 5542c96fd..81b76445a 100644 --- a/patches/server/0008-Ridables.patch +++ b/patches/server/0008-Ridables.patch @@ -2950,7 +2950,7 @@ index 92666c48620078623a451fbf68f673cb9f81c4b5..5a2eb6775ecb3b01fd136c796258395b this.dragonFight.updateDragon(this); } diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java -index f69e0b11be74ac83694f59999b3f07a318410c19..2a8f6b1fb7f3aac3100e5dc9ee64c53c0edd165b 100644 +index f69e0b11be74ac83694f59999b3f07a318410c19..10da1bc9374a4178a38dd101bf173a77216101fa 100644 --- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java +++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java @@ -84,16 +84,30 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob @@ -2985,7 +2985,7 @@ index f69e0b11be74ac83694f59999b3f07a318410c19..2a8f6b1fb7f3aac3100e5dc9ee64c53c this.setHealth(this.getMaxHealth()); this.xpReward = 50; } -@@ -108,13 +122,119 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob +@@ -108,13 +122,113 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob return navigationflying; } @@ -3081,13 +3081,7 @@ index f69e0b11be74ac83694f59999b3f07a318410c19..2a8f6b1fb7f3aac3100e5dc9ee64c53c + double headX = getHeadX(head); + double headY = getHeadY(head); + double headZ = getHeadZ(head); -+ WitherSkull skull = new WitherSkull(level(), this, x - headX, y - headY, z - headZ) { -+ @Override -+ public boolean canHitEntity(Entity target) { -+ // do not hit rider -+ return target != rider && super.canHitEntity(target); -+ } -+ }; ++ WitherSkull skull = new WitherSkull(level(), this, x - headX, y - headY, z - headZ); + skull.setPosRaw(headX, headY, headZ); + level().addFreshEntity(skull); + } @@ -3105,7 +3099,7 @@ index f69e0b11be74ac83694f59999b3f07a318410c19..2a8f6b1fb7f3aac3100e5dc9ee64c53c this.targetSelector.addGoal(1, new HurtByTargetGoal(this, new Class[0])); this.targetSelector.addGoal(2, new NearestAttackableTargetGoal<>(this, LivingEntity.class, 0, false, false, WitherBoss.LIVING_ENTITY_SELECTOR)); } -@@ -256,6 +376,16 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob +@@ -256,6 +370,16 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob @Override protected void customServerAiStep() { @@ -3122,7 +3116,7 @@ index f69e0b11be74ac83694f59999b3f07a318410c19..2a8f6b1fb7f3aac3100e5dc9ee64c53c int i; if (this.getInvulnerableTicks() > 0) { -@@ -576,11 +706,11 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob +@@ -576,11 +700,11 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob } public int getAlternativeTarget(int headIndex) { @@ -5182,6 +5176,23 @@ index cc0a3d9794d05b6bc6ab05f4f2ab8d83134b181d..e1f918d0bd2a70db1aba8bda8717149f Vec3 vec3 = pos.add(velocity); HitResult hitResult = world.clip(new ClipContext(pos, vec3, ClipContext.Block.COLLIDER, ClipContext.Fluid.NONE, entity)); if (hitResult.getType() != HitResult.Type.MISS) { +diff --git a/src/main/java/net/minecraft/world/entity/projectile/WitherSkull.java b/src/main/java/net/minecraft/world/entity/projectile/WitherSkull.java +index 80b86d5dd68c3d288a1a61ea8aa1cba9d899aa1c..71916a0e55f12a2cbb2bee85ededd15126e1c451 100644 +--- a/src/main/java/net/minecraft/world/entity/projectile/WitherSkull.java ++++ b/src/main/java/net/minecraft/world/entity/projectile/WitherSkull.java +@@ -107,6 +107,12 @@ public class WitherSkull extends AbstractHurtingProjectile { + + } + ++ @Override ++ public boolean canHitEntity(Entity target) { ++ // do not hit rider ++ return target != this.getRider() && super.canHitEntity(target); ++ } ++ + @Override + public boolean isPickable() { + return false; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java index fc0dc8e607cc24020106ea1af92b4421a5f9393d..7d744d5b6a9e593e657233b2192f2837bf360deb 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java diff --git a/patches/server/0009-Configurable-entity-base-attributes.patch b/patches/server/0009-Configurable-entity-base-attributes.patch index 05b0fe12e..6281a99ef 100644 --- a/patches/server/0009-Configurable-entity-base-attributes.patch +++ b/patches/server/0009-Configurable-entity-base-attributes.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Configurable entity base attributes diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 50762602899893b20b38a6fa5cc516a5575af880..b853bda52a2705200c6efde165632b36fc85fe4e 100644 +index 18f8fdc2ab2c27efcf01be3869072159e91ade4d..f54290965187661ac5ba5cc8fe90e873e71fe66d 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -156,7 +156,7 @@ import org.bukkit.plugin.PluginManager; @@ -34,7 +34,7 @@ index c6a06e07f0b4bb29b5f4c70dfa53ff6db2e4e6ea..730958dab7f074930cdccb88a89aa26e protected ParticleOptions getInkParticle() { return ParticleTypes.GLOW_SQUID_INK; diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 559d0efb855175806a2c2ce3a0e5139a96bfec79..2516544b2e346a4384020776d4cb07e4aa5d0d3c 100644 +index 24797621de749e682bfbe8a09cb81bc2def8def8..766ee0148da5554d4c1f675af595668f2de99f60 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -288,6 +288,7 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -459,7 +459,7 @@ index cb2b8c7cbbe882ae0ca876edaa66bea1d5cd141d..c9ad084ce93eb618261221c7e19450c0 protected void registerGoals() { this.goalSelector.addGoal(1, new FloatGoal(this)); diff --git a/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java b/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java -index 943bd1f270e7e355840dd3b07151c0e5ba9492e4..203aa1a885ab5d1770ac93f5346af27a9a47dbe8 100644 +index b76bead9c107889e9b2f11bdc24ad7da811f97ed..e1c0c122dde56b8dd797d1278340260150025cf9 100644 --- a/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java +++ b/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java @@ -115,6 +115,11 @@ public class Axolotl extends Animal implements LerpingModel, VariantHolder 0) { --this.destroyBlocksTick; diff --git a/patches/server/0133-Configs-for-if-Wither-Ender-Dragon-can-ride-vehicles.patch b/patches/server/0133-Configs-for-if-Wither-Ender-Dragon-can-ride-vehicles.patch index 8a8e2aca4..2b9f067a8 100644 --- a/patches/server/0133-Configs-for-if-Wither-Ender-Dragon-can-ride-vehicles.patch +++ b/patches/server/0133-Configs-for-if-Wither-Ender-Dragon-can-ride-vehicles.patch @@ -17,10 +17,10 @@ index f90b0ae4678da2ffa7d0a693003e05191d07f4bf..8a8895abe609b3be02aa896c40e4a2a2 } diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java -index 94027ef3f833c7170a99a8437740b7f99f30ab81..1f9a57c4fd251e2969b49a883ee12d3cf8ac5914 100644 +index 953238d5e90cda8b0326ef38dd858a5f90251520..20a322a362fd36310e85e6efb110fff92df4d344 100644 --- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java +++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java -@@ -742,6 +742,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob +@@ -731,6 +731,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob @Override protected boolean canRide(Entity entity) { diff --git a/patches/server/0194-Summoner-API.patch b/patches/server/0194-Summoner-API.patch index 5ab3a0bda..12fe91f25 100644 --- a/patches/server/0194-Summoner-API.patch +++ b/patches/server/0194-Summoner-API.patch @@ -93,7 +93,7 @@ index 2acd9fdd1b311f00cc5fae7d879427ededdeecec..e33364beff36e255989520d5d076729c } diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java -index 1f9a57c4fd251e2969b49a883ee12d3cf8ac5914..24fc4934f2193806fa38c8c3b0ad4cbfc53650a6 100644 +index 20a322a362fd36310e85e6efb110fff92df4d344..d2213e9a03713a7909a6e1b2aef408ab01c97f01 100644 --- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java +++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java @@ -84,6 +84,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob @@ -120,7 +120,7 @@ index 1f9a57c4fd251e2969b49a883ee12d3cf8ac5914..24fc4934f2193806fa38c8c3b0ad4cbf @Override protected PathNavigation createNavigation(Level world) { FlyingPathNavigation navigationflying = new FlyingPathNavigation(this, world); -@@ -267,6 +277,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob +@@ -256,6 +266,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob public void addAdditionalSaveData(CompoundTag nbt) { super.addAdditionalSaveData(nbt); nbt.putInt("Invul", this.getInvulnerableTicks()); @@ -128,7 +128,7 @@ index 1f9a57c4fd251e2969b49a883ee12d3cf8ac5914..24fc4934f2193806fa38c8c3b0ad4cbf } @Override -@@ -276,6 +287,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob +@@ -265,6 +276,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob if (this.hasCustomName()) { this.bossEvent.setName(this.getDisplayName()); } diff --git a/patches/server/0205-Toggle-for-Wither-s-spawn-sound.patch b/patches/server/0205-Toggle-for-Wither-s-spawn-sound.patch index 5685fc8be..dbc6af3bf 100644 --- a/patches/server/0205-Toggle-for-Wither-s-spawn-sound.patch +++ b/patches/server/0205-Toggle-for-Wither-s-spawn-sound.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Toggle for Wither's spawn sound diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java -index 24fc4934f2193806fa38c8c3b0ad4cbfc53650a6..bd38dad0a38a60a0421ee62e52ef7009672de28d 100644 +index d2213e9a03713a7909a6e1b2aef408ab01c97f01..15229503e40f1a3f5cd768c6f55e250f1bd40fec 100644 --- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java +++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java -@@ -429,7 +429,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob +@@ -418,7 +418,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob } // CraftBukkit end