move anonymous overrides into witherskull class

This commit is contained in:
granny 2023-06-20 17:08:25 -07:00
parent ffab9f8e45
commit d22455b2a3
No known key found for this signature in database
8 changed files with 54 additions and 43 deletions

View File

@ -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

View File

@ -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<Axolo
@ -775,7 +775,7 @@ index 5a2eb6775ecb3b01fd136c796258395b4270f7a8..f160933af318becaf99befc0ecc0204b
return Mob.createMobAttributes().add(Attributes.MAX_HEALTH, 200.0D);
}
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 2a8f6b1fb7f3aac3100e5dc9ee64c53c0edd165b..38800a318f675ab11eeba17cb1966e9a294c69e1 100644
index 10da1bc9374a4178a38dd101bf173a77216101fa..6cdfde983798bdac3b10e5d17f1259bf2976b739 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
@@ -112,6 +112,11 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
@ -790,7 +790,7 @@ index 2a8f6b1fb7f3aac3100e5dc9ee64c53c0edd165b..38800a318f675ab11eeba17cb1966e9a
@Override
protected PathNavigation createNavigation(Level world) {
FlyingPathNavigation navigationflying = new FlyingPathNavigation(this, world);
@@ -426,7 +431,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
@@ -420,7 +425,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
this.setInvulnerableTicks(i);
if (this.tickCount % 10 == 0) {

View File

@ -19,22 +19,22 @@ index 3bf477438d30f6ea3bbf3cbc33cf0b5743452ffd..03811b4dca610cf0fa3dc6ca0cc7f47d
public final boolean hardCollides() {
return this.hardCollides;
}
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 38800a318f675ab11eeba17cb1966e9a294c69e1..fd3cb168faeb11365edee3ccefe04d60a0c819b2 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
@@ -225,6 +225,11 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
// do not hit rider
return target != rider && super.canHitEntity(target);
}
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 71916a0e55f12a2cbb2bee85ededd15126e1c451..cead7873795c5277634db3c5ee29a125e48bbb90 100644
--- a/src/main/java/net/minecraft/world/entity/projectile/WitherSkull.java
+++ b/src/main/java/net/minecraft/world/entity/projectile/WitherSkull.java
@@ -113,6 +113,11 @@ public class WitherSkull extends AbstractHurtingProjectile {
return target != this.getRider() && super.canHitEntity(target);
}
+ @Override
+ public boolean canSaveToDisk() {
+ return false;
+ }
+
+ @Override
+ public boolean canSaveToDisk() {
+ return false;
+ }
};
skull.setPosRaw(headX, headY, headZ);
level().addFreshEntity(skull);
@Override
public boolean isPickable() {
return false;
diff --git a/src/main/java/net/minecraft/world/level/chunk/storage/EntityStorage.java b/src/main/java/net/minecraft/world/level/chunk/storage/EntityStorage.java
index 060e064625969610539dbf969ce773b877a7c579..32cd9df202704cdfb8fa06aaf0e738d483054feb 100644
--- a/src/main/java/net/minecraft/world/level/chunk/storage/EntityStorage.java

View File

@ -6,10 +6,10 @@ Subject: [PATCH] Customizable wither health and healing
Adds the ability to customize the health of the wither, as well as the amount that it heals, and how often.
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 a20017a6086421061ee13df9cf37e08eeb515a5b..c2f4ae412684cc2f8d3cc2206003be5c9e3b2769 100644
index 6cdfde983798bdac3b10e5d17f1259bf2976b739..a78755905acdf1d942ad7e6f5df3ab3fc34ad551 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
@@ -529,8 +529,10 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
@@ -518,8 +518,10 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
}
}

View File

@ -5,7 +5,7 @@ Subject: [PATCH] Add mobGriefing bypass to everything affected
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index acd9c48a247b13be2d06e5fd6ada033f6084341d..5e97951e2645bd3225b64cf8f21ba8d6ba7e68d7 100644
index 3b342b2349ba5f1228c8a597d6176060009a4d94..1b4b1bd79fa4aa9f1dcd4e2833c3897952e7d0de 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -1778,7 +1778,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@ -144,10 +144,10 @@ index 81cf89bc57af0f43d05ba93256255155bf0c4d53..2b0aac1e4291549efa6391cb3b414921
// flag1 = this.level().removeBlock(blockposition, false) || flag1;
flag1 = true;
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 c2f4ae412684cc2f8d3cc2206003be5c9e3b2769..d5f0636053fa0ed246ae2413a5b04f7016cb8b77 100644
index a78755905acdf1d942ad7e6f5df3ab3fc34ad551..a23d3bb3011f6cf19e0198aac1e3e448c1a73a13 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
@@ -496,7 +496,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
@@ -485,7 +485,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
if (this.destroyBlocksTick > 0) {
--this.destroyBlocksTick;

View File

@ -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) {

View File

@ -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());
}

View File

@ -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